The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
This chapter describes how to deploy and use PowerOn Auto Provisioning (POAP)
This chapter contains the following sections:
PowerOn Auto Provisioning (POAP) automates the process of upgrading software images and installing configuration files on Cisco Nexus switches that are being deployed in the network for the first time.
When a Cisco Nexus Series switch with the POAP feature boots and does not find the startup configuration, the switch enters POAP mode and checks for a USB device containing the configuration script file. If it finds one, it checks that device to see if it also contains the software image files and the switch configuration file.
If the switch does not find a USB device, or if the USB device does not contain the needed image files or switch configuration file, the switch also locates a DHCP server and bootstraps itself with its interface IP address, gateway, and DNS server IP addresses. The switch then obtains the IP address of a TFTP server or the URL of an HTTP server from which it downloads the necessary configuration files.
Note | The DHCP information is used only during the POAP process if any configuration files are unavailable on the USB device. |
If a USB device containing the required installation files is not available, POAP with requires the following network infrastructure:
The reference script supplied by Cisco supports the following functionality:
We provide sample configuration scripts that were developed using the Python programming language and Tool Command Language (Tcl). You can customize one of these scripts to meet the requirements of your network environment.
For information about customizing this script using Python, see the Cisco Nexus 3000 Series NX-OS Python API Reference Guide at this URL: http://www.cisco.com/en/US/products/ps11541/products_programming_reference_guides_list.html.
The POAP process has the following phases:
Within these phases, other process and decision points occur. The following illustration shows a flow diagram of the POAP process.
When you power-up a switch for the first time, it loads the software image installed at manufacturing and tries to find a configuration file from which to boot. When no configuration file is found, POAP mode starts.
During startup, a prompt appears asking if you want to abort POAP and continue with normal setup. You can choose to exit or continue with POAP.
Note | No user intervention is required for POAP to continue. The prompt that asks if you want to abort POAP remains available until the POAP process is complete. |
If you exit POAP mode, you enter the normal interactive setup script. If you continue in POAP mode, all the front-panel interfaces are set up in Layer 3 mode, which ensures that the device does not participate in any Layer 2 forwarding.
When POAP starts, the process searches the root directory of all accessible USB devices for the POAP configuration script file (either the Python script file, poap_script.py, or the Tcl script file, poap_script.tcl), configuration files, and system and kickstart images.
If the configuration script file is found on a USB device, POAP begins running the configuration script. If the configuration script file is not found on the USB device, POAP executes DHCP discovery. (When failures occur, the POAP process alternates between USB discovery and DHCP discovery, until POAP succeeds or you manually abort the POAP process.)
If the software image and switch configuration files specified in the configuration script are present, POAP uses those files to install the software and configure the switch. If the software image and switch configuration files are not on the USB device, POAP does some cleanup and starts DHCP phase from the beginning.
The switch sends out DHCP discover messages on all of the active interfaces (including the mgmt interface) soliciting DHCP offers from the DHCP server or servers. The DHCP client on the Cisco Nexus switch uses the switch serial number in the client-identifier option to identify itself to the DHCP server. The DHCP server can use this identifier to send information, such as the IP address and script file name, back to the DHCP client.
POAP requires a minimum DHCP lease period of 3600 seconds (1 hour). POAP checks the DHCP lease period. If the DHCP lease period is set to less than 3600 seconds (1 hour), POAP does not complete DHCP negotiation.
When multiple DHCP offers that meet the requirement are received, an offer is randomly chosen. The device completes the DHCP negotiation (request and acknowledgment) with the selected DHCP server, and the DHCP server assigns an IP address to the switch. If there is a failure in any of the subsequent steps in the POAP process, the IP address is released back to the DHCP server.
If no DHCP offers meet the requirements, the switch does not complete the DHCP negotiation (request and acknowledgment) and an IP address is not assigned.
Once the device has bootstrapped itself using the information in the DHCP acknowledgement, the script file is downloaded from the TFTP server or the HTTP server.
The switch runs the configuration script, which downloads and installs the software image and downloads a switch-specific configuration file.
However, the configuration file is not applied to the switch at this point, because the software image currently running on the switch might not support all of the commands in the configuration file. After the switch reboots, it begins running the new software image, if one was installed. At that point, the configuration is applied to the switch.
Note | If the switch loses connectivity, the script stops, and the switch reloads its original software images and bootup variables. |
The switch restarts and applies (replays) the configuration on the upgraded software image. Afterward, the switch copies the running configuration to the startup configuration.
Make sure the network environment is set up to use POAP. For information, see the Setting Up the Network Environment To Use POAP section.
Step 1 | Install the switch in the network. |
Step 2 | Power on the switch. If no configuration file is found, the switch boots in POAP mode and displays a prompt asking if you want to abort POAP and continue with normal setup. |
Step 3 | No entry is required to continue to boot in POAP mode. If you want to exit POAP mode and enter the normal interactive setup script, enter y (yes). The switch boots, and the POAP process begins. For information, see the POAP Process section. |
Verify the configuration.
Use one of the following commands to verify the configuration after bootstrapping the device using POAP:
Command |
Purpose |
---|---|
show running-config |
Displays the running configuration. |
show startup-config |
Displays the startup configuration. |
For detailed information about the fields in the output from these commands, see the Cisco Nexus 3000 Series NX-OS Command Reference.
Related Topic | Document Title |
---|---|
Configuration Script |
Cisco Nexus 3000 Series NX-OS Python API Reference Guide |
DHCP Options and BOOTP Vendor Extensions |
|
TFTP Server Address Option for DHCPv4 |