Frequently Asked Questions¶
What operating systems are supported?¶
This app supports the same operating systems that pyntc supports.
What is the automation engine that is executing the work?¶
The automation engine in use is pyntc, with shim layers provided by Nornir plugins. These plugins are:
What file transfer protocols are supported?¶
Changed in version 5.0.0
File transfers use a pull-based mechanism where the network device downloads the software image from a remote URL. The supported protocols depend on what the device platform supports (e.g., HTTP, HTTPS, FTP, SFTP). The download URL is configured on each Software Image File in Nautobot.
How are pre and post checks executed?¶
This app was built alongside the Nautobot Operational Compliance App. This app exposes extra jobs utilized by OS Upgrades to optionally turn on pre and post check validations. See Operational Compliance Integration for a detailed walkthrough.
Info
The OS upgrade application does not require the Operational Compliance app. The upgrade workflow will automatically change when it is installed and configured.
FTP file transfers are failing on Cisco IOS — what do I need?¶
Some versions of Cisco IOS require the ip ftp username and ip ftp password commands to be configured on the device before FTP-based transfers will work. See Cisco IOS FTP Configuration for details.
HTTP(S) file transfers are failing on Cisco IOS — how do I set the source interface?¶
Cisco IOS devices may need a source interface configured for the HTTP client before HTTP or HTTPS file transfers will work. Configure this on the device with:
This ensures the device uses the correct interface (and therefore the correct source IP) when initiating HTTP/HTTPS connections to download software images. Without this, the device may attempt to use an interface that lacks connectivity to the file server.
How do I provide credentials for downloading software images?¶
Configure an External Integration with a Secrets Group and assign it to the Software Image File. The file transfer job retrieves the credentials at runtime. See the external interactions page for setup instructions.
Can I run individual upgrade steps separately?¶
Yes. Each upgrade step (file transfer, save config, install OS, reboot, assign software) is a separate Nautobot Job that can be run independently. This allows you to build custom workflows using an external orchestrator. See Individual Jobs for Custom Workflows for details.