Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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.

  1. Install the Server Manager wrapper package:

    dpkg -i contrail-server-manager-installer_[version~sku].deb

  2. 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:

    1. In the setup.sh script, comment out the line containing the docker run command.

    2. dpkg --purge contrail-server-manager

    3. setup.sh --all --hostip=[IP address of SM]

  3. 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.

  4. 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:

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.

  1. Configure the images needed for reimaging and provisioning.

    1. Add the Ubuntu image from JSON (used for reimaging)

      server-manager add image –f image-ubuntu-14.04.04.json

    2. 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.

  2. 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.

  3. 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.