Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 

Installing Contrail Command

 

Contrail Networking supports Contrail Command user interface (UI). Contrail Command is an intuitive, wizard-based UI which provides automated work flows such as the following:

  • Contrail cluster deployment (Kolla-based OpenStack cluster).

  • Automating the data center IP fabric.

  • Orchestrating virtual machines and bare metal servers.

Requirements

The system requirements to install the Contrail Command server are:

  • A VM or physical server with:

    • 4 vCPUs

    • 32 GB RAM

    • 100 GB disk

  • Internet access to and from the physical server, hereafter referred to as the Contrail Command server.

  • (Recommended) x86 server with CentOS 7.6 as the base OS to install Contrail Command.

For a list of supported platforms, see Supported Platforms Contrail 5.1.

Note

Email contrail-registry@juniper.net for Contrail container registry credentials.

Configuration

Prerequisite

docker-py Python module is superseded by docker Python module. You must remove docker-py and docker Python packages from all the nodes where you want to install the Contrail Command UI.

pip uninstall docker-py docker

Step-by-Step Procedure

Perform the following steps to configure and install Contrail Command.

  1. Install Docker to pull contrail-command-deployer container. This package is required to automate the deployment of Contrail Command software.

    yum install -y yum-utils device-mapper-persistent-data lvm2

    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

    yum install -y docker-ce-18.06.0.ce

    systemctl start docker

  2. Download the contrail-command-deployer Docker container image to deploy contrail-command (contrail_command, contrail_psql containers) from hub.juniper.net. Allow Docker to connect to the private secure registry.

    Access container_tag for contrail-command-deployer located at README Access to Contrail Registry  .



    docker login hub.juniper.net --username <container_registry_username> --password <container_registry_password>

    Pull contrail-command-deployer container from the private secure registry.

    docker pull hub.juniper.net/contrail/contrail-command-deployer:<container_tag>

    Example, for container_tag: 5.1.0-0.38, use the following command:

    docker pull hub.juniper.net/contrail/contrail-command-deployer:5.1.0-0.38

  3. Create the input configuration command_servers.yml file.

    Use the Minimal command_servers.yml file to create the minimal input configuration file. For an exhaustive list of supported parameters, use Complete command_servers.yml File.

  4. Start the contrail-command-deployer container to deploy the Contrail Command UI.

    docker run -td --net host -v <ABSOLUTE_PATH_TO_COMMAND_SERVERS_FILE>:/command_servers.yml --privileged --name contrail_command_deployer hub.juniper.net/contrail/contrail-command-deployer:<container_tag>

    <ABSOLUTE_PATH_TO_COMMAND_SERVERS_FILE>—absolute path to the command_servers.yml file that you created in step 3.

    Example, for container_tag: 5.1.0-0.38, use the following command:

    docker run -td --net host -v /root/command_servers.yml:/command_servers.yml --privileged --name contrail_command_deployer hub.juniper.net/contrail/contrail-command-deployer:5.1.0-0.38

    The contrail_command and contrail_psql containers are deployed.

  5. (Optional) You can also upgrade Contrail-Command UI without deleting existing database information. To update contrail_command container and not make changes to the database container, use the following command.

    docker run -td --net host -e delete_db=no -v <ABSOLUTE_PATH_TO_COMMAND_SERVERS_FILE>:/command_servers.yml --privileged --name contrail_command_deployer hub.juniper.net/contrail/contrail-command-deployer:<container_tag>

    Note

    Code changes that involve schema modifications require updating the database container as well. Step 5 is recommended only if the UI application requires an update.

  6. (Optional) Track the progress of step 4.

    docker logs -f contrail_command_deployer

  7. Once the playbook execution completes, log in to the Contrail Command UI using https://Contrail-Command-Server-IP-Address:9091. Use the same user name and password that was entered in step 3. Default username is admin and password is contrail123.

Sample command_servers.yml Files

Minimal command_servers.yml file

The following sample file has minimum configurations that you need when you install Contrail Command. You can also use this file for releases prior to Release 5.1.

Complete command_servers.yml File

The following sample file has an exhaustive list of configurations and supporting parameters that you need when you install Contrail Command.