Home Lab POAP Build
In this blog I'm going to run through how I built a POAP deployment in my home Lab environment. If you're not sure what POAP is, check out my previous blog post here.
For my setup I deployed a very basic Centos stream 9 server using the minimal install as all I need is to configure a DHCP and TFTP server. My POAP script also has an option for FTP, so I will also run through a very quick basic VSFTP install and configuration. For my Nexus Switch, I am using a Nexus 9k Virtual switch that was deployed from an OVA file. For a virtual switch they're quite resource intensive taking up 10GB of RAM and 4 vCPU's which means that I could only run 1 given my currently Micro PC free resources. Eventually I will get a couple more Micro PC's and deploy a full lab with 4 9kv switches in a full Leaf, Spine, Border gateway scenario. My plan is also to run NDFC at some point to control these. This is mainly so that I can lab various things for work but also for learning purposes.
Install TFTP and DHCP Server
Once you have your Centos server up and running and ready to go, you will need to install a DHCP server and a TFTP server. SSH into your server and run the following commands to install the DCHP and TFTPD server required.
[root@wrmempoap01 ~]# dnf -y install tftp-server dhcp-server
CentOS Stream 9 - BaseOS 15 kB/s | 20 kB 00:01
CentOS Stream 9 - BaseOS 3.3 MB/s | 7.9 MB 00:02
CentOS Stream 9 - AppStream 19 kB/s | 20 kB 00:01
CentOS Stream 9 - AppStream 4.3 MB/s | 18 MB 00:04
CentOS Stream 9 - Extras packages 23 kB/s | 24 kB 00:01
Extra Packages for Enterprise Linux 9 - x86_64 9.9 kB/s | 5.8 kB 00:00
Extra Packages for Enterprise Linux 9 - x86_64 6.5 MB/s | 20 MB 00:03
Extra Packages for Enterprise Linux 9 - Next - x86_64 6.6 kB/s | 4.8 kB 00:00
Extra Packages for Enterprise Linux 9 - Next - x86_64 335 kB/s | 431 kB 00:01
Remi's Modular repository for Enterprise Linux 9 - x86_64 479 B/s | 833 B 00:01
Remi's Modular repository for Enterprise Linux 9 - x86_64 198 kB/s | 643 kB 00:03
Safe Remi's RPM repository for Enterprise Linux 9 - x86_64 505 B/s | 833 B 00:01
Safe Remi's RPM repository for Enterprise Linux 9 - x86_64 277 kB/s | 972 kB 00:03
Dependencies resolved.
================================================================================================================
Package Architecture Version Repository Size
================================================================================================================
Installing:
dhcp-server x86_64 12:4.4.2-19.b1.el9 baseos 1.2 M
tftp-server x86_64 5.2-37.el9 appstream 41 k
Installing dependencies:
dhcp-common noarch 12:4.4.2-19.b1.el9 baseos 129 k
Transaction Summary
================================================================================================================
Install 3 Packages
Total download size: 1.4 M
Installed size: 4.3 M
Downloading Packages:
(1/3): tftp-server-5.2-37.el9.x86_64.rpm 164 kB/s | 41 kB 00:00
(2/3): dhcp-common-4.4.2-19.b1.el9.noarch.rpm 373 kB/s | 129 kB 00:00
(3/3): dhcp-server-4.4.2-19.b1.el9.x86_64.rpm 2.1 MB/s | 1.2 MB 00:00
--------------------------------------------------------------------------------------------------------------
Total 602 kB/s | 1.4 MB 00:02
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : dhcp-common-12:4.4.2-19.b1.el9.noarch 1/3
Running scriptlet: dhcp-server-12:4.4.2-19.b1.el9.x86_64 2/3
Installing : dhcp-server-12:4.4.2-19.b1.el9.x86_64 2/3
Running scriptlet: dhcp-server-12:4.4.2-19.b1.el9.x86_64 2/3
Installing : tftp-server-5.2-37.el9.x86_64 3/3
Running scriptlet: tftp-server-5.2-37.el9.x86_64 3/3
Verifying : dhcp-common-12:4.4.2-19.b1.el9.noarch 1/3
Verifying : dhcp-server-12:4.4.2-19.b1.el9.x86_64 2/3
Verifying : tftp-server-5.2-37.el9.x86_64 3/3
Installed:
dhcp-common-12:4.4.2-19.b1.el9.noarch dhcp-server-12:4.4.2-19.b1.el9.x86_64 tftp-server-5.2-37.el9.x86_64
Complete!
Once installed, you will need to configure the TFTP server. I would like to note here that I am yet to successfully be able to get TFTP to work correctly in Centos 9 with being able to copy files within the TFTP directory without first creating an empty file. When I do work it out I'll come back and update this post. To edit the tftp service file in Centos 9, use vi (Or whatever editor you like) and edit the file /usr/lib/systemd/system/tftp.service. The main point to edit here are the Service ExecStart line. Ensure that the options -c and -p are included in the command as below. This is supposed to allow you to create new files in the TFTP directory, but as I mentioned, it didn't work for me in Centos 9.
[root@wrmempoap01 ~]# vi /usr/lib/systemd/system/tftp.service
[Unit]
Description=tftp Server
Requires=tftp.socket
Documentation=man:in.tftpd
[Service]
ExecStart=/usr/sbin/in.tftpd -c -p -s /var/lib/tftpboot
StandardInput=socket
[Install]
WantedBy=multi-user.target
Also=tftp.socket
Once you have edited the tftp.service file, you will need to allow TFTP through the firewall and configure the TFTP service to start on boot and then start the service. Before I go through that though, if you want/need to modify your interface zone settings you can see a full list of zones by using the command firewall-cmd --list-all-zones. This will also show the zone that your interface is currently in.
[root@wrmempoap01 ~]# firewall-cmd --list-all-zones
block
target: %%REJECT%%
icmp-block-inversion: no
.........
icmp-blocks:
rich rules:
dmz
target: default
icmp-block-inversion: no
interfaces:
.........
source-ports:
icmp-blocks:
rich rules:
drop
target: DROP
icmp-block-inversion: no
interfaces:
.........
source-ports:
icmp-blocks:
rich rules:
external
target: default
icmp-block-inversion: no
.........
icmp-blocks:
rich rules:
internal (active)
target: default
icmp-block-inversion: no
interfaces: ens192
sources:
services: cockpit dhcpv6-client mdns samba-client ssh tftp
ports:
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
To assign your interface to a different zone and change your firewalld default zone (so that in the firewalld command you don't need to specify the --zone= option), use the nmcli command and firewall-cmd command below.
nmcli connection modify conn_name connection.zone zone_name
For example
nmcli conn mod ens192 connection.zone internal
# And to set the default firewalld zone
firewall-cmd --set-default-zone=<zone>
For example
firewall-cmd --set-default-zone=internal
Now that you have your interface and firewalld configuration set, you can allow TFTP through the firewall. The below command assumes that your server interface is in the internal zone in firewalld. If not, change the --zone= option to specify the correct zone for your configuration. The firewall-cmd reload command is required because of the --permanent option. There are other ways to do this, but I just like to do it this way.
[root@wrmempoap01 ~]# firewall-cmd --permanent --add-service=tftp
[root@wrmempoap01 ~]# firewall-cmd --reload
# If not using the default firewalld zone
firewall-cmd --permanent --zone=internal --add-service=tftp
[root@wrmempoap01 ~]# systemctl enable --now tftp.service
[root@wrmempoap01 ~]# systemctl enable --now tftp.socket
That's it for TFTP. You should have a directory /var/lib/tftpboot. This directory is where you will need to store your POAP script and if you choose to use TFTP for everything, you will also need to copy your NX-OS image and create your config files there too.
Configure DHCP
With TFTP configured, let's move on to the DHCP server configuration. The DHCP server will need to be configured to serve DHCP for your Nexus Switch Management subnet/s. The DHCP scope will need to be setup with a TFTP server option and a bootfile option. This is required to tell the switch where to find the POAP script file and where to download it from. To configure the DHCP server settings, edit the file /etc/dhcp/dhcpd.conf using your favourite editor, I always like vi. In the dhcpd.conf file, you will need to specify your subnet statements as below. My Nexus Switch management subnet is 10.199.200.0/24. If you have multiple subnets, you will need to configure multiple subnet statements for each one. The line option bootfile-name needs to be configured with the name of your poap script. Mine is simple-poap.py but you can specify whatever file name you have called your script here. Just remember that when you go to make the actual script itself, you will need to call the script the same name. The line option tftp-server-address needs to be the address of the TFTP server you have set up if it's this one or a different one. Note that you can also specify a specific host configuration if you know the device MAC address and want to allocate specific IP address or specific script file names etc.
[root@wrmempoap01 ~]# vi /etc/dhcp/dhcpd.conf
# specify domain name
option domain-name "wr-mem.local";
# specify DNS server's hostname or IP address
option domain-name-servers 10.199.12.1;
# default lease time
default-lease-time 600;
# max lease time
max-lease-time 7200;
# this DHCP server to be declared valid
authoritative;
# specify network address and subnetmask
# This line is important and must match the subnet that your DHCP Server is on. Without this line the DHCP service will not start.
subnet 10.199.12.0 netmask 255.255.255.0 {
}
subnet 10.199.200.0 netmask 255.255.255.0 {
# specify the range of lease IP address
range dynamic-bootp 10.199.200.200 10.199.200.254;
# specify broadcast address
option broadcast-address 10.199.200.255;
# specify gateway
option routers 10.199.200.1;
option bootfile-name "simple_poap.py";
option tftp-server-address 10.199.12.10;
}
# Alternatively, you can specify a single host
host LABN9K {
option host-name "LABN9K.lab.local";
hardware ethernet 00:50:56:BE:6C:FF;
fixed-address 10.199.200.10;
option bootfile-name "simple_poap.py";
option tftp-server-address 10.199.12.10;
}
Once you've finished configuring your DHCP server options, you will need to allow DHCP through the firewall, and to start the DHCP service.
[root@wrmempoap01 ~]# firewall-cmd --permanent --zone=internal --add-service=dhcp
success
[root@wrmempoap01 ~]# firewall-cmd --reload
success
[root@wrmempoap01 ~]# systemctl enable --now dhcpd
Created symlink /etc/systemd/system/multi-user.target.wants/dhcpd.service → /usr/lib/systemd/system/dhcpd.service.
Alternatively, if you are using a Cisco router for your DHCP, the below is an example configuration for the same as above.
ip dhcp excluded-address 10.199.200.1 10.199.200.200
ip dhcp excluded-address 10.199.200.250 10.199.200.254
ip dhcp pool POAP
domain-name wr-mem.net
dns-server 10.199.200.1
default-router 10.199.200.1
option 150 ip 10.199.12.10
option 67 ascii "simple-poap.py"
If you choose to use SCP or FTP to download your NX-OS images and configuration files you will need to add a user. You can use the root user, but you know, not recommended. The script I will be using has configuration options for TFTP, SCP and FTP so you can use any of those. In order to use SCP and FTP, I created a poap user and configured a password for this user.
[root@wrmempoap01 ~]# useradd poap
[root@wrmempoap01 ~]# passwd poap
Changing password for user poap.
New password:
Retype new password:
Install and Configure VSFTP
If you want to use FTP, you will need to install and configure an FTP server. I have used VSFTP for this. To install VSFTP in Centos use the command dnf -y install vsftpd.
[root@wrmempoap01 ~]# dnf -y install vsftpd
Last metadata expiration check: 2:29:47 ago on Wed 20 Dec 2023 19:52:46.
Dependencies resolved.
=================================================================================================
Package Architecture Version Repository Size
=================================================================================================
Installing:
vsftpd x86_64 3.0.5-5.el9 appstream 168 k
Transaction Summary
=================================================================================================
Install 1 Package
Total download size: 168 k
Installed size: 347 k
Downloading Packages:
vsftpd-3.0.5-5.el9.x86_64.rpm 364 kB/s | 168 kB 00:00
---------------------------------------------------------------------------------------------------
Total 108 kB/s | 168 kB 00:01
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : vsftpd-3.0.5-5.el9.x86_64 1/1
Running scriptlet: vsftpd-3.0.5-5.el9.x86_64 1/1
Verifying : vsftpd-3.0.5-5.el9.x86_64 1/1
Installed:
vsftpd-3.0.5-5.el9.x86_64
Complete!
Once installed, you will need to modify the vsftpd.conf file for your deployment. The below configuration changes are the only ones i made for my home lab and will specify specific users that are allowed to log in, and some other FTP server attributes. The relevant sections to modify for a very basic configuration to get you up and running are as below.
[root@wrmempoap01 ~]# vi /etc/vsftpd/vsftpd.conf
# Disable anonymous logins
anonymous_enable=NO
# Enable local user accounts to log in
local_enable=YES
# Enable write access to the user directories
write_enable=YES
# chroot to the local users home directory upon login
chroot_local_user=YES
# If you want to specify a log file other than the default /var/log/xfer.log file
xferlog_file=/var/log/vsftpd.log
# The following options need to be manually added to the VSFTPd configuration file
# This enables a list of users that can log in. You will also need to edit that file.
userlist_enable=YES
allow_writeable_chroot=YES
# This file is the list of users that can log into your FTP server
userlist_file=/etc/vsftpd/user_list
# If this is set, then the user list is a list of users to deny. You can specify YES here and then just ensure that the poap user is not in the user_list file
userlist_deny=NO
Once you've made the required changes and saved the configuration file, you will need to allow FTP through the firewall, and configure vsftpd to start on boot. Once again the below command assumes that your server interface is in the internal zone in firewalld and that is your default zone.
[root@wrmempoap01 ~]# firewall-cmd --permanent --add-service=ftp
success
[root@wrmempoap01 ~]# firewall-cmd --reload
success
[root@wrmempoap01 ~]# systemctl enable --now vsftpd
Created symlink /etc/systemd/system/multi-user.target.wants/vsftpd.service → /usr/lib/systemd/system/vsftpd.service.
Create the POAP script
Ok, so now you have TFTP, FTP and DHCP configured, it's time to create the POAP script and necessary configuration files that are required for deploying the Nexus Switches. Change to your tftpboot directory and create your poap script. Again, mine is called simple-poap.py but you can call yours whatever you want as long as the DHCP option is configured with the same name. This script will check the NX-OS version that is running on the device to determine if an upgrade is needed, if so it will use whatever protocol you specify and download the NX-OS file. It will then proceed to get the device serial number and look for a configuration file called conf.serial-number on your TFTP/SCP/FTP server. This means that when you create your base configuration in the next step, you will need to know the devices serial number. You can obtain this either from the device itself if you are using real hardware, or by booting the virtual appliance and watching the console.
[root@wrmempoap01 ~]# cd /var/lib/tftpboot
[root@wrmempoap01 ~]# vi ./simply-poap.py
#!/bin/env python
#md5sum="c7eee003f071385a6ab9b937465d48aa"
from cli import *
import sys
n9k_system_image = "nxos64-cs.10.2.6.M.bin"
image_dir_dst = "bootflash"
system_image_dst = n9k_system_image
protocol = 'ftp'
tftp_server = "10.199.12.10" # Specify the TFTP server IP if using TFTP
scp_server = '10.199.12.10' # Specify the SCP server IP if using SCP
scp_user = 'poap' # required for SCP and FTP
scp_password = 'mysecret' # required for SCP and FTP
scp_path = '/home/poap' # must be full path to SCP location
ftp_server = '10.199.12.10' # Specify the FTP Server IP if using FTP
ftp_user = 'poap' # ftp username
ftp_password = 'mysecret' # ftp password
ftp_path = '/' # will be / if you have followed VSFTPD build guide
vrf = 'management'
# You shouldn't need to edit anything below here
serial_number = cli('show inventory chassis | grep SN:').rstrip().split(" ")[-1]
image_version = cli('show version | grep bootflash:///').rstrip().split("///")[-1]
# Command to copy NX-OS image using FTP
ftp_image_cmd = "terminal dont-ask ; terminal password %s ; " % ftp_password
ftp_image_cmd += "copy ftp://%s@%s%s%s %s: vrf %s" % (ftp_user, ftp_server, ftp_path, n9k_system_image, image_dir_dst, vrf)
# Command to copy NX-OS image using SCP
scp_image_cmd = "terminal dont-ask ; terminal password %s ; " % scp_password
scp_image_cmd += "copy scp://%s@%s%s/%s %s: vrf %s" % (scp_user, scp_server, scp_path, n9k_system_image, image_dir_dst, vrf)
# Command to copy configuration file using FTP
ftp_cmd = "terminal dont-ask ; terminal password %s ; " % ftp_password
ftp_cmd += "copy ftp://%s@%s%sconf.%s %s:poap.cfg vrf %s" % (ftp_user, ftp_server, ftp_path, serial_number, image_dir_dst, vrf)
# Command to copy configuration file using SCP
scp_cmd = "terminal dont-ask ; terminal password %s ; " % scp_password
scp_cmd += "copy scp://%s@%s%s/conf.%s %s:poap.cfg vrf %s" % (scp_user, scp_server, scp_path, serial_number, image_dir_dst, vrf)
# Check the device NX-OS Versio
if image_version != n9k_system_image:
if protocol == 'tftp':
cli('copy tftp://%s/%s %s:%s vrf %s ; end' % (tftp_server, n9k_system_image, image_dir_dst, system_image_dst, vrf))
if protocol == 'scp':
cli(scp_image_cmd)
if protocol == 'ftp':
cli(ftp_image_cmd)
# Download the device configuration file
if protocol == 'tftp':
cli('copy tftp://%s/conf.%s %s:poap.cfg vrf %s ; end' % (tftp_server, serial_number, image_dir_dst, vrf))
if protocol == 'scp':
cli(scp_cmd)
if protocol == 'ftp':
cli(ftp_cmd)
cli('copy bootflash:poap.cfg scheduled-config ; end')
cli('copy bootflash:poap.cfg running-config ; end')
cli('copy running-config startup-config ; end')
This is a very simple, very basic poap script, there are much more complex ones out there that do logging etc and Cisco even have one on their devnet git page, but I couldn't get any of them to work in my lab and I'm not a programmer so don't have to skills to work it out or the patience. Once you have your script and you've made the changes to the variables, notice that in the beginning of this script there is an md5sum line. This line is required to match the md5 sum of the finished script otherwise you will receive validation errors during the switches poap boot process. Any time you make a change to this file, you will need to re-run the below command to regenerate the md5sum from the tftpboot directory.
[root@wrmempoap01 ~]# f=simple_poap.py ; cat $f | sed '/^#md5sum/d' > $f.md5 ; sed -i "s/^#md5sum=.*/#md5sum=\"$(md5sum $f.md5 | sed 's/ .*//')\"/" $f
Now that you have your POAP script configured, let's get the rest of the files ready. You will need the NX-OS image file, and the configuration file to finish the POAP deployment setup. Assuming you have downloaded the image file from the Cisco website, copy it to your TFTP/SCP or FTP directory depending on which protocol you're using. Once again, you will need to create the md5sum of this file otherwise the Nexus switch will not validate it and download it and the poap process with error out. To do so, change to your TFTP/SCP or FTP directory and run the following command.
[root@wrmempoap01 ~]# cd /home/poap
[root@wrmempoap01 ~]# f=nxos64-cs.10.2.6.M.bin ; cat $f | sed '/^#md5sum/d' > $f.md5 ; sed -i "s/^#md5sum=.*/#md5sum=\"$(md5sum $f.md5 | sed 's/ .*//')\"/" $f
To create the configuration file, if you don't know what your user password hash is, you will first need to boot a Nexus switch up and skip or bypass the poap process. If you skip the process, the default credentials are admin with no password. Once you've logged in, configure your user and password and role on the switch then do a sh run to view the configuration. Now copy the user command into your configuration file along with any other configuration options you want to specify. (If you have a switch already configured and up and running you can just do a sh run on that and copy the user command from there). Once you have your username command, create a file in the TFTP/FTP or SCP directory called conf.serial-number (replace serial-number with the device serial of course).
[root@wrmempoap01 ~]# cd /home/poap
[root@wrmempoap01 ~]# vi conf.9SKOWW34F3X
switchname LABN9K01
username admin password 5 $5$JKHENF$jgO1n2XXXXXXxKdiCJY6EOb8 role network-admin
ssh key rsa 2048
ip domain-lookup
ip domain-name wr-mem.local
clock timezone AEST 10 0
ntp server 10.199.12.1 use-vrf management
ntp source-interface mgmt0
vrf context management
ip route 0.0.0.0/0 10.199.200.1
interface mgmt0
vrf member management
ip address 10.199.200.10/24
icam monitor scale
boot nxos bootflash:/nxos64-cs.10.2.6.M.bin
Save the configuration file and ensure the file permissions are all correct for the poap user.
[root@wrmempoap01 ~]# chown -R poap:poap /home/poap/*
That's it. You're now ready to boot your NX-OS switch and have POAP do the work for you. The following is the output from my virtual switch during it's POAP process.
ethernet switching mode Wed Dec 20 11:32:30 UTC 2023
2023 Dec 20 11:32:39 %$ VDC-1 %$ %USER-2-SYSTEM_MSG: <<%USBHSD-2-MOUNT>> logflash: online - usbhsd
2023 Dec 20 11:32:40 %$ VDC-1 %$ %KERN-0-SYSTEM_MSG: [ 33.054228] Error: Could not find mtd devices - kernel
2023 Dec 20 11:32:43 %$ VDC-1 %$ netstack: Registration with cli server complete
2023 Dec 20 11:32:50 %$ VDC-1 %$ %USER-2-SYSTEM_MSG: Installing thirdparty RPMs - /thirdparty_install.py
2023 Dec 20 11:32:52 %$ VDC-1 %$ %USER-2-SYSTEM_MSG: ssnmgr_app_init called on ssnmgr up - aclmgr
2023 Dec 20 11:32:53 %$ VDC-1 %$ %USER-1-SYSTEM_MSG: VP aclqos tah stats get - pltfm_config
2023 Dec 20 11:32:56 %$ VDC-1 %$ %USER-0-SYSTEM_MSG: end of default policer - copp
2023 Dec 20 11:32:56 %$ VDC-1 %$ %COPP-2-COPP_NO_POLICY: Control-plane is unprotected.
2023 Dec 20 11:32:59 %$ VDC-1 %$ %CARDCLIENT-2-FPGA_BOOT_GOLDEN: IOFPGA booted from Golden
Waiting for system online status before starting POAP ...
2023 Dec 20 11:32:59 %$ VDC-1 %$ %PLATFORM-2-MOD_PRESENT: Detected the presence of Module 1
2023 Dec 20 11:33:00 %$ VDC-1 %$ %VDC_MGR-2-VDC_ONLINE: vdc 1 has come online
2023 Dec 20 11:33:00 switch %$ VDC-1 %$ %PLATFORM-2-MOD_INSERTED: Module 1 inserted (Nexus 9000v 64 port Ethernet Module), 5 VNICs mapped
2023 Dec 20 11:33:22 switch %$ VDC-1 %$ %PLATFORM-2-MOD_DETECT: Module 1 detected (Serial number 9Y7QER4PBNQ) Module-Type Nexus 9000v 64 port Ethernet Module Model N9K-X9364v
2023 Dec 20 11:33:22 switch %$ VDC-1 %$ %PLATFORM-2-MOD_PWRUP: Module 1 powered up (Serial number 9Y7QER4PBNQ)
Waiting for system online status before starting POAP ...
Waiting for system online status before starting POAP ...
2023 Dec 20 11:33:59 switch %$ VDC-1 %$ %ASCII-CFG-2-CONF_CONTROL: System ready
Enabling LLDP
Starting Auto Provisioning ...
2023 Dec 20 11:34:04 switch %$ VDC-1 %$ %POAP-2-POAP_INITED: [9SKOWW34F3X-00:BE:6C:FF:1B:08] - POAP process initialized
Done
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]: 2023 Dec 20 11:34:30 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [9SKOWW34F3X-00:BE:6C:FF:1B:08] - USB Initializing Success
2023 Dec 20 11:34:30 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [9SKOWW34F3X-00:BE:6C:FF:1B:08] - USB disk not detected
2023 Dec 20 11:34:30 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [9SKOWW34F3X-00:BE:6C:FF:1B:08] - USB disk not detected (message repeated 1 time)
2023 Dec 20 11:34:30 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [9SKOWW34F3X-00:BE:6C:FF:1B:08] - Start DHCP v4 session
2023 Dec 20 11:34:30 switch %$ VDC-1 %$ %POAP-2-POAP_DHCP_DISCOVER_START: [9SKOWW34F3X-00:BE:6C:FF:1B:08] - POAP DHCP Discover phase started
2023 Dec 20 11:34:30 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]:
2023 Dec 20 11:34:31 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: Recieved DHCP offer from server ip - 10.199.12.10
2023 Dec 20 11:34:38 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [9SKOWW34F3X-00:BE:6C:FF:1B:08] - Using DHCP, valid information received over mgmt0 from 10.199.12.10
2023 Dec 20 11:34:38 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [9SKOWW34F3X-00:BE:6C:FF:1B:08] - Assigned Host Name: RCLABN9K.rclab.local
2023 Dec 20 11:34:38 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [9SKOWW34F3X-00:BE:6C:FF:1B:08] - Assigned IP address: 10.199.200.10
2023 Dec 20 11:34:38 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [9SKOWW34F3X-00:BE:6C:FF:1B:08] - Netmask: 255.255.255.0
2023 Dec 20 11:34:38 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [9SKOWW34F3X-00:BE:6C:FF:1B:08] - DNS Server: 10.199.12.1
2023 Dec 20 11:34:38 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [9SKOWW34F3X-00:BE:6C:FF:1B:08] - Default Gateway: 10.199.200.1
2023 Dec 20 11:34:38 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [9SKOWW34F3X-00:BE:6C:FF:1B:08] - Script Server: 10.199.12.10
2023 Dec 20 11:34:38 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [9SKOWW34F3X-00:BE:6C:FF:1B:08] - Script Name: simple_poap2.py
2023 Dec 20 11:34:42 switch %$ VDC-1 %$ %USER-2-SYSTEM_MSG: Thirdparty RPMs installation succeeded - /thirdparty_install.py
2023 Dec 20 11:34:50 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [9SKOWW34F3X-00:BE:6C:FF:1B:08] - The POAP Script download has started
2023 Dec 20 11:34:50 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [9SKOWW34F3X-00:BE:6C:FF:1B:08] - The POAP Script is being downloaded from [copy tftp://10.199.12.10/simple_poap2.py bootflash:scripts/script.sh vrf management ]
2023 Dec 20 11:34:51 switch %$ VDC-1 %$ %POAP-2-POAP_SCRIPT_DOWNLOADED: [9SKOWW34F3X-00:BE:6C:FF:1B:08] - Successfully downloaded POAP script file
2023 Dec 20 11:34:51 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [9SKOWW34F3X-00:BE:6C:FF:1B:08] - Script file size 2727, MD5 checksum c7eee003f071385a6ab9b937465d48aa
2023 Dec 20 11:34:51 switch %$ VDC-1 %$ %POAP-2-POAP_INFO: [9SKOWW34F3X-00:BE:6C:FF:1B:08] - MD5 checksum received from the script file is c7eee003f071385a6ab9b937465d48aa
2023 Dec 20 11:34:51 switch %$ VDC-1 %$ %POAP-2-POAP_SCRIPT_STARTED_MD5_VALIDATED: [9SKOWW34F3X-00:BE:6C:FF:1B:08] - POAP script execution started(MD5 validated)
2023 Dec 20 21:35:24 RCLABN9K01 %$ VDC-1 %$ %POAP-2-POAP_SCRIPT_EXEC_SUCCESS: [9SKOWW34F3X-00:BE:6C:FF:1B:08] - POAP script execution success
2023 Dec 20 21:35:25 RCLABN9K01 %$ VDC-1 %$ %POAP-2-POAP_RELOAD_DEVICE: [9SKOWW34F3X-00:BE:6C:FF:1B:08] - Reload device
Add new comment