As I’ve been experimenting with OpenStack/Contrail I’ve had occasion to add in a new compute node (vRouter). Since documentation for adding any nodes to an already running system seems a bit thin on the ground, I thought I’d share some of the things I’ve seen to help others along the way.
Base Configuration for New Contrail Nodes
To add any new node there are a few steps you should take to speed things along.
- Base host configuration
- Install CentOS6.4 on the host – simplest way is to install off the current ISO (currently builder-386-x86_64-DVD.iso) though RPM packages are also available
- Configure networking e.g. hostname, IP addresses, DNS, etc.
- Update your testbed.py (located in
/opt/contrail/utils/fabfile/testbeds/) file on the configuration node, and make sure that your new node is reachable from the config node.- Add the OAM IP address
- Add the new host to the all_hosts parameter
- Configure the roles of the new host
- Add the new node into
env.hostnames - Add the new node into
env.ostypes
- Run the fab command to provision the new node (this varies depending on the type of node you want to configure (see below)
Provisioning different node types
This assumes that the previous steps have been completed, in some way shape or form. All the commands here should be issued on the Configuration Node, from the /opt/contrail/utils/ directory
New Compute Node (vRouter)
fab add_vrouter_node:[email protected]
where a.b.c.d is the OAM/MGMT address of the new node and root is the user account.
New controller node
fab install_control_node:[email protected]
fab setup_control_node:[email protected]
This required me to manually add the new control node as a BGP peer in the Contrail WebUI as a final step. I suspect that the command fab prov_control_bgp is also required, but not sure at the moment. Also, when configuring be sure that the name for the node matches the FQDN from earlier steps.
Complete fab <command> set for Contrail
add_images
add_static_route Add static route in the node...
add_vrouter_node Adds one/more new compute no...
agent_restart
all_command
all_crash
all_ping
all_reboot
all_reimage
all_version
api_restart
attach_logs_cores Attach the logs, core-files,...
backup_install_repo Backup contrail install repo...
backup_install_repo_node Backup contrail install repo...
bash_autocomplete_systemd
cfgm_status
check_and_kill_zookeeper
check_ssh
compute_crash
compute_provision
compute_reboot
compute_status
config_demo
contrail_version
control_crash
control_restart
control_status
copy
copy_dir
copy_install_pkgs
create_bond Crete the bond interface bas...
create_install_repo Creates contrail install rep...
create_install_repo_node Creates contrail install rep...
create_ovf
database_restart
database_status
demo_fixup
detach_vrouter_node Detaches one/more compute no...
get_cassandra_logs
install_and_setup_all Installs and provisions all ...
install_cfgm Installs config pkgs in all ...
install_cfgm_node Installs config pkgs in one ...
install_collector Installs analytics pkgs in a...
install_collector_node Installs analytics pkgs in o...
install_contrail Installs required contrail p...
install_control Installs control pkgs in all...
install_control_node Installs control pkgs in one...
install_database Installs database pkgs in al...
install_database_node Installs database pkgs in on...
install_deb_all Installs any deb in all node...
install_img_agent
install_interface_name Installs interface name pack...
install_interface_name_node Installs interface name pack...
install_openstack Installs openstack pkgs in a...
install_openstack_node Installs openstack pkgs in o...
install_pkg_all Installs any rpm/deb package...
install_pkg_node Installs any rpm/deb in one ...
install_rpm_all Installs any rpm in all node...
install_vrouter Installs vrouter pkgs in all...
install_vrouter_node Installs vrouter pkgs in one...
install_webui Installs webui pkgs in all n...
install_webui_node Installs webui pkgs in one o...
install_without_openstack Installs required contrail p...
net_list
prov_control_bgp
prov_encap_type
prov_external_bgp
prov_metadata_services
prov_vmware_compute_vm
reboot_node
reimage_and_setup_test
remove_startup_files
reset_config Reset api-server and opensta...
restart_cfgm starts the contrail config s...
restart_collector starts the contrail collecto...
restart_control starts the contrail control ...
restart_database startops the contrail databa...
restart_openstack startops the contrail openst...
restart_openstack_compute startops the contrail openst...
restart_vrouter starts the contrail compute ...
restart_webui starts the contrail webui se...
run_sanity
run_setup_demo
schema_restart
setup_all Provisions required contrail...
setup_all_debian Provisions required contrail...
setup_all_with_images
setup_cfgm Provisions config services i...
setup_cfgm_node Provisions config services i...
setup_collector Provisions collector service...
setup_collector_node Provisions collector service...
setup_control Provisions control services ...
setup_control_node Provisions control services ...
setup_database Provisions database services...
setup_database_node Provisions database services...
setup_interface Configure the IP address and...
setup_openstack Provisions openstack service...
setup_openstack_node Provisions openstack service...
setup_test_env
setup_vrouter Provisions vrouter services ...
setup_vrouter_node Provisions vrouter services ...
setup_webui Provisions webui services in...
setup_webui_node Provisions webui services in...
setup_without_openstack Provisions required contrail...
start_clients
start_servers
start_traffic
start_vnc
stop_cfgm stops the contrail config se...
stop_collector stops the contrail collector...
stop_control stops the contrail control s...
stop_database stops the contrail database ...
stop_glance_in_compute
stop_vrouter stops the contrail vrouter s...
stop_webui stops the contrail webui ser...
sudo_cmd
tar_logs_cores
test
uninstall_contrail Uninstall contrail and opens...
uninstall_database
uninstall_database_node
update_keystone_log Temporary workaround to upda...
upgrade
upgrade_all Upgrades all the contrail rp...
upgrade_api_venv_packages
upgrade_cfgm Upgrades config pkgs in all ...
upgrade_cfgm_node Upgrades config pkgs in one ...
upgrade_collector Upgrades analytics pkgs in a...
upgrade_collector_node Upgrades analytics pkgs in o...
upgrade_contrail Upgrades all the contrail p...
upgrade_control Upgrades control pkgs in all...
upgrade_control_node Upgrades control pkgs in one...
upgrade_database Upgrades the contrail databa...
upgrade_database_node Upgrades database pkgs in on...
upgrade_openstack Upgrades openstack pkgs in a...
upgrade_openstack_node Upgrades openstack pkgs in o...
upgrade_pkgs Upgrades the pramiko and pyc...
upgrade_pkgs_node Upgrades the pramiko/pcrypto...
upgrade_rpm_all Upgrades any rpm in all node...
upgrade_rpm_cfgm Upgrades any rpm in cfgm nod...
upgrade_rpm_collector Upgrades any rpm in collecto...
upgrade_rpm_compute Upgrades any rpm in compute ...
upgrade_rpm_control Upgrades any rpm in control ...
upgrade_rpm_database Upgrades any rpm in database...
upgrade_rpm_openstack Upgrades any rpm in openstac...
upgrade_rpm_webui Upgrades any rpm in webui no...
upgrade_venv_packages
upgrade_vrouter Upgrades vrouter pkgs in all...
upgrade_vrouter_node Upgrades vrouter pkgs in one...
upgrade_webui Upgrades webui pkgs in all n...
upgrade_webui_node Upgrades webui pkgs in one o...
upgrade_without_openstack Upgrades all the contrail p...
verify_cfgm
verify_collector
verify_compute
verify_control
verify_database
verify_openstack
verify_webui
virsh_cleanup
virsh_cmd
wait_till_all_up Waits for given nodes to go ...
zoolink Creates /usr/bin/zookeeper l...







