Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Contrail Cloud Overview

 

Juniper Networks® Contrail® Cloud is an integrated Telco cloud platform built to run high-performance Network Functions Virtualization with always-on reliability, allowing service providers to deliver innovative services with greater agility. Contrail Cloud features Red Hat® OpenStack and Red Hat Ceph combined with Juniper Networks Contrail Networking™, thereby bridging dynamic cloud orchestration with highly scalable connectivity. Contrail Cloud leverages AppFormix, which has a built-in automation capability powered by machine learning, to monitor the cloud infrastructure and VNFs in the most optimal manner, to remediate any potential failures to ensure adherence to service-level agreements (SLAs).

The following sections define key components of Contrail Cloud and your Contrail Cloud deployment. This will give you a basic understanding of the structure and interrelations of the different Contrail Cloud components, and help you understand what happens during the deployment process. For a detailed understanding of Contrail Cloud beyond the scope of the basic deployment instructions, see Contrail Cloud Reference Architecture Guide.

Contrail Cloud Node Types

Understanding the different node types that are used in Contrail Cloud will help you configure the YAML files for deployment.

jump hostA bare-metal hypervisor from which all Contrail Cloud deployment scripts are run.
undercloudA virtual machine (VM) that runs on the jump host. The undercloud deploys and configures the overcloud.
overcloudThe overcloud is considered the production OpenStack Cloud. The overcloud includes resources for the control plane, baremetal storage nodes, and baremetal compute nodes as deployed by the undercloud.
Contrail CommandA VM that runs on the jump host and provides the user interface for Contrail Networking.
control hostA baremetal server on which one or more control VMs run on.
control VMsVMs that run on one or more control hosts. Control VMs include:
  • OpenStack Controller

  • Contrail Controller

  • Contrail Analytics

  • Contrail Analytics Database

  • Contrail TSN (optional)

  • AppFormix Controller

compute nodesBaremetal servers on which tenant VMs run. The different compute node types include:
  • Kernel

  • DPDK

  • SR-IOV

storage nodesBaremetal servers that are loaded with storage drives for running Ceph storage software. The use of Ceph storage is optional.

Contrail Cloud Directory Structure

Contrail Cloud is installed on the jump host and located in /var/lib/contrail_cloud/. The following is the Contrail Cloud file directory structure:

  • The appformix directory holds your AppFormix license and any user-defined AppFormix plugins.

  • The auth directory is for the overcloudrc (overcloud) and stackrc (undercloud) credential files.

  • The certs directory holds your SSL certificates for Contrail and OpenStack

  • The config directory has all the configuration files for deploying Contrail Cloud. The configuration files are in the YAML file format.

  • The docs directory contains a copy of the Contrail Cloud Deployment Guide. This guide includes the essential steps for deploying Contrail Cloud.

  • The facts.d directory contains information about the Contrail Cloud environment and holds the state across Ansible runs to allow the playbooks to remember important deployment information.

  • The introspection directory is for files containing detailed information about the hardware that is used and how the hardware is configured. This information is useful when planning your overall Contrail Cloud deployment. This information can also be used to verify that NICs are assigned properly, along with VLANs and bonds.

  • The samples directory contains sample snippets of the various YAML configuration files which can be referenced for deployment. Each snippet details a specific use case configuration. This directory contains information about the various knobs and configuration options available, and is separated by features and scaling use cases.

  • The scripts directory contains various required and optional scripts that are used with Contrail Cloud, including pre-deployment verification scripts, deployment scripts, introspection and post-deployment verification tools.

  • The tmp directory holds the temporary files that are required by Contrail Cloud.

Configuration Files

This section briefly defines each of the configuration files that are used in your Contrail Cloud deployment. For specific configuration examples, see /var/lib/contrail_cloud/samples on the jump host. All configuration files are in the YAML file format using the Jinja2 template. All deployment configuration files are located in the /var/lib/contrail_cloud/config directory. The following configuration files are used in your Contrail Cloud deployment:

site.ymlThis configuration file contains information about the specific undercloud and overcloud instance.
inventory.ymlThis configuration file is for baremetal server configuration, such as IPMI and UEFI.
overcloud_nics.ymlYou can use this configuration file to configure network options for the overcloud nodes.
control-host-nodes.ymlYou can configure the network layout for the control host server(s) in this YAML file.
compute-nodes.ymlConfigure this file to assign naming and role mapping for all computes.
storage-nodes.ymlDefine the role mapping of the storage nodes.
vault-data.ymlThis is an encrypted file that holds all sensitive user data, such as product keys and user data.
Note

Contrail Cloud also provides default values for all Contrail Cloud playbooks. The default values can be found in /var/lib/contrail_cloud/ansible/playbooks/default.yml. Advanced users may review this file to look for values they wish to override in their config/site.yml.

Never modify the default.yml file directly. Always apply the values from the default.yml into your config/site.yml.