The VMware Telco Cloud Operations Deploy Tool is used to automate the installation of VMware Telco Cloud Operations.

The Deploy-Tool can be used in two ways:

Full Deployment

Completely deploy the product, for example, both VM deployment and cluster deployment in a single step.

Virtual Machine Only Deployment

2. Use a virtual machine only deployment. After the VM finishes, the user must deploy the cluster using the Administration UI described in the Manual Deployment Process section. To assist in loading the node configuration via the Administration UI, the tool generates a file named deployed.vms which contains details of all the deployed VMs including IP addresses. Import this file through the Administration UI as described below and then initiate cluster deployment.

Use the following procedure to run the Deploy-Tool
  1. Configure the deploy.settings file by providing values for the parameters listed in it. These parameters are used by the deploy-cluster command in the next step.
    Note:
    • All parameters are required unless uniquely specified (optional parameters are marked).
    • Place double quotes around any value with spaces.
    • Do not include leading or trailing spaces with any values.
    • Important: VMware Telco Cloud Operations supports High Availability (HA) footprints that require more than four worker nodes as specified in the VMware Telco Cloud Operations System Requirements. The Deploy-Tool can be configured to deploy the footprints as described below.

    The following steps refer to deploy.settings with sample values. For an example, see the Viewing the deploy.settings File page.

    1. OVA Source:

      You can skip this step if the OVAs are already present on the installer system. Otherwise, configure the source locations of the VMware Telco Cloud Operations OVAs through the URL for each file so the installer can download the OVAs onto the installer system.

      For example, the source can be Artifactory. It is assumed URLs are accessible without requiring an authentication. The files are placed in the deploy-tool folder.

      Optional: Set CONTROL_PLANE_NODE_OVA_URL to the URL from which the control plane node OVA should be obtained.

      Optional: Set WORKER_OVA_URL to the URL from which the worker OVA should be obtained.

    2. OVA Staging:

      Configure the file system location of the OVA files on the installer system. Provide complete (absolute) path to the files, including the filenames.

      • Set STAGED_CONTROL_PLANE_NODE_OVA_LOCATOR to the local filesystem path on the installation system where the control plane node OVA exists
      • Set STAGED_WORKER_OVA_LOCATOR to the local filesystem path on the installation system where the worker OVA exists
        Note: When setting the OVA Source parameters, verify the file part of the URL path and corresponding filename in the OVA locator (above) is identical.
    3. Footprint
    4. Administrator Credentials

      Configure the administrator credentials and access settings. By default an administrator user account, named clusteradmin, is created on each Telco Cloud Operations virtual machine.

      • Set ADMIN_PASSWORD to the desired password for the administrator user. Default is set in deploy.settings.
      • Set ADMIN_PUBLIC_KEYS_PATH to the local filesystem path to an SSH public key that can be used for a password-less login as the admin user to the VMs. Typically this should be the path to the file .ssh/id_rsa.pub in the installing user's home directory. If no SSH key exists, one can be created using the ssh-keygen utility. For more information, see Creating a Public Key, in the VMware Telco Cloud Operations Deployment Guide.
        1. Verify that the absolute path is provided.
        2. Verify that the file is accessible (for example, has the correct permissions). If not, copy the file to a directory where it can be read.

          Run the file by running the following cat command:

          cat absolute_path/public_key_filename

    5. Root Credentials
      • Set ROOT_PASSWORD to the desired password for the root user. Default is set in deploy.settings
      • Set PERMIT_ROOT_LOGIN to the desired SSH login policy for the root user — set to no to disable the root SSH login, set to yes to allow a root login with password or public key, or without-password to allow a root login with a public key only (disallowing password login). The default policy is without-password.
      • Set ROOT_PUBLIC_KEYS_PATH to the local filesystem path to an SSH public key that can be used for a password-less login as the root user to the VMware Telco Cloud Operations virtual machines.
        Note:

        This is required when PERMIT_ROOT_LOGIN is set to without-password, otherwise it is optional.

        This can be the same path as ADMIN_PUBLIC_KEYS_PATH (same public key) to allow a password-less login as both the administrator user and root, or you can use a separate public key. If no SSH key exists, one can be created using the ssh-keygen utility. For more information, see Creating a Public Key, in the VMware Telco Cloud Operations Deployment Guide.

        1. Verify that the absolute path is provided.
        2. Verify that the file is accessible (for example, has the correct permissions). If not, copy the file to a directory where it can be read.
        3. Verify the file by running the following cat command:

          cat absolute_path/public_key_filename

    6. vCenter Details

      Configure the location and credentials to access vCenter.

      • Set VCENTER_IP to the IPv4 address of vCenter
      • Set VCENTER_USERNAME and VCENTER_PASSWORD to the username and password to access vCenter.
        Note: If the VCENTER_PASSWORD contains special characters then it must be enclosed in double quotes. Also if the double quotes ( " ) or back-tick ( ` ) are used as a password special character then it must be escaped with back-slash for example \" or \` .
      • Set VCENTER_DATA_CENTER_NAME to the name of the vCenter data center (DC) to where the VMware Telco Cloud Operations cluster will be deployed.
    7. Cluster Name

      Set VCENTER_CLUSTER_NAME to the name of the cluster into which the VMware Telco Cloud Operations system should be deployed.

      Note: In the deploy.settings file, the parameters described below have been grouped by node. For example, all parameters required for a node are together. The control plane node parameters are followed by a set for each worker node. If more than four nodes are required based on your deployment, add additional worker nodes as shown below. Number additional nodes beginning with WORKER5, WORKER6 and so on. Worker node parameters must be continuous without any missing numbers. For example, if you need to deploy nine workers, make sure WORKER 1 to WORKER8 are configured.
      WORKER5_NODE_TYPE=elasticworker
      WORKER5_VM_NAME=worker5-vm-name
      WORKER5_ESXI_IP=xx.xx.xx.xxx
      WORKER5_DATASTORE=datastore-name
      WORKER5_VM_STATIC_IP=xx.xx.xxx.xxx/xx
       
      WORKER6_NODE_TYPE=elasticworker
      WORKER6_VM_NAME=worker6-vm-name
      WORKER6_ESXI_IP=xx.xx.xx.xxx
      WORKER6_DATASTORE=datastore-name
      WORKER6_VM_STATIC_IP=xx.xx.xxx.xxx/xx
       
      .......
    8. Worker Node Type

      Each worker VM should be set to a specific type, for example, arangoworker, domainmanagers, elasticworker and kafkaworker. Use the parameter WORKER1_NODE_TYPE, WORKER2_NODE_TYPE, WORKER3_NODE_TYPE and so forth, to set the node type for each worker VM.

    9. ESXi Details
      Configure the destination hosts for the VMware Telco Cloud Operations deployment.
      Note: This parameter is required if you want to deploy the VMs on specific ESXi hosts. (Optional) You can have vSphere select the ESXi host, in which case, you must provide the VCENTER_CLUSTER_NAME value. There are three options as follows:
      1. If deploying into a vCenter cluster, configure the destination for the control plane node and worker VMs as follows:
        • Set VCENTER_CLUSTER_NAME to the name of the cluster into which the VMware Telco Cloud Operations system should be deployed.
        • Leave CONTROL_PLANE_NODE_ESXI_IP, and all worker ESXI IP parameters such as, WORKER1_ESXI_IP, WORKER2_ESXI_IP, WORKER3_ESXI_IPand so forth, blank. vSphere selects the hosts in the cluster to deploy the VMs.
      2. If deploying to individual ESXi(s) not in a vCenter cluster, configure the destination for the control plane node and worker VMs as follows:
        • Leave VCENTER_CLUSTER_NAME blank.
        • Set CONTROL_PLANE_NODE_ESXI_IP and all worker ESXI IP parameters such as, WORKER1_ESXI_IP, WORKER2_ESXI_IP, WORKER3_ESXI_IP, etc. to the IPv4 addresses of the ESXi hosts where the control plane node and workers should be deployed.

          Each VM will be deployed to the ESXi specified by you.

      3. If deploying to individual ESXi(s) within a vCenter cluster, configure all the following parameters.
        Note: Verify all the ESXi hosts are in the same cluster.
        • Set VCENTER_CLUSTER_NAME to the name of the cluster into which the VMware Telco Cloud Operations system should be deployed.
        • Set CONTROL_PLANE_NODE_ESXI_IP, and all worker ESXI IP parameters such as,WORKER1_ESXI_IP, WORKER2_ESXI_IP, WORKER3_ESXI_IP, etc to the IPv4 addresses of the ESXi hosts where the control plane node and workers should be deployed.

        Each VM will be deployed to the ESXi in the cluster specified by you.

        Note: If DRS is enabled in vSphere, then vSphere determines the ESXi for each VM even if it has been specified and deploys on that ESXi.
    10. VM Folder
      • (Optional parameter) VM_Folder: The folder in your vCenter where you want the VMs to deploy into. You must provide the complete path of your virtual machine folder structure beginning at the topmost folder under the data center.
    11. Virtual Machine Names
      Configure virtual machine names for the control plane node and workers.
      • Set CONTROL_PLANE_NODE_VM_NAME and all worker parameters such as, WORKER1_VM_NAME, WORKER2_VM_NAME, WORKER3_VM_NAME, etc. to unique names for each virtual machine.
      Note: Ensure that the virtual machine names do not have spaces in them. Otherwise, the deployment cannot proceed.
    12. Datastores

      Configure the datastores to which the VMs will be deployed as follows:

      • Set CONTROL_PLANE_NODE_DATASTORE, and all worker datastore parameters such as,WORKER1_DATASTORE, WORKER2_DATASTORE, WORKER3_DATASTORE, etc.to the name of the datastore to which each VMware Telco Cloud Operations virtual machine will be deployed. In the case where the deployment is to a vCenter cluster, or to a system with a vSAN, or other shared storage, it is possible that the datastore name can be identical for all VMware Telco Cloud Operations virtual machines.
    13. Port Group
      Configure which vCenter port group to use.
      • Set PORT_GROUP to the desired port group name (this is usually set to VM Network).
    14. Networking
      Configure networking parameters.
      1. If using DHCP:
        • Leave CONTROL_PLANE_NODE_VM_STATIC_IP, and all worker parameters such as, WORKER1_VM_STATIC_IP, WORKER2_VM_STATIC_IP, WORKER3_VM_STATIC_IP, and so forth, as well as DEFAULT_GATEWAY, DNS_SERVERS, and DNS_SEARCH blank.
      2. If using a static IP address assignment:
        • Set CONTROL_PLANE_NODE_VM_STATIC_IP, and all worker static IP parameters such as,WORKER1_VM_STATIC_IP, WORKER2_VM_STATIC_IP, WORKER3_VM_STATIC_IP, and so forth, to the desired IP address of each virtual machine in a CIDR format (for example, 129.97.140.10/24).
          Note: Ensure that IP addresses are in a CIDR format.
        • Set DEFAULT_GATEWAY to the IPv4 address of the default gateway.
        • Set DNS_SERVERS to a comma-separated list of DNS servers.
        • Set DNS_SEARCH to a comma-separated list of DNS search domains.
      3. In either case (static or DHCP address assignment):
        • Set NTP_SERVER to the IP address of an NTP server. If you are no using an NTP server leave the field blank.
      4. For static or DHCP address assignment:
        • Keep the DOCKER_BRIDGE_IP default value setting. Change the setting only if necessary because you cannot use this IP range to a conflict. The value must be in CIDR format "/".
        • Keep the POD_CIDR and SERVICE_CIDR value setting. Change the setting only if necessary because you cannot use these IP ranges for the services running on these nodes. The value must be in CIDR format "/".
  2. Run the deploy-cluster script to begin the deployment. You can run the full deployment or only the VM deployment phase.
    1. To run a complete deployment use :
      $ ./deploy-cluster
       
      OR
       
      $ ./deploy-cluster -no-ui
    2. Enter the $ ./deploy-cluster -vm-only command to run the virtual machine deployment phase.
    3. See the following for help on the command:
      $./deploy-cluster -h
      OR 
      $./deploy-cluster --help
  3. The Deploy-Tool validates all input parameters and verifies all dependencies for both deployment options. If something is missing, the user is notified on the terminal. Otherwise, the tool begins the steps in the deployment process. Progress displays on the terminal and includes any errors or conditions. For more information, see Viewing a Deployment Run as an example.
  4. The Deploy-Tool informs the user when errors occur and then exits the deployment. Adjust the deploy.settings files and rerun the deploy-cluster command. Virtual machines already deployed do not deploy again.
  5. When a deployment finishes, the Deploy-Tool displays a message on the terminal with the status of the connected cluster. See the following code block as an example. If you run the full deployment, before exiting, the tool checks the status and health of the cluster and services running on each node. It waits for up to 10 minutes for all services to start. If all the services are available, the tool informs the user to visit the Administration UI for the next steps. If no services are available, the tool informs the user to refer to the VMware Telco Cloud Operations Troubleshooting Guide.
    --- Cluster Node Status ---
    NAME                   STATUS   ROLES    AGE   VERSION
    arangoworker-1         Ready    <none>   24s   v1.17.3+vmware.2
    control-plane-node-1   Ready    master   13m   v1.17.3+vmware.2
    domainmanagers-1       Ready    <none>   24s   v1.17.3+vmware.2
    domainmanagers-2       Ready    <none>   24s   v1.17.3+vmware.2
    elasticworker-1        Ready    <none>   25s   v1.17.3+vmware.2
    elasticworker-2        Ready    <none>   22s   v1.17.3+vmware.2
    elasticworker-3        Ready    <none>   27s   v1.17.3+vmware.2
    kafkaworker-1          Ready    <none>   25s   v1.17.3+vmware.2
    kafkaworker-2          Ready    <none>   26s   v1.17.3+vmware.2
    kafkaworker-3          Ready    <none>   26s   v1.17.3+vmware.2
     
    --- Service Status ---
    Waiting for all services to start (may take up to 10 minutes) ............................................................................................................................................
    All services have started.
     
    --- Deployment Complete ---
    Next Steps:
      - Login to the Telco Cloud Operations UI at https://10.161.164.234.
        Please refer to the Telco Cloud Operations documentation for details.

    If the VM Deployment option is run, the tool informs you that the VMs are deployed and provides the URL for the Administration UI to complete the cluster deployment.

Cluster Deployment using deployed.vms

If the Deploy-Tool is used to complete only the VM deployment, follow the steps below to complete the cluster deployment.

After the VM deployment phase, the Deploy-Tool generates the deployed.vms file in the same folder as the deploy-cluster script. The deployed.vms file contains the configuration details required to complete the Cluster Deployment. Follow the Cluster Deployment section in the Manual Deployment Process steps to log in to the Deployment UI, load the deployed.vms, and complete the process.
Note: After loading the deployed.vms, do NOT change the Node Types and Node IP in the Nodes Configuration section of the Deployment UI, because both belong to the deployed VMs. Changing Node Types and Node IP will not deploy the cluster. The UI notifies you when errors occur.