Plate-forme de gestion PowerFlex - Échec de la mise à niveau du commutateur Cisco Nexus en raison du délai d’expiration SSH
Summary: Lors de la mise à niveau du firmware du commutateur Cisco Nexus, le processus échoue en raison d’une erreur de délai d’expiration lors du transfert du fichier image NX-OS via SSH.
Symptoms
Scénario
Après avoir lancé la mise à niveau du commutateur Cisco Nexus, le système tente de transférer le fichier du firmware, comme indiqué dans les journaux de déploiement ci-dessous :
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)"}}}
Au cours de ce transfert, le processus s’exécute pendant environ 3 à 5 minutes avant de se bloquer, provoquant l’expiration de la connexion. Le journal des exceptions consigne les informations suivantes :
#<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>
À ce stade, la mise à niveau échoue et le cisconexus5k-fdoXXXXXXX.out affiche l’erreur suivante :
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
Impact
Impossible de mettre à niveau les commutateurs avec PFxM.
Cause
Résoudre les problèmes de mise en réseau de base avec des commandes telles que :
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
Détails du composant :
- Périphérique de commutation Cisco :
- Interface : mgmt0
- Adresse IP : 10.10.26.23/25
- VRF : Gestion du VRF
- Hôte de la plate-forme de gestion PowerFlex :
- Interfaces réseau multiples :
- eth0 : 10.10.10.23/25 (réseau de gestion)
- eth1 : 10.10.26.12/25 (hors bande)
Le principal problème est le routage asymétrique sur les MVM :
- Les commutateurs Cisco et les hôtes PFMP ont des interfaces au sein du sous-réseau 10.10.26.16/25 (réseau hors bande).
- Le routage est configuré sur le réseau de gestion PFMP pour être acheminé de la gestion vers le bureau hors bande.
- Les demandes de transfert de fichiers du commutateur Cisco (10.10.26.23) sont arrivées sur PFMP1 à l’aide de eth1 (10.10.26.12). Ensuite, la réponse sortante part de eth0 (10.10.10.23).
- En raison de la configuration réseau, notamment des paramètres de pare-feu, des politiques de sécurité et des règles réseau, le transfert de fichiers se bloquait. Ce problème se produisait car les demandes étaient envoyées à PFMP1 sur l’interface eth1, mais les réponses étaient renvoyées vers le commutateur à partir de l’interface eth0 de PFMP1, ce qui entraînait l’interruption de la connexion.
Resolution
Pour résoudre ce problème, procédez comme suit :
Désactivez l’interface eth1 (NIC) :
Mettez l’interface eth1 hors tension sur les PFMP :
ip link set dev eth1 down
Supprimez eth1 de la configuration réseau :
Supprimez ou déplacez le fichier de configuration réseau pour eth1 afin d’éviter qu’il ne soit affiché au redémarrage.
Par exemple, sur un système Linux :
mv /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/network-scripts/ifcfg-eth1.bak
Additional Information
Version concernée
PFMP 4.x
Problème résolu dans la version
S/O : fonctionne comme prévu