Deploying Virtual Appliances on VMware ESXi Through vCenter Using OVF Properties

Overview of Deploying Virtual Appliances on VMware ESXi

VMware ESXi, like VMware ESXi, is a hypervisor that installs on top of a physical server and partitions it into multiple virtual machines. VMware ESXi does not contain the ESXi’s service console and thus is a smaller footprint.

When first powering on the Pulse Connect Secure or Pulse Policy Secure, an administrator must wait for the serial console to appear and manually configure the initial settings. In the case of multiple virtual machines, this process becomes too tedious and time-consuming.

When deploying on a VMware ESXi, the dependencies on a serial console and service console are removed. Pulse Secure lets the administrator set up all initial configuration settings in one pass using a process based on the VMware Guest Customization feature.

With this approach:

1.You use a deployment script and OVF Tools to set up the initial configuration parameters.

2.ESXi passes these parameters into the VMware environment.

3.The virtual appliance retrieves the parameters from the VMware environment and configures the initial settings.

Using the Deployment Script to Define the Initial Configuration Parameters

A create-va.pl script is included in your PSA-V package and is used to deploy a virtual appliance connected to the VMware vCenter Server. This script can be run on any system that has Perl and VMware OVF Tools installed.

Configuration parameters can be passed to the script through a configuration file, command-line options, or a combination of the two. Command-line parameters are passed to the scripts using the following format:

- - paramname paramvalue

Type two hyphens without a space between them for the “- -” string. The space shown here is for visual purposes only.

A sample configuration file (va.conf) is provided as an example.

The following create-va.pl Parameters table lists the parameters for create-va.pl. Type two hyphens without a space between them for the “- -” string. The space shown here is for visual purposes only.

vCenter-Related Parameters

 

- -vCenterServer

Hostname or IP address of the vCenter Server.

- -vCenterUsername

Username for logging in to the VMware vCenter Server.

- -vCenterPassword

Password for logging in to the VMware vCenter Server. Special characters in the password must be escaped with a backslash (\). For example, Pulsesecure123\$

- -datacenterName

Data center under which the Cluster/ESXi Host is present or added.

- -clusterorHostName

Name of the VMware cluster where the virtual appliance is to be deployed.When deploying the virtual appliance in a cluster, this parameter must follow the format cluster-name/ESXi-server-name. For example, ESXi_5_cluster/mydev.pulsesecure.net.

When deploying the virtual appliance in an ESXi server, this parameter must be following the format ESXI-server-name. For example, mydev.pulsesecure.net.

- -datastore

Name of the datastore where the virtual appliance is to be deployed.

- -vaname

Name of the virtual appliance to create.

Pulse Connect Secure and Policy Secure-Related Parameters

- -vaIPAddress*

IP address to assign to the internal port of the Pulse Connect Secure virtual appliance.

- -vaNetmask*

 

Netmask to assign to the internal port of the virtual appliance.

- -vaGateway*

Gateway to assign to the internal port of the virtual appliance.

- -vaAdminUsername

Username for the default administrator account for the virtual appliance.

- -vaAdminPassword

Password for the default administrator account for the virtual appliance.

- -vaPrimaryDNS*

IP address for the primary DNS server.

- -vaSecondaryDNS*

IP address for the secondary DNS server.

- -vaDNSDomain*

Domain name for the virtual appliance.

- -vaWINSServer

Windows Internet Name Service (WINS) hostname or IP address.

- -vaCommonName

Common name for the default device certificate.

- -vaOrganization

Organization for the default device certificate.

- -vaRandomText

Random text to use during certificate creation. If spaces are included in the random text, make sure the entire value is enclosed within double-quotes. For example, Pulse Secure Your Net.

- -vaDefaultVlan

Specify Default VLAN ID for the internal interface.

Default VLAN ID is an optional parameter.

When this parameter is set, all the traffic on this interface subsequently will be tagged with the set VLAN ID and accept only incoming traffic with the same tag. Necessary changes are required on the connected switch port to handle bi-directional tagged traffic.

Virtual Appliance-Related Parameters

- -ovffile

Path to the OVF file.

- -configFile

Name of configuration files containing parameters to pass to the create-va.pl script. Values specified on the command line override the ones specified in the configuration file.

– -ExternalNetwork

Virtual network in VMware vSwitch to map the external network of the virtual appliance.

- -InternalNetwork

Virtual network in VMware vSwitch to map the internal network of the virtual appliance.

- -ManagementNetwork

Virtual network in VMware vSwitch to map the management network of the virtual appliance.

Virtual Appliance Management Port-Related Parameters

- -vaManagementIPAddress*

Management network IP address.

- -vaManagementNetmask*

Management network netmask address.

- -vaManagementGateway*

Management network gateway address.

- -vaManagementDefaultVlan

Specify Default VLAN ID for the management interface.

Default VLAN ID is an optional parameter.

When this parameter is set, all the traffic on this interface subsequently will be tagged with the set VLAN ID and accept only incoming traffic with the same tag. Necessary changes are required on the connected switch port to handle bi-directional tagged traffic

- -vaManagementPortReconfigWithValueInVAppProperties

Management port overwrite property. If set to 1, overwrite the management port-related parameters in the Pulse Connect Secure with the ones defined here. See the Management Port Behavior While Deploying a Template table and Management Port Behavior During a New Deployment table.

- -vaInternalPortReconfigWithValueInVAppProperties

The internal port overwrite property. If set to 1, overwrite the virtual appliance’s internal port settings with the ones specified during deployment. See the Management Port Behavior While Deploying a Template table and the Management Port Behavior During a New Deployment table.

 

Virtual Appliance External Interface Parameters

- -vaExternalIPAddress*

External network IP address.

- -vaExternalNetmask*

External network netmask address.

- -vaExternalGateway*

External network gateway address.

- -vaExternalDefaultVlan

Specify Default VLAN ID for the external interface.

Default VLAN ID is an optional parameter.

When this parameter is set, all the traffic on this interface subsequently will be tagged with the set VLAN ID and accept only incoming traffic with the same tag. Necessary changes are required on the connected switch port to handle bi-directional tagged traffic

- -vaExternalPortReconfigWithValueInVAppProperties

External port overwrite property. If set to 1, overwrite the external port-related parameters in Pulse Connect Secure or Pulse Policy Secure with the ones defined here. See External Port Behavior While Deploying a Template table and the External Port Behavior During a New Deployment table.

New Parameters

- - vaAcceptLicenseAgreement

By default, this value is set to y. This specifies that admin has accepted the EULA.

- -vaEnableLicenseServer

Flag to specify if the Virtual Appliance has to come up as a Normal Virtual Appliance or a Virtual License Server. By default, this value is set to n. If set to y, then the Virtual Appliance would function as a Virtual License Server.

- -enableRESTAPI

By default, this value is set to n. When set to y, enables REST access for the admin user created as part of initial config. (Default option is set to disabled)

  • From the 9.1R3 release, Pulse Connect Secure supports zero touch provisioning. This feature candetect and assign DHCP networking settings automatically at the Pulse Connect Secure boot up. The Pulse Connect Secure parameters should be set to null in order to fetch the networking configuration automatically from the DHCP server.
  • PCS presumes that IP leased from DHCP server is valid for a long time. Hence PCS does not request for DHCP renewals.
  • The Pulse Connect Secure and Pulse Policy Secure-related parameters are used for the initial configuration of the virtual appliance. The script does not validate these parameters. If the values passed are not valid, the installation will stop at the location where a correct value needs to be provided. The administrator can connect to the virtual appliance using the VT or serial console to complete the initial setup.

The Management Port Behavior While Deploying a Template table and the Internal Port Behavior While Deploying a Template table define the behavior based on options passed while deploying the template.

The following table contains data regarding the Management Port Behavior While Deploying a Template:

Management Port Overwrite Value

Management Port Configuration Values

Pulse Connect Secure and Pulse Policy Secure Behavior

0

The management port IP address, netmask address and gateway address are valid values.

Because managementPortReconfigWithValueInVAppProperties is 0, the management port-related parameters are retained and are not overwritten with values in the passed configuration.

0

The management port IP address, netmask address and gateway address are not valid values.

Because managementPortReconfigWithValueInVAppProperties is 0, the management port-related parameters are retained and are not overwritten with values in the passed configuration.

1

The management port IP address, netmask address and gateway address are valid values.

You can configure the management port with the new values passed while deploying. The existing cache value is overwritten with new values.

1

The management port IP address, netmask address and gateway address are not valid values.

During the boot process, the administrator is asked whether to configure the management port.

Enter N to skip the management port configuration. Enter Y to specify valid values for the management port.

The following table contains data regarding the Internal Port Behavior While Deploying a Template:

Internal Port Overwrite Value

Internal Port Configuration

Pulse Connect Secure and Pulse Policy Secure Behavior

0

Valid or invalid configuration

Do nothing. The internal port should already be set in the Pulse Connect Secure or Policy Secure. If the internal port is not configured, prompt the administrator to enter the internal port configuration.

1

Valid configuration

Use the new values passed while deploying and configure the internal port.

1

Invalid configuration

During the boot process, the administrator is asked whether to configure the internal port.

Enter N to skip the internal port configuration. Enter Y to specify valid values for the internal port.

The following table contains data regarding the External Port Behavior While Deploying a Template:

External Port Overwrite Value

Management Port Configuration Values

Pulse Connect Secure and Pulse Policy Secure Behavior

0

The external port IP address, netmask address and gateway address are valid values.

Because externalPortReconfigWithValueInVAppProperties is 0, the external port-related parameters are retained and are not overwritten with values in the passed configuration.

0

The external port IP address, netmask address and gateway address are not valid values.

Because externalPortReconfigWithValueInVAppProperties is 0, the external port-related parameters are retained and are not overwritten with values in the passed configuration.

1

The external port IP address, netmask address and gateway address are valid values.

You can configure the external port with the new values passed while deploying. The existing cache value is overwritten with new values.

1

The external port IP address, netmask address and gateway address are not valid values.

During the boot process, the administrator is asked whether to configure the external port.

Enter N to skip the external port configuration. Enter Y to specify valid values for the management port.

When deploying a new virtual appliance, the Pulse Connect Secure or Pulse Policy Secure does not contain any configuration. The behavior in this case is shown in the Management Port Behavior During a New Deployment table and the Internal Port Behavior During a New Deployment table.

The following table contains data regarding the Management Port Behavior During a New Deployment:

Management Port Overwrite Value

Management Port Configuration Values

Pulse Connect Secure and Pulse Policy Secure Behavior

0

The management port IP address, netmask address and gateway address are valid values.

Valid management configuration is available. Configure the Pulse Connect Secure or Pulse Policy Secure with these values.

0

The management port IP address, netmask address and gateway address are not valid values.

Invalid management configuration is present. Do not configure the management port properties.

1

The management port IP address, netmask address and gateway address are valid values.

Valid management configuration is available. Configure the Pulse Connect Secure or Pulse Policy Secure with these values. The existing cache value is overwritten with new values.

1

The management port IP address, netmask address and gateway address are not valid values.

During the boot process, the administrator is asked whether to configure the management port.

Enter N to skip the management port configuration. Enter Y to specify valid values for the management port.

The following table contains data regarding the Internal Port Behavior During a New Deployment:

Internal Port Overwrite Value

Internal Port Configuration

Pulse Connect Secure and Pulse Policy Secure Behavior

0 or 1

Valid configuration

Configure the internal port based on the passed configuration values.

0 or 1

Invalid configuration

During the boot process, the administrator is asked whether to configure the internal port.

The following table contains data regarding the External Port Behavior During a New Deployment:

External Port Overwrite Value

External Port Configuration

Pulse Connect Secure and Pulse Policy Secure Behavior

0

The external port IP address, netmask address and gateway address are valid values.

Valid external configuration is available. Configure the Pulse Connect Secure or Pulse Policy Secure with these values.

0

The external port IP address, netmask address and gateway address are not valid values.

Invalid external configuration is present. Do not configure the management port properties.

1

The external port IP address, netmask address and gateway address are valid values.

Valid external configuration is available. Configure the Pulse Connect Secure or Pulse Policy Secure with these values. The existing cache value is overwritten with new values.

1

The external port IP address, netmask address and gateway address are not valid values.

During the boot process, the administrator is asked whether to configure the external port.

Enter N to skip the external port configuration. Enter Y to specify valid values for the external port.

After running the create-va.pl script, you can use the VMware vSphere CLI vmware-cmd utility or the VMware vSphere Client to view the status. Once vSphere reports the system is ready, you can log in to the virtual appliance.

The vSphere Client may display a “VMware Tools not installed on this virtual machine” message. You can ignore this message. You do not have to install VMware Tools.

Example Output

The following example passes the IP address of the internal port through the command line and uses the va.conf configuration file for the values of all other parameters.

perl create-va.pl --configFile /root/user1/ovf_dir//va_config_files/vlan_tagging.conf --ipAddress 3.3.125.3 --extipAddress 2.2.125.3 --mgmtipAddress 10.209.125.3 --vaName 9_0R3_PSA-V_125_3 --ovffile /root/user1/ovf_dir//PSA-V-VMWARE-PCS-9.0R3-64003.5/PSA-V-VMWARE-PCS-64003.5-VT.ovf

Your output will look similar to the following:

The following values are used for creating and configuring the VA

 

        OVF File:                       /root/user1/ovf_dir//PSA-V-VMWARE-PCS-9.0R3-64003.5/PSA-V-VMWARE-PCS-64003.5-VT.ovf

        VA Name:                        9_0R3_PSA-V_125_3

 

        vCenter Server:                 qavc.bnglab.psecure.net:443

        vCenter Username:               user1

        vCenter Password:               Psecure123\$

 

        Datacenter Name:                PBU-QA

        Cluster / Host Name:            PBU-QA-CLUSTER/pbuesx6.bnglab.psecure.net

 

        IP Address:                     3.3.125.3

        Netmask:                        255.0.0.0

        Gateway:                        3.0.0.1

        Default VLAN:                   3

        Management IP Address:                  10.209.125.3

        Management Netmask:                     255.255.240.0

        Management Gateway:                     10.209.127.254

        Management Default VLAN:                        -1

        External IP Address:                    2.2.125.3

        External Netmask:                       255.0.0.0

        External Gateway:                       2.0.0.1

        External Default VLAN:                  2

        Reconfigure Internal Port with value in VAapp properties:                       0

        Reconfigure Management Port with value in VAapp properties:                     0

        Reconfigure External Port with value in VAapp properties:                       0

        Primary DNS:                    1.1.1.1

        Secondary DNS:                  3.3.115.226

        DNS Domains:                    pcsqa.psecure.net

        WINS:                           2.2.2.2

        Admin Username:                 admindb

        Admin Password:                 dana123

        Enable REST API:                        y

        Common Name:                    pcs.psecure.net

        Organization:                   PulseSecure

        Ramdom Text:                    PulseSecure_your_Net

        Accept License Agreement:       y

 

        Enable Virtual License Server:  n

 

        ExternalNetwork Mapped to:      "VLAN_TAGGING"

        InternalNetwork Mapped to:      "VLAN_TAGGING"

        ManagementNetwork Mapped to:    "PBU-QA-MGMT"

 

Command = ovftool --skipManifestCheck --name=9_0R3_PSA-V_125_3 --prop:vaIVEConfig="vaIPAddress=3.3.125.3;vaNetmask=255.0.0.0;vaGateway=3.0.0.1;vaDefaultVlan=3;vaManagementIPAddress=10.209.125.3

;vaManagementNetmask=255.255.240.0;vaManagementGateway=10.209.127.254;vaManagementDefaultVlan=-1;vaInternalPortReconfigWithValueInVAppProperties=0;vaExternalIPAddress=2.2.125.3;vaExternalNetmask

=255.0.0.0;vaExternalGateway=2.0.0.1;vaExternalDefaultVlan=2;vaExternalPortReconfigWithValueInVAppProperties=0;vaManagementPortReconfigWithValueInVAppProperties=0;vaPrimaryDNS=1.1.1.1;vaSecondar

yDNS=3.3.115.226;vaDNSDomain=pcsqa.psecure.net;vaWINSServer=2.2.2.2;vaCommonName=pcs.psecure.net;vaOrganization=PulseSecure;vaRandomText=PulseSecure_your_Net;vaAdminUsername=admindb;vaAdminPassw

ord=dana123;vaAcceptLicenseAgreement=y;vaEnableLicenseServer=n;vaAdminEnableREST=y " --net:ExternalNetwork="VLAN_TAGGING" --net:InternalNetwork="VLAN_TAGGING" --net:ManagementNetwork="PBU-QA-MGM

T" --datastore=HP_iSCSI_02 --powerOn /root/user1/ovf_dir//PSA-V-VMWARE-PCS-9.0R3-64003.5/PSA-V-VMWARE-PCS-64003.5-VT.ovf.ovf vi://user1:Psecure123\[email protected]:443/PBU-QA/host

/PBU-QA-CLUSTER/pbuesx6.bnglab.psecure.net

 

Deploying VA. /root/user1 , /root/user1/ovf_dir//PSA-V-VMWARE-PCS-9.0R3-64003.5/PSA-V-VMWARE-PCS-64003.5-VT.ovf.ovf.......

Status: Task completed

Verifying Your Deployment with vmware-cmd

Once deployed, the virtual appliance powers on and configures the initial settings for the Pulse Connect Secure or Pulse Policy Secure using the parameters passed by the create-va.pl script. The virtual appliance sets the status of the initial configuration in the valnitConfigStatus guest environment variable. You can check the status of the virtual appliance setup with the VMware vSphere CLI vmware-cmd command. Use the following format:

vmware-cmd -H vCenterName -h ESXi-name vm-cfg-path getguestinfo guestinfo.vaInitConfigStatus

For example:

vmware-cmd -H 10.204.54.210 -h asgdevesx2.bngrd.pulsesecure.net \

-U Admin -P Passwd123 "/vmfs/volumes/ds1/SecureAccess/SecureAccess.vmx" \

getguestinfo guestinfo.vaInitConfigStatus

Your output should look similar to this:

getguestinfo(guestinfo.vaInitConfigStatus) = Status: Success Log: Configuring    VA settings from OVF; Initial network configuration complete; The self-signed    digital certificate was successfully created; VA Initial Configuration    completed successfully.

 

You can ignore the following message:

vmsvc[280]: [warning] [powerops] Unable to send the status RPC

This message appears when you are running Pulse Connect Secure release 8.0R5 and later with ESXi 4.1U3 or ESXi4.x and you power off and then power up the virtual appliance.