Piattaforma di gestione PowerFlex - L'aggiornamento dello switch Cisco Nexus non riesce a causa del timeout SSH
Summary: Durante l'aggiornamento del firmware dello switch Cisco Nexus, il processo non riesce a causa di un errore di timeout durante il trasferimento del file di immagine NX-OS su SSH.
Symptoms
Scenario
Dopo aver avviato l'aggiornamento dello switch Cisco Nexus, il sistema tenta di trasferire il file del firmware, come mostrato nei registri di deployment riportati di seguito:
INFO [2024-10-08T11:41:43.149490] 315108: provider/base.rb:239:in `process!': Resources for cisconexus5k-fdoXXXXXXX:
{"asm::firmware"=>
{"cisconexus5k-fdoXXXXXXX"=>
{"asm_hostname"=>"10.10.26.16",
"decrypt"=>false,
"force_restart"=>true,
"http_password"=>"test",
"http_user"=>"test",
"install_type"=>"uri",
"path"=>
"https://test:test@10.10.10.15:443/httpshare/download/8aaa8037910dd23d01910f4a911b159c/nxos64-cs.10.4.2.F.bin",
"product"=>"cisconexus5k",
"server_firmware"=>
"[{\"instance_id\":null,\"component_id\":\"31148\",\"uri_path\":\"https://dellpowerflex.com:443/httpshare/download/8aaa8037910dd23d01910f4a911b159c/nxos64-cs.10.4.2.F.bin\",\"version\":null}]",
"version"=>"10.4(2)"}}}
Durante questo trasferimento, il processo viene eseguito per circa 3-5 minuti prima di bloccarsi, causando il timeout della connessione. Il registro delle eccezioni acquisisce i seguenti dettagli:
#<RuntimeError: env --unset=RUBYOPT --unset=GEM_HOME --unset=RUBYLIB --unset=GEM_PATH --unset=BUNDLE_BIN_PATH RUBYLIB=/opt/service/lib:/opt/asm-deployer/lib:/opt/puppetlabs/puppet/lib:/opt/dependencies/dell-asm-util/lib PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/puppetlabs/puppet/bin:/opt/puppetlabs/bin puppet asm process_node --debug --trace --filename /opt/Dell/ASM/deployments/Job-5c4d4f5b-5fb2-4948-9fe7-8ece57b4b2e7-2/resources/cisconexus5k-fdoXXXXXXX.yaml --run_type apply --statedir /opt/Dell/ASM/deployments/Job-5c4d4f5b-5fb2-4948-9fe7-8ece57b4b2e7-2/resources --always-override cisconexus5k-fdoXXXXXXX failed; output in /opt/Dell/ASM/deployments/Job-5c4d4f5b-5fb2-4948-9fe7-8ece57b4b2e7-2/cisconexus5k-fdoXXXXXXX.out>
In questa fase, l'aggiornamento non riesce e il cisconexus5k-fdoXXXXXXX.out Il file mostra il seguente errore:
Debug: SSH send only: copy https://test:test@10.10.10.15:443/httpshare/download/8aaa8037910dd23d01910f4a911b159c/nxos64-cs.10.4.2.F.bin bootflash: vrf management
Error: execution expired
Error: /Stage[main]/Asm::Resource_wrapper/Asm::Firmware[cisconexus5k-fdoXXXXXX]/Cisconexus5k_firmwareupdate[firmware_update]/returns: change from to '#' failed: execution expired
Impatto
Impossibile aggiornare gli switch con PFxM.
Cause
Risolvere i problemi di rete di base con comandi quali:
From Switch:
ping <MVM-MGMT> packet-size 1500 count 1000 vrf management
copy https://X.X.X.X:443/httpshare/download/<PATH> bootflash: vrf management
show vrf
show ip route vrf management
traceroute
Dettagli del componente:
- Dispositivo switch Cisco:
- Interfaccia: mgmt0
- Indirizzo IP: 10.10.26.23/25
- VRF: Gestione VRF
- Host della piattaforma di gestione PowerFlex:
- Interfacce di rete multiple:
- eth0: 10.10.10.23/25 (rete di gestione)
- eth1: 10.10.26.12/25 (OOB)
Il problema principale è il routing asimmetrico sugli MVM:
- Gli switch Cisco e gli host PFMP dispongono di interfacce all'interno della subnet 10.10.26.16/25 (rete OOB).
- Il routing è configurato sulla rete di gestione PFMP per l'instradamento dalla gestione all'OOB.
- Le richieste di trasferimento dei file da Cisco Switch (10.10.26.23) sono arrivate a PFMP1 utilizzando eth1 (10.10.26.12). Quindi la risposta in uscita parte da eth0 (10.10.10.23).
- A causa della configurazione di rete, incluse le impostazioni del firewall, i criteri di sicurezza e le regole di rete, il trasferimento dei file era in fase di stallo. Questo problema si è verificato perché le richieste sono state inviate a PFMP1 sull'interfaccia eth1, ma le risposte sono state reindirizzate allo switch dall'interfaccia eth0 di PFMP1, causando l'interruzione della connessione.
Resolution
Per risolvere il problema, è necessario effettuare le seguenti operazioni:
Disabilitare l'interfaccia eth1 (NIC):
Spegnere l'interfaccia eth1 sui PFMP:
ip link set dev eth1 down
Rimuovere eth1 dalla configurazione di rete:
Eliminare o spostare il file di configurazione della rete per eth1 per evitare che venga visualizzato al riavvio.
Ad esempio, su un sistema Linux:
mv /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/network-scripts/ifcfg-eth1.bak
Additional Information
Versione interessata
PFMP 4.x
Risolto nella versione
N/D - Funzionamento come previsto