NetScaler VPX

Apply NetScaler VPX configurations at the first boot of the NetScaler appliance on VMware ESX hypervisor

You can apply the NetScaler VPX configurations during the first boot of the NetScaler appliance on the VMware ESX hypervisor. Therefore in certain cases, a specific setup or VPX instance is brought up in much lesser time.

For more information on Preboot user data and its format, see Apply NetScaler VPX configurations at the first boot of the NetScaler appliance in cloud.

Note:

To bootstrap using preboot user data in ESX, default gateway config must be passed in <NS-CONFIG> section. For more information on the content of the <NS-CONFIG> tag, see Sample-<NS-CONFIG>-section.

Sample <NS-CONFIG> section:

<NS-PRE-BOOT-CONFIG>

    <NS-CONFIG>
        add route 0.0.0.0 0.0.0.0  10.102.38.1
    </NS-CONFIG>

    <NS-BOOTSTRAP>
            <SKIP-DEFAULT-BOOTSTRAP>YES</SKIP-DEFAULT-BOOTSTRAP>
            <NEW-BOOTSTRAP-SEQUENCE>YES</NEW-BOOTSTRAP-SEQUENCE>

        <MGMT-INTERFACE-CONFIG>
                <INTERFACE-NUM> eth0 </INTERFACE-NUM>
                <IP> 10.102.38.216 </IP>
                <SUBNET-MASK> 255.255.255.0 </SUBNET-MASK>
        </MGMT-INTERFACE-CONFIG>
    </NS-BOOTSTRAP>

</NS-PRE-BOOT-CONFIG>
<!--NeedCopy-->

How to provide preboot user data on ESX hypervisor

You can provide preboot user data on ESX hypervisor from web client or vSphere client in the following two ways:

  • Using CD/DVD ISO
  • Using OVF Property

Provide user data using CD/DVD ISO

You can use the VMware vSphere client to inject user data into the VM as an ISO image using the CD/DVD drive.

Follow these steps to provide user data using the CD/DVD ISO:

  1. Create a file with file name userdata that has the preboot user data content. For more information on the content of the <NS-CONFIG> tag, see Sample <NS-CONFIG> section.

    Note:

    File name must be strictly used as userdata.

  2. Store the userdata file in a folder, and build an ISO image using the folder.

    You can build an ISO image with userdata file by the following two methods:

    • Using any image processing tool such as PowerISO.
    • Using mkisofs command in Linux.

    The following sample configuration shows how to generate an ISO image using the mkisofs command in Linux.

    root@ubuntu:~/sai/14jul2021# ls -l total 4
    drwxr-xr-x 2 root root 4096 Jul 14 12:32 esx_preboot_userdata
    root@ubuntu:~/sai/14jul2021#
    root@ubuntu:~/sai/14jul2021# ls -l esx_preboot_userdata/total 4
    -rw-r--r-- 1 root root 3016 Jul 14 12:32 userdata
    root@ubuntu:~/sai/14jul2021# mkisofs -o esx_preboot_userdata.iso ./esx_preboot_userdata
    I: -input-charset not specified, using utf-8 (detected in locale settings)
    Total translation table size: 0
    Total rockridge attributes bytes: 0
    Total directory bytes: 112
    Path table size(bytes): 10
    Max brk space used 0
    176 extents written (0 MB)
    root@ubuntu:~/sai/14jul2021# ls -lh
    total 356K
    drwxr-xr-x 2 root root 4.0K Jul 14 12:32 esx_preboot_userdata
    -rw-r--r-- 1 root root 352K Jul 14 12:34 esx_preboot_userdata.iso
    
    root@ubuntu:~/sai# ls preboot_userdata_155_193 userdata
    root@ubuntu:~/sai# mkisofs -o preboot_userdata_155_193.iso ./preboot_userdata_155_193
    I: -input-charset not specified, using utf-8 (detected in locale settings)
    Total translation table size: 0
    Total rockridge attributes bytes: 0
    Total directory bytes: 112
    Path table size(bytes): 10
    Max brk space used 0
    176 extents written (0 MB)
    
    <!--NeedCopy-->
    
  3. Provision the NetScaler VPX instance using standard deployment process to create the VM. But do not power on the VM automatically.

    Standard VM deployment

  4. After the VM is successfully created, attach the ISO file as CD/DVD drive to the VM.

    Attach CD DVD drive

  5. Navigate to New CD/DVD Drive and choose Datastore ISO file from the drop-down menu.

    Datastore ISO file

  6. Select a Datastore in the vSphere Client.

    Datastore in the vSphere Client

  7. Power on the VM.

Provide user data using OVF property from ESX web client

Follow these steps to provide user data using OVF property.

  1. Create a file with user data content.

    Preboot user data for ESX

  2. Encode the user data content with Base64 encoding. You can perform the Base64 encoding using the following two methods:

    • In Linux, use the following command:

       base64 <userdata-filename>  >   <outuput-file>
       <!--NeedCopy-->
      

      Example:

       base64 esx_userdata.xml  > esx_userdata_b64
       <!--NeedCopy-->
      

      Base64 encoded userdata

    • Use online tools to encode user data content, for example, Base64 Encode and Decode.

  3. Include a Product section in the OVF template of a NetScaler VPX instance on ESX hypervisor.

    Sample Product section:

    <ProductSection>
    
      <Info>Information about the installed software</Info>
      <Product>NSVPX-VSK Template</Product>
      <Vendor>Citrix</Vendor>
      <VendorUrl>www.citrix.com</VendorUrl>
      <Category> Preboot Userdata </Category>
    
      <Property ovf:key="guestinfo.userdata" ovf:type="string" ovf:userConfigurable="true" ovf:value="">
    
        <Label>Userdata</Label>
        <Description> Userdata for ESX VPX </Description>
      </Property>
    
    </ProductSection>
    <!--NeedCopy-->
    
  4. Provide the base64 encoded user data as the ovf:value for guestinfo.userdata property in the Product section.

    <ProductSection>
    
      <Info>Information about the installed software</Info>
      <Product>NSVPX-VSK Template</Product>
      <Vendor>Citrix</Vendor>
      <VendorUrl>www.citrix.com</VendorUrl>
      <Category> Preboot Userdata </Category>
      <Property ovf:key="guestinfo.userdata" ovf:type="string" ovf:userConfigurable="true"
        ovf:value="PE5TLVBSRS1CT09ULUNPTkZJRz4KICAgIDxOUy1DT05GSUc+CglhZGQgcm91dGUgMC4wLjAuMCAw
        LjAuMC4wIDEwLjEwMi4zOC4xCiAgICA8L05TLUNPTkZJRz4KCiAgICA8TlMtQk9PVFNUUkFQPgog
        ICAgICAgICAgICA8U0tJUC1ERUZBVUxULUJPT1RTVFJBUD5ZRVM8L1NLSVAtREVGQVVMVC1CT09U
        U1RSQVA+CiAgICAgICAgICAgIDxORVctQk9PVFNUUkFQLVNFUVVFTkNFPllFUzwvTkVXLUJPT1RT
        VFJBUC1TRVFVRU5DRT4KCiAgICAgICAgPE1HTVQtSU5URVJGQUNFLUNPTkZJRz4KICAgICAgICAg
        ICAgICAgIDxJTlRFUkZBQ0UtTlVNPiBldGgwIDwvSU5URVJGQUNFLU5VTT4KICAgICAgICAgICAg
        ICAgIDxJUD4gICAgMTAuMTAyLjM4LjIxOSA8L0lQPgogICAgICAgICAgICAgICAgPFNVQk5FVC1N
        QVNLPiAyNTUuMjU1LjI1NS4wIDwvU1VCTkVULU1BU0s+CiAgICAgICAgPC9NR01ULUlOVEVSRkFD
        RS1DT05GSUc+CiAgICA8L05TLUJPT1RTVFJBUD4KPC9OUy1QUkUtQk9PVC1DT05GSUc+Cg==">
    
        <Label>Userdata</Label>
        <Description> Userdata for ESX VPX </Description>
      </Property>
    
    </ProductSection>
    <!--NeedCopy-->
    
  5. Use the modified OVF template with Product section for the VM deployment.

    OVF template with Product section

Provide user data using OVF property from ESX vSphere client

Follow these steps to provide user data using OVF property from ESX vSphere client.

  1. Create a file with user data content.

    Preboot user data for ESX

  2. Encode the user data content with Base64 encoding. You can perform the Base64 encoding using the following two methods:

    • In Linux, use the following command:

       base64 <userdata-filename>  >   <outuput-file>
       <!--NeedCopy-->
      

      Example:

       base64 esx_userdata.xml  > esx_userdata_b64
       <!--NeedCopy-->
      

      Base64 encoded userdata

    • Use online tools to encode user data content, for example, Base64 Encode and Decode.

  3. Include a Product section in the OVF template of a NetScaler VPX instance on ESX hypervisor.

    Sample Product section:

    <ProductSection>
    
      <Info>Information about the installed software</Info>
      <Product>NSVPX-VSK Template</Product>
      <Vendor>Citrix</Vendor>
      <VendorUrl>www.citrix.com</VendorUrl>
      <Category> Preboot Userdata </Category>
    
      <Property ovf:key="guestinfo.userdata" ovf:type="string" ovf:userConfigurable="true" ovf:value="">
    
        <Label>Userdata</Label>
        <Description> Userdata for ESX VPX </Description>
      </Property>
    
    </ProductSection>
    <!--NeedCopy-->
    
  4. Provide the base64 encoded user data as the ovf:value for guestinfo.userdata property in the Product section.

    <ProductSection>
    
      <Info>Information about the installed software</Info>
      <Product>NSVPX-VSK Template</Product>
      <Vendor>Citrix</Vendor>
      <VendorUrl>www.Citrix.com</VendorUrl>
      <Category> Preboot Userdata </Category>
      <Property ovf:key="guestinfo.userdata" ovf:type="string" ovf:userConfigurable="true"
        ovf:value="PE5TLVBSRS1CT09ULUNPTkZJRz4KICAgIDxOUy1DT05GSUc+CglhZGQgcm91dGUgMC4wLjAuMCAw
        LjAuMC4wIDEwLjEwMi4zOC4xCiAgICA8L05TLUNPTkZJRz4KCiAgICA8TlMtQk9PVFNUUkFQPgog
        ICAgICAgICAgICA8U0tJUC1ERUZBVUxULUJPT1RTVFJBUD5ZRVM8L1NLSVAtREVGQVVMVC1CT09U
        U1RSQVA+CiAgICAgICAgICAgIDxORVctQk9PVFNUUkFQLVNFUVVFTkNFPllFUzwvTkVXLUJPT1RT
        VFJBUC1TRVFVRU5DRT4KCiAgICAgICAgPE1HTVQtSU5URVJGQUNFLUNPTkZJRz4KICAgICAgICAg
        ICAgICAgIDxJTlRFUkZBQ0UtTlVNPiBldGgwIDwvSU5URVJGQUNFLU5VTT4KICAgICAgICAgICAg
        ICAgIDxJUD4gICAgMTAuMTAyLjM4LjIxOSA8L0lQPgogICAgICAgICAgICAgICAgPFNVQk5FVC1N
        QVNLPiAyNTUuMjU1LjI1NS4wIDwvU1VCTkVULU1BU0s+CiAgICAgICAgPC9NR01ULUlOVEVSRkFD
        RS1DT05GSUc+CiAgICA8L05TLUJPT1RTVFJBUD4KPC9OUy1QUkUtQk9PVC1DT05GSUc+Cg==">
    
        <Label>Userdata</Label>
        <Description> Userdata for ESX VPX </Description>
      </Property>
    
    </ProductSection>
    <!--NeedCopy-->
    
  5. Add the property ovf:transport="com.vmware.guestInfo" to VirtualHardwareSection as follows:

    <VirtualHardwareSection  ovf:transport="com.vmware.guestInfo">
    <!--NeedCopy-->
    
  6. Use the modified OVF template with Product section for the VM deployment.

    OVF template with Product section

Apply NetScaler VPX configurations at the first boot of the NetScaler appliance on VMware ESX hypervisor