Installing the Cisco CSR 1000V Using OpenStack in Citrix XenServer Environments
Installing the Cisco CSR 1000V within a Citrix XenServer environment, using OpenStack as an orchestration tool, requires several steps of preparation and configuration. The details of how to accomplish this may not be widely available. The material provided here describes the procedure. This material is informational only. The details are subject to change as the Citrix XenServer and OpenStack products develop.
Architecture of OpenStack on Citrix XenServer
The following table describes the system requirements (including software version) for installing the Cisco CSR 1000V on Citrix XenServer. For installation procedures, see Manually Creating the Cisco CSR 1000V VM for Citrix XenServer.
|Citrix XenServer Requirements||Cisco IOS XE 3.10S||Cisco IOS XE 3.11S, 3.12S||Cisco IOS XE 3.13S, 3.14S, 3.15S|
|Citrix XenServer version supported||6.0.2|| 6.0.2
| Supported vCPU configurations
Note: The required vCPU configuration depends on the throughput license and technology package installed. See the data sheet for your release for more information.
|4 vCPUs: requires 4 GB minimum RAM allocation||
|Virtual CPU cores required||1||1||1|
|Virtual hard disk size||8 GB minimum||8 GB minimum||8 GB minimum|
|Minimum number of vNICs required||3||3||3|
|Maximum number of vNICs supported per VM instance||7||7||7|
|Virtual CD/DVD drive installed||Required||Required||Required|
Citrix XenServer Support
VM Package Format
In the current release, Citrix XenServer does not support deploying the OVA format of the Cisco CSR 1000V package. To install the CSR 1000V, create (manually) a VHD package from the .iso file provided by Cisco.
Cisco CSR 1000V Support for Citrix XenServer Features
The following table describes Cisco CSR 1000V support for XenServer features.
|Virtual network interface (VIF) virtual network interface card (vNIC)||Yes||—|
|Virtual machine power-cycle||Yes||—|
|Interface add and delete||Yes||This operation requires the Cisco CSR 1000V to be restarted to take effect.|
|Virtual machine cloning||Yes||Only cold cloning is supported, meaning the VM must be powered down when the cloning occurs.|
|Snapshots: Taking, restoring and deleting||Yes||Using Citrix XenServer, you can take a snapshot of the current state of the VM. Snapshots are supported when the Cisco CSR 1000V VM is either powered up or powered down.|
|Performance monitoring (CPU, network and disk)||Yes||—|
|XenMotion||No||Not supported on the Cisco CSR 1000V because this feature requires XenTools.|
For more information, see System Requirements. For more information, see also the Citrix XenServer documentation.
Install Citrix XenServer.
See Citrix XenServer documentation.
Operating XenServer initially creates a domain zero (Dom0). Xen management infrastructure operates from Dom0. Additional domains may be added to host guest virtual machines.
Install OpenStack over the Citrix XenServer hypervisor.
Installing OpenStack creates a second domain, containing the OpenStack management infrastructure. OpenStack interacts closely with the Xen management and with guest virtual machines, each operating in a separate domain created by Xen.
Produce an image (a VHD file) for the Cisco CSR 1000V that can operate with OpenStack.
See Manually Creating the Cisco CSR 1000V VM for Citrix XenServer, which includes:
- Retrieving the VHD File (creates a copy of the VHD file to use in the steps that follow)
Copy the VHD file created in the previous step to the OpenStack virtual machine.
(The file will be used in the booting procedure described in Booting the Cisco CSR 1000V VM on Citrix XenServer Using OpenStack .)
Boot the Cisco CSR 1000V.
Installing OpenStack in Citrix XenServer
|Note: This material is informational only. Details are subject to change as the Citrix XenServer and OpenStack products develop.|
Citrix XenServer must be installed. For detailed instructions on installing XenServer, see the XenServer documentation.
- Increase the size of the root directory partition of domain 0 from the default size of 4 GB to meet your system’s requirements. (Example: 36 GB)
- Disable the GUID Partition Tables (GTP) by setting the “GTP_Support” value to False.
- During initial setup, select the thin provisioning setting. This is required so that the file system is ext3, which is required when taking VHD snapshots from your VMs.
This procedure creates an OpenStack VM in the Citrix XenServer environment using DevStack.
Verify that the prerequisites described above have been met, and that XenServer is operating before installing OpenStack.
To enable the Neutron network, modify the localrc file in the devstack directory to the following settings:
- disable_service n-net
- enable_service q-svc
- enable_service q-agt
- enable_service q-13
- enable_service q-dhcp
- enable_service neutron
- enable_service q-fwaas
- Q PLUGIN=openvswitch
Run the install_os_domU.sh shell script to install OpenStack.
If any of the commands in the script produce an error, see Installation Troubleshooting.
Verify that the OpenStack VM installation is complete. To do this, view the OpenStackOSDomU console from Citrix XenCenter and verify that:
- The OpenStackOSDomU VM is running
- The OpenStack components are running. Open the OpenStack dashboard. It will open only if the OpenStack components are running correctly.
After the OpenStack VM has been created, increase the disk size from the default of 4 GB to accommodate the Cisco CSR 1000V VHD file, which requires 800 MB if disk space.
For instructions, see: http://www.simonhiggs.com/articles/xenserver-6.2-extending-disk-on-a-linux-vm.html
If an error is displayed in the console when running the install_os_domU.sh shell script to install OpenStack, refer to the following troubleshooting tips to attempt to resolve the problem. After applying the recommended resolution, re-run the script.
Error: Function cannot be found
Function cannot be found
Add this line to localrc file in your devstack diretory:
Error: Unable to autolaunch a dbus-daemon
ds.exceptions.DBusException: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
In the ~.local/share/python_keyring/keyringrc.cfg directory, execute the following steps:
Create the python_keyring directory:
mkdir -p ~/.local/share/python_keyring/
Create the keyringgrc.cfg file. It will then be displayed in vi.
In the keyringgrc.cfg file, add the following lines and save the file.
Error: cannot create a port named eth1
+ sudo ovs-vsctl add-port br-eth1 eth1 ovs-vsctl: cannot create a port named eth1 because a port named eth1 already exists on bridge br-eth1
In the openvswitch_agent file, add a line as follows:
Open the file:
Using vi, locate the sudo ovs-vsctl add-port br-eth1 eth1 line and add the following:
Error: “SIOCADDRT: File exists”
+ sudo route add -net 10.0.0.0/24 gw 172.24.4.2 SIOCADDRT: File exists
Add an IP route, as follows:
sudo ip route delete 10.0.0.0/24 dev eth2
Manually Creating the Cisco CSR 1000V VM for Citrix XenServer
This procedure provides general instructions for manually creating the VM package of the Cisco CSR 1000V to install on Citrix XenServer, using the .iso file provided by Cisco.
The procedure includes:
The exact steps required may vary, depending on the characteristics of the Citrix XenServer environment and setup. For more information, see the documentation for Citrix XenServer.
See System Requirements for the system (including software version) requirements for installing the Cisco CSR 1000V on a Citrix XenServer VM.
|Note: The Cisco CSR 1000V does not support deploying the OVA file in KVM environments.|
Getting the Cisco CSR1000V VM Running
Perform the following steps using the Citrix XenCenter console to get the CSR1000V VM up and running.
Download the .iso file from the Cisco CSR 1000V software installation image package and copy it onto a local or network device.
In the Citrix XenCenter console, to create a new VM, select the server, and click New VM.
- The Select a VM template screen is displayed.
Click Template. Scroll through the templates and select Other Install Media. Click Next.
In the Name field, enter the name of the VM.
When prompted for the installation media, choose from one of the following:
- Install from the ISO library or DVD drive
- Boot from network
Select the server where the VM will be placed.
Select the checkbox for Place the VM on the server. Click Next.
Enter the number of vCPUs and specify the memory settings.
See System Requirements for the supported number of vCPUs and memory requirements for your release.
Add the virtual disks by configuring the following fields:
- Enter the description (optional).
- Select the virtual disk size from the drop-down menu. See System Requirements for the required disk size for your release.
- Enter the location of the virtual disk.
Click Add and then click Next.
On the Networking screen, select the networks that will connect to the Cisco CSR 1000V through the vNICs.
See System Requirements for the supported number of vNICs for your release.
- a. Select a network and click Add Network.
- b. Select External and click Next.
- c. Type in the network name. Click Next.
- d. Select the NIC to use, the VLAN, and set the MTU value.
|Note: (for Cisco IOS XE 3.10S release and earlier) The network added to NIC0 maps to the Gigabit Ethernet 0 management interface on the Cisco CSR 1000V.|
The new network is added. Repeat the procedure in the previous step for each vNIC.
For more information about booting the VM, see the documentation for Citrix XenServer. When the VM is booted, the Cisco CSR 1000V begins the first-time boot process.
Retrieving the VHD File
Perform the following steps using the Citrix XenCenter console to retrieve the VHD file.
Boot the Cisco CSR 1000V VM from Citrix XenCenter using the “Other Media” template.
After the Cisco CSR 1000V VM boots up successfully in Citrix XenCenter, note the name of the CSR that you assigned.
Shut down the Cisco CSR 1000V VM.
Log into Citrix XenServer.
Find the name of the .vhd file using the following command:
xe vbd-list vm-name-label=$VMNAME params=vdi-uuid --minimal
Find the location of the Cisco CSR 1000V storage using the following command:
mount |grep sr-mount
The .vhd file obtained in the previous step is shown in the storage location.
Copy the .vhd file to the OpenStackOSDomU VM where OpenStack is running.
Booting the Cisco CSR 1000V VM on Citrix XenServer Using OpenStack
Perform the following steps to boot the Cisco CSR 1000V onto an OpenStack VM from Citrix XenCenter. The VHD file is used to create the Cisco CSR 1000V instance on the OpenStack VM. See Procedure Overview for information on creating the VHD file used in this procedure.
Log into OpenStackOSDomU and change the .vhd file name to image.vhd.
Use the following command to archive the .vhd file as a tar and zip file:
tar -cv image.vhd | gzip > image_vhd.tar.bz.
Use the glance command to create the OpenStack image:
glance image-create --name <image_name> --is-public True --disk-format vhd --container-format
ovf --property architecture=x86_64 --property vm_mode=hvm --progress --file <path_to_vhd>
Create the Nova flavor as follows:
<nova flavor-create <flavor_name> <flavor_id> <ram size MB> <disk size GB> <num_ vCPUs>
See System Requirements for the installation requirements. The disk size should be set to 0 for the Cisco CSR 1000V to boot.
Example: The following command example creates an OpenStack instance with 4096 MB RAM, a disk size of 0 and two (2) vCPUs configured:
nova flavor-create csr_flavor 6 4096 0 2
Verify that the CSR VHD image is displayed in OpenStack.
The newly created CSR image appears in the OpenStack dashboard GUI.
When the Cisco CSR 1000V VHD image is available, you can use it to create the VM in OpenStack.
There are two options:
- a. (GUI) Use the OpenStack dashboard GUI to create a new CSR VM.
- b. (CLI) Using the nova boot command, create the instance and boot:
nova boot <instance_name> --image <image_id> --flavor <flavor_id> --nic net-id=<uuid>
- The --config-drive option can be used to specify that the configuration is loaded on the Cisco CSR 1000V when it comes up. Set the --config-drive option to “true” and specify the configuration file name. The configuration file can either use the ovf-env.xml file using the OVF format, or the iosxe_config.txt file in which you enter the router configuration to be booted.
The Cisco CSR 1000V begins the boot process.
Working with XenServer and OpenStack
The following online resources provide additional information about working with OpenStack and Citrix XenServer: