- Installing Cisco VTS in a Linux - OpenStack Environment
- Installing Cisco VTS on a VMware Environment
Installing Cisco
VTS
The following sections provide details about installing VTS on a Linux-OpenStack environment or a VMware-based environment. Ensure that you review the Prerequisites chapter, before you begin installing VTS.
- Installing Cisco VTS in a Linux - OpenStack Environment
- Installing Cisco VTS on a VMware Environment
- Installing the Virtual Topology Forwarder
- Verifying VTS Installation
Installing Cisco VTS in a Linux - OpenStack Environment
Installing Cisco VTS in an OpenStack environment involves:
-
Installing the VTC VM. See Installing the VTC VM for details.
-
Installing the Host Agent and the Open Stack Neutron Plugin
See Installing OpenStack Host Agent and Installing OpenStack Plugin
Installing the VTC VM
You can install the VTC VM using either the automatic or manual configuration option.
To install the VTC VM using an ISO file (Auto Configuration), see Installing VTC VM - Automatic Configuration Using ISO File
To install VTC VM using the virt-manager application (Manual Configuration), see Installing VTC VM - Manual Configuration Using virt-manager Application
To install VTC VM using VNC (Manual Configuration), see Installing VTC VM - Manual Configuration using VNC
Installing VTC VM - Automatic Configuration Using ISO File
To enable configuration using ISO file, the administrator needs to create a text file with the VM settings, wrap it into an ISO file, and then attach the ISO to the VM's CD drive.
| Step 1 | Connect to the controller node via SSH, and copy the vtc.qcow2 file to /var/lib/libvirt/images/ folder. | ||
| Step 2 | Copy the vtc.sample.xml file to your controller. A sample XML file is available at Sample XML File—VTC Installation. | ||
| Step 3 | Create a file
called config.txt. The contents of the file is given in the below example:
Hostname=vtc
ManagementIPv4Method=Static
ManagementIPv4Address=1.1.1.2
ManagementIPv4Netmask=255.255.255.0
ManagementIPv4Gateway=1.1.1.1
UnderlayIPv4Method=Static
UnderlayIPv4Address=2.2.2.2
UnderlayIPv4Netmask=255.255.255.0
DNSv4=3.3.3.3
Domain=cisco.com
NTPv4=1.1.1.1
vts-adminPassword=cisco123
AdministrativeUser=admin
AdministrativePassword=cisco123
In this file:
| ||
| Step 4 | Use mkisofs to
create an ISO file. For example:
mkisofs -o config.iso config.txt | ||
| Step 5 | Create the VTC
VM using following command:
virsh create vtc.sample.xml |
Installing VTC VM - Manual Configuration Using virt-manager Application
To install the VTC VM, configuring the VM, manually, using the virt-manager application:
Installing VTC VM - Manual Configuration using VNC
If the server where VTC is to be installed resides on a remote location with network latency or low bandwidth, you may want to opt for the use of VNC in order to gain graphical console access to the VTC VM, and manually configure the VM. To do this:
| Step 1 | Connect to the controller node via SSH, and copy the vtc.qcow2 file to /var/lib/libvirt/images/ folder. | ||
| Step 2 | Copy the vtc.sample.xml file to your controller. Modify it as per your setup. A sample XML file is available at Sample XML File—VTC Installation. | ||
| Step 3 | Replace the
following sections of the vtc.sample.xml file:
<graphics type='spice' port='5900' autoport='yes' listen='127.0.0.1'>
<listen type='address' address='127.0.0.1'/>
</graphics>
with the following: <graphics type='vnc' port='5900' autoport='yes' listen='0.0.0.0'>
<listen type='address' address='0.0.0.0'/>
</graphics>
| ||
| Step 4 | Create the VTC
VM using following command:
virsh create vtc.sample.xml You should now be able to use a VNC client to connect to the graphics console of the VTC VM to continue with the setup process. | ||
| Step 5 | Enter the
following:
VTC VM reboots at this time. Wait for two minutes for the VTC VM to be up. You can ping the IP address given for VTC VM in the setup process to verify whether the VTC VM is up. | ||
| Step 6 | SSH into VTC VM using the IP address, administrative username/password given in the setup process (not vts-admin user). |
Installing OpenStack Plugin
The OpenStack plugin gets installed when you register the OpenStack VMM using the Cisco VTS GUI.
If you opt for the guided set up using the Setup wizard, VMM registration is done as part of the wizard flow. See the Using the Setup Wizard section in the Getting Started with Cisco Virtual Topology System chapter in the Cisco VTS User Guide for details.
If you are not using the Setup wizard, you can register the VMM using the Administration > Virtual Machine Manager UI.
![]() Note | If you install an unsupported OpenStack plugin version, you might encounter errors after installation. We recommend that you review the Supported Virtual Machine Managers section before you install the OpenStack plugin. |
| Step 1 | Go to Administration > Virtual Machine Manager. | ||
| Step 2 | Click the Add
(+) button.
The Add Virtual Machine Manager popup is displayed. | ||
| Step 3 | Enter the
following details:
| ||
| Step 4 | Click Add
The VMM you added is listed in the Virtual Machine Manager screen. You can check the status of VMM registration in the Status column.To delete a VMM, select the VMM and click X (delete). |
Installing OpenStack Host Agent
You can use the Install Capabilities button in the Host Inventory page to install the OpenStack Host Agent.
| Step 1 | Go to Inventory > Host Inventory. The Inventory / Host Inventory window appears |
| Step 2 | Click +
to add a host. You may also edit a host and modify the
parameters to enable installation of physical or virtual capabilities.
Ensure that you review the tooltips for important information about the entries. Click on the info icon adjacent to the Host Name. Host Summary table popup appears. If Virtual Capability is virtual-switch, both Additional Host Details and VTF Details can be viewed in the Host Summary table. If Virtual Capability is no-virtual-switch, only Additional Host Details can be viewed in the Host Summary table. |
| Step 3 | Click Install Capabilities. Based on the host type, it
installs the host agent / VTF on the host.
See the Status column for the installation status. The VMM type is also shown once the capabilities get installed. |
Installing Cisco VTS on a VMware Environment
- Installing VTC VM on ESXi
- Installing vCenter VTC Plugin
- Important Notes Regarding VMware vSphere Distributed Switch (VDS)
Installing VTC VM on ESXi
To install VTC VM on an ESXi host:
| Step 1 | Connect to the ESXi host using the VMWare vSphere Client. | ||
| Step 2 | In the vSphere Client, select File > Deploy OVF Template. The Deploy OVF Template wizard appears. | ||
| Step 3 | Specify the name
and source location, and click Next.
| ||
| Step 4 | Select the appropriate host to spawn the VTC VM. | ||
| Step 5 | For VM disk format, use the default disk format settings (that is Thick Provision Lazy Zeroed). | ||
| Step 6 | Map VTC network connectivity to appropriate port-groups on vSwitch/DVS. | ||
| Step 7 | Enter the
following properties:
|
Installing vCenter VTC Plugin
The vCenter plugin gets installed when you register the vCenter VMM using the Cisco VTS GUI.
If you opt for the guided set up using the Setup wizard, VMM registration is done as part of the wizard flow. See the Using the Setup Wizard section in the Getting Started with Cisco Virtual Topology System chapter in the Cisco VTS User Guide for details.
If you are not using the Setup wizard, you may register the VMM using the Administration > Virtual Machine Manager UI.| Step 1 | Go to Administration > Virtual Machine Manager. |
| Step 2 | Click the Add
(+) button.
The Add Virtual Machine Manager popup is displayed. |
| Step 3 | Enter the
following details:
|
| Step 4 | Click Add
The VMM you added is listed in the Virtual Machine Manager screen. You can check the status of VMM registration in the Status column.To delete a VMM, select the VMM and click X (delete). |
Important Notes Regarding VMware vSphere Distributed Switch (VDS)
The following points need to be taken care of while you create a VDS.
![]() Note |
|
For Non-VPC Specific Configuration
For VPC Specific Configuration
If you are using VPC on the leaves:
| Step 1 | Create one VDS switch for one or more VPC pairs. |
| Step 2 | Enable
enhanced LACP.
See VMware documentation for the detailed procedure. |
| Step 3 | Create a Link
Aggregation Group for each VDS.
See VMware documentation for the detailed procedure. |
| Step 4 | You may remove the default port group that gets created as it will not be used . |
Installing the Virtual Topology Forwarder
You can install VTF using the Cisco VTS GUI. See Installing VTF on VMWare and Installing VTF on OpenStack for details.
![]() Note | If your VMM version is OpenStack Liberty on CentOS, and VTF installation mode is vtf-vhost, you need to manually install VTF. |
We recommend that you register the VMM via the VTS GUI, before you install VTF to ensure there are no errors later.
Before you install VTF, you must install the IOS XRv VM and register it to VTS. IOS XRv VM is the control plane VM.
Creating an IOS XRv VM
The IOS XRv VM in an essential part of the Virtual VTEP topology. The IOS XRv VM contains a nested VM so IOS XRv must enable nesting capabilities.
Setting up Nested VM in RedHat
This has been verified with RedHat 7.1 OSP.
| Step 1 | Run cat /sys/module/kvm_intel/parameters/nested. |
| Step 2 | If the output
is N, enable nested KVM feature after shutting down all active VMs.
echo "options kvm-intel nested=1" | sudo tee /etc/modprobe.d/kvm-intel.conf
rmmod kvm_intel
modprobe kvm_intel
|
| Step 3 | Run cat /sys/module/kvm_intel/parameters/nested and verify that it gives Y. |
Bringing up the KVM-based IOS XRv VM
| Step 1 | Create IOS XRv VM XML referring the sample XML (XRNC.XML). |
| Step 2 | Generate an ISO file for the IOS XRv. See Creating an ISO for IOS XRv. |
| Step 3 | Create the
VM using the XML.
virsh create XRNC.xml |
Deploying the vCenter-based IOS XRv VM
| Step 1 | Generate an ISO file for the IOS XRv VM. See Creating an ISO for IOS XRv. |
| Step 2 | In the vSphere Client, select File > Deploy OVF Template. The Deploy OVF Template wizard appears. |
| Step 3 | Select XRNC.ova from the source location, and click Next.The OVF template details are displayed. |
| Step 4 | Click
Next to specify the destination. Enter the following
details:
|
| Step 5 | Click Next to select the storage location to store the files for the template. The default values for virtual disk format and VM Storage Policy need not be changed. |
| Step 6 | Click Next to set up the networks. Specify the first network as the Underlay Network and the second network as the Management Network. |
| Step 7 | Click Next. Review the settings selections. |
| Step 8 | Click Finish to start the deployment. |
| Step 9 | After the deployment is complete, edit the VM settings. Add a CD/DVD Drive selecting Datastore ISO file and point to the XRNC.iso file which was generated and uploaded to the host. |
| Step 10 | Power on the VM. |
Running the Setup Script
You must run the setup script on the IOS XRv to complete the configuration.
cisco@XRVR-DL1:~$ sudo /opt/cisco/package/sr/bin/setupXRNC_HA.sh 0.0.0.0
cisco@XRVR-DL1:~$ sudo /opt/cisco/package/sr/bin/setupXRNC_HA.sh 11.1.1.17 |
Creating an ISO for IOS XRv
To create an ISO file for IOS XRv:
| Step 1 | Create the
system.cfg file based on the below sample.
# This is a sample XR Network Controller configuration file # Copyright (c) 2015 cisco Systems # Please protect the generated ISO, as it contains authentication data # in plain text. # VTS Registration Information # VTS_REGISTRATION_PASSWORD is in plaintext. VTS_ADDRESS=10.85.88.152 VTS_REGISTRATION_USERNAME=admin VTS_REGISTRATION_PASSWORD="Cisco123!" # XR Network Controller VM Network Configuration HOSTNAME="xrnc" # NTP Server for the VTC NTP_SERVER="192.168.10.1" # DNS Nameserver IP address NETWORK_NAMESERVER_IP="192.168.10.1" # NETWORK_CONFIG_METHOD can be either "dhcp" or "static" # With DHCP, no other network configuration is needed # With Static, NETWORK_IP_ADDRESS, NETWORK_IP_NETMASK, and NETWORK_IP_GATEWAY # are required to complete the setup. Netmask can be in the form of # "24" or "255.255.255.0" # The first network interface configured with the VTC VM will be used for # underlay connectivity; the second will be used for the management network. # For both the MGMT and UNDERLAY networks, a <net-name>_NETWORK_IP_GATEWAY # variable is mandatory; they are used for monitoring purposes. MGMT_NETWORK_CONFIG_METHOD="dhcp" MGMT_NETWORK_IP_GATEWAY="10.10.10.1" #MGMT_NETWORK_CONFIG_METHOD="static" #MGMT_NETWORK_IP_ADDRESS="10.10.10.100" #MGMT_NETWORK_IP_NETMASK="255.255.255.0" #MGMT_NETWORK_IP_GATEWAY="10.10.10.1" UNDERLAY_NETWORK_CONFIG_METHOD="dhcp" UNDERLAY_NETWORK_IP_GATEWAY="169.254.10.1" #UNDERLAY_NETWORK_CONFIG_METHOD="static" #UNDERLAY_NETWORK_IP_ADDRESS="169.254.10.100" #UNDERLAY_NETWORK_IP_NETMASK="255.255.255.0" #UNDERLAY_NETWORK_IP_GATEWAY="169.254.10.1" # AUX network is optional; the only mandatory argument is the # AUX_NETWORK_CONFIG_METHOD var, which should be set to 'none' if not used, # or 'static' otherwise. # All other parameters are required only when AUX_CONFIG_METHOD is 'static'. AUX_NETWORK_CONFIG_METHOD="none" #AUX_NETWORK_CONFIG_METHOD="static" #AUX_NETWORK_IP_ADDRESS="169.254.20.100" #AUX_NETWORK_IP_NETMASK="255.255.255.0" #AUX_NETWORK_IP_GATEWAY="169.254.20.1" #VRF Name for Mangement interface is optional #XRVR_MGMT_NETWORK_VRF_NAME="VTS-MGMT" # VTF mode (vhost/vm) ALL_VTFS_MODE="vhost" # XR Network Controller VM Admin user/password hash USERNAME='cisco' # Generate with: echo -n '<username>:<password>' | chpasswd -S -c SHA512 | cut -d':' -f2 # cisco/cisco123 PASSWORD_HASH='$6$Y8I6N/96t$rHvlNHILioFBa5ILXlaOdYNRbPjyoEyxjbp3uzC2z07msP1WwoAchQYCKYbZTMVzp9kFiR26blnQzd8gzxfcj0' # XRVR Specific Settings # XRVR_USERNAME and USERNAME must NOT be the same # XRVR_PASSWORD is in plain text, not a hash XRVR_USERNAME=xrvr_admin XRVR_PASSWORD=cisco123 XRVR_STATIC_MGMT_IP="192.168.10.250/24" XRVR_STATIC_UNDERLAY_IP="169.254.10.101/24" # XRVR_STATIC_AUX_IP must be specified when AUX_NETWORK_CONFIG_METHOD # is not 'none' and must be different from AUX_NETWORK_IP_ADDRESS #XRVR_STATIC_AUX_IP="169.254.20.101/24" XRVR_NAME="xrvr01" # XRVR_BGP_COMMUNITY= <ASN>:<vts domain id> # ASN = BGP local AS number on XRVR # vts domain-id = 16 bit value. # This community will be used on XRVR in evpn routes announced to BGP peers # or RR. This value can be the same as domain id configured for the VTS. User # needs to ensure <ASN>:<vts domain-id>" community is not in use for something # else in user network. XRVR_BGP_COMMUNITY="200:4001"
| ||||
| Step 2 | Copy your
system.cfg files for IOS XRv at the same path where the script resides. For
example:
admin:/opt/cisco/package/vts/bin$ ls -l total 1432 -rwxr-xr-x 1 vts-admin vts-admin 4767 Sep 29 16:40 build_vts_config_iso.sh -rw-r--r-- 1 root root 1242 Sep 29 23:54 system.cfg | ||||
| Step 3 | Create the
ISO file as shown below (you need to log in as root).
root:/opt/cisco/package/vts/bin# ./build_vts_config_iso.sh xrnc system.cfg Validating input. Generating ISO File. Done!
| ||||
| Step 4 | Spawn the IOS XRv VM with ISO connected to it. | ||||
| Step 5 | Power on the VM.
In case, at a later point in time, you spawn a new IOS XRv VM, it will come up with IOS XRv Day Zero configuration and get reregistered with the VTC. You must use the sync-to option available in the Config Sync feature, to get the configuration synchronized with the latest configuration on VTC. See the Synchronizing Configuration section in the Cisco VTS User Guide for more information on this feature. |
Enabling XRNC Third Interface Support
This release provides support for optional third AUX interface for XRNC, as configured in Day 0 configuration. The third AUX network is enabled by setting the Day 0 parameter AUX_NETWORK_CONFIG_METHOD to static. It is disabled by setting this same variable to none. The dhcp method is not supported for the AUX network.
AUX_NETWORK_IP_ADDRESS="169.254.20.100" AUX_NETWORK_IP_NETMASK="255.255.255.0" AUX_NETWORK_IP_GATEWAY="169.254.20.1" XRVR_STATIC_AUX_IP="169.254.30.10/24
If the AUX network is defined in Day 0 configuration, the parameters noted above are used to configure the bridge for access to this network from XRNC. On initial startup, a br-aux bridge is created to which the XRVR nested VM will attach its 4th interface (the other three being attached to br-priv, br-mgmt, and br-underlay).
When starting XRVR, the system checks if XRVR_STATIC_AUX_IP is defined, and instantiates the XRVR startup configuration with the 4th interface configured accordingly. Otherwise the last interface is configured to be shut down.
The <>_NETWORK_IP_GATEWAY mandatory variables is added for UNDERLAY and AUX (when enabled) for use in monitoring the networks in HA context.
Installing VTF on VMWare
You can use the Install Capabilities button in the Host Inventory page to install VTF.
| Step 1 | Go to Inventory > Host Inventory. The Inventory / Host Inventory window appears |
| Step 2 | Click +
to add a host. You may also edit a host and modify the
parameters to enable installation of physical or virtual capabilities.
Ensure that you review the tooltips for important information about the entries. |
| Step 3 | Verify the IOS XRv devices are in sync with the VTC. If not, use the sync-from operation via VTS-GUI to synchronize the VTS configuration by pulling configuration from the device. See Synchronizing Configuration section in the Cisco VTS User Guide for more information on this feature. |
| Step 4 | Click Install
Capabilities. It installs VTF on the host.
See the Status column for the installation status. The VMM type is also shown once the capabilities get installed. |
Installing VTF on OpenStack
You can use the Install Capabilities button in the Host Inventory page to install VTF.
![]() Note | If the VMM version is openstack-liberty-centos and the mode for VTF deployment is vtf-vhost, VTF installation has to be done manually. |
| Step 1 | Go to Inventory > Host Inventory. The Inventory / Host Inventory window appears |
| Step 2 | Click +
to add a host. You may also edit a host and modify the
parameters to enable installation of physical or virtual capabilities.
Ensure that you review the tooltips for important information about the entries. |
| Step 3 | Verify the IOS XRv devices are in sync with the VTC. If not, use the sync-from operation via VTS-GUI to synchronize the VTS configuration by pulling configuration from the device. See Synchronizing Configuration section in the Cisco VTS User Guide for more information on this feature. |
| Step 4 | Click Install Capabilities. It installs the VTF on the
host.
See the Status column for the installation status. The VMM type is also shown once the capabilities get installed. |
Installing VTF in vhost Mode
The vhost deployment mode for VTF is a high performance deployment option, where VTF works as a host process.
![]() Note | This deployment mode is supported on a Red Hat 7.2 environment only. See the System Requirements for VTF section of this document, for more details. |
When you register the VMM using the VTS GUI, if you choose OpenStack Liberty-RHEL as the VMM version, you have the option to deploy VTF as a vhost (in addition to the VM oprtion). After you save and exit the VMM Registration screen, and install VTF using the Install Capabilities button in the Host Inventory screen, you will be asked to manually install VTS if the selected deployment mode during VMM regsitration is vtf-vhost.
The following sections provide details about installing VTF in vhost mode.
Prerequisites
Before you manually install VTF, make sure the following prerequisites are met:
| Step 1 | Install
OpenStack Liberty with cisco-controller plugin.
/var/vts/images/vtf/vhost python-cisco-controller-0.0.1-5.el7_osp8.cisco.noarch.rpm Install RPM: # rpm -ivh python-cisco-controller-0.0.1-5.el7_osp8.cisco.noarch.rpm | ||
| Step 2 | Configure
plugin.ini file.
# vi /etc/neutron/plugin.ini
mechanism_drivers = cisco_vts
[ml2_cc]
url = https://<VTC IP address>:8888/api/running/openstack
username = admin
password = Cisco123!
timeout = 360
# vi /etc/neutron/neutron.conf
service_plugins=router
# service neutron-server restart
| ||
| Step 3 | Configure
libvirtd.conf file (On Compute node only).
# vi /etc/libvirt/libvirtd.conf
keepalive_interval = 5
keepalive_count = 100
| ||
| Step 4 | Modify the
XRNC Day Zero configuration file to enable vhost mode. To do this, add the
following lines to enable vhost mode inn the of XRNC system.cfg file and
generate Day Zero ISO file.
# VTF mode (vhost/vm)
ALL_VTFS_MODE="vhost"
| ||
| Step 5 | Configure
OpenStack flavor to support vhost-user mode. numa_nodes and mem_page_size
should be changed as follows:
# nova flavor-key m1.medium set hw:numa_nodes=2
# nova flavor-key m1.medium set hw:mem_page_size=large
| ||
| Step 6 | Configure
OpenStack libvirt permission to support vhost-user mode. (Only on Compute node)
# vi /etc/libvirt/qemu.conf
security_driver = "none"
| ||
| Step 7 | Restart libvirtd and openstack-nova-compute service. | ||
| Step 8 | Run yum update. |
Installing VTF
| Step 1 | Generate the
cfg.iso file after the system.cfg file is modified as per your system
configuration
# genisoimage -R -hide-rr-moved -o cfg.iso system.cfg | ||
| Step 2 | Run the
following command to install VTF:
# python vtf_pkg_handler.py install cfg.iso vtf_redhat.iso cfg.iso is the Day zero configuration file created using system.cfg.
# python vtf_pkg_handler.py uninstall To check VTF status, run: # service vpfa status |
Verifying VTS Installation
Verifying VTC VM Installation
To verify VTC VM installation:
| Step 1 | Log in to the VTC VM just created using the VTC VM console. | ||
| Step 2 | Ping the
management gateway.
In case ping fails, verify the VM networking to the management network. | ||
| Step 3 | For the VTC VM
CLI, ping the underlay gateway.
Incase the ping fails, verify VM networking to the underlay network.
| ||
| Step 4 | After a few minutes, verify whether the VTS UI is reachable, by typing in the VTS management IP in the browser. |
Verifying IOS XRv VM Installation
To verify ISO XRv VM installation:
| Step 1 | Log in to the
IOS XRv VM using the VTC VM console.
| ||
| Step 2 | Ping the
underlay gateway IP address.
In case ping fails, verify underlay networking. | ||
| Step 3 | Ping the VTC VM.
In case ping fails, verify underlay networking.
| ||
| Step 4 | Run virsh list to make sure the nested VM is running. | ||
| Step 5 | Verify whether
the nested IOS XRv is booting up. To do this, run:
telnet 0 5087 If the o/p command fails, verify whether nested virtualization on the host where IOSXRv is booted is turned on. Also, verify whether another telnet session is not using up this session. | ||
| Step 6 | Verify whether the Virtual Forwarding Group (VFG) group is created on VTS GUI, and IOSXRv is part of the VFG group. | ||
| Step 7 | On the XRv
shell, run the setup command.
sudo /opt/cisco/package/sr/bin/setupXRNC_HA.sh 0.0.0.0 0.0.0.0 should be replaced by the underlay IP address of the second IOSXRv in case of HA installation. |
Verifying VTF Installation
To verify VTF installation:
| Step 1 | Log in to the
VTF VM / vhost.
|
| Step 2 | Ping the
underlay gateway IP address.
In case ping fails, verify underlay networking. |
| Step 3 | Ping the VTC VM
underlay IP address.
In case ping fails, verify underlay networking. |
| Step 4 | Ping the IOS XRv DL underlay IP address. This is because if the reachability between XRv-DL and VTF is broken no routes will be downloaded to VTF. |
| Step 5 | Verify whether
the VTF CLI is available . To do this, run:
sudo telnet 0 5002 If the o/p command fails, run the following command: sudo service vpfa restart |
| Step 6 | Verify whether the VTF is part of the VFG, on VTS GUI. |

Feedback