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:
- 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
- Select an argument and run the script.
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.