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 IOS XRv
- 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
![]() Note | If you need to access the VTC VM's console using virt-manager, VNC, or SPICE, it may be necessary to manually switch to tty1 using the CTRL+ALT+F1 key combination. After connecting to the VM's console, if the output shows a blank screen, then you must manually switch to tty1. |
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
UnderlayIPv4Gateway=2.2.2.1
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 IOS XRv
The IOS XRv VM serves two purposes. It is required to enable VTS High Availability. It also acts as the control plane for the VTF. You need to install IOS XRv only if you consider enabling High Availability or if you plan to have a VTF in your set up.
Creating an IOS XRv VM
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. |
Installing IOS XRv in High Availability Mode
- Deploying IOS XRv VMs
- Enabling IOS XRv High Availability
- Verifying XRNC High Availability Setup
- Verifying IOS XRv High Availability
Deploying IOS XRv VMs
| Step 1 | See Creating an IOS XRv VMand Creating an ISO for IOS XRv | ||
| Step 2 | After IOS XRv is up and running, ssh to XRDL and make sure that
the routes are added, and VTC 1 and VTC 2 can reach IOS XRv 1 and IOS XRv 2,
and vise versa.
| ||
| Step 3 | Connect to IOS XRv from XRDL via "telnet 0 5087" or by using ssh
<IOS XRv Management IP address>
|
Enabling IOS XRv High Availability
Verifying XRNC High Availability Setup
root@DL-XRVR-2:/opt/cisco/package/sr/bin# crm status
Last updated: Tue Mar 15 05:05:51 2016
Last change: Tue Mar 15 13:01:49 2016 via crmd on DL-XRVR-2
Stack: corosync
Current DC: DL-XRVR-1 (168430083) - partition with quorum
Version: 1.1.10-42f2063
2 Nodes configured
3 Resources configured
Online: [ DL-XRVR-1 DL-XRVR-2 ]
dl_server (ocf::heartbeat:anything): Started DL-XRVR-1
Clone Set: cl_ping [p_ping]
Started: [ DL-XRVR-1 DL-XRVR-2 ]
root@DL-XRVR-2:/opt/cisco/package/sr/bin#
root@DL-XRVR-2:/opt/cisco/package/sr/bin#
root@DL-XRVR-2:/opt/cisco/package/sr/bin#
Verifying IOS XRv High Availability
You must verify the following on IOS XRv 1 and IOS XRv 2.
| Step 1 | Verify whether
the following configuration will pushed on IOS XRv 1:
route-policy BGP_HA_VTC1
if destination in (85.85.85.10) and community matches-every (6501:1001) then
delete community all
set next-hop 60.60.60.10
else
drop
endif
end-policy
!
route-policy BGP_HA_VTC2
if destination in (85.85.85.10) and community matches-every (6501:1002) then
delete community all
set next-hop 70.70.70.10
else
drop
endif
end-policy
!
route-policy BGP_HA_VTC-DENY
drop
end-policy
!
route-policy BGP_HA_VTC1-DATA
if destination in (45.45.45.10) and community matches-every (6501:2001) then
delete community all
set next-hop 10.10.10.7
else
drop
endif
end-policy
!
route-policy BGP_HA_VTC2-DATA
if destination in (45.45.45.10) and community matches-every (6501:2002) then
delete community all
set next-hop 31.31.31.7
else
drop
endif
end-policy
!
route-policy REDISTRIBUTE_TO_BGP_HA
if destination in (85.85.85.10) and tag is 1001 then
set community (6501:1001)
done
elseif destination in (85.85.85.10) and tag is 1002 then
set community (6501:1002)
done
else
drop
endif
end-policy
!
route-policy annrt_setcomm_xrvr_out
set community (6501:7000)
end-policy
!
route-policy recvrt_filter_comm_xrvr_in
if community matches-any (6501:7000) then
drop
else
pass
endif
end-policy
!
route-policy REDISTRIBUTE_TO_BGP_HA_VTC-DATA
if destination in (45.45.45.10) and tag is 2001 then
set community (6501:2001)
done
elseif destination in (45.45.45.10) and tag is 2002 then
set community (6501:2002)
done
else
drop
endif
end-policy
!
router static
maximum path ipv4 30000
address-family ipv4 unicast
0.0.0.0/0 60.60.60.1
45.45.45.10/32 Null0 tag 2001
!
vrf VTS-MGMT
address-family ipv4 unicast
0.0.0.0/0 60.60.60.1
85.85.85.10/32 Null0 tag 1001
!
!
!
router ospf 100
router-id 8.8.8.8
address-family ipv4 unicast
area 0.0.0.0
default-cost 10
interface Loopback0
!
interface GigabitEthernet0/0/0/0
!
!
!
router bgp 6501
bgp router-id 8.8.8.8
address-family ipv4 unicast
network 45.45.45.10/32 route-policy REDISTRIBUTE_TO_BGP_HA_VTC-DATA
!
address-family vpnv4 unicast
!
neighbor 2.2.2.2
remote-as 6501
timers 10 30
description ***Underlay Directly connected BGP Peer of Xrvr1
update-source Loopback0
address-family ipv4 unicast
route-policy BGP_HA_VTC-DENY in
route-reflector-client
route-policy BGP_HA_VTC1-DATA out
!
!
neighbor 6.6.6.6
remote-as 6501
timers 10 30
description ***Underlay Directly connected BGP Peer of Xrvr2
update-source Loopback0
address-family ipv4 unicast
route-policy BGP_HA_VTC-DENY in
route-reflector-client
route-policy BGP_HA_VTC2-DATA out
!
!
vrf VTS-MGMT
rd 60.60.60.3:1
bgp router-id 60.60.60.3
address-family ipv4 unicast
network 85.85.85.10/32 route-policy REDISTRIBUTE_TO_BGP_HA
!
neighbor 111.111.111.111
remote-as 6500
ebgp-multihop 255
timers 10 30
description ***Mgmt Directly connected BGP Peer of Xrvr1
update-source GigabitEthernet0/0/0/1
address-family ipv4 unicast
route-policy BGP_HA_VTC1 out
!
!
neighbor 111.111.111.113
remote-as 6500
ebgp-multihop 255
timers 10 30
description ***Mgmt Directly connected BGP Peer of Xrvr2
update-source GigabitEthernet0/0/0/1
address-family ipv4 unicast
route-policy BGP_HA_VTC2 out
!
!
!
RP/0/0/CPU0:XRVR-1#sh bgp sessions
Tue Apr 26 04:16:25.251 UTC
Neighbor VRF Spk AS InQ OutQ NBRState NSRState
2.2.2.2 default 0 6501 0 0 Established -
5.5.5.5 default 0 6501 0 0 Established -
6.6.6.6 default 0 6501 0 0 Established -
111.111.111.111 VTS-MGMT 0 6500 0 0 Established -
111.111.111.113 VTS-MGMT 0 6500 0 0 Established -
RP/0/0/CPU0:XRVR-1#
| ||
| Step 2 | Verify whether
the configuration is pushed on IOS XRv2
route-policy BGP_HA_VTC1
if destination in (85.85.85.10) and community matches-every (6501:1001) then
delete community all
set next-hop 60.60.60.10
else
drop
endif
end-policy
!
route-policy BGP_HA_VTC2
if destination in (85.85.85.10) and community matches-every (6501:1002) then
delete community all
set next-hop 70.70.70.10
else
drop
endif
end-policy
!
route-policy BGP_HA_VTC-DENY
drop
end-policy
!
route-policy BGP_HA_VTC1-DATA
if destination in (45.45.45.10) and community matches-every (6501:2001) then
delete community all
set next-hop 10.10.10.7
else
drop
endif
end-policy
!
route-policy BGP_HA_VTC2-DATA
if destination in (45.45.45.10) and community matches-every (6501:2002) then
delete community all
set next-hop 31.31.31.7
else
drop
endif
end-policy
!
route-policy REDISTRIBUTE_TO_BGP_HA
if destination in (85.85.85.10) and tag is 1001 then
set community (6501:1001)
done
elseif destination in (85.85.85.10) and tag is 1002 then
set community (6501:1002)
done
else
drop
endif
end-policy
!
route-policy annrt_setcomm_xrvr_out
set community (6501:7000)
end-policy
!
route-policy recvrt_filter_comm_xrvr_in
if community matches-any (6501:7000) then
drop
else
pass
endif
end-policy
!
route-policy REDISTRIBUTE_TO_BGP_HA_VTC-DATA
if destination in (45.45.45.10) and tag is 2001 then
set community (6501:2001)
done
elseif destination in (45.45.45.10) and tag is 2002 then
set community (6501:2002)
done
else
drop
endif
end-policy
!
router static
maximum path ipv4 30000
address-family ipv4 unicast
0.0.0.0/0 70.70.70.1
45.45.45.10/32 Null0 tag 2001
!
vrf VTS-MGMT
address-family ipv4 unicast
0.0.0.0/0 70.70.70.1
85.85.85.10/32 Null0 tag 1001
!
!
!
router ospf 100
router-id 52.52.52.52
address-family ipv4 unicast
area 0.0.0.0
default-cost 10
interface Loopback0
!
interface GigabitEthernet0/0/0/0
!
!
!
router bgp 6501
bgp router-id 52.52.52.52
address-family ipv4 unicast
network 45.45.45.10/32 route-policy REDISTRIBUTE_TO_BGP_HA_VTC-DATA
!
address-family vpnv4 unicast
!
neighbor 2.2.2.2
remote-as 6501
timers 10 30
description ***Underlay Directly connected BGP Peer of Xrvr1
update-source Loopback0
address-family ipv4 unicast
route-policy BGP_HA_VTC-DENY in
route-reflector-client
route-policy BGP_HA_VTC1-DATA out
!
!
neighbor 6.6.6.6
remote-as 6501
timers 10 30
description ***Underlay Directly connected BGP Peer of Xrvr2
update-source Loopback0
address-family ipv4 unicast
route-policy BGP_HA_VTC-DENY in
route-reflector-client
route-policy BGP_HA_VTC2-DATA out
!
!
vrf VTS-MGMT
rd 70.70.70.3:1
bgp router-id 70.70.70.3
address-family ipv4 unicast
network 85.85.85.10/32 route-policy REDISTRIBUTE_TO_BGP_HA
!
neighbor 111.111.111.111
remote-as 6500
ebgp-multihop 255
timers 10 30
description ***Mgmt Directly connected BGP Peer of Xrvr1
update-source GigabitEthernet0/0/0/1
address-family ipv4 unicast
route-policy BGP_HA_VTC1 out
!
!
neighbor 111.111.111.113
remote-as 6500
ebgp-multihop 255
timers 10 30
description ***Mgmt Directly connected BGP Peer of Xrvr2
update-source GigabitEthernet0/0/0/1
address-family ipv4 unicast
route-policy BGP_HA_VTC2 out
!
!
!
RP/0/0/CPU0:XRVR-2#show ospf neighbor
Wed Mar 16 14:25:20.698 UTC
* Indicates MADJ interface
Neighbors for OSPF 100
Neighbor ID Pri State Dead Time Address Interface
51.51.51.51 1 FULL/DR 00:00:36 31.31.31.1 GigabitEthernet0/0/0/0
Neighbor is up for 22:18:11
Total neighbor count: 1
RP/0/0/CPU0:XRVR-2#sh bgp sessions
Sat Apr 23 17:32:54.297 UTC
Neighbor VRF Spk AS InQ OutQ NBRState NSRState
2.2.2.2 default 0 6501 0 0 Established -
5.5.5.5 default 0 6501 0 0 Established -
6.6.6.6 default 0 6501 0 0 Established -
111.111.111.111 VTS-MGMT 0 6500 0 0 Established -
111.111.111.113 VTS-MGMT 0 6500 0 0 Established -
RP/0/0/CPU0:XRVR-2#
| ||
| Step 3 | Verify whether
the following configuration is pushed to the TOR connected directly to IOS XRv
1:
VTS_REG3_TOR1#
ip prefix-list prefixLstiBGP2OSPF seq 5 permit 10.10.10.7/32
ip prefix-list prefixLstiBGP2OSPF seq 10 permit 31.31.31.7/32
route-map rtMapiBGP2OSPF permit 10
match ip next-hop prefix-list prefixLstiBGP2OSPF
match route-type internal
router ospf 100
router-id 2.2.2.2
redistribute bgp 6501 route-map rtMapiBGP2OSPF
area 0.0.0.0 default-cost 10
interface Vlan800
ip router ospf 100 area 0.0.0.0
interface Vlan900
ip router ospf 100 area 0.0.0.0
interface loopback0
ip router ospf 100 area 0.0.0.0
interface Ethernet1/33
ip router ospf 100 area 0.0.0.0
router bgp 6501
router-id 2.2.2.2
neighbor 8.8.8.8
remote-as 6501
description ***Underlay Directly connected BGP Peer to Xrvr1
update-source loopback0
address-family ipv4 unicast
route-reflector-client
neighbor 52.52.52.52
remote-as 6501
description ***Underlay Directly connected BGP Peer to Xrvr2
update-source loopback0
address-family ipv4 unicast
route-reflector-client
VTS_REG3_TOR1#
VTS_REG3_TOR1# sh bgp sessions
Total peers 2, established peers 2
ASN 6501
VRF default, local ASN 6501
peers 2, established peers 2, local router-id 2.2.2.2
State: I-Idle, A-Active, O-Open, E-Established, C-Closing, S-Shutdown
Neighbor ASN Flaps LastUpDn|LastRead|LastWrit St Port(L/R) Notif(S/R)
8.8.8.8 6501 0 00:15:11|00:00:07|0.254734 E 15795/179 0/0
52.52.52.52 6501 0 00:15:13|00:00:07|00:00:01 E 179/40232 0/0
VTS_REG3_TOR1# sh ip route bgp-6501
IP Route Table for VRF "default"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF <string>
45.45.45.10/32, ubest/mbest: 1/0
*via 10.10.10.7, [200/0], 00:14:35, bgp-6501, internal, tag 6501
VTS_REG3_TOR1#
VTS_REG3_TOR1#
| ||
| Step 4 | Verify whether
the following configuration is pushed on the TOR connected directly to IOS XRv
2:
VTS_REG3_TOR3#
ip prefix-list prefixLstiBGP2OSPF seq 5 permit 10.10.10.7/32
ip prefix-list prefixLstiBGP2OSPF seq 10 permit 31.31.31.7/32
route-map rtMapiBGP2OSPF permit 10
match ip next-hop prefix-list prefixLstiBGP2OSPF
match route-type internal
VTS_REG3_TOR3# sh run ospf
!Command: show running-config ospf
!Time: Thu Apr 28 06:26:24 2016
version 7.0(3)I2(2c)
feature ospf
router ospf 100
router-id 6.6.6.6
redistribute bgp 6501 route-map rtMapiBGP2OSPF
area 0.0.0.0 default-cost 10
interface Vlan700
ip router ospf 100 area 0.0.0.0
interface loopback0
ip router ospf 100 area 0.0.0.0
interface loopback1
ip router ospf 100 area 0.0.0.0
interface Ethernet1/36
ip router ospf 100 area 0.0.0.0
VTS_REG3_TOR3#
VTS_REG3_TOR3# sh run bgp
!Command: show running-config bgp
!Time: Thu Apr 28 06:17:40 2016
version 7.0(3)I2(2c)
feature bgp
router bgp 6501
router-id 6.6.6.6
neighbor 8.8.8.8
remote-as 6501
description ***Underlay Directly connected BGP Peer to Xrvr1
update-source loopback0
address-family ipv4 unicast
route-reflector-client
neighbor 52.52.52.52
remote-as 6501
description ***Underlay Directly connected BGP Peer to Xrvr2
update-source loopback0
address-family ipv4 unicast
route-reflector-client
VTS_REG3_TOR3# sh bgp sessions
Total peers 2, established peers 2
ASN 6501
VRF default, local ASN 6501
peers 2, established peers 2, local router-id 6.6.6.6
State: I-Idle, A-Active, O-Open, E-Established, C-Closing, S-Shutdown
Neighbor ASN Flaps LastUpDn|LastRead|LastWrit St Port(L/R) Notif(S/R)
8.8.8.8 6501 0 00:12:18|00:00:02|00:00:07 E 32028/179 0/0
52.52.52.52 6501 0 00:12:18|00:00:02|00:00:07 E 179/35606 0/0
VTS_REG3_TOR3#
VTS_REG3_TOR3# sh ip route ospf-100 | begin 45.45
45.45.45.10/32, ubest/mbest: 1/0
*via 14.1.1.1, Eth1/36, [110/1], 00:15:46, ospf-100, type-2, tag 6501
|
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.
In case the ping fails, verify VM networking to the underlay network.
| ||
| Step 4 | 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. |

Feedback