Building a Cisco CSR 1000v Vagrant Libvirt Box¶
Cisco CSR 1000v is supported by the netlab libvirt package command. To build a CSR 1000v box:
Create an empty directory on a Ubuntu machine with libvirt and Vagrant.
Download a CSR disk image (.qcow2 file) with -serial in the file name (example:
csr1000v-universalk9.17.03.04a-serial.qcow2) into that directory
Execute netlab libvirt package csr virtual-disk-file-name and follow the instructions
You MUST have a CSR disk image that expects to be configured through the serial interface for this procedure to work. If all you have is an image that expects a graphics card, the original recipe on codingpackets.com might still work for you.
The netlab libvirt package csr command has been tested on Ubuntu 20.04 LTS and 22.04 LTS and might not work on other Linux distros.
On Ubuntu 22.04 LTS,
libvirt-qemuuser needs read and execute access to the VM disk file. It’s easiest if you create Vagrant boxes in a subdirectory of the
Initial Device Configuration¶
During the box-building process (inspired by this solution) you’ll have to copy-paste initial device configuration. netlab libvirt config csr command displays the build recipe (based on the recipe published by Brad Searle):
Creating initial configuration for Cisco CSR 1000v ================================================== * Answer 'no' to the 'Would you like to enter the initial configuration dialog' prompt * Answer 'yes' to the 'Would you like to terminate autoinstall' prompt * Press ENTER to start a CLI session * Go into enable mode, enter configuration mode * Copy-paste the following configuration ============================================= hostname csr no ip domain lookup ip domain name lab.local ! no service config ! crypto key generate rsa modulus 2048 ip ssh version 2 ! aaa new-model ! aaa authentication login default local aaa authorization exec default local ! username vagrant privilege 15 secret vagrant ! ip ssh pubkey-chain username vagrant key-hash ssh-rsa DD3BB82E850406E9ABFFA80AC0046ED6 ! vrf definition MGMT description Management interface ! address-family ipv4 exit-address-family ! interface GigabitEthernet1 vrf forwarding MGMT description vagrant-management ip address dhcp client-id GigabitEthernet1 no shutdown ! line vty 0 4 transport input ssh ! end ============================================= * Save the configuration with 'wr mem' * Disconnect from console (ctrl-] usually works).
Notes on Using CSR Box¶
If you’re experiencing high CPU utilization with Cisco CSR, set halt_poll_ns to zero.