Cisco IOS XR
Config Manager manages Cisco IOS XR routers over NETCONF (SSH subsystem, port 830). IOS XR supports most of what Juniper Junos supports (rescue configuration and OS image installation are not available yet, as outlined in Limits): Configuration Backup, Site Configuration Backup, Configuration Deploy, Multi-Device Deploy, Cable Validation, Device Password Rotation, Site Password Rotation, a diagnostics catalog, and ZTP DHCP options. Hardware validation is Cumulus-only.
Prerequisites
-
The device’s Nautobot platform is named
Cisco IOS XR. The bundled bootstrap data creates it together with theCiscomanufacturer. -
NETCONF is enabled on the router and TCP port 830 is reachable from the Config Manager network. On the router (replace
MGMTwith the management VRF):The exact syntax varies slightly between XR releases. The router must advertise the
:candidateand:confirmed-commitNETCONF capabilities. -
The service account is present on the router with a task group that allows NETCONF (for example
root-lr). -
The service account password is in the secrets store for the device’s site. Config Manager tries each configured password in turn.
-
A template plugin renders an intended configuration for the device. The Render Service selects it by
<platform>/<role>/<desired firmware>, so thecisco-ios-xrdirectory is used for this platform. The rendered file is namedfull-config.
How it behaves
Safety checks before a Deploy
A full-configuration Deploy removes everything the intended configuration omits. Before anything is loaded on the router, Config Manager refuses to continue when the intended configuration would remove or break any of the following:
- The account Config Manager logs in with (
usernameblock and itsgrouplines) - The interface that carries the management address, and every
MgmtEthinterface (the interface, its IPv4 address, its VRF). A change to shut any of these down is also refused. - Any
ssh serverline (includingssh server netconf), thenetconf-yang agentand itssshtransport, anyaaa authenticationline or VTYtransportline that the router has - The management default route
The refusal names the missing item. Add it to the template or the Nautobot data and render again.
Secrets and other data the template needs
A Deploy removes whatever the intended configuration omits, so the template renders everything the router needs, and stops the render when something is missing instead of leaving it out. Nautobot holds names only; the values are in the secrets store of the device’s site.
Both snmp_communities and macsec_key_chains must exist on the device (an empty list is fine), or the render stops. MACsec policies, configuration groups, and VRF definitions are static template baseline; the render stops if a key chain, policy, access list, or group is used and not defined.
Limits
- Partial configuration is not supported. You must supply the full desired state. The copy replaces the whole candidate, so a partial configuration would remove everything it omits.
- The router can list stanzas such as prefix-sets in the commit with the same entries in a different order. These reorder-only rewrites are not in the approval diff, so a commit can be larger than the diff shown.
- Lines that start with
#are shown in the diff and count as changes.
- Lines that start with
- A Deploy with the commit timer does not report success when the router already matches an approved diff. An earlier attempt may have sent the confirmed commit and ended before confirming it, and the router rolls back when the timer expires. The run fails with a message; wait for the timer to expire, then run Config Diff. An empty diff means the change is permanent; otherwise run Deploy again.
- The Diagnostics workflow offers version, interfaces, LLDP neighbors, and ARP table for IOS XR. The route table and BGP summary are not available yet.
- Rescue configuration and the rollback diff are not supported for IOS XR: the router has copy and delete actions but none that reads or loads a file. Numbered rollback and ZTP initiation use the router’s YANG actions; rollback commits at once and has no timer.
- Switch OS Upgrade rejects IOS XR devices: it needs an image install, which Config Manager does not do for XR yet.
- Secret values are redacted in backups and drift displays. The Deploy approval diff shows what will be sent, so treat it as sensitive. The intended configuration in the Config Store contains the rendered secret values.
- Not modelled: tunable-optics wavelength (the render stops), LSP attributes such as priorities and bandwidth, IPv6 SNMP client lists, and more than one MACsec key per chain.