COT.platforms.cisco_csr1000v module

Platform logic for the Cisco CSR1000V virtual router.

class CSR1000V[source]

Bases: COT.platforms.platform.Platform

Platform-specific logic for Cisco CSR1000V platform.

controller_type_for_device(device_type)[source]

CSR1000V uses SCSI for hard disks and IDE for CD-ROMs.

Parameters:device_type (str) -- 'harddisk' or 'cdrom'
Returns:str -- 'ide' for CD-ROM, 'scsi' for hard disk
guess_nic_name(nic_number)[source]

GigabitEthernet1, GigabitEthernet2, etc.

Warning

In all current CSR releases, NIC names start at "GigabitEthernet1". Some early versions started at "GigabitEthernet0" but we don't support that.

Parameters:nic_number (int) -- Nth NIC to name.
Returns:
  • "GigabitEthernet1"
  • "GigabitEthernet2"
  • etc.
validate_cpu_count(cpus)[source]

CSR1000V supports 1, 2, 4, or 8 CPUs.

Parameters:

cpus (int) -- Number of CPUs.

Raises:
  • ValueTooLowError -- if cpus is less than 1
  • ValueTooHighError -- if cpus is more than 8
  • ValueUnsupportedError -- if cpus is an unsupported value between 1 and 8
CONFIG_TEXT_FILE = 'iosxe_config.txt'
HARDWARE_LIMITS = {<Hardware.cpus: 1>: ValidRange(minimum=1, maximum=8), <Hardware.nic_count: 3>: ValidRange(minimum=3, maximum=26), <Hardware.serial_count: 4>: ValidRange(minimum=0, maximum=2), <Hardware.memory: 2>: ValidRange(minimum=2560, maximum=8192)}
LITERAL_CLI_STRING = 'ios-config'
PLATFORM_NAME = 'Cisco CSR1000V'
SUPPORTED_NIC_TYPES = ['E1000', 'virtio', 'VMXNET3']