Cisco Crosswork Data Gateway 7.2 Installation and Configuration Guide for Cloud Applications

PDF

Cisco Crosswork Data Gateway 7.2 Installation and Configuration Guide for Cloud Applications

Deploy Crosswork Data Gateway

Want to summarize with AI?

Log in

Guides you through the deployment of Crosswork Data Gateway by outlining steps for autoenrollment, installation on VMware or OpenStack platforms, registration with Crosswork Cloud applications, and final verification of the deployment.


Procedure

1.

Determine if you want to configure autoenroll or obtain the enrollment token. See Autoenroll Crosswork Data Gateway with Crosswork Cloud.

2.

Deploy Crosswork Data Gateway on the preferred virtualization platform:

3.

Register Crosswork Data Gateway with Crosswork Cloud applications

4.

Verify the Crosswork Data Gateway deployment


Configure and enable enrollment tokens

Before you begin

To enroll Crosswork Data Gateway with Crosswork Cloud, create a new enrollment token or use an existing token. Optionally, use it to preconfigure Crosswork Data Gateway for automatic enrollment.

Procedure

1.

Decide when to generate or use the enrollment token.

Note

You can review the available tokens in the Crosswork Cloud UI by navigating to Configure > Data Gateways > Add Crosswork Data Gateway. Check the Remaining Uses column to ensure that there are sufficient uses that are left for the token.

2.

Based on your security preference, acquire the enrollment token via Base64 encoding scheme or export it using SCP.


Guidelines for enrollment token creation

These guidelines help you create enrollment tokens.

  • Create multiple enrollment tokens as needed. For each token, set a validity period of up to one year from the creation date and define the number of Crosswork Data Gateways it can enroll (at least one gateway). See Configure and enable enrollment tokens.

  • If you plan to deploy multiple Crosswork Data Gateways in a single installation, generate a single token with a usage limit equal to the number of Crosswork Data Gateways and an expiration date that matches the deployment timeline.

  • Create individual tokens for each Crosswork Data Gateway, especially when different team members are responsible for deployment.

  • Assign appropriate usage limits and expiration periods for each token. This approach helps prevent the sharing of a single token across multiple users and minimizes security risks.

  • Enrollment tokens are required only during the enrollment of a Crosswork Data Gateway to Crosswork Cloud. After a Crosswork Data Gateway has been enrolled, the enrollment token is no longer needed. Revoke the token unless you plan to enroll additional Crosswork Data Gateways.

  • If an enrollment token has unused quotas or valid durations and is not required for any future enrollment, delete it. As a security best practice, avoid retaining unused tokens to minimize the risk of unauthorized use. See Delete enrollment tokens.


Reuse an enrollment token in Crosswork Cloud

You can reuse an existing enrollment token when configuring the Crosswork Data Gateway. Reuse the token if it still has available uses.

To check the remaining uses of a token, in the Crosswork Cloud UI, go to the Configure > Data Gateways > Add Crosswork Data Gateway page. The page lists available tokens and their states. Review the Remaining Uses column.

Procedure

1.

Log in to Crosswork Cloud.

2.

From the main window, click Configure > Data Gateways. The Data Gateways page opens.

3.

Click Add Crosswork Data Gateway

4.

On the Add Crosswork Data Gateway page, select the row for the token you intend to use.

Check the expiration date of the selected token. If you plan to install and register the Crosswork Data Gateway after the token expires, choose a different token. You can review the Valid Until column on the Add Crosswork Data Gateway page to determine the expiration information.

Figure 1. Crosswork Cloud UI
Note

Clicking on the Next button will take you to the next stage in the enrollment workflow. For example, upon choosing a row to use a pre-existing token and selecting Next, Crosswork displays the list of tokens for which the enrollment is pending.

5.

Click View Enrollment Token.

The View Enrollment Token window displays the token in a secure JSON format.
Figure 2. Enrollment token
6.

Click Copy to copy the token. Paste the copied token into a local file.

What to do next

Paste the copied enrollment token into the configuration file for installing Crosswork Data Gateway.


Create an enrollment token in Crosswork Cloud UI

Procedure

1.

Log in to Crosswork Cloud.

2.

Choose Configure > Data Gateways.

The Data Gateways page opens.
3.

Click Add Crosswork Data Gateway.

4.

In the Crosswork Data Gateway page, click Manage Tokens.

Figure 3. Crosswork Cloud UI
5.

Click Create Enrollment Token.

The Create Enrollment Token window opens.
6.

Enter the token information.

  • Token Name: Specify a unique name to the token that you are creating.

  • Description: Enter a detailed description of the token.

  • Number of Uses: Specify the permissible number of token uses. The minimum token usage limit is 1 and the maximum is 50.

  • Valid Until: Specify the validity period for the token. The minimum duration is 1 and the maximum is 366 days.

Figure 4. Create enrollment token
7.

Click Create.

The enrollment token is created and displayed in the View Enrollment Token window. The token's content is displayed in a secure JSON format.

Figure 5. Enrollment token
8.

Click Copy to copy the token. Paste the copied enrollment token into the configuration file for installing Crosswork Data Gateway.


Add the enrollment token to the configuration file

Add the enrollment token to the configuration file to enable automatic enrollment of Crosswork Data Gateway with Crosswork Cloud.

Use these steps to enable the automatic enrollment of Crosswork Data Gateway with Crosswork Cloud.

Before you begin

Copy the enrollment token from the Crosswork Cloud UI. Keep it easily accessible.

Procedure

1.

During Crosswork Data Gateway deployment, paste the enrollment token in the applicable platform configuration file:

  • VMware

    • vCenter vSphere Client: Paste the token text into the Auto Enrollment Package Transfer > Enrollment Token UI field.

    • OVF Tool: Locate the script and under the ## Enrollment Token for Crosswork Cloud section, paste the token text after CloudEnrollmentToken=

  • OpenStack: Locate the config.txt file and under the ## Enrollment Token for Crosswork Cloud section, paste the token text after CloudEnrollmentToken=

2.

Authorize Crosswork Data Gateway to access Crosswork Cloud.

  1. Log in to the Crosswork Cloud UI.

  2. Choose Configure > Data Gateways. The Data Gateways page opens.

  3. In the table, locate the recently enrolled Data Gateway and click Allow in the Actions column. This step allows Data Gateway to establish communication with the Crosswork Cloud application.


Autoenroll Crosswork Data Gateway with Crosswork Cloud

To enable autoenrollment of Crosswork Data Gateway, complete these steps.

You can choose to preconfigure a single or multiple Crosswork Data Gateway instances to enroll automatically with Crosswork Cloud using an enrollment token. You can opt to generate a fresh enrollment token (CloudEnrollmentToken) or make use of an existing token.

  1. Enroll Crosswork Data Gateway

  2. Add the enrollment token to the configuration file


Delete enrollment tokens

Delete any enrollment token that has unused quotas or a valid duration and is not needed for future enrollments. As a security best practice, avoid retaining unused tokens to reduce the risk of unauthorized access.

Before you begin

Ensure that you have the name of the enrollment token that you want to delete.

Procedure

1.

Log in to Crosswork Cloud.

2.

Choose Configure > Data Gateways.

The Data Gateways page opens.
3.

Click Add Crosswork Data Gateway.

4.

On the Crosswork Data Gateway page, click Manage Tokens.

The available enrollment tokens are listed.
Figure 6. Manage tokens
5.

Select the token that you want to delete and click Revoke Token.

6.

Review the information in the confirmation window and click Yes to proceed.


Enroll Crosswork Data Gateway


Obtain a Base64-encoded enrollment token

Generate a Base64-encoded enrollment token (registration file) for Crosswork Cloud.

You can create an enrollment package (.json) on your local machine by copying package contents from the Crosswork Data Gateway console. The file is used to register with Crosswork Cloud.

Before you begin

Verify permissions to view and copy the enrollment package.

Procedure

1.

Log in to Crosswork Data Gateway.

2.

Choose Get Enrollment Package > Display base64 Encoded Enrollment Package.

The enrollment package content is displayed on the console
3.

Copy the package contents, paste them into a .json file, and save this file.

The enrollment file (Crosswork Cloud registration file) is generated with a unique .json name and can be uploaded to Crosswork Cloud for device registration.


Obtain the enrollment token using SCP

Obtain the enrollment token from Crosswork Data Gateway using SCP.

Use these steps to export the enrollment token using Secure Copy Protocol (SCP).

Before you begin

Ensure you have the information ready and are aware of the requirements:

  • The SCP server must be running on the target host.

  • Export the enrollment package to the local machine you use to access the Crosswork server.

  • If you are not using the default port (22), specify the port in the SCP command. For example, to export the package as an admin user and place it in the user’s home directory on port 4000, use the command:

    scp -P4000 admin@<ip_address>:/home/admin

Procedure

1.

Log in to Crosswork Data Gateway.

2.

Select Get Enrollment Package .

Figure 7. Main menu
Main Menu
3.

Choose Export Enrollment Package.

4.

Click OK .

5.

Enter the SCP URI for exporting the enrollment package, then click OK.

6.

Enter the SCP passphrase or the SCP user password and click OK.

The enrollment file, also known as the Crosswork Cloud registration file, created with a unique .json filename, can be uploaded to Crosswork Cloud.


Deploy Crosswork Data Gateway using OpenStack

Before you begin

To deploy Crosswork Data Gateway using OpenStack, perform these steps.

Procedure

1.

Choose the OpenStack method to deploy Crosswork Data Gateway.

2.

Depending on the deployment method, choose the method to verify the Crosswork Data Gateway installation.


Deploy Crosswork Data Gateway with OpenStack CLI

Deploy the Crosswork Data Gateway in an OpenStack environment using the CLI to configure required resources and validate the installation.

This section explains how to deploy the Crosswork Data Gateway using the OpenStack CLI. The steps in this guide focus on configuring networks, ports, and volumes within the OpenStack environment. These are recommended deployment methods. This guide does not cover other approaches.

Before you begin

Verify that these prerequisites are met:

  • Access to an OpenStack environment with the necessary privileges to create networks, ports, and volumes.

  • A Python environment (either version 2.x or 3.x) installed on the system where you will perform the verification.

Procedure

1.

Download the Crosswork Data Gateway (qcow2) package.

  1. Download the Crosswork Data Gateway image (*.bios.signed.bin) from cisco.com. For the deployment of the current version, use the package name signed-cdg-deployment-7.2.0-32.bios.qcow2.tar.gz and cdg-7.2.0-sample-install-scripts.tar.gz.

  2. Place the downloaded files in a directory that OpenStack can access.

2.

Validate the downloaded qcow2 package:

  1. Unzip the installer bundle using this command:

    tar -xvzf signed-cdg-deployment-7.2.0-32.bios.qcow2.tar.gz
    
    This command extracts the contents of the downloaded package.
  2. After extraction, the directory should contain these files:

    README
    signed-cdg-deployment-7.2.0-32.bios.qcow2.tar.gz
    cisco_x509_verify_release.py3
    cisco_x509_verify_release
    CDG-CCO_RELEASE
  3. Verify the signature of the build. To verify the integrity and authenticity of the package, run the signature verification script. Ensure the machine where the script is executed has HTTP access to cisco.com. If access is restricted or you do not receive a successful verification message after running the script, consult the Cisco Customer Experience team for assistance.

  4. Execute the appropriate command for your Python version:

    Table 1. Supported Python version

    If the Python version is...

    Use the command...

    Python 2.x

    python cisco_x509_verify_release.py -e <.cer file> -i <.tar.gz file> -s <.tar.gz.signature file> -v dgst -sha512

    Python 3.x

    python cisco_x509_verify_release.py3 -e <.cer file> -i <.tar.gz file> -s <.tar.gz.signature file> -v dgst -sha512
3.

Choose one of these options based on the addressing method you plan to use for the Crosswork Data Gateway VM:

4.

Confirm that the deployment is successful. See Verify installation of Crosswork Data Gateway VMs with OpenStack CLI.

What to do next

Enroll Crosswork Data Gateway with Crosswork Cloud by generating and exporting the enrollment package. See Enroll Crosswork Data Gateway.


Configure a Crosswork Data Gateway VM with the static addressing

For each VM, update and save a unique config.txt.

Procedure

1.

Modify the config.txt file.

  • Navigate to the directory where you have downloaded the Crosswork Data Gateway release image.

  • Open the config.txt file and modify the parameters to suit your installation requirements. For more information about the parameters, refer to Sample configuration file for the static addressing and Configuration parameters required for Crosswork Data Gateway deployment for more information on parameters.

  • Save the config.txt file with the hostname of the VM, or use a name that helps you identify the VM you updated.

  • Record the vNIC IP address that you provide in the config.txt file. Use this same IP address when creating the ports for the VM in Step 6.

2.

Log in to the OpenStack VM from the CLI.

3.

Create the resource profile or flavor for the VMs.

openstack flavor create --public --id auto --vcpus 8 --ram 32768 --disk 74 cdg-cloud
4.

Create an image for the OpenStack install.

openstack image create --public --disk-format qcow2 --container-format bare --file <bios_release_image_file> <image_name>

For example:

openstack image create --public --disk-format qcow2 --container-format bare --file cdg-cloud-deployment-8.0.0-32.bios.qcow2 cdg-cloud-bios
5.

Create the VM-specific parameters for each Crosswork Data Gateway VM.

  1. (Optional) Create a 24-GB second data disk.

    openstack volume create --size 
    

    Example:

    openstack volume create --size 24 cdg-vol1
  2. Create a security policy to allow incoming TCP, UDP, or ICMP connections in OpenStack, as it does not allow them by default.

    openstack security group create open
    openstack security group rule create open --protocol tcp --dst-port <port_number> --remote-ip <IP_address>
    openstack security group rule create open --protocol udp --dst-port <port_number> --remote-ip <IP_address>
    openstack security group rule create --protocol icmp open
  3. Create ports with a specified IP address exclusively for Crosswork Data Gateway VMs using the static addressing.

    This step is optional unless you are using static addressing, in which case it is required.

    openstack port create --network network_name --fixed-ip subnet=subnet_name,ip-address=port_ip_address port_name

    Example:

    To create ports for Crosswork Data Gateway VMs with 1 NICs using static addressing.
    
    openstack port create --network network1 --fixed-ip subnet=subnet1,ip-address=10.10.11.101 mgmt-port1
    
    Note
    • network1 is the management network in your environment.

    • subnet1 is the subnet on the management network.

    • mgmt-port1 is the port that we are creating with the IP address as 10.10.11.101 for vNIC0 as specified in the config.txt file for the VM.

  4. Apply the security policy to the ports.

    openstack port set <port_name> --security-group open

    Example:

    openstack port set mgmt-port1 --security-group open
6.

Install one or more Crosswork Data Gateway VMs.

  1. To install a Crosswork Data Gateway VM with one NIC that uses the static addressing:

    openstack server create --flavor <flavor_name> --image <image_name> --port <mgmt-port> 
    --config-drive True --user-data <config.txt> --block-device-mapping
    vdb=<volume_name>:::true <CDG_hostname>
    

    Example:

    openstack server create --flavor cdg-cloud --image cdg-cloud-bios --port mgmt-port1 
    --config-drive True --user-data config-nodhcp-cdg1.txt --block-device-mapping
    vdb=cdg1:::true cdg1-nodhcp
    
    OR
    openstack server create --config-drive true --flavor cdg --image <image_name> --key-name default
    --nic net-id=<network id>,v4-fixed-ip=<CDG static IP> --security-group <security group name> --user-data
    <config.txt> <CDG_hostname>
    
    Note

    The number of networks specified in the installation command depends on how many NICs are present in the deployment.

    For example, the command to install a VM with 2 NICs is: openstack server create --flavor cdg-cloud --image cdg-cloud-bios --port mgmt-port2 --port south-port2 --config-drive True --user-data config-nodhcp_2nic.txt --block-device-mapping vdb=cdg-vol:::true cdg-bios-nodhcp_2NIC

Sample configuration file for the static addressing

This is a sample config.txt file for a one NIC deployment with the hostname as cdg1-nodhcp when using the static addressing. Mandatory parameters in this sample are highlighted.

#### Required Parameters

### Deployment Settings

## Resource Profile
# How much memory and disk should be allocated?
# Default value: Crosswork-Cloud
Profile=Crosswork-Cloud

### Host Information

## Hostname
# Please enter the server's hostname (dg.localdomain)
Hostname=changeme

## Description
# Please enter a short, user friendly description for display in the Crosswork Controller
Description=changeme

### Passphrases

## dg-admin Passphrase
# Please enter a passphrase for the dg-admin user. It must be at least 10 characters.
dg-adminPassword=changeme

## dg-oper Passphrase
# Please enter a passphrase for the dg-oper user. It must be at least 10 characters.
dg-operPassword=changeme

### vNIC0 IPv4 Address

## vNIC0 IPv4 Method
# Skip or statically assign the vNIC0 IPv4 address
# Default value: DHCP
Vnic0IPv4Method=None

## vNIC0 IPv4 Address
# Please enter the server's IPv4 vNIC0 address if statically assigned
Vnic0IPv4Address=0.0.0.0

## vNIC0 IPv4 Netmask
# Please enter the server's IPv4 vNIC0 netmask if statically assigned
Vnic0IPv4Netmask=0.0.0.0

## vNIC0 IPv4 Skip Gateway
# Skip statically assigning a gateway address to communicate with other devices, VMs, or services
# Default value: False
Vnic0IPv4SkipGateway=False

## vNIC0 IPv4 Gateway
# Please enter the server's IPv4 vNIC0 gateway if statically assigned
Vnic0IPv4Gateway=0.0.0.1

### vNIC0 IPv6 Address

## vNIC0 IPv6 Method
# Skip or statically assign the vNIC0 IPv6 address
# Default value: None
Vnic0IPv6Method=None

## vNIC0 IPv6 Address
# Please enter the server's IPv6 vNIC0 address if statically assigned
Vnic0IPv6Address=::0

## vNIC0 IPv6 Netmask
# Please enter the server's IPv6 vNIC0 netmask if statically assigned
Vnic0IPv6Netmask=64

## vNIC0 IPv6 Skip Gateway
# Skip statically assigning a gateway address to communicate with other devices, VMs, or services
# Default value: False
Vnic0IPv6SkipGateway=False

## vNIC0 IPv6 Gateway
# Please enter the server's IPv6 vNIC0 gateway if statically assigned
Vnic0IPv6Gateway=::1

### DNS Servers

## DNS Address
# Please enter a space delimited list of DNS server addresses accessible from the Default Gateway role
DNS=changeme

## DNS Search Domain
# Please enter the DNS search domain
Domain=changeme

### NTPv4 Servers

## NTPv4 Servers
# Please enter a space delimited list of NTPv4 server hostnames or addresses accessible from the Default Gateway role
NTP=changeme

#### Optional Parameters

### Host Information

## Label
# An optional freeform label used by the Crosswork Controller to categorize and group multiple DG instances
Label=

## Allow Usable RFC 8190 Addresses
# If an address for vNIC0, vNIC1, vNIC2, or vNIC3 falls into a usable range identified by RFC 8190 or its predecessors, reject, accept, or request confirmation during initial configuration
# Default value: Yes
AllowRFC8190=Yes

## Crosswork Data Gateway Private Key URI
# Please enter the optional Crosswork Data Gateway private key URI retrieved using SCP (user@host:/path/to/file)
DGCertKey=

## Crosswork Data Gateway Certificate File URI
# Please enter the optional Crosswork Data Gateway PEM formatted certificate file URI retrieved using SCP (user@host:/path/to/file)
DGCertChain=

## Crosswork Data Gateway Certificate File and Key Passphrase
# Please enter the SCP user passphrase to retrieve the Crosswork Data Gateway PEM formatted certificate file and private key
DGCertChainPwd=


## High Availability Network Mode
# Please enter the mode for the HA Network. This will determine whether all interfaces require an address.
HANetworkMode=L2

### DNS Servers

## DNS Security Extensions
# Use DNS security extensions
# Default value: False
DNSSEC=False

## DNS over TLS
# Use DNS over TLS
# Default value: False
DNSTLS=False

## Multicast DNS
# Use multicast DNS
# Default value: False
mDNS=False

## Link-Local Multicast Name Resolution
# Use link-local multicast name resolution
# Default value: False
LLMNR=False

### NTPv4 Servers

## NTPv4 Authentication
# Use authentication for all NTPv4 servers
# Default value: False
NTPAuth=False

## NTPv4 Keys
# Please enter a space delimited list of IDs present in the key file. The number of IDs in the list must match the number of servers, even if some or all are the same ID.
NTPKey=

## NTPv4 Key File URI
# Please enter the optional Chrony key file retrieved using SCP (user@host:/path/to/file)
NTPKeyFile=

## NTPv4 Key File Passphrase
# Please enter the SCP user passphrase to retrieve the Chrony key file
NTPKeyFilePwd=

### Remote Syslog Servers

## Remote Syslog Server
# Send Syslog messages to a remote host
# Default value: False
UseRemoteSyslog=False

## Syslog Multiserver Mode
# Send syslog to all servers (simultaneous) or one at a time (failover)
SyslogMultiserverMode=Simultaneous

## Syslog Server Addresses
# Please enter a space delimited list of hostnames, IPv4 addresses, or IPv6 addresses of the Syslog servers accessible from the Default Gateway role
SyslogAddress=

## Syslog Server Port
# Please enter a Syslog port
# Default value: 514
SyslogPort=514

## Syslog Server Protocol
# Please enter the Syslog protocol
# Default value: UDP
SyslogProtocol=UDP

## Syslog over TLS
# Use Syslog over TLS (must use TCP or RELP as the protocol)
# Default value: False
SyslogTLS=False

## Syslog TLS Peer Name
# Please enter the Syslog server's hostname exactly as entered in the server certificate subjectAltName or subject common name
SyslogPeerName=

## Syslog Root Certificate File URI
# Please enter the optional Syslog root PEM formatted certificate file retrieved using SCP (user@host:/path/to/file)
SyslogCertChain=

## Syslog Certificate File Passphrase
# Please enter the SCP user passphrase to retrieve the Syslog PEM formatted cetificate file
SyslogCertChainPwd=

### Remote Auditd Servers

## Remote auditd Server
# Send auditd messages to a remote host
# Default value: False
UseRemoteAuditd=False

## Auditd Server Address
# Please enter a hostname, IPv4 address, or IPv6 address of the auditd server accessible from the Default Gateway role
AuditdAddress=

## Auditd Server Port
# Please enter na auditd port
# Default value: 60
AuditdPort=60

### Controller Settings

## Proxy Server URL
# Please enter the optional HTTP/HTTPS proxy URL
ProxyURL=

## Proxy Server Bypass List
# Please enter an optional space delimited list of subnets and domains that will not be sent to the proxy server
ProxyBypass=

## Authenticated Proxy Username
# Please enter an optional username for an authenticated proxy servers
ProxyUsername=

## Authenticated Proxy Passphrase
# Please enter an optional passphrase for an authenticated proxy server
ProxyPassphrase=

## HTTPS Proxy SSL/TLS Certificate File URI
# Please enter the optional HTTPS Proxy PEM formatted SSL/TLS certificate file URI retrieved using SCP (user@host:/path/to/file). This will override the Controller SSL/TLS Certificate File URI.
ProxyCertChain=

## HTTPS Proxy SSL/TLS Certificate File Passphrase
# Please enter the SCP user passphrase to retrieve the HTTPS Proxy PEM formatted SSL/TLS certificate file
ProxyCertChainPwd=

#### Static Parameters  - Do not change this section

### Deployment Settings

## Deployment Type
# What type of deployment is this?
# Default value: Crosswork Cloud
Deployment=Crosswork Cloud

### Host Information

## Data Disk Size
# Data disk size in GB mounted as /opt/dg/appdata
DGAppdataDisk=24

### vNIC Role Assignment

## Default Gateway
# The interface used as the Default Gateway and for DNS and NTP traffic
# Default value: eth0
NicDefaultGateway=eth0

## Administration
# The interface used for SSH access to the VM
# Default value: eth0
NicAdministration=eth0

## External Logging
# The interface used to send logs to an external logging server
# Default value: eth0
NicExternalLogging=eth0

## Management
# The interface used for enrollment and other management traffic
# Default value: eth0
NicManagement=eth0

## Control
# The interface used for destination, device, and collection configuration
# Default value: eth0
NicControl=eth0

## Northbound System Data
# The interface used to send collection data to the system destination
# Default value: eth0
NicNBSystemData=eth0

## Northbound External Data
# The interface used to send collection data to external destinations
# Default value: eth0
NicNBExternalData=eth0

## Southbound Data
# The interface used collect data from all devices
# Default value: eth0
NicSBData=eth0

### Auto Enrollment Package Transfer

## Enrollment Token for Crosswork Cloud
# Please enter the optional enrollment token to auto enroll with Crosswork Cloud
CloudEnrollmentToken=TOKEN

## Enrollment Destination Host and Path
# Please enter the optional SCP destination host and path to transfer the enrollment package using SCP (user@host:/path/to/file)
EnrollmentURI=

## Enrollment Passphrase
# Please enter the optional SCP user passphrase to transfer the enrollment package
EnrollmentPassphrase=

Configure DHCP addressing for a Crosswork Data Gateway VM

Set up a Crosswork Data Gateway VM with DHCP-addressed networking using OpenStack.

Use this procedure to prepare and deploy Crosswork Data Gateway VMs with DHCP. Steps include preparing the configuration file, setting up resources in OpenStack, and instantiating the VM.

Before you begin

Ensure you have the Crosswork Data Gateway release image downloaded.

Procedure

1.

Update the config.txt configuration file with VM-specific parameters.

2.

Log in to the target OpenStack environment via CLI.

3.

Create a resource profile or flavor for the VM:

openstack flavor create --public --id auto --vcpus 8 --ram 32768 --disk 74 cdg-cloud
4.

Create an image for OpenStack install.

openstack image create --public --disk-format qcow2 --container-format bare --file <bios_release_image_file> <image_name>

For example:

openstack image create --public --disk-format qcow2 --container-format bare --file cdg-cloud-deployment-8.0.0-32.bios.qcow2 cdg-cloud-bios
5.

Enter the VM-specific parameters for each Crosswork Data Gateway VM.

  1. (Optional) Create a 24 GB second data disk.

    openstack volume create --size 24 cdg-vol1

    Example:

    openstack volume create --size 24 cdg-vol1
  2. Create a security policy to allow the incoming TCP, UDP, or ICMP connections.

    openstack security group create open
    openstack security group rule create open --protocol tcp --dst-port <port_number> --remote-ip <IP_address>
    openstack security group rule create open --protocol udp --dst-port <port_number> --remote-ip <IP_address>
    openstack security group rule create --protocol icmp open
    Note
    OpenStack does not allow incoming TCP, UDP, or ICMP connections by default. Create a security policy to allow incoming connections from the TCP, UDP, or ICMP protocols.
  3. Create ports with a specified IP address ONLY for Crosswork Data Gateway VMs using the static addressing.

    openstack port create --network network_name --fixed-ip subnet=subnet_name,ip-address=port_ip_address port_name

    Example:

    To create ports for CDG VMs with 1 NICs using static addressing:

    Example:

    
    openstack port create --network network1 --fixed-ip subnet=subnet1,ip-address=10.10.11.101 mgmt-port1
    

    In the previous command, network1 is the management network in your environment, subnet1 is the subnet on the management network, mgmt-port1 is the port that we are creating with the IP address as 10.10.11.101 for vNIC0 as specified in the config.txt file for the VM.

  4. Apply the security policy to the ports.

    openstack port set <port_name> --security-group open

    Example:

    openstack port set mgmt-port1 --security-group open
6.

Install one or more Crosswork Data Gateway VMs:

  1. To install a VM with one NIC and DHCP:

    openstack server create --flavor <flavor_name> --image <image_name> --network <network1> --network <network2> --network <network3> --config-drive True --user-data <config.txt> --host <boot_drive> --block-device-mapping vdb=<volume_name>:::true <CDG_hostname>

    Example:

    Example:

    openstack server create --flavor <flavor_name> --image <image_name> --network <network1> 
    --config-drive True --user-data <config.txt> --host <boot_drive>
    --block-device-mapping vdb=<volume_name>:::true <CDG_hostname>
    
    Alternatively:
    openstack server create --config-drive true --flavor cdg --image --key-name default --network --security-group --user-data
Note

The number of networks specified in install commands depends on the number of NICs required for each VM.

For example, the command to install a VM with 2 NICs is:

openstack server create --flavor cdg-cloud --image cdg-cloud-bios --port mgmt-port2 --port south-port2 --config-drive True --user-data config-nodhcp_2nic.txt --block-device-mapping vdb=cdg-vol:::true cdg-bios-nodhcp_2NIC

The Crosswork Data Gateway VM is installed, configured, and ready for operation in OpenStack with DHCP addressing.

Sample configuration file for the DHCP addressing

This is a sample config.txt file for a one NIC deployment with the hostname as cdg1-nodhcp when using DHCP. Mandatory parameters in this sample are highlighted.

#### Required Parameters

### Deployment Settings

## Resource Profile
# How much memory and disk should be allocated?
# Default value: Crosswork-Cloud
Profile=Crosswork-Cloud

### Host Information

## Hostname
# Please enter the server's hostname (dg.localdomain)
Hostname=changeme

## Description
# Please enter a short, user friendly description for display in the Crosswork Controller
Description=changeme

### Passphrases

## dg-admin Passphrase
# Please enter a passphrase for the dg-admin user. It must be at least 10 characters.
dg-adminPassword=changeme

## dg-oper Passphrase
# Please enter a passphrase for the dg-oper user. It must be at least 10 characters.
dg-operPassword=changeme

### vNIC0 IPv4 Address

## vNIC0 IPv4 Method
# Skip or statically assign the vNIC0 IPv4 address
# Default value: DHCP
Vnic0IPv4Method=None

## vNIC0 IPv4 Address
# Please enter the server's IPv4 vNIC0 address if statically assigned
Vnic0IPv4Address=0.0.0.0

## vNIC0 IPv4 Netmask
# Please enter the server's IPv4 vNIC0 netmask if statically assigned
Vnic0IPv4Netmask=0.0.0.0

## vNIC0 IPv4 Skip Gateway
# Skip statically assigning a gateway address to communicate with other devices, VMs, or services
# Default value: False
Vnic0IPv4SkipGateway=False

## vNIC0 IPv4 Gateway
# Please enter the server's IPv4 vNIC0 gateway if statically assigned
Vnic0IPv4Gateway=0.0.0.1

### vNIC0 IPv6 Address

## vNIC0 IPv6 Method
# Skip or statically assign the vNIC0 IPv6 address
# Default value: None
Vnic0IPv6Method=None

## vNIC0 IPv6 Address
# Please enter the server's IPv6 vNIC0 address if statically assigned
Vnic0IPv6Address=::0

## vNIC0 IPv6 Netmask
# Please enter the server's IPv6 vNIC0 netmask if statically assigned
Vnic0IPv6Netmask=64

## vNIC0 IPv6 Skip Gateway
# Skip statically assigning a gateway address to communicate with other devices, VMs, or services
# Default value: False
Vnic0IPv6SkipGateway=False

## vNIC0 IPv6 Gateway
# Please enter the server's IPv6 vNIC0 gateway if statically assigned
Vnic0IPv6Gateway=::1

### DNS Servers

## DNS Address
# Please enter a space delimited list of DNS server addresses accessible from the Default Gateway role
DNS=changeme

## DNS Search Domain
# Please enter the DNS search domain
Domain=changeme

### NTPv4 Servers

## NTPv4 Servers
# Please enter a space delimited list of NTPv4 server hostnames or addresses accessible from the Default Gateway role
NTP=changeme

#### Optional Parameters

### Host Information

## Label
# An optional freeform label used by the Crosswork Controller to categorize and group multiple DG instances
Label=

## Allow Usable RFC 8190 Addresses
# If an address for vNIC0, vNIC1, vNIC2, or vNIC3 falls into a usable range identified by RFC 8190 or its predecessors, reject, accept, or request confirmation during initial configuration
# Default value: Yes
AllowRFC8190=Yes

## Crosswork Data Gateway Private Key URI
# Please enter the optional Crosswork Data Gateway private key URI retrieved using SCP (user@host:/path/to/file)
DGCertKey=

## Crosswork Data Gateway Certificate File URI
# Please enter the optional Crosswork Data Gateway PEM formatted certificate file URI retrieved using SCP (user@host:/path/to/file)
DGCertChain=

## Crosswork Data Gateway Certificate File and Key Passphrase
# Please enter the SCP user passphrase to retrieve the Crosswork Data Gateway PEM formatted certificate file and private key
DGCertChainPwd=

### DNS Servers

## DNS Security Extensions
# Use DNS security extensions
# Default value: False
DNSSEC=False

## DNS over TLS
# Use DNS over TLS
# Default value: False
DNSTLS=False

## Multicast DNS
# Use multicast DNS
# Default value: False
mDNS=False

## Link-Local Multicast Name Resolution
# Use link-local multicast name resolution
# Default value: False
LLMNR=False

### NTPv4 Servers

## NTPv4 Authentication
# Use authentication for all NTPv4 servers
# Default value: False
NTPAuth=False

## NTPv4 Keys
# Please enter a space delimited list of IDs present in the key file. The number of IDs in the list must match the number of servers, even if some or all are the same ID.
NTPKey=

## NTPv4 Key File URI
# Please enter the optional Chrony key file retrieved using SCP (user@host:/path/to/file)
NTPKeyFile=

## NTPv4 Key File Passphrase
# Please enter the SCP user passphrase to retrieve the Chrony key file
NTPKeyFilePwd=

### Remote Syslog Servers

## Remote Syslog Server
# Send Syslog messages to a remote host
# Default value: False
UseRemoteSyslog=False

## Syslog Server Address
# Please enter a hostname, IPv4 address, or IPv6 address of the Syslog server accessible from the Default Gateway role
SyslogAddress=

## Syslog Server Port
# Please enter a Syslog port
# Default value: 514
SyslogPort=514

## Syslog Server Protocol
# Please enter the Syslog protocol
# Default value: UDP
SyslogProtocol=UDP

## Syslog over TLS
# Use Syslog over TLS (must use TCP or RELP as the protocol)
# Default value: False
SyslogTLS=False

## Syslog TLS Peer Name
# Please enter the Syslog server's hostname exactly as entered in the server certificate subjectAltName or subject common name
SyslogPeerName=

## Syslog Root Certificate File URI
# Please enter the optional Syslog root PEM formatted certificate file retrieved using SCP (user@host:/path/to/file)
SyslogCertChain=

## Syslog Certificate File Passphrase
# Please enter the SCP user passphrase to retrieve the Syslog PEM formatted cetificate file
SyslogCertChainPwd=

### Remote Auditd Servers

## Remote auditd Server
# Send auditd messages to a remote host
# Default value: False
UseRemoteAuditd=False

## Auditd Server Address
# Please enter a hostname, IPv4 address, or IPv6 address of the auditd server accessible from the Default Gateway role
AuditdAddress=

## Auditd Server Port
# Please enter na auditd port
# Default value: 60
AuditdPort=60

### Controller Settings

## Proxy Server URL
# Please enter the optional HTTP/HTTPS proxy URL
ProxyURL=

## Proxy Server Bypass List
# Please enter an optional space delimited list of subnets and domains that will not be sent to the proxy server
ProxyBypass=

## Authenticated Proxy Username
# Please enter an optional username for an authenticated proxy servers
ProxyUsername=

## Authenticated Proxy Passphrase
# Please enter an optional passphrase for an authenticated proxy server
ProxyPassphrase=

## HTTPS Proxy SSL/TLS Certificate File URI
# Please enter the optional HTTPS Proxy PEM formatted SSL/TLS certificate file URI retrieved using SCP (user@host:/path/to/file). This will override the Controller SSL/TLS Certificate File URI.
ProxyCertChain=

## HTTPS Proxy SSL/TLS Certificate File Passphrase
# Please enter the SCP user passphrase to retrieve the HTTPS Proxy PEM formatted SSL/TLS certificate file
ProxyCertChainPwd=

#### Static Parameters  - Do not change this section

### Deployment Settings

## Deployment Type
# What type of deployment is this?
# Default value: Crosswork Cloud
Deployment=Crosswork Cloud

### Host Information

## Data Disk Size
# Data disk size in GB mounted as /opt/dg/appdata
DGAppdataDisk=24

### vNIC Role Assignment

## Default Gateway
# The interface used as the Default Gateway and for DNS and NTP traffic
# Default value: eth0
NicDefaultGateway=eth0

## Administration
# The interface used for SSH access to the VM
# Default value: eth0
NicAdministration=eth0

## External Logging
# The interface used to send logs to an external logging server
# Default value: eth0
NicExternalLogging=eth0

## Management
# The interface used for enrollment and other management traffic
# Default value: eth0
NicManagement=eth0

## Control
# The interface used for destination, device, and collection configuration
# Default value: eth0
NicControl=eth0

## Northbound System Data
# The interface used to send collection data to the system destination
# Default value: eth0
NicNBSystemData=eth0

## Northbound External Data
# The interface used to send collection data to external destinations
# Default value: eth0
NicNBExternalData=eth0

## Southbound Data
# The interface used collect data from all devices
# Default value: eth0
NicSBData=eth0

### Auto Enrollment Package Transfer

## Enrollment Token for Crosswork Cloud
# Please enter the optional enrollment token to auto enroll with Crosswork Cloud
CloudEnrollmentToken=TOKEN

## Enrollment Destination Host and Path
# Please enter the optional SCP destination host and path to transfer the enrollment package using SCP (user@host:/path/to/file)
EnrollmentURI=

## Enrollment Passphrase
# Please enter the optional SCP user passphrase to transfer the enrollment package
EnrollmentPassphrase=

Verify installation of Crosswork Data Gateway VMs with OpenStack CLI

After you deploy the Crosswork Data Gateway VMs, verify their installation status.

Procedure

1.

Run this command to list the status of all VMs:

openstack server list
Figure 8. Command output listing the servers
2.

Confirm the VM status:

  1. After executing the command, ensure that the status of the VMs shows as Active .

  2. Once the status is confirmed, wait for about 10 minutes for the VM to fully initialize.

  3. After waiting, verify that the VM is running correctly and as expected.


Deploy Crosswork Data Gateway using the OpenStack UI

Use this task to deploy the Crosswork Data Gateway in an OpenStack environment. The deployment occurs in two phases. First, deploy the VM. Then, configure the VM using the OpenStack UI.

The deployment process for the Crosswork Data Gateway consists of two parts. The first part is the deployment on the virtual machine (VM). The second part is the configuration of the VM using the OpenStack UI.

This section includes instructions for VM deployment, covering Steps 1 to 3. Configuration instructions for the OpenStack UI are provided from Step 4 onward.

Before you begin

Verify that these prerequisites are met:

  • A functional OpenStack environment with necessary access privileges.

  • A Python environment installed (version 2.x or 3.x) for verification.

Procedure

1.

Download the Crosswork Data Gateway (qcow2) package:

  1. Download the latest available Crosswork Data Gateway image (*.bios.signed.bin) from cisco.com to your local machine or a network location accessible to your OpenStack instance. For the deployment of the current version, we use the package name signed-cdg-deployment-7.2.0-32.uefi.qcow2.tar.gz and cdg-7.2.0-sample-install-scripts.tar.gz.

2.

Validate the downloaded qcow2 package:

  1. Unzip the installer bundle using this command:

    tar -xvzf signed-cdg-deployment-7.2.0-32.uefi.qcow2.tar.gz
    This command extracts the contents of the downloaded package.
  2. After extraction, the directory should contain these files:

    README
    signed-cdg-deployment-7.2.0-32.uefi.qcow2.tar.gz
    cisco_x509_verify_release.py3
    cisco_x509_verify_release
    CDG-CCO_RELEASE
  3. Run the signature verification script to confirm the integrity and authenticity of the package. Make sure the machine executing the script has HTTP access to cisco.com. If you do not have access or do not receive a successful verification message, contact the Cisco Customer Experience team for support.

  4. Execute the appropriate command for your Python version:

    Table 2. Supported Python versions

    If the Python version is...

    Use the command...

    Python 2.x

    python cisco_x509_verify_release.py -e <.cer file> -i <.tar.gz file> -s <.tar.gz.signature file> -v dgst -sha512

    Python 3.x

    python cisco_x509_verify_release.py3 -e <.cer file> -i <.tar.gz file> -s <.tar.gz.signature file> -v dgst -sha512
3.

Choose one of the following options based on the addressing method you plan to use for the Crosswork Data Gateway VM:

4.

For instructions on configuring the Data Gateway through the OpenStack UI, see Configure Crosswork Data Gateway in the OpenStack UI.

What to do next

Confirm if the deployment is successful. See Verify the Crosswork Data Gateway installation in the OpenStack UI.


Configure Crosswork Data Gateway in the OpenStack UI

To guide the user through configuring a Crosswork Data Gateway virtual machine within the OpenStack UI.

Use this task when deploying Crosswork Data Gateway in a private cloud managed via OpenStack. This procedure will assist users in provisioning the correct resources and networking settings for a secure and functional deployment.

Before you begin

  • Ensure you have access to an OpenStack user account with privileges to create flavors, images, security groups, networks, and instances.

  • Download the Crosswork Data Gateway release image to your local system.

  • Prepare the config.txt configuration file for VM customization.

Procedure

1.

Log in to the OpenStack VM from the OpenStack UI and create the resource profile or flavor.

  1. Navigate to Compute > Flavors.

  2. Enter the required details. For the other optional fields, review the Flavor Information Window.

    • Name: Enter a unique resource name.

    • VCPUs: Enter the number of vCPUs.

    • RAM: Enter the RAM size.

    • Root Disk: Enter the root disk size.

    • Ephemeral Disk: Enter the ephemeral disk size.

  3. Click Create Flavor.

    Figure 9. Flavor information
    Flavor Information Window
2.

Create the Crosswork Data Gateway image.

  1. Enter the details:

    1. Image Name: Specify a name for the image you are creating.

    2. File: Browse to the directory where you have downloaded the Crosswork Data Gateway release image and select the image.

    3. Format: Select QCOW2 - QEMU Emulator from the drop-down list.

    4. Leave the other settings to the values as shown in the image.

  2. Click Create Image.

Figure 10. Create Image
Create Image Window
3.

Create a security group policy to allow incoming TCP, UDP, or ICMP connections.

Note
  • OpenStack does not allow incoming TCP, UDP, or ICMP connections by default. Create a security policy to allow the incoming connections from the TCP, UDP, or ICMP protocols.

  • Even after deploying Crosswork Data Gateway, you have the ability to create security groups and apply them to the VM.

  1. On the OpenStack UI, go to Networks > Security Groups.

  2. Click + Create Security Group.

    Figure 11. Security groups
    Create Security Group Window
  3. Specify the Name and Description of the security group. Click Create Security Group.

  4. In the new window that appears to create security rules, click Add Rule to create a security policy for each protocol by specifying the direction, port range and the IP addresses range.

    The security group contains two rules by default. Use the Delete Rule option to delete these rules.

    Figure 12. Manage Security Group Rules
    Manage Security Group Rules Window
4.

Create ports when using the static addressing.

This step is required only if you are using Static addressing. If you are using DHCP addressing, the IP addresses for the ports are automatically assigned from the IP addresses allocation pool for the subnet.

  1. In the OpenStack UI, navigate to Network > Networks.

  2. Depending on the number of NICs in your deployment, (starting with the management network), select a network and click + Create Ports.

  3. Enter details in the Name and Fixed IP Address fields. Select the Enable Admin State and Port Security check box.

    Figure 13. Create Port
    Create Port Window
5.

Start the VM launch workflow.

  1. Navigate to Compute > Instances and click Launch Instance on this page.

    A Launch Instance window appears to start the VM installation.

  2. In the Details tab, specify the VM name in the Instance Name field and Count as 1. Then, click Next.

    Note
    For larger systems it is likely that you will have more than one Crosswork Data Gateway VMs. The Crosswork Data Gateway name should, therefore, be unique and created in a way that makes identifying a specific VM easy. We recommend that you enter the same name you had specified in the Hostname parameter in the config.txt file for the VM.
    Figure 14. Launch instance
    Launch Instance Window
6.

Select image, flavor, and networks.

  1. In the Source tab:

    1. Select Boot Source: Select Image from the drop-down list.

    2. Create New Volume: Select No.

    3. All images available in the OpenStack environment are listed under the Available pane. Click to select the image. Doing this will now move the image to the Allocated pane indicating that you have selected the image.

    4. Click Next.

    Figure 15. Source menu
    Launch Instance Window - Source Tab
  2. On the Flavor > Available pane, for the flavor you want to select for the VM, click to move it from the Available pane to the Allocated pane. Click Next.

    Figure 16. Flavor menu
    Launch Instance Window - Flavor Tab
  3. Assign networks to the VM. Depending on the number of vNICs in your deployment, select up to 3 networks for the VM by clicking for each network from the list of networks in the Available pane. Doing this moves the selected networks to the Allocated pane. Click Next.

    The order in which you select the networks is important. In a 3-NIC deployment, the first network you select will be assigned to the vNIC0 interface, the second to the vNIC1 interface and the third to the vNIC2 interface.
    Figure 17. Networks menu
    Launch Instance Window - Networks Tab
7.

Assign ports and security groups.

  1. From the list of ports that are displayed in the Available pane, click to move the port to the Allocated pane.

    Figure 18. Network Ports menu
    Launch Instance Window - Network Ports Tab
  2. Click Next.

8.

Upload configuration and launch the instance.

  1. Assign Security Groups to the VM by moving the security groups you wish to apply to the VM from the Available pane to the Allocated pane.

    In this image, 2 security groups - default and cdg, are applied to the VM.

    Figure 19. Security Groups menu
    Launch Instance Window - Security Groups Tab
  2. Click Next.

  3. In the Key Pair tab, click Next.

  4. In the Configuration tab:

    1. Click Choose File to select and upload the config.txt file you had modified and saved for the VM.

    2. Select the Configuration Drive check box.

      Figure 20. Configuration menu
      Launch Instance Window - Configuration Tab
9.

Upload configuration and launch the instance.

  1. In the Configuration tab, select the Configuration Drive check box.

  2. Click Launch Instance.

OpenStack starts the installation of the VM.

  1. View the status of the installation of the VMs using the following command:

    openstack server list

  2. After the status of the VMs is displayed as Active, wait for about 10 minutes, and check if the VM was deployed properly and running as expected. See Verify the Crosswork Data Gateway installation in the OpenStack UI.

What to do next

Proceed to enrolling the Crosswork Data Gateway with Crosswork Cloud by generating and exporting the enrollment package. See Obtain the enrollment token using SCP.


Verify the Crosswork Data Gateway installation in the OpenStack UI

Confirm the Crosswork Data Gateway VM is installed and properly initialized in the OpenStack UI.

Use this task after completing installation of the Crosswork Data Gateway VM to validate its deployment status and gain console access for post-install configuration.

Before you begin

Verify that the Crosswork Data Gateway VM is properly installed and initialized in the OpenStack UI.

Procedure

1.

In the OpenStack UI, navigate to Compute > Instances.

A list of installed and pending Crosswork Data Gateway VMs will be displayed here.

Note

The installation status of each VM is shown in the Status , Task , and Power State columns.

Figure 21. Instances window showing status of Crosswork Data Gateway VM installation
Instances Window - Status of CDG VM Installation
2.

Monitor VMs during installation:

  1. If a Crosswork Data Gateway VM is still being installed:

    • Status: Build

    • Task: Spawning

    • Power State: No State

  2. Once the VM is successfully installed, the indicators change to:

    • Status: Active

    • Task: None

    • Power State: Running

    Figure 22. Installation status
    Instances Window - Status of CDG VM Installation
  3. After the Status changes to Active , wait for approximately 10 minutes to ensure proper initialization.

3.

Click the name of the Crosswork Data Gateway VM to open the VM's console.

4.

Log in to the console using the dg-admin or dg-oper user account as appropriate.

Enter the password that you configured in the config.txt file during the VM setup.

After a successful login, the Interactive Console of Crosswork Data Gateway will be displayed.

  1. Enter the password configured in the config.txt file during VM setup.

  2. After successful login, the Interactive Console for Crosswork Data Gateway is displayed.

You have confirmed the Crosswork Data Gateway VM is properly installed, powered on, and accessible via the console. The system is ready for further configuration.

Deploy Crosswork Data Gateway using VMware


Deploy Crosswork Data Gateway using vSphere Client

Before you begin

Verify that these prerequisites are met:

  • Confirm that all prerequisites listed in the Installation requirements chapter are fulfilled.

  • Download the Crosswork Data Gateway UEFI OVA (for cloud only) installation package from the Cisco Software Download site. If the file has a .dms extension, rename the file to .ova to ensure compatibility with vCenter when importing and deploying virtual appliances.

Procedure

1.

Log in to the vSphere Client and start deployment.

  1. Right-click the data center (host) and choose Actions > Deploy OVF Template to open the Deploy OVF Template wizard.

2.

Select the OVA file.

  1. On the Select an OVF template page, browse to and select the downloaded OVA file, then click Next.

    Figure 23. Select an OVF template
    Note

    The file name shown in the image is for reference only and may vary depending on the release you are deploying.

3.

Name the VM and choose its location.

  1. Enter a unique name for the VM, select the data center where you want to deploy Crosswork Data Gateway, and click Next.

    Figure 24. Name and folder selection
4.

Choose a compute resource.

  1. Select the host for the VM deployment and click Next.

5.

Review OVA details and accept the EULA.

  1. Confirm the OVA information (you cannot modify it).

  2. Review the OVA information. This information cannot be modified. You can ignore the disk requirements for an on-premises deployment at this stage; you will configure the disk settings later in the process.

  3. Review the End User License Agreement. Click Accept, then click Next.

Figure 25. Review details
6.

Select the configuration and storage.

  1. On the Configuration page, select Crosswork Cloud, and then click Next.

    Figure 26. Deployment configuration
    Deploy OVF Template - Configuration Window
  2. On the Select storage page, choose the virtual disk format.

    • Thick Provision Lazy Zeroed for production environments, or

    • Thin Provision for development environments

    Figure 27. Storage selection
  3. Select a datastore and click Next.

7.

Map networks.

  1. On the Select networks page, choose the appropriate vNIC role for each interface from the drop-down list. Click Next.

8.

Customize deployment parameters and add the enrollment token.

  1. Enter all required Crosswork Data Gateway parameters.

  2. On the Auto Enrollment Package Transfer page, paste the enrollment token into the Auto Enrollment Token field.

9.

Complete deployment and power on the VM.

  1. On the Ready to complete page, review your settings and click Finish.

  2. After the deployment is completed, check the Recent Tasks tab on the VM host for the Deploy OVF Template job status. Confirm the deployment reaches 100%.

  3. Right-click the VM and choose Actions > Power > Power On.

  4. Wait at least five minutes for initialization. Then, log in through vCenter or SSH.

What to do next

Confirm if the deployment is successful. See Verify the Crosswork Data Gateway deployment.


Deploy Crosswork Data Gateway using the OVF tool

Before you begin

Verify you meet these prerequisites.

  • All prerequisites listed in the Installation requirements chapter are met.

  • Install OVF Tool version 4.4 or later on the machine where you run the deployment. Verify the installation by running the command ovftool --version.

  • Access to vCenter with appropriate user privileges to authenticate the deployment.

  • Use a Linux-based system for execution and have the required permissions to execute scripts, which is chmod +x.

  • Configure the security policy for the virtual switch and port group. See Set security policy for the virtual switch and port group.

  • Obtain the Crosswork Data Gateway sample installation script, available in the cdg-8.0.0-sample-install-scripts.tar.gz package. See Sample script for Crosswork Data Gateway IPv4 deployment.

The Open Virtualization Format (OVF) Tool is a command-line utility that enables deployment of the Crosswork Data Gateway using a custom configuration script. Any parameters left unconfigured will be deployed with their default values.

Procedure

1.

Verify that OVF Tool version 4.4 or later is installed on your machine by running the command:

ovftTool --version
2.

Download the Crosswork Data Gateway UEFI OVA (for cloud only) installation package from the Cisco Software Download site. If the file has .dms extension, rename it to .ova. This conversion is necessary to comply with vCenter's requirements for properly importing and deploying virtual appliances.

3.

Extract the installation scripts and validation files with the command:

tar -xvzf cdg-8.0.0-sample-install-scripts.tar.gz

After extracting the file bundle, you will find the DG-sample-install-scripts.tar file and scripts for validating the sample install scripts.

4.

Extract the install scripts with the command:

tar -xvzf cdg-8.0.0-sample-install-scripts.tar.gz
5.

Make the script executable with the command:

chmod +x {filename}
6.

Execute the script from the directory where the OVA and script files are stored with the command:

./{script name} {path and ova file name}

For example:

./three-nic /home/admin/CDG_Install/signed-cdg-deployment-8.0.0-32.uefi.qcow2.tar.gz
7.

Enter the vCenter username and password when prompted.

If the script fails, check for any error messages and resolve any invalid values or configuration issues. If the failure is due to invalid values, a message like the following is displayed:

admin@nso-576-tsdn-410-aio:~/CDG_Install$ ./three-nic /home/admin/CDG_Install/signed-cdg-deployment-8.0.0-32.uefi.qcow2.tar.gz
Opening OVA source: /home/admin/CDG_Install/signed-cdg-deployment-8.0.0-32.uefi.qcow2.tar.gz
The manifest does not validate
Warning:
- Line -1: Unsupported value 'firmware' for attribute 'key' on element 'ExtraConfig'.
- Line -1: Unsupported value 'uefi.secureBoot.enabled' for attribute 'key' on element 'ExtraConfig'.
Enter login information for target vi://rcdn5-spm-vc-01.cisco.com/
Username: johndoe
Password: ******
8.

Enter the password and monitor the deployment process on the vCenter console. Observe any warnings or errors that are related to configuration parameters.

For example,

Opening VI target: vi://johndoe@rcdn5-spm-vc-01.cisco.com:443/Cisco-sample-sample/host/10.10.100.10
Warning:
- Line 146: Unable to parse 'enableMPTSupport' for attribute 'key' on element 'Config'.
- Line 229: Unable to parse 'vmxnet3.noOprom' for attribute 'key' on element 'Config'.
Deploying to VI: vi://johndoe@rcdn5-spm-vc-01.cisco.com:443/Cisco-sample-sample/host/10.10.100.10
Disk progress: 65% 
9.

After deployment is complete, ensure the Crosswork Data Gateway is powered on and check its status in the vCenter interface.

What to do next

Confirm if the deployment is successful. See Verify the Crosswork Data Gateway deployment.


Sample script for Crosswork Data Gateway IPv4 deployment

The script example deploys Crosswork Data Gateway with IPv4 addresses.

#!/usr/bin/env bash
DM="<thin/thick>"
Disclaimer="<Disclaimer>"
DNSv4="<DNS Server>"
NTP="<NTP Server>"
Domain="<Domain>"
Hostname="<CDG hostname>"

VM_NAME="<VM name on vcenter>"
DeploymentOption="cloud"
DS="<Datastore>"
Host="<ESXi host>"
ManagementNetwork="<vSwitch/dvSwitch>"
DataNetwork="<vSwitch/dvSwitch>"
DeviceNetwork="<vSwitch/dvSwitch>"
ManagementIPv4Address="<CDG managment IP>"
ManagementIPv4Netmask="<CDG managment mask>"
ManagementIPv4Gateway="<CDG managment gateway>"
DataIPv4Address="<CDG Data network IP>"
DataIPv4Netmask="<CDG Data network mask>"
DataIPv4Gateway="<CDG Data network gateway>"
DeviceIPv4Address="<CDG Device network IP>"
DeviceIPv4Netmask="<CDG Device network mask>"
DeviceIPv4Gateway="<CDG Device network gateway>"
dgadminpwd="<CDG password for dg-admin user>"
dgoperpwd="<CDG password for dg-admin user>"
URI="<user@host:/path/to/file>"
Passphrase="<Passphrase for Enrollment URI server>"


ROBOT_OVA_PATH=$1

VCENTER_LOGIN="Administrator%40vsphere.local@<vCenter-IP>"
VCENTER_PATH="<vCenter-DC-NAME>/host"

ovftool --acceptAllEulas --skipManifestCheck --X:injectOvfEnv -ds=$DS --diskMode=$DM --overwrite --powerOffTarget --powerOn --noSSLVerify \
--allowExtraConfig \
--name=$VM_NAME \
--deploymentOption=${DeploymentOption} \
--net:"vNIC0=${ManagementNetwork}" \
--prop:"Hostname=${Hostname}" \
--prop:"Description=${Disclaimer}" \
--prop:"DNS=${DNSv4}" \
--prop:"NTP=${NTP}" \
--prop:"Domain=${Domain}" \
--prop:"EnrollmentURI=${URI}" \
--prop:"EnrollmentPassphrase=${Passphrase}" \
--prop:"Vnic0IPv4Method=Static" \
--prop:"Vnic0IPv4Address=${ManagementIPv4Address}" \
--prop:"Vnic0IPv4Gateway=${ManagementIPv4Gateway}" \
--prop:"Vnic0IPv4Netmask=${ManagementIPv4Netmask}" \
--prop:"NicDefaultGateway=eth0" \
--prop:"NicAdministration=eth0" \
--prop:"NicExternalLogging=eth0" \
--prop:"NicManagement=eth0" \
--prop:"NicControl=eth0" \
--prop:"NicNBExternalData=eth0" \
--prop:"NicSBData=eth0" \
--prop:"dg-adminPassword=${dgadminpwd}" \
--prop:"dg-operPassword=${dgoperpwd}" \
$ROBOT_OVA_PATH \
vi://$VCENTER_LOGIN/$VCENTER_PATH/$Host

#############################################################
Append section below for Two NIC deployment
#############################################################
#--net:"vNIC1=${DataNetwork}" \
#--prop:"Vnic1IPv4Method=Static" \
#--prop:"Vnic1IPv4Address=${DataIPv4Address}" \
#--prop:"Vnic1IPv4Gateway=${DataIPv4Gateway}" \
#--prop:"Vnic1IPv4Netmask=${DataIPv4Netmask}" \
#--prop:"NicDefaultGateway=eth0" \
#--prop:"NicAdministration=eth0" \
#--prop:"NicExternalLogging=eth0" \
#--prop:"NicManagement=eth0" \
#--prop:"NicControl=eth1" \
#--prop:"NicNBExternalData=eth1" \
#--prop:"NicSBData=eth1" \

#############################################################
Append section below for three NIC deployment
#############################################################
#--net:"vNIC1=${DataNetwork}" \
#--net:"vNIC2=${DeviceNetwork}" \
#--prop:"Vnic1IPv4Method=Static" \
#--prop:"Vnic2IPv4Method=Static" \
#--prop:"Vnic1IPv4Address=${DataIPv4Address}" \
#--prop:"Vnic1IPv4Gateway=${DataIPv4Gateway}" \
#--prop:"Vnic1IPv4Netmask=${DataIPv4Netmask}" \
#--prop:"NicDefaultGateway=eth0" \
#--prop:"NicAdministration=eth0" \
#--prop:"NicExternalLogging=eth0" \
#--prop:"NicManagement=eth0" \
#--prop:"NicControl=eth1" \
#--prop:"NicNBExternalData=eth1" \
#--prop:"NicSBData=eth2" \

### Auto Enrollment Package Transfer
## Enrollment Token for Crosswork Cloud
# Please enter the optional enrollment token to auto enroll with Crosswork Cloud
#--prop:"CloudEnrollmentToken=TOKEN"

## Enrollment Destination Host and Path
# Please enter the optional SCP destination host and path to transfer the enrollment package using SCP (user@host:/path/to/file)
EnrollmentURI= 

## Enrollment Passphrase
# Please enter the optional SCP user passphrase to transfer the enrollment package
EnrollmentPassphrase=

Verify the Crosswork Data Gateway deployment

To verify the successful deployment of Crosswork Data Gateway, perform these steps:

Procedure

1.

Log in to vCenter and navigate to Crosswork Data Gateway.

2.

In vCenter, locate Crosswork Data Gateway. Right-click on it and select Open Console .

3.

Enter your dg-admin or dg-oper credentials, along with the password you created during the deployment process.

Upon successful login, Crosswork Data Gateway displays a Welcome page. The presence of this page, along with the deployment menu, confirms that the deployment is complete.