Skip to content

Device

Devices represent individual IOS-XR network devices that will be configured and managed. Each device is identified by a unique name and requires a host IP for connectivity.

Device configurations have the highest precedence in the configuration hierarchy, allowing you to override global and device group settings for specific devices. This provides fine-grained control while maintaining consistency across your network infrastructure.

Key device attributes:

  • name: Unique identifier for the device
  • host: IP for device connectivity (gNMI), optionally a port can be added with :12345. The default port is 57400
  • managed: Boolean flag to temporarily exclude devices from configuration (useful for maintenance)
  • device_groups: List of device groups this device belongs to
  • variables: Device-specific variables that override group and global variables
  • configuration: Device-specific configuration that takes highest precedence

The managed attribute can be set to false to temporarily skip a device during deployment, which is useful for maintenance windows or staged rollouts.

Diagram
NameTypeConstraintMandatoryDefault Value
nameStringYes
hostStringYes
tlsBooleantrue, falseNo
managedBooleantrue, falseNotrue
protocolChoicegnmi, netconfNo
versionStringNo
platformChoiceNCS, C8000, XRV9K, XRdNo
device_groupsListStringNo
variablesMapNo
templatesListStringNo

iosxr:
devices:
# Basic device configuration
- name: router-1
host: 10.10.10.1
managed: true
# Device with specified port
- name: router-1
host: 10.10.10.1:57402
managed: true
# Device with group membership and variables
- name: router-1
host: 10.10.10.1
device_groups:
- CORE_ROUTERS
variables:
bgp_router_id: "10.10.10.1"
# Device with specific configuration override
- name: router-1
host: 10.10.10.1
device_groups: [EDGE_ROUTERS]
configuration:
hostname: EDGE-ROUTER-03
interfaces:
ethernets:
- type: GigabitEthernet
id: 0/0/0/0
description: "LAN Interface"
shutdown: false
mtu: 9000
load_interval: 90
bandwidth: 1000000
ipv4:
address: 192.168.100.1
mask: 255.255.255.0
ipv6:
enable: true
addresses:
- address: "2001:db8:100::1"
length: 64
zone: "0"
# Device temporarily excluded from management
- name: router-1
host: 10.10.10.1
managed: false # Skip during maintenance