Este documento descreve o PowerOn Auto Provisioning (POAP) nos switches Cisco Nexus 9000 que executam o Cisco NX-OS.
A Cisco recomenda que você tenha conhecimento básico destes tópicos:
| Componente | Plataforma/software | Versão/valor | Propósito |
|---|---|---|---|
| Switch Nexus | N9K-C933C-FX2 | NX-OS 10.6(2) | dispositivo POAP |
| Servidor de provisionamento | Servidor Ubuntu | 24.04.5 TLP | Infraestrutura de provisionamento externo |
| Serviço DHCP/TFTP | dnsmasq | 2.91 | Fornece serviços DHCP e TFTP |
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
O laboratório usa um switch Cisco Nexus 9000 conectado diretamente a um servidor Ubuntu que fornece a infraestrutura de provisionamento externo.
O objetivo é manter a topologia simples para que o fluxo de trabalho de POAP possa ser observado sem dispositivos de rede adicionais entre o switch Nexus e o servidor de provisionamento.
A Ethernet1/10 no switch Nexus é conectada diretamente ao ens224 no servidor Ubuntu.

A implantação de um novo switch Cisco Nexus requer uma configuração inicial antes que o dispositivo possa participar da rede.
O PowerOn Auto Provisioning (POAP) automatiza esse processo de bootstrap. Quando um switch Nexus compatível é inicializado sem uma configuração de inicialização, o Cisco NX-OS pode entrar no modo POAP, obter informações de rede temporárias por meio do DHCP, recuperar um script de provisionamento e usar esse script para provisionar a imagem de software necessária e a configuração do dispositivo.
O POAP é principalmente associado ao provisionamento inicial, ou Dia-0, porque o switch pode obter os recursos necessários para a implantação sem exigir que a configuração completa seja inserida manualmente através da CLI.
Sem o POAP, a implantação inicial de um switch Nexus pode exigir interação manual para configurar a conectividade de rede, transferir arquivos de configuração e preparar a imagem do software Cisco NX-OS necessária.
Com o POAP, o switch pode detectar automaticamente a infraestrutura de provisionamento e recuperar os recursos necessários para a implantação.
Em um alto nível, o POAP começa quando um switch Nexus compatível é inicializado sem uma configuração de inicialização. O switch inicia o processo de provisionamento e tenta obter as informações de rede necessárias para acessar a infraestrutura de provisionamento.
Depois que a conectividade de rede é estabelecida, o switch recupera e executa o script POAP. O script determina a imagem do software e os recursos de configuração associados ao dispositivo e controla as operações de provisionamento restantes.
A Cisco define o processo POAP em cinco fases principais:
A próxima seção descreve a função de cada fase durante o processo de provisionamento.
O POAP opera como um processo de bootstrapping em etapas no Cisco NX-OS. Cada fase executa uma função específica necessária para o provisionamento automático de dispositivos.
Entender essas fases fornece a base para o fluxo de trabalho de implementação e verificação descrito mais adiante neste documento.
Quando um switch Nexus é ligado, o Cisco NX-OS carrega a imagem do software instalado e procura uma configuração de inicialização.
Se houver uma configuração de inicialização, o switch continuará o processo de inicialização normal. Se nenhuma configuração de inicialização for encontrada, o modo POAP será iniciado.
Durante a inicialização, o NX-OS exibe um prompt que fornece a opção de abortar o POAP e continuar com a configuração interativa normal. O POAP continua sem intervenção do usuário.
Se o POAP continuar, as interfaces do painel frontal serão colocadas em sua configuração padrão antes do início do processo de descoberta.
| Condição | Resultado |
|---|---|
| A configuração de inicialização está presente. | O NX-OS continua o processo normal de inicialização. |
| A configuração de inicialização não está presente. | O modo POAP é iniciado. |
| O POAP é anulado manualmente. | O NX-OS entra na configuração interativa normal. |
| O POAP continua. | O processo continua com a descoberta de USB. |
Após o início do POAP, o NX-OS pesquisa dispositivos USB acessíveis para recursos de provisionamento.
Se um script POAP for encontrado em um dispositivo USB, o NX-OS iniciará a execução do script. Se um script utilizável não for encontrado, o POAP continuará com a descoberta do DHCP.
O provisionamento baseado em USB faz parte do fluxo de trabalho POAP; no entanto, a implementação neste documento concentra-se no provisionamento baseado em rede através do DHCP.
Se um script POAP não for encontrado durante a descoberta USB, o switch inicia a descoberta DHCP.
Durante essa fase, o switch envia mensagens DHCP Discover através das interfaces de painel frontal disponíveis ou da interface de gerenciamento para localizar um servidor DHCP que possa fornecer as informações necessárias para POAP.
O cliente DHCP do Cisco Nexus usa o número de série do switch no identificador do cliente. Essas informações podem ser usadas pela infraestrutura de provisionamento para identificar o dispositivo e fornecer as informações de bootstrap necessárias para o processo de provisionamento.
A negociação DHCP usa o processo padrão de Descoberta, Oferta, Solicitação, Confirmação (DORA):
| Mensagem DHCP | Propósito |
|---|---|
| Descoberta | O switch Nexus procura um servidor DHCP disponível. |
| Oferta | O servidor DHCP fornece informações relacionadas à rede e ao POAP. |
| Requisição | O switch solicita a oferta DHCP selecionada. |
| Confirmação | O servidor DHCP confirma o aluguel e atribui o endereço IP. |
Para o POAP baseado em rede, a troca de DHCP fornece as informações de rede temporária e os parâmetros de bootstrap necessários para localizar o script POAP.
A mensagem DHCP Discover solicita informações que incluem:
O nome do arquivo de inicialização identifica o script POAP que o switch recupera após a conclusão da negociação DHCP.
O DHCP não fornece a configuração final do Cisco Nexus. Ele fornece as informações de bootstrap necessárias para estabelecer a conectividade temporária e localizar o script de provisionamento.
O POAP requer um período mínimo de aluguel de DHCP de 3600 segundos.
Receber uma oferta de DHCP não significa automaticamente que a descoberta de DHCP foi bem-sucedida. A oferta deve atender aos requisitos esperados pelo POAP antes que o switch continue com a troca de solicitação e confirmação de DHCP.
Se nenhuma oferta válida for recebida, um endereço IP não será atribuído por meio dessa oferta.
Começando com o Cisco NX-OS Versão 7.0(3)I7(4), o POAP suporta a opção de Classe de Usuário DHCP definida pelo RFC 3004.
Para DHCPv4, o POAP usa a Opção de Classe de Usuário 77 com este valor: Cisco-POAP
Esse valor identifica a solicitação DHCP como originada do processo POAP.
O valor Cisco-POAP pode ser observado posteriormente na captura de pacotes usada durante a verificação.
Após a conclusão da negociação DHCP, o switch usa as informações de provisionamento recebidas do servidor DHCP para localizar e recuperar o script POAP.
No fluxo de trabalho padrão baseado em rede usado neste documento, as informações de DHCP identificam o servidor TFTP e o arquivo de inicialização que contém o script de provisionamento. Depois que a conectividade de rede temporária é estabelecida, o Cisco NX-OS baixa o script do servidor de provisionamento.
O script POAP contém a lógica necessária para determinar e processar a imagem do software e os recursos de configuração associados ao dispositivo.
A Cisco fornece um script POAP de referência escrito em Python. O script pode ser personalizado para corresponder ao ambiente de provisionamento.
O script POAP de referência da Cisco inclui um checksum MD5.
Quando o script é modificado, a soma de verificação incorporada deve ser recalculada antes que o script seja usado para POAP.
O procedimento de preparação da soma de verificação é descrito posteriormente na seção Preparar informações de integridade do arquivo.
Após o download e a validação do script POAP, o Cisco NX-OS executa o script localmente no switch.
O script de referência pode executar tarefas de provisionamento como:
A configuração descarregada não é necessariamente aplicada imediatamente durante a execução do script.
O Cisco NX-OS pode preparar a configuração e aplicá-la após a inicialização do switch com a imagem de software de destino. Portanto, a configuração é processada no ambiente de software para o qual foi preparada.
O script POAP pode determinar se a imagem de destino do Cisco NX-OS já está disponível localmente.
Se a imagem necessária não estiver presente, o script poderá recuperá-la da infraestrutura de provisionamento.
Se a imagem necessária já estiver disponível, o script poderá validar o arquivo existente e evitar o download de outra cópia.
Na implementação validada, a imagem de destino já estava presente no bootflash:. O script validou a imagem antes de continuar com as operações de provisionamento restantes.
Após a conclusão da execução do script, o switch entra na fase de recarregamento pós-instalação.
Durante essa fase, o switch é reiniciado e inicializado com a imagem do software Cisco NX-OS de destino quando uma alteração de imagem de software faz parte do processo de provisionamento.
Em seguida, o switch aplica, ou reproduz, a configuração descarregada. Depois que a configuração é aplicada com êxito, o Cisco NX-OS copia a configuração atual para a configuração de inicialização.
Essa sequência garante que a configuração provisionada seja processada no ambiente de software para o qual foi preparada.
A repetição da configuração é o processo no qual o Cisco NX-OS aplica a configuração baixada durante o POAP após a reinicialização do switch.
O arquivo de configuração não é necessariamente aplicado quando é baixado inicialmente. Em vez disso, o POAP pode preparar a configuração durante a execução do script e aplicá-la depois que a imagem de destino do Cisco NX-OS se tornar ativa.
O processo pode ser resumido da seguinte forma:
| Estágio | Ação |
|---|---|
| Execução de script | Recupera a imagem e a configuração de software necessárias. |
| Recarga pós-instalação | Reinicia o switch após as operações de provisionamento. |
| Reprodução de configuração | Aplica a configuração baixada. |
| Persistência da configuração | Copia a configuração atual para a configuração de inicialização. |
Essa separação entre a recuperação da configuração e o aplicativo de configuração é uma parte importante do fluxo de trabalho POAP.
O POAP baseado em rede requer uma infraestrutura externa para fornecer conectividade de rede temporária e acesso aos recursos de provisionamento.
Para o fluxo de trabalho POAP padrão, a infraestrutura necessária inclui:
As informações de rede obtidas por DHCP são usadas durante o processo de provisionamento POAP.
Esta seção descreve os componentes necessários para implementar o PowerOn Auto Provisioning (POAP) baseado em rede em um switch Cisco Nexus 9000.
O POAP depende de serviços DHCP externos e de transferência de arquivos para fornecer conectividade de rede temporária e acesso aos recursos de provisionamento. A configuração de plataformas de servidor de terceiros está fora do escopo deste documento.
Os exemplos nesta seção usam a topologia descrita anteriormente para demonstrar a implementação de POAP.
Para a implementação validada, a infraestrutura de provisionamento fornece informações de rede temporárias e serviços de transferência de arquivos exigidos pelo switch Nexus durante o POAP.
A infraestrutura DHCP deve fornecer as informações necessárias para estabelecer conectividade temporária e localizar o script POAP. O POAP requer uma concessão de DHCP de pelo menos 3600 segundos.
| Informações | Propósito |
|---|---|
| Endereço IP | Fornece conectividade de rede temporária durante o POAP. |
| Máscara de sub-rede | Define a sub-rede IP temporária. |
| Gateway padrão | Fornece conectividade com recursos de provisionamento quando o roteamento é necessário. |
| Nome ou endereço do servidor TFTP | Identifica o servidor do qual o script POAP é recuperado. |
| nome do arquivo de inicialização | Identifica o script POAP que o switch Nexus baixa. |
Depois que uma oferta de DHCP válida é selecionada, o switch Nexus conclui a negociação de DHCP e usa as informações de rede atribuídas durante o processo de provisionamento.
Para o exemplo validado neste documento, a infraestrutura de provisionamento usa estes valores:
| Parâmetro | Valor do laboratório |
|---|---|
| rede POAP | 192.168.100.0/24 |
| Servidor de provisionamento | 192.168.100.1 |
| Intervalo de endereços DHCP | 192.168.100.100–192.168.100.110 |
| aluguel de DHCP | 2 horas |
| Servidor TFTP | 192.168.100.1 |
| Script POAP | poap.py |
| Interface Nexus | Ethernet1/10 |
O servidor de provisionamento usado neste exemplo executa o Ubuntu e fornece os serviços DHCP e TFTP necessários para a implementação. A configuração detalhada do software de servidor de terceiros está fora do escopo deste documento.
A Cisco fornece um script POAP de referência desenvolvido em Python. Modifique as opções editáveis pelo usuário para corresponder ao ambiente de provisionamento.
O script POAP atua como o orquestrador de provisionamento. Depois que o switch Nexus baixa e valida o script, o script determina como o switch recupera e processa os recursos de configuração e imagem de software necessários para o provisionamento.
Para a implementação validada, estas opções são usadas:
options = { "username": "root", "password": "password", "hostname": "192.168.100.1", "transfer_protocol": "tftp", "mode": "serial_number", "target_system_image": "nxos64-cs.10.6.2.F.bin", "config_path": "/", "target_image_path": "/", }
Os valores mostrados neste exemplo correspondem ao ambiente de laboratório. Os valores de produção dependem da infraestrutura de provisionamento e dos requisitos de implantação.
| Opção | Valor do laboratório | Propósito |
|---|---|---|
| hostname | 192.168.100.1 | Identifica o servidor do qual os arquivos de provisionamento são recuperados. |
| transfer_protocol | tftp | Define o protocolo de transferência de arquivos. |
| modo | serial_number | Usa o número de série do switch para selecionar o arquivo de configuração específico do dispositivo. |
| target_system_image | nxos64-cs.10.6.2.F.bin | Define a imagem de destino do Cisco NX-OS. |
| config_path | / | Define o caminho que contém a configuração do dispositivo. |
| caminho_imagem_destino | / | Define o caminho que contém a imagem do software de destino. |
O script de referência requer nome de host, nome de usuário e senha quando os arquivos são recuperados de um servidor remoto. O exemplo usa TFTP, que não fornece autenticação de nome de usuário e senha; no entanto, o script de referência ainda valida a presença desses parâmetros durante a inicialização.
A implementação validada usa:
"mode": "serial_number"
No modo serial_number, o script recupera o número de série do switch local e o usa para determinar o nome do arquivo de configuração correspondente.
Por exemplo:
Número de série do switch: FDO262921L3
Arquivo de configuração: conf.FDO262921L3
O nome do arquivo de configuração usa este formato: conf.<serial-number>
O mesmo script poap.py pode, portanto, suportar vários switches Nexus enquanto cada switch recupera sua própria configuração específica do dispositivo.
Em um alto nível, o script validado executa esta sequência:
Identify the switch. ↓ Select conf.
O script POAP não contém a configuração completa do dispositivo. Ele contém a lógica e os parâmetros necessários para localizar, validar e processar os recursos de provisionamento.
O arquivo de configuração do dispositivo contém a configuração do Cisco NX-OS que o POAP provisiona no switch Nexus de destino.
Para o switch usado neste exemplo, o modo serial_number seleciona este arquivo de configuração:
Número de série: FDO262921L3
Arquivo de configuração: conf.FDO262921L3
O arquivo de configuração contém os comandos necessários para estabelecer a configuração planejada para o Dia-0.
Para a implementação validada, a configuração contém um usuário administrativo, um nome de host e uma interface de loopback:
username admin password
A configuração é intencionalmente mínima para simplificar a verificação do fluxo de trabalho de provisionamento.
Após a conclusão do POAP, o nome do host, a conta administrativa e a interface Loopback100 fornecem indicadores claros de que a configuração específica do dispositivo foi aplicada com êxito.
A configuração provisionada deve incluir o acesso administrativo necessário após a conclusão do POAP.
Caution: Verifique se a configuração do dispositivo contém um usuário administrativo e uma senha válidos. O POAP pode ser concluído com êxito mesmo se a configuração provisionada não fornecer acesso administrativo válido.
Durante a validação inicial do laboratório, a configuração do dispositivo continha o nome do host e a interface Loopback100, mas não continha um usuário administrativo. POAP concluído com êxito; no entanto, o acesso administrativo não estava disponível após o provisionamento.
A conclusão de POAP confirma que o fluxo de trabalho de provisionamento foi concluído com êxito. Ele não confirma que a configuração de Dia 0 contém todas as definições necessárias para operar e acessar o switch.
O fluxo de trabalho POAP de referência usa somas de verificação MD5 para verificar a integridade dos recursos de provisionamento antes do processamento pelo switch Nexus.
O POAP compara o checksum esperado com o checksum calculado a partir do arquivo correspondente. Os valores correspondentes confirmam que o arquivo contém os dados esperados.
A implementação validada usa informações de integridade para estes recursos:
| Recurso | Informações de integridade | Propósito |
|---|---|---|
| Script POAP | Valor MD5 incorporado em poap.py | Valida o script antes da execução. |
| Configuração do dispositivo | conf.FDO262921L3.md5 | Valida a configuração do dispositivo baixado. |
| Imagem do Cisco NX-OS | nxos64-cs.10.6.2.F.bin.md5 | Valida a imagem de software de destino. |
A opção disable_md5 no script de referência controla a validação MD5. O valor padrão é Falso.
O script POAP de referência contém um valor MD5 próximo ao início do arquivo:
#md5sum="
Após a modificação do conteúdo do script, a soma de verificação incorporada deve ser recalculada antes do script ser usado para POAP.
Para o script usado nesta implementação, o checksum foi atualizado com:
f=poap.py cat "$f" | sed '/^#md5sum/d' > "$f.md5" sed -i "s/^#md5sum=.*/#md5sum=\"$(md5sum "$f.md5" | sed 's/ .*//')\"/" "$f" rm -f "$f.md5"
O script resultante continha:
#md5sum="e4dd91fd4296d40abd2f6187152cd86e"
Durante o POAP, o Cisco NX-OS calcula o checksum do script baixado e o compara com o valor incorporado antes da execução do script.
O script de referência pode usar um arquivo MD5 separado para verificar a configuração do dispositivo.
Para esta implementação:
Arquivo de configuração:
conf.FDO262921L3
Arquivo de integridade:
conf.FDO262921L3.md5
O arquivo de integridade deve conter a soma de verificação associada à versão atual de conf.FDO262921L3.
Após o download da configuração, o script calcula sua soma de verificação e a compara com o valor esperado antes do processamento da configuração.
Se a configuração do dispositivo for alterada, atualize as informações MD5 correspondentes antes da próxima tentativa de POAP.
O script de referência também pode validar a imagem do Cisco NX-OS de destino.
Para esta implementação:
Imagem de destino:
nxos64-cs.10.6.2.F.bin
Arquivo de integridade:
nxos64-cs.10.6.2.F.bin.md5
O arquivo de integridade contém:
ce50c3f0e387bee578e615a373a4ede0 nxos64-cs.10.6.2.F.bin
Na implementação validada, a imagem de destino já estava presente no bootflash:. O script POAP calculou a soma de verificação MD5 da imagem existente e comparou-a com o valor obtido do servidor de provisionamento.
Como os dois valores corresponderam, o arquivo de imagem não precisou ser baixado novamente.
Note: A validação MD5 verifica a integridade do arquivo. Ele não criptografa os arquivos de provisionamento ou fornece a autenticação por si só.
O POAP é executado durante a inicialização do sistema quando o switch não tem uma configuração de inicialização e o POAP de todo o sistema está habilitado.
Antes do início do processo de provisionamento, verifique o estado POAP:
N9K-POAP-SW1# show system poap System-wide POAP is enabled
O Cisco NX-OS permite que o POAP seja desabilitado globalmente com o sistema no poap. Para habilitar o POAP novamente, use o poap do sistema ou limpe o sinalizador de desabilitação do POAP com write erase poap.
O POAP padrão inicia quando o switch inicializa sem uma configuração de inicialização.
Em um ambiente de laboratório controlado, execute:
switch# write erase
aviso: Esse comando apaga a configuração de inicialização.
Do you wish to proceed anyway? (y/n) [n] y
A operação padrão de apagar gravação remove a configuração de inicialização da memória persistente. Ele não apaga a configuração atual nem as variáveis de inicialização.
Verifique se a configuração de inicialização não está mais presente:
switch# show startup-config No startup configuration
Caution: write erase remove a configuração salva do switch. Use este procedimento somente quando a configuração puder ser removida ou restaurada com segurança.
Para evitar a perda de acesso administrativo após POAP, certifique-se de que a configuração do dispositivo preparada na seção anterior contenha as credenciais administrativas necessárias.
Após a remoção da configuração de inicialização, recarregue o switch.
Se o Cisco NX-OS solicitar que você salve a configuração atual em execução, não a salve. Salvar a configuração atual recria a configuração de inicialização e evita a condição de disparo POAP padrão.
Durante a inicialização, o Cisco NX-OS inicializa o POAP e fornece uma opção para abortar o processo:
Abort Power On Auto Provisioning [yes - continue with normal setup, no - continue with Power On Auto Provisioning] (yes/no)[no]:
Para continuar com o POAP, aceite a opção no padrão.
Após a inicialização do POAP, o switch primeiro verifica os recursos de provisionamento baseados em USB. Se um script de provisionamento USB utilizável não for encontrado, o POAP prossegue com a descoberta baseada em rede.
A implementação validada gerou estas mensagens:
2026 Sep 22 18:21:23 switch %$ VDC-1 %$ %POAP-2-POAP_INITED: [FDO262921L3-88:FC:5D:BA:D7:7F] - POAP process initialized 2026 Sep 22 18:21:41 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - USB Initializing Success 2026 Sep 22 18:21:41 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - USB disk not detected
Em seguida, o POAP inicia a descoberta de DHCP IPv4:
2026 Sep 22 18:23:54 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - Start DHCP v4 session 2026 Sep 22 18:23:54 switch %$ VDC-1 %$ %POAP-2-POAP_DHCP_DISCOVER_START: [FDO262921L3-88:FC:5D:BA:D7:7F] - POAP DHCP Discover phase started
Depois que uma resposta DHCP válida é recebida, o Cisco NX-OS exibe os parâmetros de rede temporários e a localização do script POAP.
A implementação validada produziu:
2026 Sep 22 18:23:58 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: Recieved DHCP offer from server ip - 192.168.100.1 2026 Sep 22 18:24:02 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - Using DHCP, valid information received over Eth1/10 from 192.168.100.1 2026 Sep 22 18:24:02 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - Assigned IP address: 192.168.100.108 2026 Sep 22 18:24:02 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - Netmask: 255.255.255.0 2026 Sep 22 18:24:02 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - Default Gateway: 192.168.100.1 2026 Sep 22 18:24:02 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - Script Server: 192.168.100.1 2026 Sep 22 18:24:02 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - Script Name: poap.py
Neste estágio, a descoberta de DHCP está concluída. O switch tem conectividade de rede temporária e as informações necessárias para localizar o script POAP.
O switch recupera o script POAP identificado durante a descoberta de DHCP:
2026 Sep 22 18:24:14 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - The POAP Script download has started 2026 Sep 22 18:24:14 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - The POAP Script is being downloaded from [copy tftp://192.168.100.1/poap.py bootflash:scripts/script.sh vrf default ] 2026 Sep 22 18:24:15 switch %$ VDC-1 %$ %POAP-2-POAP_SCRIPT_DOWNLOADED: [FDO262921L3-88:FC:5D:BA:D7:7F] - Successfully downloaded POAP script file
Após a conclusão da recuperação do script, o POAP continua com a validação e a execução do script. O script de referência controla então a identificação do dispositivo, a recuperação da configuração, o processamento da imagem do software, a preparação da configuração e as operações de provisionamento restantes.
Use as informações desta seção para verificar cada estágio principal do fluxo de trabalho POAP.
O POAP pode ser verificado de várias perspectivas. O console Nexus e os registros POAP fornecem informações sobre o processo de provisionamento interno, enquanto os registros do servidor DHCP e as capturas de pacotes fornecem visibilidade adicional nas trocas de rede.
A implementação validada usa essas fontes para correlacionar o fluxo de trabalho de provisionamento:
| Fonte de verificação | Informações fornecidas |
|---|---|
| Console Nexus | Inicialização de POAP, descoberta de DHCP, execução de script, recarga e repetição de configuração |
| Registros POAP do Nexus | Informações detalhadas de inicialização e execução de script |
| Logs do servidor DHCP | Negociação DHCP e atividade de transferência de arquivos |
| Captura do pacote | Trocas de DHCP e TFTP |
| Configuração de execução e inicialização | Resultado final do provisionamento |
Note: As saídas nesta seção foram coletadas durante tentativas de validação de POAP controladas. Uma tentativa posterior foi usada para validar a configuração final do Dia 0 com acesso administrativo. Os carimbos de data/hora originais e as mensagens de registro são preservados nos exemplos.
Registros de servidores de terceiros e capturas de pacotes são incluídos apenas como fontes de verificação adicionais. A configuração de software de terceiros está fora do escopo deste documento.
Durante a inicialização do sistema, verifique se o POAP foi inicializado com êxito.
O console do Nexus exibe o evento de inicialização:
2026 Sep 22 18:21:23 switch %$ VDC-1 %$ %POAP-2-POAP_INITED: [FDO262921L3-88:FC:5D:BA:D7:7F] - POAP process initialized
Esta mensagem confirma que o switch entrou no fluxo de trabalho POAP.
Em seguida, o POAP verifica os recursos de provisionamento baseados em USB:
2026 Sep 22 18:21:41 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - USB Initializing Success 2026 Sep 22 18:21:41 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - USB disk not detected
Neste exemplo, nenhum recurso de provisionamento USB está disponível. O POAP, portanto, continua com a descoberta baseada em rede.
Subsequentemente, o switch inicia a descoberta de DHCP:
2026 Sep 22 18:23:54 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - Start DHCP v4 session 2026 Sep 22 18:23:54 switch %$ VDC-1 %$ %POAP-2-POAP_DHCP_DISCOVER_START: [FDO262921L3-88:FC:5D:BA:D7:7F] - POAP DHCP Discover phase started
Essas mensagens confirmam a transição da descoberta de USB para a descoberta de DHCP baseada em rede.
O POAP armazena logs de inicialização e execução de script no bootflash:. Esses arquivos fornecem informações adicionais sobre o processo de provisionamento após a geração dos eventos do console.
N9K-POAP-SW1# dir bootflash: | include poap 5664 Sep 22 19:52:10 2026 20260922195156_poap_24710_script.log 87366 Sep 22 19:58:48 2026 20260922_194902_poap_24710_init.log N9K-POAP-SW1#
O arquivo _init.log contém informações relacionadas à inicialização e descoberta de POAP.
O arquivo _script.log contém informações detalhadas geradas durante a execução do script POAP.
Quando houver várias tentativas de POAP, use o timestamp no nome do arquivo para correlacionar cada arquivo com a tentativa de provisionamento correspondente.
Depois que o POAP entra na fase de descoberta de DHCP, verifique se o switch Nexus recebe informações de rede de bootstrap válidas.
O console Nexus confirma que a descoberta de DHCP foi iniciada e que informações válidas foram recebidas através de Ethernet1/10:
2026 Sep 22 18:23:54 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - Start DHCP v4 session 2026 Sep 22 18:23:54 switch %$ VDC-1 %$ %POAP-2-POAP_DHCP_DISCOVER_START: [FDO262921L3-88:FC:5D:BA:D7:7F] - POAP DHCP Discover phase started 2026 Sep 22 18:23:58 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: Recieved DHCP offer from server ip - 192.168.100.1 2026 Sep 22 18:24:02 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - Using DHCP, valid information received over Eth1/10 from 192.168.100.1 2026 Sep 22 18:24:02 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - Assigned IP address: 192.168.100.108 2026 Sep 22 18:24:02 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - Netmask: 255.255.255.0 2026 Sep 22 18:24:02 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - Default Gateway: 192.168.100.1 2026 Sep 22 18:24:02 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - Script Server: 192.168.100.1 2026 Sep 22 18:24:02 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - Script Name: poap.py
A saída confirma que o POAP selecionou Ethernet1/10, obteve o endereço temporário 192.168.100.108 e recebeu o gateway, o servidor de script e o nome de arquivo de script necessários para a próxima etapa de provisionamento.
Os registros do servidor DHCP fornecem uma visão adicional da troca de bootstrap.
O exemplo validado registrou:
vendor class: Cisco N9K-C9336C-FX2 user class: Cisco-POAP DHCPDISCOVER(ens224) 88:fc:5d:ba:d7:7f DHCPOFFER(ens224) 192.168.100.108 88:fc:5d:ba:d7:7f DHCPREQUEST(ens224) 192.168.100.108 88:fc:5d:ba:d7:7f DHCPACK(ens224) 192.168.100.108 88:fc:5d:ba:d7:7f
O servidor também identificou as informações de bootstrap POAP:
option: 67 bootfile-name poap.py option:150 tftp-server-address 192.168.100.1 option: 3 router 192.168.100.1
Os registros confirmam a troca completa de Descoberta, Oferta, Solicitação e Confirmação. Os logs também mostram a classe de usuário Cisco-POAP, o nome do arquivo de script, o endereço do servidor TFTP e o gateway padrão associados à solicitação de provisionamento.
Uma captura de pacote pode ser usada para verificar a troca de DHCP diretamente na rede.
Para o exemplo validado, a captura foi revisada com:
sudo tcpdump -nn -vvv -r /tmp/poap-run1.pcap \ 'udp port 67 or udp port 68'
A captura mostrou:
DHCP-Message (53), length 1: Discover Vendor-Class (60), length 20: "Cisco N9K-C9336C-FX2" DHCP-Message (53), length 1: Offer DHCP-Message (53), length 1: Request Requested-IP (50), length 4: 192.168.100.108 DHCP-Message (53), length 1: ACK
A captura do pacote confirma a sequência de descoberta, oferta, solicitação e confirmação observada nos registros do servidor DHCP.
Após a conclusão da descoberta de DHCP, verifique se o switch Nexus recupera o script POAP do servidor identificado durante a troca de DHCP.
O console do Nexus indica quando o download do script começa:
2026 Sep 22 18:24:14 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - The POAP Script download has started 2026 Sep 22 18:24:14 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - The POAP Script is being downloaded from [copy tftp://192.168.100.1/poap.py bootflash:scripts/script.sh vrf default ] 2026 Sep 22 18:24:15 switch %$ VDC-1 %$ %POAP-2-POAP_SCRIPT_DOWNLOADED: [FDO262921L3-88:FC:5D:BA:D7:7F] - Successfully downloaded POAP script file
Essas mensagens confirmam que o switch recuperou o poap.py do servidor TFTP descoberto através do DHCP.
Uma captura de pacote fornece confirmação direta das solicitações de TFTP geradas durante a execução do script.
Para o exemplo validado, execute:
sudo tcpdump -nn -r /tmp/poap-run1.pcap 'udp dst port 69' reading from file /tmp/poap-run1.pcap, link-type EN10MB (Ethernet), snapshot length 262144 13:38:17.012862 IP 192.168.100.108.58485 > 192.168.100.1.69: TFTP, length 16, RRQ "poap.py" octet 13:38:19.955108 IP 192.168.100.108.58550 > 192.168.100.1.69: TFTP, length 29, RRQ "conf.FDO262921L3.md5" octet 13:38:20.651491 IP 192.168.100.108.58680 > 192.168.100.1.69: TFTP, length 25, RRQ "conf.FDO262921L3" octet 13:38:21.737101 IP 192.168.100.108.58866 > 192.168.100.1.69: TFTP, length 35, RRQ "nxos64-cs.10.6.2.F.bin.md5" octet
A primeira solicitação confirma que o endereço POAP temporário 192.168.100.108 entrou em contato com o servidor de provisionamento em 192.168.100.1 e solicitou poap.py. As solicitações subsequentes mostram a progressão em direção à configuração do dispositivo e à validação da imagem.
Antes da execução do script baixado, o Cisco NX-OS valida a soma de verificação MD5 incorporada no script.
O exemplo validado produziu:
2026 Sep 22 18:24:15 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - Script file size 113107, MD5 checksum e4dd91fd4296d40abd2f6187152cd86e 2026 Sep 22 18:24:15 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO262921L3-88:FC:5D:BA:D7:7F] - MD5 checksum received from the script file is e4dd91fd4296d40abd2f6187152cd86e 2026 Sep 22 18:24:15 switch %$ VDC-1 %$ %POAP-2-POAP_SCRIPT_STARTED_MD5_VALIDATED: [FDO262921L3-88:FC:5D:BA:D7:7F] - POAP script execution started(MD5 validated)
Os valores correspondentes confirmam que o script baixado passou na verificação de integridade antes do início da execução.
Nesse estágio, o controle passa da inicialização POAP para a lógica de provisionamento contida no script baixado.
Após o início do script POAP, verifique se o script identifica o switch Nexus e seleciona a configuração de dispositivo correspondente.
No modo serial_number, o script de referência usa o número de série do switch local para determinar o nome do arquivo de configuração.
O exemplo validado foi gerado:
Definindo o nome do arquivo cfg de origem com base no número de série
número de série FDO262921L3
Nome do arquivo conf selecionado: conf.FDO262921L3
A saída confirma que o script identificou o número de série local e selecionou conf.FDO262921L3.
Depois que o nome do arquivo de configuração é selecionado, o script recupera as informações MD5 correspondentes:
2026 Sep 22 18:24:17 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: - Logfile name: /bootflash/20260922182417_poap_23243_script.log - script.sh 2026 Sep 22 18:24:17 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: - Found 1 POAP script logs - script.sh 2026 Sep 22 18:24:17 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: - Setting source cfg filename based-on serial number - script.sh 2026 Sep 22 18:24:17 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: - serial number FDO262921L3 - script.sh 2026 Sep 22 18:24:17 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: - Selected conf file name : conf.FDO262921L3 - script.sh 2026 Sep 22 18:24:17 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - Verifying freespace in bootflash - script.sh 2026 Sep 22 18:24:17 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - Free bootflash space is 106776296.0 KB - script.sh 2026 Sep 22 18:24:17 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - Single image is set - script.sh 2026 Sep 22 18:24:17 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - Copying config file - script.sh 2026 Sep 22 18:24:17 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - Copying MD5 information - script.sh 2026 Sep 22 18:24:17 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - Starting Copy of MD5. src=/conf.FDO262921L3.md5 dest = /bootflash/conf.FDO262921L3.md5 - script.sh 2026 Sep 22 18:24:17 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - File transfer_protocol = tftp - script.sh
O arquivo de integridade é baixado e armazenado no bootflash: 2026 Sep 22 18:24:17 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - *** Downloaded file is of size 51 *** - script.sh 2026 Sep 22 18:24:17 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - Renamed /bootflash/conf.FDO262921L3.md5.tmp to /bootflash/conf.FDO262921L3.md5 - script.sh
O script recupera a configuração do dispositivo:
2026 Sep 22 18:24:17 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - INFO: Starting Copy of Config File to /bootflash/poap_conf.cfg - script.sh 2026 Sep 22 18:24:17 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - Copying file options source=/conf.FDO262921L3 destination=/bootflash/poap_conf.cfg login_timeout=120 destination_tmp=poap_conf.cfg.tmp - script.sh 2026 Sep 22 18:24:17 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - Transfering using tftp from /conf.FDO262921L3 to bootflash:/poap_conf.cfg.tmp hostname 192.168.100.1 vrf default - script.sh 2026 Sep 22 18:24:17 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - Command is : terminal dont-ask ; terminal password
Essas mensagens confirmam que a configuração específica do dispositivo foi recuperada com êxito e armazenada localmente para processamento.
A captura de pacotes fornece confirmação independente das solicitações de TFTP geradas pelo switch Nexus.
Para o exemplo validado:
sudo tcpdump -nn -r /tmp/poap-run1.pcap 'udp dst port 69' reading from file /tmp/poap-run1.pcap, link-type EN10MB (Ethernet), snapshot length 262144 13:38:19.955108 IP 192.168.100.108.58550 > 192.168.100.1.69: TFTP, length 29, RRQ "conf.FDO262921L3.md5" octet 13:38:20.651491 IP 192.168.100.108.58680 > 192.168.100.1.69: TFTP, length 25, RRQ "conf.FDO262921L3" octet
A sequência confirma que o switch solicitou o arquivo de integridade da configuração antes de recuperar a configuração do dispositivo.
O registro do servidor TFTP também registrou as duas transferências:
Sep 22 14:26:36 calo-ubuntu24-00505692aeaf dnsmasq-tftp[144902]: sent /srv/tftp/conf.FDO262921L3.md5 to 192.168.100.108 Sep 22 14:26:37 calo-ubuntu24-00505692aeaf dnsmasq-tftp[144902]: sent /srv/tftp/conf.FDO262921L3 to 192.168.100.108
Após o download da configuração, o script calcula sua soma de verificação MD5 e a compara com o valor esperado.
A tentativa de provisionamento mostrada neste exemplo produziu:
2026 Sep 22 18:24:18 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - Verifying MD5 checksum - script.sh 2026 Sep 22 18:24:18 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - file name is bootflash:poap_conf.cfg - script.sh 2026 Sep 22 18:24:18 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - INFO: md5sum a1a51058d79de0348c6cd1934e08acb4 (recalculated) - script.sh 2026 Sep 22 18:24:18 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - Verifying MD5 checksum of /bootflash/poap_conf.cfg (size 120) - script.sh 2026 Sep 22 18:24:18 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - md5given = a1a51058d79de0348c6cd1934e08acb4 md5calculated = a1a51058d79de0348c6cd1934e08acb4 - script.sh 2026 Sep 22 18:24:18 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - MD5 match for file = /bootflash/poap_conf.cfg - script.sh
Os valores correspondentes confirmam que a configuração baixada durante esta tentativa de provisionamento correspondeu às informações de integridade correspondentes.
Depois que a verificação de integridade é bem-sucedida, o script determina como a configuração deve ser preparada para a imagem do Cisco NX-OS de destino.
Neste exemplo:
026 Sep 22 18:24:18 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - Split Config file - script.sh 2026 Sep 22 18:24:18 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - Target image supports bootstrap replay. Split config is not required. - script.sh 2026 Sep 22 18:24:18 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - Skip split config as it isn't needed with nxos64-cs.10.6.2.F.bin - script.sh
A saída confirma que a imagem de destino oferece suporte à reprodução de bootstrap e que a divisão de configuração não é necessária para essa tentativa de provisionamento.
Nesse estágio, a configuração específica do dispositivo foi identificada, recuperada, validada e preparada para o fluxo de trabalho POAP restante.
Depois que a configuração do dispositivo for recuperada e validada, verifique como o script POAP processa a imagem do Cisco NX-OS de destino.
A implementação validada usa: nxos64-cs.10.6.2.F.bin
O script primeiro recupera as informações MD5 correspondentes:
2026 Sep 22 18:24:18 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - Starting Copy of MD5. src=/nxos64-cs.10.6.2.F.bin.md5 dest = /bootflash/nxos64-cs.10.6.2.F.bin.md5 - script.sh 2026 Sep 22 18:24:18 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - File transfer_protocol = tftp - script.sh
O arquivo MD5 é então armazenado no bootflash:
2026 Sep 22 18:24:19 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - *** Downloaded file is of size 57 *** - script.sh 2026 Sep 22 18:24:19 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - Renamed /bootflash/nxos64-cs.10.6.2.F.bin.md5.tmp to /bootflash/nxos64-cs.10.6.2.F.bin.md5 - script.sh
O script lê a soma de verificação recebida do servidor de provisionamento:
2026 Sep 22 18:24:19 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - MD5 for system image from server: ce50c3f0e387bee578e615a373a4ede0 - script.sh
Em seguida, ele calcula o checksum da imagem já presente no bootflash:
2026 Sep 22 18:24:19 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - Verifying MD5 checksum - script.sh 2026 Sep 22 18:24:19 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - file name is bootflash:nxos64-cs.10.6.2.F.bin - script.sh 2026 Sep 22 18:24:30 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - INFO: md5sum ce50c3f0e387bee578e615a373a4ede0 (recalculated) - script.sh 2026 Sep 22 18:24:30 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - Verifying MD5 checksum of /bootflash/nxos64-cs.10.6.2.F.bin (size 2952914432) - script.sh 2026 Sep 22 18:24:30 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - md5given = ce50c3f0e387bee578e615a373a4ede0 md5calculated = ce50c3f0e387bee578e615a373a4ede0 - script.sh
O script confirma que a imagem existente corresponde à imagem esperada:
2026 Sep 22 18:24:30 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - MD5 match for file = /bootflash/nxos64-cs.10.6.2.F.bin - script.sh 2026 Sep 22 18:24:30 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - File /bootflash/nxos64-cs.10.6.2.F.bin already exists and MD5 matches - script.sh
Os valores correspondentes confirmam que a imagem necessária do Cisco NX-OS já estava presente no bootflash: e passou na verificação de integridade. Portanto, não foi necessário fazer o download de outra cópia da imagem.
A captura de pacotes também confirma que o Nexus solicitou o arquivo de integridade da imagem:
sudo tcpdump -nn -r /tmp/poap-run1.pcap 'udp dst port 69' reading from file /tmp/poap-run1.pcap, link-type EN10MB (Ethernet), snapshot length 262144 13:38:21.737101 IP 192.168.100.108.58866 > 192.168.100.1.69: TFTP, length 35, RRQ "nxos64-cs.10.6.2.F.bin.md5" octet
O registro do servidor TFTP registrou a mesma transferência:
Sep 22 14:26:38 calo-ubuntu24-00505692aeaf dnsmasq-tftp[144902]: sent /srv/tftp/nxos64-cs.10.6.2.F.bin.md5 to 192.168.100.108
Essas saídas confirmam a recuperação de nxos64-cs.10.6.2.F.bin.md5 do servidor de provisionamento.
Embora o arquivo de imagem não precise ser baixado, o script de referência continuou com o fluxo de trabalho de instalação do Cisco NX-OS.
O exemplo validado foi gerado:
2026 Sep 22 18:24:31 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - Done copying the second scheduled cfg - script.sh 2026 Sep 22 18:24:31 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: S/N[FDO262921L3]-MAC[88:FC:5D:BA:D7:7F] - terminal dont-ask ; install all nxos bootflash:/nxos64-cs.10.6.2.F.bin no-reload non-interruptive - script.sh
A imagem existente passou na verificação de integridade e não exigiu outra transferência de arquivo. No entanto, o script de referência ainda invocava o processo de instalação do software em relação à imagem validada.
Note: Uma imagem existente e MD5 correspondente podem evitar um download de imagem desnecessário. Isso não significa necessariamente que o fluxo de trabalho de instalação de software restante seja ignorado.
Após a conclusão do processamento do software, o POAP continua com as operações de provisionamento restantes e prepara o switch para recarregar.
Depois que o script POAP for concluído com êxito, verifique se o switch continua com o processo de reinicialização e repetição da configuração.
O exemplo validado relatou uma execução de script bem-sucedida e depois um recarregamento:
2026 Sep 22 18:31:08 switch %$ VDC-1 %$ %POAP-2-POAP_SCRIPT_EXEC_SUCCESS: [FDO262921L3-88:FC:5D:BA:D7:7F] - POAP script execution success 2026 Sep 22 18:31:09 switch %$ VDC-1 %$ %POAP-2-POAP_RELOAD_DEVICE: [FDO262921L3-88:FC:5D:BA:D7:7F] - Reload device
Essas mensagens confirmam a conclusão da fase de execução do script e a transição para a fase de recarga pós-instalação.
Após a reinicialização do switch, o Cisco NX-OS detecta o arquivo de reprodução POAP:
2026 Sep 22 18:33:49 %$ VDC-1 %$ %DAEMON-2-SYSTEM_MSG: <<%ASCII-CFG-2-CONF_CONTROL>> Poap replay /bootflash/poap_replay01.cfg - ascii_cfg_server[17165]
A reprodução do bootstrap então foi iniciada e concluída:
2026 Sep 22 18:34:26 %$ VDC-1 %$ %ASCII-CFG-2-CONFIG_REPLAY_STATUS: Bootstrap Replay Started. 2026 Sep 22 18:34:27 %$ VDC-1 %$ %ASCII-CFG-2-CONFIG_REPLAY_STATUS: Bootstrap Replay Done.
Esses eventos confirmam que o Cisco NX-OS começou a processar a configuração preparada durante o POAP.
Após a conclusão da reprodução do bootstrap, o NX-OS processa a configuração provisionada.
As tentativas de validação controladas geraram estas mensagens:
2026 Sep 22 18:35:42 switch %$ VDC-1 %$ %ASCII-CFG-2-CONFIG_REPLAY_STATUS: Ascii Replay Started. 2026 Sep 22 18:35:44 N9K-POAP-SW1 %$ VDC-1 %$ %ASCII-CFG-2-CONFIG_REPLAY_STATUS: Ascii Replay Done. 2026 Sep 22 20:03:26 switch %VDC_MGR-5-VDC_HOSTNAME_CHANGE: vdc 1 hostname changed to N9K-POAP-SW1 2026 Sep 22 20:03:27 N9K-POAP-SW1 %ETHPORT-5-IF_UP: Interface loopback100 is up 2026 Sep 22 20:03:28 N9K-POAP-SW1 %ASCII-CFG-2-CONFIG_REPLAY_STATUS: Ascii Replay Done. 2026 Sep 22 20:03:29 N9K-POAP-SW1 %ASCII-CFG-2-CONF_CONTROL: System ready
As mensagens mostram a repetição da configuração ASCII e fornecem evidência direta de que a configuração provisionada foi aplicada.
O nome do host foi alterado para N9K-POAP-SW1 e o Loopback100 tornou-se operacional como parte da configuração provisionada.
Após a conclusão da repetição da configuração, o Cisco NX-OS salva a configuração resultante.
2026 Sep 22 19:24:03 N9K-POAP-SW1 %$ VDC-1 %$ %ASCII-CFG-2-CONF_CONTROL: System ready [########################################] 100% Copy complete, now saving to disk (please wait)... Copy complete. Auto provisioning complete
A mensagem Provisionamento automático concluído confirma a conclusão do fluxo de trabalho POAP.
Neste estágio, verifique a configuração de execução resultante e a configuração de inicialização para confirmar se a configuração planejada para o Dia-0 está ativa e persistente.
Após a conclusão do POAP, verifique se a configuração planejada para o Dia 0 está ativa e persistente. Confirme o nome do host provisionado, a conta administrativa, a configuração da interface, a imagem do Cisco NX-OS e o estado POAP em todo o sistema.
N9K-POAP-SW1# show hostname N9K-POAP-SW1 N9K-POAP-SW1# show user-account admin user:admin this user account has no expiry date roles:network-admin N9K-POAP-SW1# show ip interface brief IP Interface Status for VRF "default"(1) Interface IP Address Interface Status Lo100 10.255.255.100 protocol-up/link-up/admin-up N9K-POAP-SW1# show running-config interface loopback100 !Command: show running-config interface loopback100 !Running configuration last done at: Tue Sep 22 20:03:48 2026 !Time: Tue Sep 22 23:17:52 2026 version 10.6(2) Bios:version 05.53 interface loopback100 description POAP-VALIDATION ip address 10.255.255.100/32 N9K-POAP-SW1# show startup-config interface loopback100 !Command: show startup-config interface loopback100 !Time: Tue Sep 22 23:17:57 2026 !Startup config saved at: Tue Sep 22 20:03:48 2026 version 10.6(2) Bios:version 05.53 interface loopback100 description POAP-VALIDATION ip address 10.255.255.100/32 N9K-POAP-SW1# show startup-config | include username username admin password 5
A saída confirma que a configuração específica do dispositivo foi aplicada com êxito e salva na configuração de inicialização.
Ele também confirma que o switch está executando a imagem esperada do Cisco NX-OS e que o POAP de todo o sistema permanece habilitado.
Este documento descreve os principais componentes POAP e fluxo de trabalho, incluindo descoberta de DHCP, recuperação e execução de script, seleção de configuração específica do dispositivo, validação de integridade de arquivo, processamento de imagem do Cisco NX-OS e reprodução de configuração.
A implementação validada demonstra como um switch Cisco Nexus 9000 pode obter os recursos de provisionamento necessários, aplicar uma configuração de Dia 0 e manter a configuração resultante.
O processo de verificação também demonstra como as mensagens de console, logs POAP, logs de servidor e capturas de pacotes podem ser correlacionados para confirmar cada estágio principal do fluxo de trabalho de provisionamento.
| Revisão | Data de publicação | Comentários |
|---|---|---|
1.0 |
12-Oct-2026
|
Versão inicial |