- play_arrow Downloads
Adding a New Compute Node to Existing Containerized Contrail Cluster
This is initial process for adding a new compute node to existing Contrail OpenStack cluster.
Assume Contrail cluster is successfully provisioned
by the following instances.yaml
file.
provider_config: bms: ssh_pwd: c0ntrail123 ssh_user: root ntpserver: x.x.x.x domainsuffix: local instances: srvr1: provider: bms ip: 192.168.1.51 roles: config_database: config: control: analytics_database: analytics: webui: openstack: srvr2: provider: bms ip: 192.168.1.52 roles: config_database: config: control: analytics_database: analytics: webui: openstack: srvr3: provider: bms ip: 192.168.1.53 roles: config_database: config: control: analytics_database: analytics: webui: openstack: srvr4: provider: bms ip: 192.168.1.54 roles: vrouter: openstack_compute: contrail_configuration: CONTRAIL_VERSION: 5.1.0-0.40-ocata CONTROL_DATA_NET_LIST: 192.168.10.0/24 RABBITMQ_NODE_PORT: 5673 VROUTER_GATEWAY: 192.168.10.1 IPFABRIC_SERVICE_HOST: 192.168.10.150 KEYSTONE_AUTH_URL_VERSION: /v3 kolla_config: kolla_globals: kolla_internal_vip_address: 192.168.10.150 kolla_external_vip_address: 192.168.1.150
Run the following commands to add a new compute node to an existing Contrail OpenStack cluster.
- Edit the
instances.yaml
file to add a compute node, srvr5.content_copy zoom_out_mapprovider_config: bms: ssh_pwd: c0ntrail123 ssh_user: root ntpserver: x.x.x.x domainsuffix: local instances: srvr1: provider: bms ip: 192.168.1.51 roles: config_database: config: control: analytics_database: analytics: webui: openstack: srvr2: provider: bms ip: 192.168.1.52 roles: config_database: config: control: analytics_database: analytics: webui: openstack: srvr3: provider: bms ip: 192.168.1.53 roles: config_database: config: control: analytics_database: analytics: webui: openstack: srvr4: provider: bms ip: 192.168.1.54 roles: vrouter: openstack_compute: srvr5: provider: bms ip: 192.168.1.55 roles: vrouter: openstack_compute: contrail_configuration: CONTRAIL_VERSION: 5.1.0-0.38-ocata CONTROL_DATA_NET_LIST: 192.168.10.0/24 RABBITMQ_NODE_PORT: 5673 VROUTER_GATEWAY: 192.168.10.1 IPFABRIC_SERVICE_HOST: 192.168.10.150 KEYSTONE_AUTH_URL_VERSION: /v3 kolla_config: kolla_globals: kolla_internal_vip_address: 192.168.10.150 kolla_external_vip_address: 192.168.1.150
- Run the
configure_instances.yml
playbook with the newinstances.yaml
file.ansible-playbook -i inventory/ -e orchestrator=openstack playbooks/configure_instances.yml
It will install the required software and also, prepare the new node for running the relevant containers.
- Run playbooks.
ansible-playbook -i inventory/ -e orchestrator=openstack --tags nova playbooks/install_openstack.yml
ansible-playbook -i inventory/ -e orchestrator=openstack playbooks/install_contrail.ymlNoteThe --tags nova option runs only the nova role so that the other containers are not affected.
It is not recommended to omit the above option. If the option is omitted, especially when multiple OpenStack nodes are running with HA, the MariaDB Galera cluster will go out of sync and will not converge. In such situation, the only solution is to re-provision the entire OpenStack cluster.
You can also add or remove a compute node to existing Contrail cluster using Contrail Command UI. For details, refer to Adding a New Compute Node to Existing Containerized Contrail Cluster Using Contrail Command.