简介
本文档介绍如何通过自动调配(POAP)自动转换将OS(操作系统)从Nexus操作系统(NXOS®)切换到ACI。
何时需要它?
在现有过程中,如果使用NXOS®映像接收退货授权(RMA)/新交换机,将这些交换机转换为ACI模式然后将其添加到ACI交换矩阵将非常耗时且复杂。
在三种情况下,您需要此功能,
1)更换故障枝叶/主干交换机
2)添加新的枝叶/主干以扩展ACI交换矩阵
3)添加/更换远程枝叶
前提条件
将NXOS®转换为ACI模式的现有流程非常复杂且耗时,因此在ACI版本5.2(3)中引入了POAP自动转换功能,以简化流程并使其接近即插即用(加电自动调配)。从7.X版本开始,NXOS®上提供了POAP功能,该功能可以断定,您尝试添加的新交换机必须运行更高的版本。
什么是POAP?
POAP代表开机自动调配。如果未找到启动配置,Nexus交换机将自动触发Poap进程。
当触发Poap时,交换机将首先从管理接口启动动态主机配置协议(DHCP)进程,如果未收到DHCP确认,则在所有其他端口上启动此DHCP发现。在ACI中,APIC充当DHCP服务器,为交换机提供IP地址和python脚本位置。下载Python脚本后,将会调用ACI映像下载,并自动在交换机上执行转换。ACI在基础设施网络中运行Poap。
拓扑
在此拓扑中,您需要转换主干节点201、枝叶节点101和nxos交换机。此nxos交换机可以直接连接到主干或枝叶交换机,这意味着转换成功后,您可以将其直接加入交换矩阵。
对于此配置示例,您将将ACI枝叶101端口E1/53连接到新的交换机节点端口E1/47。请确保只有枝叶和主干上的交换矩阵端口可用于POAP。

如何配置POAP?
您可以参考演示的步骤,确保打开新nexus交换机节点的电源并将其连接到枝叶101,如拓扑部分所示。
第1步:启用Nxos到ACI的转换。
导航到Fabric —> Fabric Membership —> Registered Nodes —> Add with Nxos to ACI Conversion

第2步:在枝叶101上添加用于POAP的适当节点101(现有ACI交换机)和接口E1/53(仅交换矩阵链路可用于枝叶/主干上的POAP)。

第3步:双击用于POAP的枝叶节点。

第4步:验证eth1/53的POAP状态,您可以看到端口E1/53启用了POAP。

第5步:将Nexus节点连接到枝叶101接口E1/53,然后您将在Nodes Pending registration下看到新的交换机节点。在本例中,我们使用新NXOS交换机上的端口E1/47。

第6步:注册新的交换机节点,右键单击并选择注册。

第7步:添加节点ID、节点名称并注册枝叶。

第8步:在NXOS交换机启动期间,会出现一个提示,询问您是否要中止POAP并继续正常设置。选择“否”,继续POAP。
(如果设备具有启动配置,则必须执行写擦除并重新加载设备,以强制nexus交换机进入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.
第9步:观察新交换机节点的控制台,您将看到这些日志。
%$ %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
第10步:名为Poap-Leaf的新交换机节点开始显示在注册节点中。

第11步:从CLI验证新交换机节点已转换为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
第12步:现在将新的交换机节点正确连接到ACI交换矩阵。
第13步:删除poap成功转换后的NXOS转换策略。


++ 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
APIC上的POAP dhcp日志
要查看APIC上的DHCP日志,请参阅给定位置和日志文件。
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