Configuring Virtual Services

This module describes the configuration of virtual services.

Feature History for Configuring a Virtual Service on the Cisco ASR 9000 Series Router

Release

Modification

Release 5.1.1

  • Support for virtual services was added on the Cisco ASR 9000 Series Router.

Prerequisites for Configuring Virtual Services

You must be in a user group associated with a task group that includes the proper task IDs. The command reference guides include the task IDs required for each command. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.

Before configuring virtual services, you must have the following hardware and software installed on the Cisco ASR 9000 Series Router:

  • Hardware — Cisco ASR 9000 Series Aggregation Services Router (ASR90xx and ASR99xx) with Cisco ASR 9000 Virtualized Service Module (VSM) Card installed.


    Note


    The Cisco ASR 9000 VSM Card is not supported on the Cisco Aggregation Services Router ASR9001 Router.


  • Software — Cisco IOS XR Software Release 5.1.1 or later.

For more information about other hardware requirements, see Cisco ASR 9000 Series Aggregation Services Router Hardware Installation Guide.

For more information about the Cisco ASR 9000 VSM Card, see Cisco ASR 9000 Aggregation Services Router VSM (Virtualized Service Module) Service Card Installation Guide.

Restrictions for Configuring Virtual Services

  • The Cisco ASR 9000 VSM Card is not supported on the Cisco Aggregation Services Router ASR9001 Router.

  • The Cisco ASR 9000 VSM Card is supported with RSP3 Route Processor only.

  • The front panel ports on the Cisco ASR 9000 VSM Card are not supported in Cisco IOS XR Software Release 5.1.1.

  • In Cisco IOS XR Software Release 5.1.1 CGv6 is the application virtual machine (VM) running on the Cisco ASR 9000 VSM Card. On a given Cisco ASR 9000 VSM Card, only one CGv6 VM can run at a time.

Information about Configuring Virtual Services

The Cisco ASR 9000 VSM Card is a service card built specifically for the ASR9000 platform. The Cisco ASR 9000 VSM Card is supported in any slot on the Cisco ASR 9000 Series Aggregation Services Router (ASR90xx and ASR99xx). In Cisco IOS XR Software Release 5.1.1 the Cisco ASR 9000 VSM Card allows the CGv6 NAT44 application to be hosted on top of a virtualized hardware environment.

Service Enablement

Service Enablement provides the ability to install and uninstall a service without impacting the other services running on the Cisco ASR 9000 VSM Card. Service enablement allows the user to instantiate a service instance by specifying the name and location of the service image package and the target for where the service needs to be instantiated. In Cisco IOS XR Software Release 5.1.1, service enablement allows the user to select a service to be provisioned and the associated parameters using CLI.

The service enablement feature is not enabled by default. Use the virtual-service enable command to enable the service enablement feature. Use the no form of the command to remove all of the configurations related to the given virtual service. The user can only use the no form of the virtual-service enable command if all the virtual services that were defined and instantiated have been removed from the router.

Virtual Service Package

The Service Manager orchestrates the installation, creation, instantiation, management and termination of services. The Service Manager supports the open standard OVF packaging model (http://www/dmtf/org/standards/ovf) for the service package. OVF is an open standard for describing virtual appliances and is widely used to distribute virtual appliances. The OVF package for virtual appliances used for Cisco platforms is based on the OVF standard but is not 100 % compatible with OVF standard.

The Open Virtualization Archive (OVA) is a software package that contains the application and metafiles used to create the hosting environment. The OVA package has a .OVA extension and is a tar of the following files:

  • One OVA descriptor file(.xml)—The OVA descriptor file is an XML file that defines the content and requirements of the packaged service. However, instead of using standard OVA envelop (.ova), Libvirt XML format (.xml) is used because Libvirt is used for virtualization infrastructure support and it requires a Libvirt XML file instead of OVA XML. In order to support other virtualization infrastructures in future, especially for service deployment on external servers, this file will also contain the information about the type of the virtualization infrastructure the rest of the contents are defined for. This file is mandatory.

  • One OVA manifest file(.mf)—As per OVF standard, zero or one manifest file containing the SHA-2 digests of the individual files in the OVA package. This file is mandatory.

  • One package version file (.ver)—The package version file contains the IOS-XR virtualization framework version that a given virtual application is compatible with. This file is not mandatory per OVF standard. However, this is mandated for OVA packages installed on Cisco platforms, and allows different application versions to work seamlessly with a given IOS-XR package version.

  • One OVA metadata file (.env)—The metadata file contains information such as signing algorithm, signature, X-509 certificate and so on. The signature of the digest is stored along with base64-encoded X.509 certificate in the signature envelop file (.env). This file is not mandatory.

  • Zero to many disk image files—These files represent the virtual disks that support the defined virtual image(s) or service. More generally, the package includes artefacts needed by the service, including virtual disks, localized language resources, and other artefacts. Typical disk format options for KVM/QEMU are vmdk, qcow2, iso and raw formats. ISO disk format may also be used for IOS-XR Services. This file is not mandatory.

  • Zero to many file systems—These files represent the file systems such as the USB file system that is synchronized to standby RSP. This file is not mandatory.


Note


In Cisco IOS XR Release 5.1.1, package authenticity, disk image files, and file systems are not supported.


The first step in service creation is to install the virtual service package. The virtual service package installation involves unpacking the virtual service package and downloading the ISO image and data disks onto the target where the virtual service is to be installed and activated. A given virtual service can be installed on one or more Cisco ASR 9000 VSM Cards. Once a virtual service is installed, it needs to be provisioned and activated. Any platform specific configuration needed can be performed before activating the service.

The steps for installing a service consist of:

  1. Service Manager receives CLI command to install a given service. Service Manager downloads, if needed, the OVA package.

  2. Service Manager stores the OVA package on local hard disk, and unpacks it. Service Manager checks the compatibility between the minimum IOS-XR version the service requires mentioned in the version file and the running IOS-XR version. Service Manager then proceeds with the installation on the target nodes.

  3. Service Manager informs the Lead Install to install the service package on a list of target nodes. Lead Install pulls the ISO image and other hard disk images given in the OVA package.

  4. Lead Install stores the ISO image and other hard disk images onto the local storage. Lead Install broadcasts to install in all sys admin instances with a list of sys admin instances that need to install these images. Lead Install will specify the multicast group to join to receive the images. Install on the targeted sys admin instances joins the multicast group.

  5. Lead Install multicasts the images. Install in sys admin instances that join the multicast group receives the images.

  6. The install stores the ISO image in the boot partition and creates the data partition to store the other hard disk images.


Note


The flow above is specified for installing a given service package on multiple destination nodes with a single CLI command. However, in IOS XR Release 5.1.1, the CLI command takes only single location. In IOS XR Release 5.1.1 a given virtual service package can only be installed on a single location.


How to Configure a Virtual Service

This section includes the following configuration tasks:

Enabling the Service Enablement Feature

To enable the Service Enablement feature, complete the following steps:

SUMMARY STEPS

  1. configure
  2. virtual-service enable
  3. end
 or
commit

DETAILED STEPS

  Command or Action Purpose

Step 1

configure

Example:


RP/0/RSP0/CPU0:router#configure

Enters global configuration mode.

Step 2

virtual-service enable

Example:


RP/0/RSP0/CPU0:router(config)#
virtual-service enable

Enables the virtual service.

Step 3

end
 or
commit

Example:


RP/0/RSP0/CPU0:router(config)#end

or


RP/0/RSP0/CPU0:router(config)#commit

Saves configuration changes.

  • When you issue the end command, the system prompts you to commit changes:

    
    Uncommitted changes found, commit them before exiting(yes/no/cancel)?
    [cancel]:
    

    - Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode.

    - Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes.

    - Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes.

  • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session.

Installing and Activating a Virtual Service

This section describes how to install and activate a virtual service on the Cisco ASR 9000 VSM Card.

Before you begin

  • You have enabled the service enablement feature, using the virtual-service enable command.

  • You have downloaded the image and copied it into the file-system of the IOS-XR platform or made it available on a tftp server accessible to the IOS-XR platform. For more information, see the Cisco ASR 9000 Series Aggregation Services Router System Management Configuration Guide.

  • You have checked to ensure that the FPD version on the Cisco ASR 9000 VSM Card is compatible with the Cisco IOS XR version that is running on the router. For more information, see the Cisco ASR 9000 Series Aggregation Services Router System Management Configuration Guide.

SUMMARY STEPS

  1. virtual-service install name unique-service-name package OVA package path node R/S/I for VSM Service Card>
  2. show virtual-service list
  3. configure
  4. virtual-service name
  5. profile profile name
  6. vnic interface
  7. end
 or
commit
  8. activate
  9. end
 or
commit
  10. show virtual-service list
  11. show virtual-service detail name

DETAILED STEPS

  Command or Action Purpose

Step 1

virtual-service install name unique-service-name package OVA package path node R/S/I for VSM Service Card>

Example:


RP/0/RSP0/CPU0:router#virtual-service install name cgn1 package harddisk:cgnsmall.ova node 0/1/cpu0

Installs the OVA package on the specified location:


virtual-service install name unique-service-name package OVA package path node R/S/I for VSM Service Card 
  • User specifies the R/S/I of the target node.

  • The OVA package path points to either local storage or tftp path.

  • If the path is local storage, store the OVA under harddisk or disk0. For example, harddisk:cgnsmall.ova.

  • If the local storage is other than harddisk: or disk0:, prepend / to the OVA path. 
For example, /disk0a:/usr/cgnsmall.ova.

Step 2

show virtual-service list

Example:


RP/0/RSP0/CPU0:router#show virtual-service list

Displays a summary of virtual services and their status.

When the virtual service is installing, the status of the virtual service is installing

When the virtual service installation has been successfully complete, the status of the virtual service is installed.


Virtual Service List:
Name       Status      Package Name     Node Name
________________________________________________
cgn1       Installing  cgnsmall.ova      0/1/CPU0
Virtual Service List:
Name       Status      Package Name     Node Name
________________________________________________
cgn1       Installed   cgnsmall.ova      0/1/CPU0

Step 3

configure

Example:


RP/0/RSP0/CPU0:router#configure

Enters global configuration mode.

Step 4

virtual-service name

Example:


RP/0/RSP0/CPU0:router(config) #virtual-service cgn1

Enters configuration sub-mode for the named virtual service.

Step 5

profile profile name

(Optional) Configures the profile with the memory and CPU information required for this virtual service.

In Cisco IOS XR Release 5.1.1, only one profile is supported (Diamond).

If the user does not specify any profile and the profile information is not provided with the OVA package, the service provisioning manager will use the default profile.

Step 6

vnic interface

Example:


RP/0/RSP0/CPU0: router(config-virt-service)#vnic interface tenGigE 0/1/1/0

Specifies the new vnic interfaces to be assigned, followed by the type (tengige) and rack/slot/instance/port (line card rack, slot number, subslot number, port number).

Step 7

end
 or
commit

Example:


RP/0/RSP0/CPU0:router(config-virt-service)#end

or


RP/0/RSP0/CPU0:router(config-virt-service)#commit

Saves configuration changes.

  • When you issue the end command, the system prompts you to commit changes:

    
    Uncommitted changes found, commit them before exiting(yes/no/cancel)?
    [cancel]:
    

    - Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode.

    - Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes.

    - Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes.

  • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session.

Step 8

activate

Example:


RP/0/RSP0/CPU0:router(config-virt-service)#activate

Activates the virtual service.

Step 9

end
 or
commit

Example:


RP/0/RSP0/CPU0:router(config)#end

or


RP/0/RSP0/CPU0:router(config)#commit

Saves configuration changes.

  • When you issue the end command, the system prompts you to commit changes:

    
    Uncommitted changes found, commit them before exiting(yes/no/cancel)?
    [cancel]:
    

    - Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode.

    - Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes.

    - Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes.

  • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session.

Step 10

show virtual-service list

Example:

RP/0/RSP0/CPU0:router#show virtual-service list

Displays a summary of virtual services and their status.

When the virtual-service activation has been successfully complete, the status of the virtual service is activated.


Name       Status      Package Name     Node Name
________________________________________________
cgn1       Activated   cgnsmall.ova      0/1/CPU0

Step 11

show virtual-service detail name

Shows the configuration of the named virtual service for verification.

Deactivating a Virtual Service

Complete the following instructions to deactivate a virtual service.

SUMMARY STEPS

  1. configure
  2. virtual-service name
  3. no activate
  4. end
 or
commit
  5. show virtual-service list

DETAILED STEPS

  Command or Action Purpose

Step 1

configure

Example:


RP/0/RSP0/CPU0:router#configure

Enters global configuration mode.

Step 2

virtual-service name

Example:


RP/0/RSP0/CPU0:router(config) #virtual-service cgn1

Enters configuration sub-mode for the named virtual service.

Step 3

no activate

Example:

RP/0/RSP0/CPU0:router(conf-virt-service)#no activate

Deactivates the virtual service.

This command deactivates the virtual service on the Cisco ASR 9000 VSM Card where the virtual service was running. Any allocated feature licenses are released.

Step 4

end
 or
commit

Example:


RP/0/RSP0/CPU0:router(config)#end

or


RP/0/RSP0/CPU0:router(config)#commit

Saves configuration changes.

  • When you issue the end command, the system prompts you to commit changes:

    
    Uncommitted changes found, commit them before exiting(yes/no/cancel)?
    [cancel]:
    

    - Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode.

    - Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes.

    - Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes.

  • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session.

Step 5

show virtual-service list

Example:


RP/0/RSP0/CPU0:router#show virtual-service list

Displays a summary of virtual services and their status.

When the virtual-service deactivation has been successfully complete, the status of the virtual service is deactivated.



Remove Virtual Service Configuration

This task describes how to remove the virtual service configuration.

Before you begin

You must deactivate the virtual service before you can remove the virtual service configuration. See the Deactivating a Virtual Service section.

SUMMARY STEPS

  1. configure
  2. no virtual-service name
  3. end
 or
commit

DETAILED STEPS

  Command or Action Purpose

Step 1

configure

Example:


RP/0/RSP0/CPU0:router#configure

Enters global configuration mode.

Step 2

no virtual-service name

Example:


RP/0/RSP0/CPU0:router(config)#
no virtual-service cgn1

Removes all the configurations related to the given virtual service.

Step 3

end
 or
commit

Example:


RP/0/RSP0/CPU0:router(config)#end

or


RP/0/RSP0/CPU0:router(config)#commit

Saves configuration changes.

  • When you issue the end command, the system prompts you to commit changes:

    
    Uncommitted changes found, commit them before exiting(yes/no/cancel)?
    [cancel]:
    

    - Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode.

    - Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes.

    - Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes.

  • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session.

Uninstalling a Virtual Service

This task describes how to uninstall a virtual service.

Before you begin

You must deactivate the virtual service and remove the configuration related to the virtual service before you can uninstall the virtual service. See the Deactivating a Virtual Service section and Remove Virtual Service Configuration section.

SUMMARY STEPS

  1. virtual-service uninstall name unique-service-name node R/S/I for VSM Service Card
  2. show virtual-service list

DETAILED STEPS

  Command or Action Purpose

Step 1

virtual-service uninstall name unique-service-name node R/S/I for VSM Service Card

Example:


RP/0/RSP0/CPU0:router #uninstall cgn1 0/1/CPU0

Uninstalls the virtual service.


virtual-service uninstall name unique-service-name node R/S/I for VSM Service Card
 

This command completely removes the virtual service from the Cisco ASR 9000 VSM Card where the virtual service was running.

Step 2

show virtual-service list

Example:


RP/0/RSP0/CPU0:router #show virtual-service list

Displays a summary of virtual services and their status.

The virtual service that you uninstalled does not appear on the list.

Displaying Information about a Virtual Service

To display information about a virtual service, use the following commands in EXEC mode:

show virtual-service

Displays virtual service global state and virtualization limits.

show virtual-service detail name

Displays the configuration for the specified virtual service.

show virtual-service global

Displays virtual service global state and virtualization limits.

show virtual-service profile name

Displays the profile information for the specified virtual service.

show virtual-service list

Displays a list of all virtual service configurations.

The possible states are:

  • Initializing

  • Installing

  • Installed

  • Install Failed

  • Activating

  • Activated

  • Activate Failed

  • Deactivating

  • Deactivated

  • Error

These commands will consider all of the virtual services that are installed, configured, or activated.

Configuration Examples for a Virtual Service

This example shows how to enable the service enablement feature.


RP/0/RSP0/CPU0:router#configure
RP/0/RSP0/CPU0:router(config)#virtual-service enable
RP/0/RSP0/CPU0:router(config)#commit

This example shows how to install the service package.


RP/0/RSP0/CPU0:router#virtual-service install name cgn1 package/disk0a:/usr/cgnsmall.ova node 0/1/CPU0

This example shows how to configure and activate the virtual service.


RP/0/RSP0/CPU0:router#configure
Fri Aug 2 18:10:25.525 UTC
RP/0/RSP0/CPU0:router(config)#virtual-service cgn1
RP/0/RSP0/CPU0:router(config-virt-service)#vnic interface tenGigE 0/1/1/0
RP/0/RSP0/CPU0:router(config-virt-service)#vnic interface tenGigE 0/1/1/1
RP/0/RSP0/CPU0:router(config-virt-service)#vnic interface tenGigE 0/1/1/2
RP/0/RSP0/CPU0:router(config-virt-service)#vnic interface tenGigE 0/1/1/3
RP/0/RSP0/CPU0:router(config-virt-service)#vnic interface tenGigE 0/1/1/4
RP/0/RSP0/CPU0:router(config-virt-service)#vnic interface tenGigE 0/1/1/5
RP/0/RSP0/CPU0:router(config-virt-service)#vnic interface tenGigE 0/1/1/6
RP/0/RSP0/CPU0:router(config-virt-service)#vnic interface tenGigE 0/1/1/7
RP/0/RSP0/CPU0:router(config-virt-service)#vnic interface tenGigE 0/1/1/8
RP/0/RSP0/CPU0:router(config-virt-service)#vnic interface tenGigE 0/1/1/9
RP/0/RSP0/CPU0:router(config-virt-service)#vnic interface tenGigE 0/1/1/10
RP/0/RSP0/CPU0:router(config-virt-service)#vnic interface tenGigE 0/1/1/11
RP/0/RSP0/CPU0:router(config-virt-service)#commit
Fri Aug 2 18:11:34.285 UTC
RP/0/RSP0/CPU0:router(config-virt-service)#activate
RP/0/RSP0/CPU0:router(config-virt-service)#commit

This example shows how to check the status of the virtual service.


RP/0/RSP0/CPU0:router#show virtual-service list
Fri Aug 2 18:01:38.310 UTC
Virtual Service List:

Name       Status      Package Name     Node Name
________________________________________________
cgn1       Installing  cgnsmall.ova      0/1/CPU0

RP/0/RSP0/CPU0:router#show virtual-service list
Fri Aug 2 18:10:17.291 UTC
Virtual Service List:

Name       Status      Package Name     Node Name
________________________________________________
cgn1       Installed   cgnsmall.ova      0/1/CPU0


RP/0/RSP0/CPU0:router#show virtual-service list
Fri Aug 2 19:11:34.525 UTC
Virtual Service List:

Name       Status      Package Name     Node Name
________________________________________________
cgn1       Activated   cgnsmall.ova      0/1/CPU0

This example shows how to deactivate a virtual service.


RP/0/RSP0/CPU0:router#conf t
RP/0/RP0/CPU0:router(config)#virtual-service cgn1
RP/0/RP0/CPU0:router(config-virt-service)#no activate
RP/0/RP0/CPU0:router(config-virt-service)#commit

This example shows how to remove the virtual service configuration.


RP/0/RSP0/CPU0:router#configure
RP/0/RSP0/CPU0:router(config)#no virtual-service cgn1
RP/0/RSP0/CPU0:router(config)#commit

This example shows how to uninstall a virtual service.


RP/0/RP0/CPU0:router #virtual-service uninstall name cgn1 node 0/1/CPU0
RP/0/RP0/CPU0:router #commit