Installing Containerized Contrail Clusters Using Server Manager
This topic presents the steps needed to install containerized Contrail Release 4.0 in a single- or multi-node configuration.
You can use Contrail Server Manager or Server Manager Lite (SM-Lite) to provision containerized Contrail.
This is the procedure for using Server Manager. SM-Lite is typically used for Contrail networking, only.
The installation is completed using the following major activities:
Installing Server Manager
Before installing Contrail Release 4.0, you must install Contrail Server Manager on a server running Ubuntu.
Install the Server Manager wrapper package:
dpkg -i contrail-server-manager-installer_[version~sku].deb
Install Server Manager and its dependent packages, including docker-engine and Cobbler:
cd /opt/contrail/contrail_server_manager/; ./setup.sh --all --hostip=[IP address of SM]
Note:The
setup.sh
script could fail to start the Docker registry if you are installing over an existing version of Server Manager.If you encounter the Docker registry failure to start error, use the following workaround:
In the
setup.sh
script, comment out the line containing thedocker run
command.dpkg --purge contrail-server-manager
setup.sh --all --hostip=[IP address of SM]
When the Server Manager install completes with no errors, modify the DHCP template at
/etc/cobbler/dhcp.template
to include the details of the subnet being reimaged or provisioned. Be sure to include DNS details.Note:Container hosts require Internet connectivity at this point to launch the containers.
Start the Server Manager process:
service contrail-server-manager start
For more details about the Server Manager installation process, refer to Installing Server Manager.
Creating Objects with Server Manager and JSONs
Once Server Manager is installed, use Server Manager commands with a JSON file to create Contrail objects.
Configure an appropriate JSON file with the IP addresses, interface names, and password strings specific to your system.
Select a sample JSON from the following and update it to match your system:
Sample JSONs for an All-In-One-Node Cluster: Sample JSONs for an all-in-one, single node with roles
Sample JSONs for a Multinode Cluster with Two Nodes:Sample JSONs for a Multinode Cluster
Sample JSONs for a Multinode Cluster with 7 Nodes and High AvailabilitySample JSONs for a Multinode Cluster with High Availability:
The following procedure helps you create a target system that includes the components for OpenStack, Contrail controller, analytics, analytics database, and agent. The controller, analytics, and analytics database services are provisioned using Contrail containers, however, the agent service is configured on the bare-metal target host.
Configure the images needed for reimaging and provisioning.
Add the Ubuntu image from JSON (used for reimaging)
server-manager add image –f image-ubuntu-14.04.04.json
Add the Contrail Debian image and containers from JSON (used for provisioning)
server-manager add image –f contrail_image.json
Note:Wait for this command to complete, it operates in the background and can take as long as 5 minutes to complete.
Before proceeding, check for a log message:
Image add/Modify success
, in /var/log/contrail-server-manager/debug.log.
Configure the cluster(s).
For an all-in-one, single-node demo system:
server-manager add cluster -f <all_ins_one_cluster>.json
For a multi-node system:
server-manager add cluster -f <multi_node_cluster>.json
If a Keystone admin password is generated, be sure to write it down.
Note:During installation, if a password is provided, no other passwords are generated. If a password is NOT provided, all needed passwords are generated.
Configure the server.
server-manager add server -f contrail_server.json
Repeat this step for every server in the system, using the correct
server.json
file, based on the number of servers or type of your system.
Preparing the Target System for Provisioning
To prepare the target system for provisioning, reimage the target system(s), including the Contrail server and the OpenStack server.
For an all-in-one, single-node demo system:
server-manager reimage --server_id <server_id> <ubuntu_image>
For a multi-node system:
server-manager reimage --cluster_id <multi_node> <ubuntu_image>
Provisioning the System
Launch the system provisioning.
For an all-in-one, single-node demo system:
server-manager provision —cluster_id <all_in_one_cluster> combined_image_mainline
For a multi-node system:
server-manager provision —-cluster_id <multi_node> combined_image_mainline
The server-manager provision
command
first provisions the OpenStack role, which includes using Puppet manifests.
Next, the command provisions Contrail Docker containers and compute
nodes.
You can monitor progress of the provisioning by observing log entries:
/var/log/contrail-server-manager/debug.log
When provisioning is complete, confirm successful installation by creating a virtual network and launching virtual machines from the OpenStack node.