Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Announcement: Try the Ask AI chatbot for answers to your technical questions about Juniper products and solutions.

close
external-header-nav
keyboard_arrow_up
close
keyboard_arrow_left
Contrail Getting Started Guide
Table of Contents Expand all
list Table of Contents
file_download PDF
{ "lLangCode": "en", "lName": "English", "lCountryCode": "us", "transcode": "en_US" }
English
keyboard_arrow_right

Deploying Contrail by Using Juju Charms

date_range 17-Oct-23

You can deploy Contrail by using Juju Charms. Juju helps you deploy, configure, and efficiently manage applications on private clouds and public clouds. Juju accesses the cloud with the help of a Juju controller. A Charm is a module containing a collection of scripts and metadata and is used with Juju to deploy Contrail.

Contrail supports the following charms:

  • contrail-agent

  • contrail-analytics

  • contrail-analyticsdb

  • contrail-controller

  • contrail-keystone-auth

  • contrail-openstack

These topics describe how to deploy Contrail by using Juju Charms.

Preparing to Deploy Contrail by Using Juju Charms

Follow these steps to prepare for deployment:

  1. Install Juju.
    content_copy zoom_out_map
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install juju
  2. Configure Juju.

    You can add a cloud to Juju, identify clouds supported by Juju, and also manage clouds already added to Juju.

    • Adding a cloud—Juju recognizes a wide range of cloud types. You can use any one of the following methods to add a cloud to Juju:

      • Adding a Cloud by Using Interactive Command

        Example: Adding an MAAS cloud to Juju

        content_copy zoom_out_map
        juju add-cloud
        Cloud Types
          maas
          manual
          openstack
          oracle
          vsphere
        
        Select cloud type: maas
        
        Enter a name for your maas cloud: maas-cloud
        
        Enter the API endpoint url: http://<ip-address>:<node>/MAAS
        
        Cloud "maas-cloud" successfully added
        You may bootstrap with 'juju bootstrap maas-cloud'
        Note:

        Juju 2.x is compatible with MAAS series 1.x and 2.x.

      • Adding a Cloud Manually

        You use a YAML configuration file to add a cloud manually. Enter the following command:

        content_copy zoom_out_map
        juju add-cloud <cloud-name>
        juju add-credential <cloud name>

        For an example, to add the cloud junmaas, assuming that the name of the configuration file in the directory is maas-clouds.yaml, you run the following command:

        content_copy zoom_out_map
        juju add-cloud junmaas maas-clouds.yaml

        The following is the format of the YAML configuration file:

        content_copy zoom_out_map
        clouds:
          <cloud_name>:
            type: <type_of_cloud>
            auth-types: [<authenticaton_types>]
            regions:
              <region-name>:
                endpoint: <http://<ip-address>:<node>/MAAS>
        Note:

        The auth-types for a MAAS cloud type is oauth1.

    • Identifying a supported cloud

      Juju recognizes the cloud types given below. You use the juju clouds command to list cloud types that are supported by Juju.

      content_copy zoom_out_map
      $ juju clouds
      Cloud        Regions  Default          Type        Description
      aws               15  us-east-1        ec2         Amazon Web Services
      aws-china          1  cn-north-1       ec2         Amazon China
      aws-gov            1  us-gov-west-1    ec2         Amazon (USA Government)
      azure             26  centralus        azure       Microsoft Azure
      azure-china        2  chinaeast        azure       Microsoft Azure China
      cloudsigma         5  hnl              cloudsigma  CloudSigma Cloud
      google            13  us-east1         gce         Google Cloud Platform
      joyent             6  eu-ams-1         joyent      Joyent Cloud
      oracle             5  uscom-central-1  oracle      Oracle Cloud
      rackspace          6  dfw              rackspace   Rackspace Cloud
      localhost          1  localhost        lxd         LXD Container Hypervisor
  3. Create a Juju controller.
    content_copy zoom_out_map
    juju bootstrap --bootstrap-series=xenial <cloud name> <controller name>
    Note:

    A Juju controller manages and keeps track of applications in the Juju cloud environment.

Deploying Contrail Charms

You can deploy Contrail Charms in a bundle or manually.

Deploying Contrail Charms in a Bundle

Follow these steps to deploy Contrail Charms in a bundle.

  1. Deploy Contrail Charms.

    To deploy Contrail Charms in a bundle, use the juju deploy <bundle_yaml_file> command.

    The following example shows you how to use bundle_yaml_file to deploy Contrail on Amazon Web Services (AWS) Cloud.

    content_copy zoom_out_map
    series: xenial
    services:
      ubuntu:
        charm: cs:xenial/ubuntu
        num_units: 3
        to: [ "1", "2", "3" ]
      ntp:
        charm: cs:xenial/ntp
        num_units: 0
        options:
          source: ntp.juniper.net
      mysql:
        charm: cs:xenial/percona-cluster
        options:
          dataset-size: 15%
          max-connections: 10000
          root-password: password
          sst-password: password
          vip: ip-address
          vip_cidr: 24
        num_units: 3
        to: [ "lxd:1", "lxd:2", "lxd:3" ]
      rabbitmq-server:
        charm: cs:xenial/rabbitmq-server
        num_units: 3
        to: [ "lxd:1", "lxd:2", "lxd:3" ]
      heat:
        charm: cs:xenial/heat
        num_units: 3
        options:
          vip: ip-address
          vip_cidr: 24
        to: [ "lxd:1", "lxd:2", "lxd:3" ]
      keystone:
        charm: cs:xenial/keystone
        options:
          admin-password: password
          admin-role: admin
          openstack-origin: cloud:xenial-newton
          vip: ip-address
          vip_cidr: 24
        num_units: 3
        to: [ "lxd:1", "lxd:2", "lxd:3" ]
      nova-cloud-controller:
        charm: cs:xenial/nova-cloud-controller
        options:
          network-manager: Neutron
          openstack-origin: cloud:xenial-newton
          vip: ip-address
          vip_cidr: 24
        num_units: 3
        to: [ "lxd:1", "lxd:2", "lxd:3" ]
      neutron-api:
        charm: cs:xenial/neutron-api
        series: xenial
        options:
          manage-neutron-plugin-legacy-mode: false
          openstack-origin: cloud:xenial-newton
          vip: ip-address
          vip_cidr: 24
        num_units: 3
        to: [ "lxd:1", "lxd:2", "lxd:3" ]
      glance:
        charm: cs:xenial/glance
        options:
          openstack-origin: cloud:xenial-newton
          vip: ip-address
          vip_cidr: 24
        num_units: 3
        to: [ "lxd:1", "lxd:2", "lxd:3" ]
      openstack-dashboard:
        charm: cs:xenial/openstack-dashboard
        options:
          openstack-origin: cloud:xenial-newton
          vip: ip-address
          vip_cidr: 24
        num_units: 3
        to: [ "lxd:1", "lxd:2", "lxd:3" ]
      nova-compute:
        charm: cs:xenial/nova-compute
        options:
          openstack-origin: cloud:xenial-newton
        num_units: 3
        to: [ "4", "5", "6" ]
      mysql-hacluster:
        charm: cs:xenial/hacluster
        options:
          cluster_count: 3
        num_units: 0
      keystone-hacluster:
        charm: cs:xenial/hacluster
        options:
          cluster_count: 3
        num_units: 0
      ncc-hacluster:
        charm: cs:xenial/hacluster
        options:
          cluster_count: 3
        num_units: 0
      neutron-hacluster:
        charm: cs:xenial/hacluster
        options:
          cluster_count: 3
        num_units: 0
      glance-hacluster:
        charm: cs:xenial/hacluster
        options:
          cluster_count: 3
        num_units: 0
      dashboard-hacluster:
        charm: cs:xenial/hacluster
        options:
          cluster_count: 3
        num_units: 0
      heat-hacluster:
        charm: cs:xenial/hacluster
        options:
          cluster_count: 3
        num_units: 0
      contrail-openstack:
        charm: cs:~juniper-os-software/contrail-openstack
        series: xenial
        num_units: 0
      contrail-agent:
        charm: cs:~juniper-os-software/contrail-agent
        num_units: 0
        series: xenial
        options:
          log-level: "SYS_DEBUG"
      contrail-analytics:
        charm: cs:~juniper-os-software/contrail-analytics
        num_units: 3
        series: xenial
        to: [ "1", "2", "3" ]
      contrail-analyticsdb:
        charm: cs:~juniper-os-software/contrail-analyticsdb
        num_units: 3
        series: xenial
        options:
          log-level: "SYS_DEBUG"
          cassandra-minimum-diskgb: 4
          cassandra-jvm-extra-opts: "-Xms1g -Xmx2g"
        to: [ "1", "2", "3" ]
      contrail-controller:
        charm: cs:~juniper-os-software/contrail-controller
        series: xenial
        options:
          vip: ip-address
          log-level: "SYS_DEBUG"
          cassandra-minimum-diskgb: 4
          cassandra-jvm-extra-opts: "-Xms1g -Xmx2g"
        to: [ "1", "2", "3" ]
      contrail-keystone-auth:
        charm: cs:~juniper-os-software/contrail-keystone-auth
        series: xenial
        num_units: 1
        to: [ "lxd:1" ]
    
      contrail-keepalived:
        charm: cs:~boucherv29/keepalived-19
        series: xenial
        options:
          virtual_ip: ip-address
      contrail-haproxy:
        charm: haproxy
        series: xenial
        expose: true
        options:
          peering_mode: "active-active"
        to: [ "1", "2", "3" ]
    
    relations:
      # openstack
      - [ "ubuntu", "ntp" ]
      - [ mysql, mysql-hacluster ]
      - [ "keystone", "mysql" ]
      - [ keystone, keystone-hacluster ]
      - [ "glance", "mysql" ]
      - [ "glance", "keystone" ]
      - [ glance, glance-hacluster ]
      - [ "nova-cloud-controller", "mysql" ]
      - [ "nova-cloud-controller", "rabbitmq-server" ]
      - [ "nova-cloud-controller", "keystone" ]
      - [ "nova-cloud-controller", "glance" ]
      - [ nova-cloud-controller, ncc-hacluster ]
      - [ "neutron-api", "mysql" ]
      - [ "neutron-api", "rabbitmq-server" ]
      - [ "neutron-api", "nova-cloud-controller" ]
      - [ "neutron-api", "keystone" ]
      - [ neutron-api, neutron-hacluster ]
      - [ "nova-compute:amqp", "rabbitmq-server:amqp" ]
      - [ "nova-compute", "glance" ]
      - [ "nova-compute", "nova-cloud-controller" ]
      - [ "nova-compute", "ntp" ]
      - [ "openstack-dashboard:identity-service", "keystone" ]
      - [ openstack-dashboard, dashboard-hacluster ]
      - [ "heat", "mysql" ]
      - [ "heat", "rabbitmq-server" ]
      - [ "heat", "keystone" ]
      - [ "heat", "heat-hacluster" ]
    
      #contrail
      - [ "contrail-keystone-auth", "keystone" ]
      - [ "contrail-controller", "contrail-keystone-auth" ]
      - [ "contrail-analytics", "contrail-analyticsdb" ]
      - [ "contrail-controller", "contrail-analytics" ]
      - [ "contrail-controller", "contrail-analyticsdb" ]
      - [ "contrail-openstack", "nova-compute" ]
      - [ "contrail-openstack", "neutron-api" ]
      - [ "contrail-openstack", "heat" ]
      - [ "contrail-openstack", "contrail-controller" ]
      - [ "contrail-agent:juju-info", "nova-compute:juju-info" ]
      - [ "contrail-agent", "contrail-controller"]
    
      #haproxy
      - [ "haproxy:juju-info", "keepalived:juju-info" ]
      - [ "contrail-analytics", "haproxy" ]
      - [ "contrail-controller:http-services", "haproxy" ]
      - [ "contrail-controller:https-services", "haproxy" ]
    
    machines:
      "1":
        series: xenial
        #constraints: mem=15G root-disk=40G
        constraints: tags=contrail-controller-vm-1
      "2":
        series: xenial
        #constraints: mem=15G root-disk=40G
        constraints: tags=contrail-controller-vm-2
      "3":
        series: xenial
        #constraints: mem=15G root-disk=40G
        constraints: tags=contrail-controller-vm-3
      "4":
        series: xenial
        #constraints: mem=4G root-disk=20G
        constraints: tags=compute-storage-1
      "5":
        series: xenial
        #constraints: mem=4G root-disk=20G
        constraints: tags=compute-storage-2
      "6":
        series: xenial
        #constraints: mem=4G root-disk=20G
        constraints: tags=compute-storage-3

    You can create or modify the Contrail Charm deployment bundle YAML file to:

    • Point to machines or instances where the Contrail Charms must be deployed.

    • Include the options you need.

      Each Contrail Charm has a specific set of options. The options you choose depend on the charms you select. For more information on the options that are available, see Options for Juju Charms.

  2. (Optional) Check the status of deployment.

    You can check the status of the deployment by using the juju status command.

  3. Enable configuration statements.

    Based on your deployment requirements, you can enable the following configuration statements:

Deploying Juju Charms Manually

Before you begin deployment, ensure that you have:

  • Installed and configured Juju

  • Created a Juju controller

  • Ubuntu 16.04 or Ubuntu 18.04 installed

Follow these steps to deploy Juju Charms manually:

  1. Create machine instances for OpenStack, compute, and Contrail.
    content_copy zoom_out_map
    juju add-machine --constraints mem=8G cores=2 root-disk=40G --series=xenial   #for openstack machine(s) 0
    juju add-machine --constraints mem=7G cores=4 root-disk=40G --series=xenial   #for compute machine(s) 1,(3)
    juju add-machine --constraints mem=15G cores=2 root-disk=300G --series=xenial #for contrail  machine 2
  2. Deploy OpenStack services.

    You can deploy OpenStack services by using any one of the following methods:

    • By specifying the OpenStack parameters in a YAML file

      The following is an example of a YAML-formatted (nova-compute-config.yaml) file.

      content_copy zoom_out_map
      nova-compute:
          openstack-origin: cloud:xenial-ocata
          virt-type: qemu 
          enable-resize: True
          enable-live-migration: True
          migration-auth-type: ssh

      Use this command to deploy OpenStack services by using a YAML-formatted file:

      content_copy zoom_out_map
      juju deploy cs:xenial/nova-compute --config ./nova-compute-config.yaml
    • By using CLI

      To deploy OpenStack services through the CLI:

      content_copy zoom_out_map
      juju deploy cs:xenial/nova-cloud-controller --config console-access-protocol=novnc --config openstack-origin=cloud:xenial-ocata
    • By using a combination of YAML-formatted file and CLI

      To deploy OpenStack services by using a combination of YAML-formatted file and CLI:

      Note:

      Use the --to <machine number> command to point to a machine or container where you want the application to be deployed.

      content_copy zoom_out_map
      juju deploy cs:xenial/ntp
      juju deploy cs:xenial/rabbitmq-server --to lxd:0
      juju deploy cs:xenial/percona-cluster mysql --config root-password=<root-password> --config max-connections=1500 --to lxd:0
      juju deploy cs:xenial/openstack-dashboard --config openstack-origin=cloud:xenial-ocata --to lxd:0
      juju deploy cs:xenial/nova-cloud-controller --config console-access-protocol=novnc --config openstack-origin=cloud:xenial-ocata --config network-manager=Neutron --to lxd:0
      juju deploy cs:xenial/neutron-api --config manage-neutron-plugin-legacy-mode=false --config openstack-origin=cloud:xenial-ocata --config neutron-security-groups=true --to lxd:0
      juju deploy cs:xenial/glance --config openstack-origin=cloud:xenial-ocata --to lxd:0
      juju deploy cs:xenial/keystone --config admin-password=<admin-password> --config admin-role=admin --config openstack-origin=cloud:xenial-ocata --to lxd:0
      Note:

      You set OpenStack services on different machines or on different containers to prevent HAProxy conflicts from applications.

  3. Deploy and configure nova-compute.
    content_copy zoom_out_map
    juju deploy cs:xenial/nova-compute --config ./nova-compute-config.yaml --to 1
    Note:

    You can deploy nova-compute to more than one compute machine.

    (Optional) To add additional computes:

    content_copy zoom_out_map
    juju add-unit nova-compute --to 3 # Add one more unit
  4. Deploy and configure Contrail services.
    content_copy zoom_out_map
    juju deploy --series=xenial $CHARMS_DIRECTORY/contrail-charms/contrail-keystone-auth --to 2
    juju deploy --series=xenial $CHARMS_DIRECTORY/contrail-charms/contrail-controller --config auth-mode=rbac --config cassandra-minimum-diskgb=4 --config cassandra-jvm-extra-opts="-Xms1g -Xmx2g" --to 2
    juju deploy --series=xenial $CHARMS_DIRECTORY/contrail-charms/contrail-analyticsdb cassandra-minimum-diskgb=4 --config cassandra-jvm-extra-opts="-Xms1g -Xmx2g" --to 2
    juju deploy --series=xenial $CHARMS_DIRECTORY/contrail-charms/contrail-analytics --to 2
    juju deploy --series=xenial $CHARMS_DIRECTORY/contrail-charms/contrail-openstack
    juju deploy --series=xenial $CHARMS_DIRECTORY/contrail-charms/contrail-agent
  5. Enable applications to be available to external traffic:
    content_copy zoom_out_map
    juju expose openstack-dashboard
    juju expose nova-cloud-controller
    juju expose neutron-api
    juju expose glance
    juju expose keystone
  6. Enable contrail-controller and contrail-analytics services to be available to external traffic if you do not use HAProxy.
    content_copy zoom_out_map
    juju expose contrail-controller
    juju expose contrail-analytics
  7. Apply SSL.

    You can apply SSL if needed. To use SSL with Contrail services, deploy easy-rsa service and add-relation command to create relations to contrail-controller service and contrail-agent services.

    content_copy zoom_out_map
    juju deploy cs:~containers/xenial/easyrsa --to 0
    juju add-relation easyrsa contrail-controller
    juju add-relation easyrsa contrail-agent
  8. (Optional) HA configuration.

    If you use more than one controller, follow the HA solution given below:

    1. Deploy HAProxy and Keepalived services.

      HAProxy charm is deployed on machines with Contrail controllers. HAProxy charm must have peering_mode set to active-active. If peering_mode is set to active-passive, HAProxy creates additional listeners on the same ports as other Contrail services. This leads to port conflicts.

      Keepalived charm does not require to option.

      content_copy zoom_out_map
      juju deploy cs:xenial/haproxy --to <first contrail-controller machine> --config peering_mode=active-active
      juju add-unit haproxy --to <another contrail-controller machine>
      juju deploy cs:~boucherv29/keepalived-19 --config virtual_ip=<vip>
    2. Enable HAProxy to be available to external traffic.
      content_copy zoom_out_map
      juju expose haproxy
      Note:

      If you enable HAProxy to be available to external traffic, do not follow step 6.

    3. Add HAProxy and Keepalived relations.
      content_copy zoom_out_map
      juju add-relation haproxy:juju-info keepalived:juju-info
      juju add-relation contrail-analytics:http-services haproxy
      juju add-relation contrail-controller:http-services haproxy
      juju add-relation contrail-controller:https-services haproxy
    4. Configure contrail-controller service with VIP.
      content_copy zoom_out_map
      juju set contrail-controller vip=<vip>
  9. Add other necessary relations.
    content_copy zoom_out_map
    juju add-relation keystone:shared-db mysql:shared-db
    juju add-relation glance:shared-db mysql:shared-db
    juju add-relation keystone:identity-service glance:identity-service
    juju add-relation nova-cloud-controller:image-service glance:image-service
    juju add-relation nova-cloud-controller:identity-service keystone:identity-service
    juju add-relation nova-cloud-controller:cloud-compute nova-compute:cloud-compute
    juju add-relation nova-compute:image-service glance:image-service
    juju add-relation nova-compute:amqp rabbitmq-server:amqp
    juju add-relation nova-cloud-controller:shared-db mysql:shared-db
    juju add-relation nova-cloud-controller:amqp rabbitmq-server:amqp
    juju add-relation openstack-dashboard:identity-service keystone
    
    juju add-relation neutron-api:shared-db mysql:shared-db
    juju add-relation neutron-api:neutron-api nova-cloud-controller:neutron-api
    juju add-relation neutron-api:identity-service keystone:identity-service
    juju add-relation neutron-api:amqp rabbitmq-server:amqp
    
    juju add-relation contrail-controller ntp
    juju add-relation nova-compute:juju info ntp:juju info
    
    juju add-relation contrail-controller contrail-keystone-auth
    juju add-relation contrail-keystone-auth keystone
    juju add-relation contrail-controller contrail-analytics
    juju add-relation contrail-controller contrail-analyticsdb
    juju add-relation contrail-analytics contrail-analyticsdb
    
    juju add-relation contrail-openstack neutron-api
    juju add-relation contrail-openstack nova-compute
    juju add-relation contrail-openstack contrail-controller
    
    juju add-relation contrail-agent:juju info nova-compute:juju info
    juju add-relation contrail-agent contrail-controller

Options for Juju Charms

Each Contrail Charm has a specific set of options. The options you choose depend on the charms you select. The following tables list the various options you can choose:

  • Options for contrail-agent Charms.

    Table 1: Options for contrail-agent

    Option

    Default option

    Description

    physical-interface

    Specify the interface where you want to install vhost0 on. If you do not specify an interface, vhost0 is installed on the default gateway interface.

    vhost-gateway

    auto

    Specify the gateway for vhost0. You can enter either an IP address or the keyword (auto) to automatically set a gateway based on the existing vhost routes.

    remove-juju-bridge

    true

    To install vhost0 directly on the interface, enable this option to remove any bridge created to deploy LXD/LXC and KVM workloads.

    dpdk

    false

    Specify DPDK vRouter.

    dpdk-driver

    uio_pci_generic

    Specify DPDK driver for the physical interface.

    dpdk-hugepages

    70%

    Specify the percentage of huge pages reserved for DPDK vRouter and OpenStack instances.

    dpdk-coremask

    1

    Specify the vRouter CPU affinity mask to determine on which CPU the DPDK vRouter will run.

    dpdk-main-mempool-size

    Specify the main packet pool size.

    dpdk-pmd-txd-size

    Specify the DPDK PMD Tx Descriptor size.

    dpdk-pmd-rxd-size

    Specify the DPDK PMD Rx Descriptor size.

    docker-registry

    opencontrailnightly

    Specify the URL of the docker-registry.

    docker-registry-insecure

    false

    Specify if the docker-registry should be configured.

    docker-user

    Log in to the docker registry.

    docker-password

    Specify the docker-registry password.

    image-tag

    latest

    Specify the docker image tag.

    log-level

    SYS_NOTICE

    Specify the log level for Contrail services.

    Options: SYS_EMERG, SYS_ALERT, SYS_CRIT, SYS_ERR, SYS_WARN, SYS_NOTICE, SYS_INFO, SYS_DEBUG

    http_proxy

    Specify URL.

    https_proxy

    Specify URL.

    no_proxy

    Specify the list of destinations that must be directly accessed.

  • Options for contrail-analytics Charms.

    Table 2: Options for contrail-analytics

    Option

    Default option

    Description

    control-network

    Specify the IP address and network mask of the control network.

    docker-registry

     

    Specify the URL of the docker-registry.

    docker-registry-insecure

    false

    Specify if the docker-registry should be configured.

    docker-user

    Log in to the docker registry.

    docker-password

    Specify the docker-registry password.

    image-tag

     

    Specify the docker image tag.

    log-level

    SYS_NOTICE

    Specify the log level for Contrail services.

    Options: SYS_EMERG, SYS_ALERT, SYS_CRIT, SYS_ERR, SYS_WARN, SYS_NOTICE, SYS_INFO, SYS_DEBUG

    http_proxy

    Specify URL.

    https_proxy

    Specify URL.

    no_proxy

    Specify the list of destinations that must be directly accessed.

  • Options for contrail-analyticsdb Charms.

    Table 3: Options for contrail-analyticsdb

    Option

    Default option

    Description

    control-network

    Specify the IP address and network mask of the control network.

    cassandra-minimum-diskgb

    256

    Specify the minimum disk requirement.

    cassandra-jvm-extra-opts

    Specify the memory limit.

    docker-registry

     

    Specify the URL of the docker-registry.

    docker-registry-insecure

    false

    Specify if the docker-registry should be configured.

    docker-user

    Log in to the docker registry.

    docker-password

    Specify the docker-registry password.

    image-tag

     

    Specify the docker image tag.

    log-level

    SYS_NOTICE

    Specify the log level for Contrail services.

    Options: SYS_EMERG, SYS_ALERT, SYS_CRIT, SYS_ERR, SYS_WARN, SYS_NOTICE, SYS_INFO, SYS_DEBUG

    http_proxy

    Specify URL.

    https_proxy

    Specify URL.

    no_proxy

    Specify the list of destinations that must be directly accessed.

  • Options for contrail-controller Charms.

    Table 4: Options for contrail-controller

    Option

    Default option

    Description

    control-network

    Specify the IP address and network mask of the control network.

    auth-mode

    rbac

    Specify the authentication mode.

    Options: rbsc, cloud-admin, no-auth.

    For more information, see https://github.com/Juniper/contrail-controller/wiki/RBAC.

    cassandra-minimum-diskgb

    20

    Specify the minimum disk requirement.

    cassandra-jvm-extra-opts

    Specify the memory limit.

    cloud-admin-role

    admin

    Specify the role name in keystone for users who have admin-level access.

    global-read-only-role

    Specify the role name in keystone for users who have read-only access.

    vip

    Specify if the Contrail API VIP is used for configuring client-side software. If not specified, private IP of the first Contrail API VIP unit will be used.

    use-external-rabbitmq

    false

    To enable the Charm to use the internal RabbitMQ server, set use-external-rabbitmq to false.

    To use an external AMQP server, setuse-external-rabbitmq to true.

    Note:

    Do not change the flag after deployment.

    flow-export-rate

    0

    Specify how many flow records are exported by vRouter agent to the Contrail Collector when a flow is created or deleted.

    docker-registry

     

    Specify the URL of the docker-registry.

    docker-registry-insecure

    false

    Specify if the docker-registry should be configured.

    docker-user

    Log in to the docker registry.

    docker-password

    Specify the docker-registry password.

    image-tag

     

    Specify the docker image tag.

    log-level

    SYS_NOTICE

    Specify the log level for Contrail services.

    Options: SYS_EMERG, SYS_ALERT, SYS_CRIT, SYS_ERR, SYS_WARN, SYS_NOTICE, SYS_INFO, SYS_DEBUG

    http_proxy

    Specify URL.

    https_proxy

    Specify URL.

    no_proxy

    Specify the list of destinations that must be directly accessed.

  • Options for contrail-keystone-auth Charms.

    Table 5: Options for contrail-keystone-auth

    Option

    Default option

    Description

    ssl_ca

    Specify if the base64-encoded SSL CA certificate is provided to Contrail keystone clients.

    Note:

    This certificate is required if you use a privately signed ssl_cert and ssl_key.

  • Options for contrail-openstack Charms.

    Table 6: Options for contrail-controller

    Option

    Default option

    Description

    enable-metadata-server

    true

    Set enable-metadata-server to true to configure metadata and enable nova to run a local instance of nova-api-metadata for virtual machines

    use-internal-endpoints

    false

    Set use-internal-endpoints to true for OpenStack to configure services to use internal endpoints.

    heat-plugin-dirs

    /usr/lib64/heat,/usr /lib/heat/usr/lib/ python2.7/dist-packages/ vnc_api/gen/heat/ resources

    Specify the heat plugin directories.

    docker-registry

     

    Specify the URL of the docker-registry.

    docker-registry-insecure

    false

    Specify if the docker-registry should be configured.

    docker-user

    Log in to the docker registry.

    docker-password

    Specify the docker-registry password.

    image-tag

     

    Specify the docker image tag.

    log-level

    SYS_NOTICE

    Specify the log level for Contrail services.

    Options: SYS_EMERG, SYS_ALERT, SYS_CRIT, SYS_ERR, SYS_WARN, SYS_NOTICE, SYS_INFO, SYS_DEBUG

    http_proxy

    Specify URL.

    https_proxy

    Specify URL.

    no_proxy

    Specify the list of destinations that must be directly accessed.

external-footer-nav