You can run the script with or without using the optional arguments listed in this section. Run the script as a root user.

Run the Script without Arguments

To run the script without arguments, open a terminal and run $ python setup_ha.py.

This command deploys the following:
  • Management cluster.
  • Bootstrapper cluster.
  • All the required namespaces with their services in the Management cluster for VMware Telco Cloud Automation and/or VMware Telco Cloud Automation Control Plane.

If the script run is interrupted, the script verifies the installed cluster and services and deploys only the missing components.

Run the Script with Arguments

To run the script with optional arguments:
  1. Open a terminal and run $ python setup_ha.py [options]. This command lists the available optional arguments.
    $ python setup_ha.py [options]
    
    VMware Inc.
    Copyright 2021
    
    Create/Delete cloud native TCA and/or TCA-CP appliances in HA mode.
    Default is to install "all" services after installing MANAGEMENT Cluster and Bootstrapper Cluster.
    
    Optional arguments:
    
    -h, --help show this help message and exit
    
    -b, --deployBootstrapperClusterOnly deploys only Bootstrapper cluster
    
    -d, --debug set logging level to DEBUG
    
    -f CONFIG_FILE, --config_file CONFIG_FILE    config file in JSON format. Default:./bootstrapper.json
    
    -i, --skipConfirmations. skip confirmations
    
    -r, --deleteBootstrapperClusterOnly removes only Bootstrapper cluster
    
    -s [Service_or_NameSpace], --deploy [Service_or_NameSpace]. Deploy specific service or all services in the namespace.
    
    -u [Service_or_NameSpace], --delete [Service_or_NameSpace]. Delete specific service or all services in the namespace, default is "all"
    
    -v, --validateOnly validate input file and stop
    
    -c, --confirmOnEachApiResponse
    wait for confirmation at each API Response when debug is enabled
    
    -p, --skipBootstrapperClusterCreationDeletion
    skip creating Bootstrapper cluster, storing manifest and deleting it at the end
  2. Select an argument and run the script.
The following table lists the arguments and their descriptions.
Argument Description
-b, --deployBootstrapperClusterOnly

This argument deploys the bootstrapper cluster only. It saves the manifest file in a database that can be used at a later stage.

-r, --deleteBootstrapperClusterOnly

This argument deletes the bootstrapper cluster. It does not affect any other services running in various namespaces in VMware Telco Cloud Automation and VMware Telco Cloud Automation Control Plane appliances.

-v, --validateOnly This argument validates the input configuration file. It does not deploy or delete any cluster or service.
-s [Service_or_NameSpace], --deploy [Service_or_NameSpace] This argument deploys a specific service or all services in the namespace. It deploys only a given service in one or more namespaces or all the services in a given namespace, as required by the VMware Telco Cloud Automation appliance. This option is for troubleshooting or development purposes only.
-u [Service_or_NameSpace], --delete [Service_or_NameSpace] This argument deletes a specific service in a namespace or all services in a given namespace, as required by the VMware Telco Cloud Automation appliance. If you do not provide a namespace or a service, it deletes all services and clusters by default. This option is for troubleshooting or development purposes only.

Deployment Stages

This example illustrates the different stages of deployment when running the script. The actual list of services can vary in the future.
STAGE 0::Validate HA configuration:
STAGE 1::Deploy management Cluster
STAGE 1.1::Update addon to management cluster
STAGE 1.2::Store kubeconfig to management cluster
STAGE 3::Skipping creation of bootstrapper cluster
STAGE 3::Deploy services in namespaces
STAGE 4::Migrate Kubeconfig from BootstrapperVM to TCA-M and TCA-CP Appliances
STAGE 5::Deletion of bootstrapper cluster
  {
    "istio-system": [
      {
        "istio-base": "2.0.0"
      },
      {
        "istio-discovery": "2.0.0"
      }
    ]
  },
  {
    "tca-services": [
      {
        "static-route-manager": "2.0.0"
      },
      {
        "support-bundle-service": "2.0.0"
      }
    ]
  },
  {
    "metallb-system": [
      {
        "metallb": "2.0.0"
      }
    ]
  },
  {
    "tca-mgr": [
      {
        "mongodb": "2.0.0"
      },
      {
        "zookeeper": "2.0.0"
      },
      {
        "kafka": "2.0.0"
      },
      {
        "redisoperator": "2.0.0"
      },
      {
        "redisservice": "2.0.0"
      },
      {
        "istio-ingress": "2.0.0"
      },
      {
        "postgresql": "2.0.0"
      },
      {
        "network-slicing-db-migrate": "2.0.0"
      },
      {
        "network-slicing": "2.0.0"
      },
      {
        "tca": "2.0.0"
      }
    ]
  },
  {
    "tca-system": [
      {
        "mongodb": "2.0.0"
      },
      {
        "zookeeper": "2.0.0"
      },
      {
        "kafka": "2.0.0"
      },
      {
        "redisoperator": "2.0.0"
      },
      {
        "redisservice": "2.0.0"
      },
      {
        "istio-ingress": "2.0.0"
      },
      {
        "tca": "2.0.0"
      },
      {
        "kbs": "2.0.0"
      },
      {
        "nfv-ccli": "2.0.0"
      },
      {
        "hostconfig-operator": "2.0.0"
      }
    ]
  },
  {
    "fluent-system": [
      {
        "fluent": "2.0.0"
      }
    ]
  }
]

Debugging Option

To get a detailed output for each API call, use the --debug option.

Out of Scope for this Script

This script does not automate the following tasks. You must perform them manually:
  • VMware Telco Cloud Automation Manager or VMware Telco Cloud Automation Control Plane appliance activation.
  • Day 0 configuration of VMware Telco Cloud Automation Manager or VMware Telco Cloud Automation Control Plane appliance.
  • Uploading certificates. Optional when configuring in an air-gapped environment.
  • Site pair of VMware Telco Cloud Automation and VMware Telco Cloud Automation Control Plane.
  • Cleanup of services during deployment failures.