I get the strangest looks when I talk about POAP and ask people “Why Aren’t You Using It?” Admittedly, it doesn’t help that I like to pronounce acronyms like words, and POAP comes out sounding like “Pope” or perhaps “Poe-App”. Perhaps it will help if I mention that POAP is the Nexus equivalent of Auto-Install for Cisco routers. I suspect that aside from not being aware of POAP, a lot of people haven’t looked into what POAP can do for them. As with Auto-Install, you might have looked and found that it seemed complex. Yes, it’s easy enough to paste in the configuration from the CLI, one less thing to troubleshoot.
Why Would You POAP?
Plug in a new Nexus switch and it will automatically get upgraded to the latest code and configured from a central server. Which means you can be off doing useful work instead of waiting through all that. Also known as “more productive”.
DFA (Dynamic Fabric Automation) can leverage POAP in building the Spine-Leaf topology. It’s not clear whether ACI will as well. The N9K hardware base NX-OS apparently supports it, and I would be surprised if ACI doesn’t use POAP to form the infrastructure.
Newer versions of NX-OS support POAP from USB, where everything is done off a USB you plugged in, provided you put the necessary files on the USB with the right filenames.
POAP can also be used for fast reconfiguration of your entire infrastructure!
How to POAP
I’ll summarize for you. Here’s what happens:
- Your freshly-installed Nexus boots up, discovers it has no configuration, and puts itself into POAP mode.
- (Newer versions) Check for USB containing what’s needed.
- It does DHCP, finds a DHCP server, and is told its interface IP address, gateway, and DNS server IP address(es). It also receives the IP address of either a TFTP server or the URL of an HTTP server.
- It then downloads a configuration script to download and install the appropriate NX-OS software and configuration file.
- The NX-OS image is downloaded if not already present. It will be used after the next reboot.
- The downloaded configuration is stored as the startup configuration for use after the next reboot.
- You can see error messages in syslog, on the console, and critical errors are logged to bootflash.
- The switch reboots (or you reboot it) and the new image and configuration take effect. The running configuration is then saved as the startup configuration.
The DHCP address is only used while POAP is in control.
For details of these steps and a flowchart, follow the link above. See the link for Caveats as well.
Cisco provides Python and TCL scripts you can customize. Support varies with the hardware platform. I finally found the scripts in the Software Download areas for the products, which is not where I’d have expected to find them. You have to have a valid support contract to even look at the scripts, which is more than a bit annoying. My consulting customers generally do things like upgrades, so I rarely jump through the hoops of getting their support numbers added to my Cisco ID. I get that one shouldn’t be able to download the image without support, vendors have a right to make money. But the python or TCL script, that’s a bit ridiculous. Make it unlocked/freely downloadable!
By the way, if you’re not a programmer, the Python or TCL should be fairly easy to modify. Over the years I’ve coded in a number of languages, and have frequently found that it helps to start with something that someone else already coded, alter it, test it, and you’ll (eventually) catch on.
Things to Be Thankful For
Cisco didn’t name this feature Power-On Operational Provisioning. <grin>
- Auto-Install: http://www.cisco.com/c/en/us/td/docs/ios/12_2/configfun/configuration/guide/ffun_c/fcf002.html
- ASR1K Auto-Install: http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/fundamentals/configuration/xe-3s/
- Massively Scalable Data Center (MSDC) Design and Implementation Guide: http://www.cisco.com/c/en/us/td/docs/solutions/Enterprise/Data_Center/MSDC/1-0/MSDC_Phase1/MSDC1_2.html#wp2270856
Hashtags: #POAP #ACI #DFA #automation