Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?


Installing a Contrail Cluster using Contrail Command and instances.yml

Contrail Networking supports deploying Contrail cluster using Contrail Command and the instances.yml file. A YAML file provides a concise format for specifying the instance settings.

We recommend installing Contrail Command and deploying your Contrail cluster from Contrail Command in most Contrail Networking deployments. See How to Install Contrail Command and Provision Your Contrail Cluster. You should only use the procedure in this document if you have a strong reason to not use the recommended procedure.

System Requirements

  • 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 for all Contrail Networking releases, see Contrail Networking Supported Platforms List.


Contrail Release 5.1 does not support Contrail Insights deployment from command line with Contrail Cluster instances.yml file.

Before you begin

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.


Perform the following steps to deploy a Contrail Cluster using Contrail Command and the instances.yml file.

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

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

    yum-config-manager --add-repo

    yum install -y docker-ce-18.03.1.ce

    systemctl start docker

  2. Download the contrail-command-deployer Docker container image from To download these containers and for access to, refer to the Access to Contrail Registry topic on the Contrail software download page. Allow Docker to connect to the private secure registry.

    docker login --username <container_registry_username> --password <container_registry_password>

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

    docker pull<container_tag>

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

    docker pull

  3. Edit the input configuration instances.yml file. See #installing-a-contrail-cluster-using-contrail-command-and-instances-yml__sample_instances_yml for a sample instances.yml file.
  4. Start the contrail_command_deployer container to deploy the Contrail Command (UI) server and provision Contrail Cluster using the instances.yml file provided.

    docker run -td --net host -e action=provision_cluster -v <ABSOLUTE_PATH_TO_COMMAND_SERVERS_FILE>:/command_servers.yml -v < ABSOLUTE_PATH_TO_INSTANCES_FILE>:/instances.yml --privileged --name contrail_command_deployer<container_tag>

    The contrail_command and contrail_psql Contrail Command containers will be deployed. Contrail Cluster is also provisioned using the given instances.yml file.

  5. (Optional) Track the progress of 4.

    docker logs -f contrail_command_deployer

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

    We strongly recommend creating a unique username and password for Contrail Command. See Installing Contrail Command for additional information on creating username and password combinations.


Enable subscription on all the RedHat nodes.

Sample instances.yml File


This representative instances.yaml file configures non-default Keystone ports by setting the keystone_public_port: and KEYSTONE_AUTH_PUBLIC_PORT:.