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
devicesListdevicesNo

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