Introduction
Ce document décrit comment vous pouvez basculer OS (Operating System) de Nexus Operating System (NXOS®) vers ACI avec Auto Provisioning (POAP) Auto-Conversion.
Quand est-ce nécessaire ?
Dans le processus existant, Autorisation de retour de matériel (RMA)/Nouveaux commutateurs s'ils sont reçus avec l'image NXOS®, la conversion de ces commutateurs en mode ACI et leur ajout au fabric ACI prennent beaucoup de temps et deviennent très complexes.
Il y a trois cas où vous avez besoin de cette fonctionnalité,
1) Remplacement du commutateur Leaf/Spine défectueux
2) Ajout d'une nouvelle interface Leaf/Spine pour étendre le fabric ACI
3) Ajout/remplacement de Leaf distant
Prérequis
Le processus existant de conversion de NXOS® en mode ACI est très complexe et fastidieux. La fonctionnalité de conversion automatique POAP (PowerOn Auto Provisioning) a été introduite dans la version 5.2(3) de l'ACI afin de simplifier la procédure et de la rapprocher du plug-and-play. La fonctionnalité POAP est disponible sur NXOS® à partir de la version 7.X, ce qui conclut que le nouveau commutateur que vous essayez d'ajouter doit exécuter une version supérieure.
Qu'est-ce que POAP ?
POAP est l'acronyme de Power on auto provisioning. Le processus Poap est déclenché automatiquement sur les commutateurs Nexus lorsqu'aucune configuration initiale n'est trouvée.
Lorsque le protocole POAP est déclenché, le commutateur démarre d'abord le processus DHCP (Dynamic Host Configuration Protocol) à partir de l'interface de gestion et si aucun paquet DHCP n'est reçu, cette détection DHCP démarre sur tous les autres ports. Dans l'ACI, l'APIC agit en tant que serveur DHCP, qui va fournir l'adresse IP et l'emplacement du script python aux commutateurs. Une fois le script python téléchargé, cela appelle le téléchargement de l'image ACI et la conversion se produit automatiquement sur les commutateurs. L'ACI exécute Poap dans le réseau infra.
Topologie
Dans cette topologie, le noeud spine 201, le noeud leaf 101 et le commutateur nxos doivent être convertis. Ce commutateur nxos peut être directement connecté au commutateur spine ou leaf, ce qui signifie que vous pouvez l'intégrer directement au fabric une fois la conversion réussie.
Dans cet exemple de configuration, vous allez connecter le port E1/53 de la carte ACI Leaf 101 au nouveau port E1/47 du noeud de commutateur. Assurez-vous que seuls les ports de fabric sur le noeud Leaf et le noeud Spine peuvent être utilisés pour le POAP.

Comment configurer le protocole POAP ?
Vous pouvez vous reporter aux étapes présentées et vous assurer de mettre sous tension le nouveau noeud de commutateur Nexus et de le connecter à Leaf101 comme indiqué dans la section topologie.
Étape 1 : activez la conversion Nxos vers ACI.
Accédez à Fabric —> Appartenance au fabric —> Noeuds enregistrés —> Ajouter avec Nxos à la conversion ACI

Étape 2 : ajoutez le noeud 101 (commutateur ACI existant) et l'interface E1/53 appropriés sur le Leaf 101 à utiliser pour le POAP (seules les liaisons de fabric peuvent être utilisées pour le POAP sur le Leaf/Spine).

Étape 3 : double-cliquez sur le noeud leaf que vous utilisez pour le POAP.

Étape 4 : Validez l’état POAP de eth1/53, vous pouvez voir que POAP est activé pour le port E1/53.

Étape 5 : Connectez le noeud Nexus à l’interface Leaf 101 E1/53, puis le nouveau noeud de commutateur s’affiche sous Nodes Pending registration. Dans cet exemple, nous utilisons le port E1/47 sur le nouveau commutateur NXOS.

Étape 6 : enregistrez le nouveau noeud de commutateur, cliquez avec le bouton droit de la souris et sélectionnez register.

Étape 7 : ajoutez l’ID de noeud, le nom de noeud et enregistrez le noeud leaf.

Étape 8 : Lors du démarrage du commutateur NXOS, une invite s’affiche pour vous demander si vous souhaitez abandonner le POAP et poursuivre la configuration normale. Sélectionnez no continue with POAP.
(Si le périphérique a une configuration initiale, vous devez effectuer un effacement en écriture et recharger le périphérique pour forcer le commutateur Nexus à passer en mode POAP.)
Abort Power On Auto Provisioning [yes - continue with normal setup, skip - bypass password and basic configuration, no - continue with Power On Auto Provisioning] (yes/skip/no)[no]:
>>>> This message appears on the console which means POAP process started on new switch node, Do not break this sequence.
Étape 9 : Observez la console du nouveau noeud de commutateur, vous allez voir ces journaux.
%$ %POAP-2-POAP_DHCP_DISCOVER_START: [FDO233002HC-A4:53:0E:3D:D9:A3] - POAP DHCP Discover phase started <<< POAP Process started, new switch node is sending DHCP discover message
2024 Jun 24 13:21:31 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: - Abort Power On Auto Provisioning [yes - continue with normal setup, skip - bypass password and basic configuration, no - continue with Power On Auto Provisioning] (yes/skip/no)[no]:
2024 Jun 24 13:21:32 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: Recieved DHCP offer from server ip - 10.0.0.1 <<< DHCP offer has been recived from APIC
2024 Jun 24 13:21:39 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: Recieved DHCP offer from server ip - 10.0.0.1 (message repeated 1 time)
2024 Jun 24 13:21:39 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO233002HC-A4:53:0E:3D:D9:A3] - Using DHCP, valid information received over Eth1/47 from 10.0.0.1 <<< This is the interface used on new switch node
2024 Jun 24 13:21:39 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO233002HC-A4:53:0E:3D:D9:A3] - Assigned Host Name: poap-leaf <<< Hostname assigned to new switch node based on node-name you specified while registering
2024 Jun 24 13:21:39 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO233002HC-A4:53:0E:3D:D9:A3] - Assigned IP address: 10.0.232.68 <<< New switch node got an IP Address
2024 Jun 24 13:21:39 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO233002HC-A4:53:0E:3D:D9:A3] - Netmask: 255.255.0.0
2024 Jun 24 13:21:39 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO233002HC-A4:53:0E:3D:D9:A3] - DNS Server: 10.0.0.1
2024 Jun 24 13:21:39 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO233002HC-A4:53:0E:3D:D9:A3] - Default Gateway: 10.0.0.30
2024 Jun 24 13:21:39 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO233002HC-A4:53:0E:3D:D9:A3] - Script Server: 10.0.0.1
2024 Jun 24 13:21:39 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO233002HC-A4:53:0E:3D:D9:A3] - Script Name: aci_poap_bootfile.py <<< This script is responsible for performing NXOS to ACI mode conversion
2024 Jun 24 13:21:49 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO233002HC-A4:53:0E:3D:D9:A3] - The POAP Script download has started <<< Downloading script
2024 Jun 24 13:21:49 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO233002HC-A4:53:0E:3D:D9:A3] - The POAP Script is being downloaded from [copy tftp://10.0.0.1/aci_poap_bootfile.py bootflash:scripts/script.sh vrf default ]
2024 Jun 24 13:21:50 switch %$ VDC-1 %$ %POAP-2-POAP_SCRIPT_DOWNLOADED: [FDO233002HC-A4:53:0E:3D:D9:A3] - Successfully downloaded POAP script file <<< Script downloaded
2024 Jun 24 13:21:50 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO233002HC-A4:53:0E:3D:D9:A3] - Script file size 106768, MD5 checksum 8b31543966b6dd518441a45d3546e0e1
2024 Jun 24 13:21:50 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [FDO233002HC-A4:53:0E:3D:D9:A3] - MD5 checksum received from the script file is 8b31543966b6dd518441a45d3546e0e1
2024 Jun 24 13:21:50 switch %$ VDC-1 %$ %POAP-2-POAP_SCRIPT_STARTED_MD5_VALIDATED: [FDO233002HC-A4:53:0E:3D:D9:A3] - POAP script execution started(MD5 validated) <<< Validating MD5 Checksum before downloading ACI image aci-n9000-dk9.15.2.8h.bin
2024 Jun 24 13:21:52 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: - Starting to download image - /script.sh <<< Starting ACI image download as script is executed in the backend
2024 Jun 24 13:21:52 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: - The command is : terminal dont-ask ; terminal password <removed> ; copy http://10.0.0.1:7777/fwrepo/aci-n9000-dk9.15.2.8h.bin bootflash:aci-n9000-dk9.15.2.8h.bin vrf default - /script.sh
184633.793: 2024 Jun 24 13:25:50 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: - Downloading the image completed - /script.sh <<< ACI image download completed
184633.819: 2024 Jun 24 13:25:50 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: - Image file found in bootflash folder - /script.sh
184635.739: 2024 Jun 24 13:25:52 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: - no boot nxos o/p : - /script.sh
184640.147: 2024 Jun 24 13:25:56 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: - copy running-config o/p : [# ] 1% [# ] 2% [## ] 3% [## ] 4% [### ] 5% [### ] 6% [### ] 7% [#### ] 8% [#### ] 9% [##### ] 10% [##### ] 11% [##### ] 12% [###### ] 13% [###### ] 14% [####### ] 15%184640.147: [####### ] 16% [####### ] 17% [######## ] 18% [######## ] 19% [######### ] 20% [#########
184642.147: 2024 Jun 24 13:25:58 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: - boot aci o/p : Warning: Please check list of all ACI supported hardware before doing this operation, not all hardware are supported. Performing image verification and compatibility check, pleas184642.147: e wait.... Unable remove internal file Image verification successful. - /script.sh
184649.973: 2024 Jun 24 13:26:06 switch %$ VDC-1 %$ %USER-1-SYSTEM_MSG: - md5sum o/p : e9065f12d6eac79d15091f0c595ed9e5 - /script.sh <<< Post download MD5 checksum validation
184657.960: 2024 Jun 24 13:26:14 switch %$ VDC-1 %$ %VMAN-2-ACTIVATION_STATE: Successfully deactivated virtual service 'guestshell+'
184701.033: 2024 Jun 24 13:26:17 switch %$ VDC-1 %$ %PLATFORM-2-PFM_SYSTEM_RESET: Manual system restart from Command Line Interface <<< Rebooting the device to perform the conversion
Étape10 : Le nouveau noeud de commutateur nommé Poap-Leaf commence à s’afficher dans les noeuds inscrits.

Étape11 : validez à partir de l’interface de ligne de commande du nouveau noeud de commutateur qu’il a été converti en mode ACI.
User Access Verification
(none) login: admin
********************************************************************************
Fabric discovery in progress, show commands are not fully functional
Logout and Login after discovery to continue to use show commands.
Run show discoveryissues for more details.
********************************************************************************
(none)# <<< Device is in ACI discovey mode now
Étape12 : connectez maintenant le nouveau noeud de commutateur au fabric ACI de manière appropriée.
Étape 13 : Supprimez la stratégie de conversion NXOS après la conversion de poap réussie.


++ You also encounter an Fault F427 when you configure POAP, please ensure that fault is cleared post step 13.
This fault is an reminder that you have configured an port on ACI Leaf switch for POAP usage
Journaux DHCP POAP sur APIC
Pour consulter les journaux DHCP sur le contrôleur APIC, reportez-vous à l'emplacement et aux fichiers journaux indiqués.
apic1# cd /var/log/dme/log/
apic1# less dhcpd.bin.log | grep ISC | grep a4:53:0e:3d:d9:a3
30167||2024-06-24T13:12:04.170069236+00:00||dhcp||INFO||||ISC dhcpd: DHCPDISCOVER from a4:53:0e:3d:d9:a3 via 10.0.232.64||../svc/dhcpd/src/gen/ifc/beh/imp/./DhcpdSvc.cc||68 <<< DHCP Discovered recieved from Leaf101 Infra Loopback IP , Leaf 101 is acting as DHCP Relay
30167||2024-06-24T13:12:04.170129519+00:00||dhcp||INFO||||ISC dhcpd: DHCPOFFER on 10.0.232.68 to a4:53:0e:3d:d9:a3 via 10.0.232.64||../svc/dhcpd/src/gen/ifc/beh/imp/./DhcpdSvc.cc||68 <<< DHCP Offer forwarded from APIC
30167||2024-06-24T13:12:07.219176308+00:00||dhcp||INFO||||ISC dhcpd: Received host decl = FDO233002HC { uid "FDO233002HC"; dynamic; option host-name "poap-leaf"; fixed-address 10.0.232.68; option cisco.node-role 2; option cisco.node-type 0; pool subclass "pod" 00:1; option cisco.fabric-id 1; option cisco.pod-id 1; option cisco.node-id 1891; option subnet-mask 255.255.0.0; option routers 10.0.0.30; option domain-name-servers 10.0.0.1; filename "aci_poap_bootfile.py"; } ||../svc/dhcpd/src/gen/ifc/beh/imp/./DhcpdSvc.cc||68 bico 04.421. <<< DHCP Server provides IP, DHS and TFTP server IP address to download python script and ACI image
30167||2024-06-24T13:12:07.220213143+00:00||dhcp||INFO||||ISC dhcpd: Received host decl = FDO233002HC { uid "FDO233002HC"; dynamic; option host-name "poap-leaf"; fixed-address 10.0.232.68; option cisco.node-role 2; option cisco.node-type 0; pool subclass "pod" 00:1; option cisco.fabric-id 1; option cisco.pod-id 1; option cisco.node-id 1891; option subnet-mask 255.255.0.0; option routers 10.0.0.30; option domain-name-servers 10.0.0.1; filename "aci_poap_bootfile.py"; } ||../svc/dhcpd/src/gen/ifc/beh/imp/./DhcpdSvc.cc||68
30167||2024-06-24T13:12:10.167297645+00:00||dhcp||DBG4||||ISC dhcpd: Before updateUid 12:||../svc/dhcpd/src/gen/ifc/beh/imp/./DhcpdSvc.cc||73 bico 07.220
30167||2024-06-24T13:12:10.167454624+00:00||dhcp||DBG4||||ISC dhcpd: not our server id ours 0.0.0.0 received 10.0.0.1||../svc/dhcpd/src/gen/ifc/beh/imp/./DhcpdSvc.cc||73
30167||2024-06-24T13:12:10.167588015+00:00||dhcp||DBG4||||ISC dhcpd: Before updateUid 12:||../svc/dhcpd/src/gen/ifc/beh/imp/./DhcpdSvc.cc||73
30167||2024-06-24T13:12:10.167639084+00:00||dhcp||INFO||||ISC dhcpd: DHCPREQUEST for 10.0.232.68 (10.0.0.1) from a4:53:0e:3d:d9:a3 via 10.0.232.64||../svc/dhcpd/src/gen/ifc/beh/imp/./DhcpdSvc.cc||68
30167||2024-06-24T13:12:10.167706966+00:00||dhcp||INFO||||ISC dhcpd: DHCPACK on 10.0.232.68 to a4:53:0e:3d:d9:a3 via 10.0.232.64||../svc/dhcpd/src/gen/ifc/beh/imp/./DhcpdSvc.cc||68
30167||2024-06-24T13:12:10.167806426+00:00||dhcp||DBG4||||ISC dhcpd: updateUid 11:FDO233002HC, ../common/external/dhcp/dhcp-4.1-ESV-R6/server/svcapi.c:410||../svc/dhcpd/src/gen/ifc/beh/imp/./DhcpdSvc.cc||73
30167||2024-06-24T13:12:12.221336321+00:00||dhcp||INFO||||ISC dhcpd: Received host decl = FDO233002HC { uid "FDO233002HC"; dynamic; option host-name "poap-leaf"; fixed-address 10.0.232.68; option cisco.node-role 2; option cisco.node-type 0; pool subclass "pod" 00:1; option cisco.fabric-id 1; option cisco.pod-id 1; option cisco.node-id 1891; option subnet-mask 255.255.0.0; option routers 10.0.0.30; option domain-name-servers 10.0.0.1; filename "aci_poap_bootfile.py"; } ||../svc/dhcpd/src/gen/ifc/beh/imp/./DhcpdSvc.cc||68 bico 10.436