Installing Contrail with OpenStack by Using Juju Charms
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:
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.
Deploying Juju Charms with OpenStack 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:
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-interfaceSpecify 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-gatewayautoSpecify 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-bridgetrueTo install vhost0 directly on the interface, enable this option to remove any bridge created to deploy LXD/LXC and KVM workloads.
dpdkfalseSpecify DPDK vRouter.
dpdk-driveruio_pci_genericSpecify DPDK driver for the physical interface.
dpdk-hugepages70%Specify the percentage of huge pages reserved for DPDK vRouter and OpenStack instances.
dpdk-coremask1Specify the vRouter CPU affinity mask to determine on which CPU the DPDK vRouter will run.
dpdk-main-mempool-sizeSpecify the main packet pool size.
dpdk-pmd-txd-sizeSpecify the DPDK PMD Tx Descriptor size.
dpdk-pmd-rxd-sizeSpecify the DPDK PMD Rx Descriptor size.
docker-registryopencontrailnightlySpecify the URL of the docker-registry.
docker-registry-insecurefalseSpecify if the docker-registry should be configured.
docker-userLog in to the docker registry.
docker-passwordSpecify the docker-registry password.
image-taglatestSpecify the docker image tag.
log-levelSYS_NOTICESpecify the log level for Contrail services.
Options:
SYS_EMERG, SYS_ALERT, SYS_CRIT, SYS_ERR, SYS_WARN, SYS_NOTICE, SYS_INFO, SYS_DEBUGhttp_proxySpecify URL.
https_proxySpecify URL.
no_proxySpecify 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-networkSpecify the IP address and network mask of the control network.
docker-registrySpecify the URL of the docker-registry.
docker-registry-insecurefalseSpecify if the docker-registry should be configured.
docker-userLog in to the docker registry.
docker-passwordSpecify the docker-registry password.
image-tagSpecify the docker image tag.
log-levelSYS_NOTICESpecify the log level for Contrail services.
Options:
SYS_EMERG, SYS_ALERT, SYS_CRIT, SYS_ERR, SYS_WARN, SYS_NOTICE, SYS_INFO, SYS_DEBUGhttp_proxySpecify URL.
https_proxySpecify URL.
no_proxySpecify 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-networkSpecify the IP address and network mask of the control network.
cassandra-minimum-diskgb256Specify the minimum disk requirement.
cassandra-jvm-extra-optsSpecify the memory limit.
docker-registrySpecify the URL of the docker-registry.
docker-registry-insecurefalseSpecify if the docker-registry should be configured.
docker-userLog in to the docker registry.
docker-passwordSpecify the docker-registry password.
image-tagSpecify the docker image tag.
log-levelSYS_NOTICESpecify the log level for Contrail services.
Options:
SYS_EMERG, SYS_ALERT, SYS_CRIT, SYS_ERR, SYS_WARN, SYS_NOTICE, SYS_INFO, SYS_DEBUGhttp_proxySpecify URL.
https_proxySpecify URL.
no_proxySpecify 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-networkSpecify the IP address and network mask of the control network.
auth-moderbacSpecify the authentication mode.
Options:
rbsc,cloud-admin,no-auth.For more information, see https://github.com/Juniper/contrail-controller/wiki/RBAC.
cassandra-minimum-diskgb20Specify the minimum disk requirement.
cassandra-jvm-extra-optsSpecify the memory limit.
cloud-admin-roleadminSpecify the role name in keystone for users who have admin-level access.
global-read-only-roleSpecify the role name in keystone for users who have read-only access.
vipSpecify 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-rabbitmqfalseTo enable the Charm to use the internal RabbitMQ server, set
use-external-rabbitmqtofalse.To use an external AMQP server, set
use-external-rabbitmqtotrue.Note:Do not change the flag after deployment.
flow-export-rate0Specify how many flow records are exported by vRouter agent to the Contrail Collector when a flow is created or deleted.
docker-registrySpecify the URL of the docker-registry.
docker-registry-insecurefalseSpecify if the docker-registry should be configured.
docker-userLog in to the docker registry.
docker-passwordSpecify the docker-registry password.
image-tagSpecify the docker image tag.
log-levelSYS_NOTICESpecify the log level for Contrail services.
Options:
SYS_EMERG, SYS_ALERT, SYS_CRIT, SYS_ERR, SYS_WARN, SYS_NOTICE, SYS_INFO, SYS_DEBUGhttp_proxySpecify URL.
https_proxySpecify URL.
no_proxySpecify 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_caSpecify 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-servertrueSet
enable-metadata-servertotrueto configure metadata and enable nova to run a local instance ofnova-api-metadatafor virtual machinesuse-internal-endpointsfalseSet
use-internal-endpointstotruefor 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/ resourcesSpecify the heat plugin directories.
docker-registrySpecify the URL of the docker-registry.
docker-registry-insecurefalseSpecify if the docker-registry should be configured.
docker-userLog in to the docker registry.
docker-passwordSpecify the docker-registry password.
image-tagSpecify the docker image tag.
log-levelSYS_NOTICESpecify the log level for Contrail services.
Options:
SYS_EMERG, SYS_ALERT, SYS_CRIT, SYS_ERR, SYS_WARN, SYS_NOTICE, SYS_INFO, SYS_DEBUGhttp_proxySpecify URL.
https_proxySpecify URL.
no_proxySpecify the list of destinations that must be directly accessed.