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-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
tofalse
.To use an external AMQP server, set
use-external-rabbitmq
totrue
.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
totrue
to configure metadata and enable nova to run a local instance ofnova-api-metadata
for virtual machinesuse-internal-endpoints
false
Set
use-internal-endpoints
totrue
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.