PowerFlex-Managementplattform – Cisco Nexus-Switch-Upgrade schlägt aufgrund eines SSH-Timeouts fehl
Summary: Während des Upgrades der Cisco Nexus-Switchfirmware schlägt der Prozess aufgrund eines Timeout-Fehlers während der Übertragung der NX-OS-Image-Datei über SSH fehl.
Symptoms
Beispiel
Nach der Initiierung des Upgrades des Cisco Nexus-Switches versucht das System, die Firmwaredatei zu übertragen, wie in den Bereitstellungsprotokollen unten gezeigt:
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)"}}}
Während dieser Übertragung läuft der Prozess ca. 3 bis 5 Minuten, bevor er angehalten wird, was zu einem Timeout der Verbindung führt. Das Ausnahmeprotokoll erfasst die folgenden Details:
#<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 dieser Phase schlägt das Upgrade fehl und die cisconexus5k-fdoXXXXXXX.out Datei zeigt den folgenden Fehler an:
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
Auswirkungen
Upgrade von Switches mit PFxM nicht möglich.
Cause
Beheben Sie grundlegende Netzwerkprobleme mit Befehlen wie:
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
Komponentendetails:
- Cisco Switch-Gerät:
- Schnittstelle: mgmt0
- IP-Adresse: 10.10.26.23/25
- VRF: VRF-Verwaltung
- Host der PowerFlex-Managementplattform:
- Mehrere Netzwerkschnittstellen:
- eth0: 10.10.10.23/25 (Managementnetzwerk)
- eth1: 26.12.10.25 (OOB)
Das Hauptproblem ist das asymmetrische Routing auf den MVMs:
- Die Cisco-Switches und PFMP-Hosts verfügen über Schnittstellen innerhalb des 10.10.26.16/25-Subnetzes (OOB-Netzwerk).
- Das Routing wird im PFMP-Managementnetzwerk konfiguriert, um vom Management zum OOB zu routen.
- Dateiübertragungsanfragen von Cisco Switch (10.10.26.23) sind mit eth1 (10.10.26.12) bei PFMP1 eingegangen. Dann verlässt die ausgehende Antwort eth0 (10.10.10.23).
- Aufgrund der Netzwerkkonfiguration, einschließlich Firewall-Einstellungen, Sicherheits-Policies und Netzwerkregeln, kam es dazu, dass die Dateiübertragung angehalten wurde. Dieses Problem trat auf, weil Anforderungen an PFMP1 über die Schnittstelle eth1 gesendet wurden, die Antworten jedoch von der eth0-Schnittstelle von PFMP1 zurück an den Switch geleitet wurden, was dazu führte, dass die Verbindung getrennt wurde.
Resolution
Um das Problem zu beheben, sollten die folgenden Maßnahmen ergriffen werden:
Deaktivieren Sie die eth1-Schnittstelle (NIC):
Schalten Sie die eth1-Schnittstelle auf den PFMPs aus:
ip link set dev eth1 down
Entfernen Sie eth1 aus der Netzwerkkonfiguration:
Löschen oder verschieben Sie die Netzwerkkonfigurationsdatei für eth1, um zu verhindern, dass sie beim Neustart gestartet wird.
Zum Beispiel auf einem Linux-System:
mv /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/network-scripts/ifcfg-eth1.bak
Additional Information
Betroffene Version
PFMP 4.x
Behoben in Version
N/A – Funktioniert wie erwartet