Product Documentation

Provisioning the NetScaler Virtual Appliance by using OpenStack

Oct 09, 2016

You can provision a NetScaler vpx instance in an Openstack environment either by using the OpenStack command line interface or the OpenStack dashboard or GUI.

Provisioning a NetScaler instance, optionally involves using data from the config drive. Config drive is a special configuration drive that attaches to the instance when it boots. This configuration drive can be used to pass networking configuration like management IP address, network mask, default gateway etc, which the instance can mount and access before you configure the network settings for the instance. .

When OpenStack provisions a NetScaler instance, it first detects that the instance is booting in an OpenStack environment by reading a specific BIOS string that indicates OpenStack. This string is ‘OpenStack Foundation’ and for Redhat Linux distributions, the string is stored in /etc/nova/release. This is a standard mechanism that is available in all OpenStack implementations based on KVM hyper-visor platform. The drive should have a specific OpenStack label.

If the config drive is detected, the instance attempts to read the following information from the file name specified in the nova boot command. In the steps mentioned below, the file is referred as userdata:

  • Management IP address
  • Network mask
  • Default gateway

Once the parameters are successfully read, they are populated in the NetScaler stack. This helps in managing the instance remotely. If the parameters are not read successfully or the config drive is not available, the instance transitions to the default behavior, which is:

  • The instance attempts to retrieve the IP address information from DHCP
  • If DHCP fails or times-out, the instance comes up with default network configuration (

Provisioning the NetScaler Virtual Appliance by using OpenStack Using Command Line Interface

Updated: 2015-06-24

You can provision a NetScaler appliance in an OpenStack environment. Provisioning a NetScaler Virtual Appliance on OpenStack involves the following three steps:

  1. Extracting the .raw file from the .tgz file
  2. Building an OpenStack image from the raw image
  3. Provisioning a NetScaler instance

To provision a NetScaler instance in an OpenStack environment, complete the following steps:

  1. Extract the .raw file from the .tgz file.

    pre codeblock tar xvzf NSVPX-KVM-10.5-50.9_nc.tgz NSVPX-KVM.xml NSVPX-KVM-10.5-50.9_nc.raw checksum.txt

  2. Build an OpenStack image using the .raw file extracted in step 1.

    pre codeblock glance image-create --name="NS-VPX-10-5-50-9" --property hw_disk_bus=ide --is-public= true --container-format=bare --disk-format=raw < NSVPX-KVM-10.5-50.9_nc.raw

    In the above command, NS-VPX-10-5-50-9 is the name of the OpenStack image that you want to create. NS-VPX-10-5-50-9.tgz is the raw file that was extracted from the .tgz file. The raw file is the input for creating the OpenStack image.

    The following illustration provides a sample output for the glance image-create command.

  3. After an OpenStack image is created, provision the NetScaler virtual appliance instance.

    ``` pre codeblock nova boot –image NS-VPX-10-5-50-9 –config-drive=true –user=data ./userdata.txt –flavor m1.medium –nic net-id=36b7-4517-af0e-80f8729aa82e vpx10_5_u

    In the above command, userdata.txt is the file which contains the details like, IP address, netmask, and default gateway for the NetScaler instance. The userdata file is a user customizable file. NS-VPX-10-5-50-9is the name of the virtual appliance that you want to provision.
    The following illustration gives a sample output of the nova boot command.
    The following illustration shows a sample of the **userdata.txt** file. The values within the \<PropertySection\> \</PropertySection\> tags are the values which is user configurable and holds the information like, IP address, netmask, and default gateway.
    ``` pre codeblock
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <Environment xmlns:oe=""
            <Property oe:key="com.citrix.netscaler.ovf.version" oe:value="1.0"/>
            <Property oe:key="com.citrix.netscaler.platform" oe:value="vpx"/>
            <Property oe:key="com.citrix.netscaler.orch_env" oe:value="openstack-orch-env"/>
            <Property oe:key="com.citrix.netscaler.mgmt.ip" oe:value=""/>
            <Property oe:key="com.citrix.netscaler.mgmt.netmask"  oe:value=""/>
            <Property oe:key="com.citrix.netscaler.mgmt.gateway"  oe:value=""/>

Provisioning the NetScaler Virtual Appliance by using OpenStack Dashboard

Updated: 2015-06-24

You can provisioning NetScaler in an OpenStack environment using the OpenStack dashboard.

  1. Log in to the OpenStack dashboard.

  2. In the Project panel on the left hand side of the dashboard, select Instances.

  3. In the Instances panel, click Launch Instance to open the Instance Launching Wizard.

  4. In the Launch Instance wizard, fill in the details, like:

    1. Instance Name
    2. Instance Flavor
    3. Instance Count
    4. Instance Boot Source
    5. Image Name

  5. Click on the Post Creation tab in the wizard. In the Customization Script, add the content of the userdata file. The userdata file contains the IP address, Netmask and Gateway details of the NetScaler instance.

  6. Click Launch.