Платформа управления PowerFlex — сбой модернизации коммутатора Cisco Nexus из-за истечения времени ожидания SSH
Summary: Во время обновления микропрограммы коммутатора Cisco Nexus процесс завершается сбоем из-за ошибки тайм-аута при передаче файла образа NX-OS по протоколу SSH.
Symptoms
Сценарий
После запуска модернизации коммутатора Cisco Nexus система попытается передать файл микропрограммы, как показано в журналах развертывания ниже.
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)"}}}
Во время этой передачи процесс длится около 3–5 минут, а затем останавливается, что приводит к истечению времени ожидания подключения. Журнал исключений фиксирует следующие сведения:
#<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>
На этом этапе происходит сбой модернизации, и cisconexus5k-fdoXXXXXXX.out В файле отображается следующая ошибка:
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
Воздействие
Невозможно модернизировать коммутаторы с помощью PFxM.
Cause
Поиск и устранение основных проблем с сетью с помощью следующих команд:
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
Сведения о компоненте:
- Устройство коммутатора Cisco.
- Интерфейс: mgmt0
- IP-адрес: 10.10.26.23/25
- VRF: Управление Vrf
- Хост платформы управления PowerFlex:
- Несколько сетевых интерфейсов:
- eth0: 10.10.10.23/25 (сеть управления)
- eth1: 10.10.26.12/25 (OOB)
Основной проблемой является асимметричная маршрутизация на MVM:
- Коммутаторы Cisco и хосты PFMP имеют интерфейсы в подсети 10.10.26.16/25 (сеть OOB).
- В сети управления PFMP настроена маршрутизация от управления к OOB.
- Запросы на передачу файлов от коммутатора Cisco (10.10.26.23) поступили на PFMP1 с помощью eth1 (10.10.26.12). Затем исходящий ответ уходит с eth0 (10.10.10.23).
- Из-за настроек сети, в том числе настроек брандмауэра, политик безопасности и сетевых правил, передача файлов зависала. Эта проблема возникла из-за того, что запросы отправлялись в PFMP1 через интерфейс eth1, а ответы направлялись обратно на коммутатор с интерфейса eth0 PFMP1, что приводило к разрыву соединения.
Resolution
Для устранения этой проблемы необходимо выполнить следующие действия.
Отключите интерфейс eth1 (NIC):
Выключите питание интерфейса eth1 на PFMP:
ip link set dev eth1 down
Удалите eth1 из настроек сети:
Удалите или переместите файл конфигурации сети для eth1, чтобы он не вызывался при перезагрузке.
Например, в системе Linux:
mv /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/network-scripts/ifcfg-eth1.bak
Additional Information
Затронутая версия
PFMP 4.x
Исправлено в версии
Н/Д — работает должным образом