Plataforma de gerenciamento PowerFlex — Falha no upgrade do switch Cisco Nexus devido ao tempo de espera excedido do SSH
Summary: Durante o upgrade do firmware do switch Cisco Nexus, o processo falha devido a um erro de tempo de espera excedido durante a transferência do arquivo de imagem do NX-OS por SSH.
Symptoms
Situação
Depois de iniciar o upgrade do switch Cisco Nexus, o sistema tenta transferir o arquivo de firmware, conforme mostrado nos logs de implementação abaixo:
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 essa transferência, o processo é executado por cerca de 3 a 5 minutos antes de parar, fazendo com que a conexão atinja o tempo limite. O log de exceções captura os seguintes detalhes:
#<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>
Nessa fase, o upgrade falha e o cisconexus5k-fdoXXXXXXX.out O arquivo mostra o seguinte erro:
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
Impacto
Não é possível fazer upgrade dos switches com PFxM.
Cause
Solucione problemas básicos de rede com comandos como:
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
Detalhes do componente:
- Dispositivo de switch Cisco:
- Interface: mgmt0
- Endereço IP: 10.10.26.23/25
- VRF: Gerenciamento de Vrf
- Host da plataforma de gerenciamento do PowerFlex:
- Várias interfaces de rede:
- eth0: 10.10.10.23/25 (rede de gerenciamento)
- et1: 10.10.26.12/25 (OOB)
O principal problema é o roteamento assimétrico nos MVMs:
- Os switches Cisco e os hosts PFMP têm interfaces dentro da sub-rede 10.10.26.16/25 (rede OOB).
- O roteamento é configurado na rede de gerenciamento da PFMP para rotear do gerenciamento para o OOB.
- As solicitações de transferência de arquivos do Cisco Switch (10.10.26.23) chegaram ao PFMP1 usando eth1 (10.10.26.12). Em seguida, a resposta de saída sai de eth0 (10.10.10.23).
- Devido à configuração de rede, incluindo configurações de firewall, diretivas de segurança e regras de rede, a transferência de arquivos estava travando. Esse problema surgiu porque as solicitações foram enviadas ao PFMP1 na interface eth1, mas as respostas foram roteadas de volta para o switch a partir da interface eth0 do PFMP1, fazendo com que a conexão caísse.
Resolution
Para resolver o problema, as seguintes ações devem ser realizadas:
Desative a interface eth1 (NIC):
Desligue a interface eth1 nos PFMPs:
ip link set dev eth1 down
Remova eth1 da configuração de rede:
Exclua ou mova o arquivo de configuração de rede para eth1 para evitar que ele seja ativado na reinicialização.
Por exemplo, em um sistema Linux:
mv /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/network-scripts/ifcfg-eth1.bak
Additional Information
Versão afetada
PFMP 4.x
Correção feita na versão
N/D - Funcionando conforme esperado