You can run the script with or without using the optional arguments listed in this section. Run the script on the Bootstrapper VM.

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 2022
    
    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
    
    -m {lab, ha}, --mode {lab, ha}
    Deployment mode. Default mode is 'ha'.
    Use 'ha' mode for production.
    Use 'lab' mode for development and lab testing purpose only.
    'lab' mode deploys CN TCA and/or TCA-CP with fewer resources and has no high availability.
    
    -p, --skipBootstrapperClusterCreationDeletion
    skip creating Bootstrapper cluster, storing manifest and deleting it at the end
    
    -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
  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.
-m {lab,ha}, --mode {lab,ha}

This argument indicates the deployment mode of the VMware Telco Cloud Automation cluster. Default mode is ha which has 3 replicas of control plane and worker nodes each. lab mode is supported, which is the minimal cluster (with 1 control plane and 1 worker node), replica count of all services is also set to 1.

You can use this mode only for development and lab testing.

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 1.0::Validate 'ha' mode configuration: bootstrapper.json
STAGE 1.1::Validation complete.
STAGE 2.0::Deploy MANAGEMENT Cluster
STAGE 2.1::Update addon to management cluster: 583c264e-e951-45b3-ae01-ab4f825db41e
STAGE 2.2::Store kubeconfig to management cluster: 583c264e-e951-45b3-ae01-ab4f825db41e
STAGE 3.0::Deploy bootstrapper cluster
STAGE 3.1::Deploy services in namespaces
STAGE 3.2::Processing 'istio-system' namespace
STAGE 3.2.1::Processing {'istio-base': '2.1.0'} service in 'istio-system' namespace
STAGE 3.2.2::Processing {'istio-discovery': '2.1.0'} service in 'istio-system' namespace
STAGE 3.3::Processing 'tca-services' namespace
STAGE 3.3.1::Processing {'static-route-manager': '2.1.0'} service in 'tca-services' namespace
STAGE 3.3.2::Processing {'support-bundle-service': '2.1.0'} service in 'tca-services' namespace
STAGE 3.4::Processing 'metallb-system' namespace
STAGE 3.4.1::Processing {'metallb': '2.1.0'} service in 'metallb-system' namespace
STAGE 3.5::Processing 'postgres-operator-system' namespace
STAGE 3.5.1::Processing {'postgres-operator': '2.1.0'} service in 'postgres-operator-system' namespace
STAGE 3.6::Processing 'tca-mgr' namespace
STAGE 3.6.1::Processing {'mongodb': '2.1.0'} service in 'tca-mgr' namespace
STAGE 3.6.2::Processing {'zookeeper': '2.1.0'} service in 'tca-mgr' namespace
STAGE 3.6.3::Processing {'kafka': '2.1.0'} service in 'tca-mgr' namespace
STAGE 3.6.4::Processing {'redisoperator': '2.1.0'} service in 'tca-mgr' namespace
STAGE 3.6.5::Processing {'redisservice': '2.1.0'} service in 'tca-mgr' namespace
STAGE 3.6.6::Processing {'istio-ingress': '2.1.0'} service in 'tca-mgr' namespace
STAGE 3.6.7::Processing {'postgres': '2.1.0'} service in 'tca-mgr' namespace
STAGE 3.6.8::Processing {'network-slicing': '2.1.0'} service in 'tca-mgr' namespace
STAGE 3.6.9::Processing {'tca': '2.1.0'} service in 'tca-mgr' namespace
STAGE 3.7::Processing 'tca-system' namespace
STAGE 3.7.1::Processing {'mongodb': '2.1.0'} service in 'tca-system' namespace
STAGE 3.7.2::Processing {'zookeeper': '2.1.0'} service in 'tca-system' namespace
STAGE 3.7.3::Processing {'kafka': '2.1.0'} service in 'tca-system' namespace
STAGE 3.7.4::Processing {'redisoperator': '2.1.0'} service in 'tca-system' namespace
STAGE 3.7.5::Processing {'redisservice': '2.1.0'} service in 'tca-system' namespace
STAGE 3.7.6::Processing {'istio-ingress': '2.1.0'} service in 'tca-system' namespace
STAGE 3.7.7::Processing {'postgres': '2.1.0'} service in 'tca-system' namespace
STAGE 3.7.8::Processing {'tca-extension-platform': '2.1.0'} service in 'tca-system' namespace
STAGE 3.7.9::Processing {'tca': '2.1.0'} service in 'tca-system' namespace
STAGE 3.7.10::Processing {'kbs': '2.1.0'} service in 'tca-system' namespace
STAGE 3.7.11::Processing {'nfv-ccli': '2.1.0'} service in 'tca-system' namespace
STAGE 3.7.12::Processing {'hostconfig-operator': '2.1.0'} service in 'tca-system' namespace
STAGE 3.7.13::Processing {'tca-kubecluster-operator': '2.1.0'} service in 'tca-system' namespace
STAGE 3.7.14::Processing {'nfv-tca-diagnosis-api': '2.1.0'} service in 'tca-system' namespace
STAGE 3.8::Processing 'fluent-system' namespace
STAGE 3.8.1::Processing {'fluent': '2.1.0'} service in 'fluent-system' namespace
STAGE 4.0::Migrate Kubeconfig from BootstrapperVM to TCA-M and TCA-CP Appliances
STAGE 4.1::Migrate Kubeconfig from BootstrapperVM to 10.176.113.14
STAGE 4.2::Migrate Kubeconfig from BootstrapperVM to 10.176.113.15
STAGE 5.0::Delete bootstrapper cluster.

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.

For more troubleshooting tips and latest updated information refer to the knowledgebase.