POAP: PowerOn Auto Provisioning
About PowerOn Auto Provisioning
PowerOn Auto Provisioning (POAP) automates the process of upgrading software images and installing configuration files on devices that are being deployed in the network for the first time.
When a device with the POAP feature boots and does not find the startup configuration, the device enters POAP mode, sends a DHCP request, and bootstraps itself with its interface IP address, gateway, and DNS server IP addresses. The device also obtains the IP address of a TFTP/SCP server or the URL of an HTTP server and downloads a configuration script that enables the switch to download and install the appropriate software image and configuration file.

Network Requirements for POAP
POAP requires the following network infrastructure:
- A DHCP server to bootstrap the interface IP address, gateway address, and Domain Name System (DNS) server.
- A tftp server that contains the configuration script used to automate the software image installation and configuration process.
- One or more file servers that contains the desired software images and configuration files.
There are several Cisco provided solutions to help you both Day Zero provision as well as upgrade your Nexus switches.
- DCNM: DCNM is a network management system (NMS) support for traditional or multiple-tenant LAN and SAN fabrics on a single pane of glass. POAP is just one of it's many capabilities.
- Ignite: Ignite Is a Cisco provided, opensource graphical tool, that can automate the provisioning or upgrade of Cisco NXOS devices.
- Python Script: Cisco has also provided a python script that can automate your Day Zero provisioning and upgrade process.
Using A Python Script With POAP
Using the opensource script that Cisco have provided is as simple as providing the following values
- Hostname: The hostname of the file server from which we want to copy any files.
- Transfer Protocol: The transfer protocol that is to be used to copy all files. Supported transports include SCP/(S)FTP/HTTP(S)/TFTP, with SCP being the default.
- Username/Password: A username and password if a login is required on the file server.
- Target System Image: The image that we want the switch to upgrade to if necessary. The default is ""
- Mode: The mode with which the Nexus switch will identify itself to the file server. This will then ensure it gets the correct configuration file for that specific switch. Options include serial number, mac address of the switch interface, location and hostname as specified by the DHCP server. The default is serial number.
The user editable fields of the script are shown below.
Switch Agents
The provided POAP script also has the capability to copy additional files to a switch as part of POAP. These files could be scripts, monitoring agents or any additional file that are required on the switch. This script can also copy a tarball, unpack the tarball, and then delete the tarball if required.
This is as simple as specifying the following attirbutes
Conclusion
With Cisco provided solutions, provisioning or upgrading switches at scale within your network has been greatly simplifed. It removing repetitive tasks in Nexus switch deployment and upgrading and allows many devices to be upgraded simultaneously.
Useful Links
POAP Documentation
POAP Script on GitHub
Ignite On GitHub
DCNM