contrail contrail configuration

  • By alai
  • Latest version (#0)
  • trusty
  • Stable

Description

OpenContrail is a network virtualization solution that provides an overlay
virtual-network to virtual-machines, containers or network namespaces.
.
This charm provides the configuration node component.


Overview

OpenContrail (www.opencontrail.org) is a fully featured Software Defined
Networking (SDN) solution for private clouds. It supports high performance
isolated tenant networks without requiring external hardware support. It
provides a Neutron plugin to integrate with OpenStack.

This charm is designed to be used in conjunction with the rest of the OpenStack
related charms in the charm store to virtualize the network that Nova Compute
instances plug into.

This charm provides the configuration node component which includes
contrail-api, contrail-schema, contrail-discovery and ifmap-server services.
Only OpenStack Icehouse or newer is supported.
Juju 1.23.2+ required.

Usage

Cassandra, Zookeeper, RabbitMQ and Keystone are prerequisite services to deploy.
Once ready, deploy and relate as follows:

juju deploy contrail-configuration
juju add-relation contrail-configuration:cassandra cassandra:database
juju add-relation contrail-configuration zookeeper
juju add-relation contrail-configuration rabbitmq-server
juju add-relation contrail-configuration keystone

After deployment, relate to neutron-api-contrail:

juju add-relation neutron-api-contrail contrail-configuration

Install Sources

The version of OpenContrail installed when deploying can be changed using the
'install-sources' option. This is a multilined value that may refer to PPAs or
Deb repositories.

The version of dependent OpenStack components installed when deploying can be
changed using the 'openstack-origin' option. When deploying to different
OpenStack versions, openstack-origin needs to be set across all OpenStack and
OpenContrail charms where available.

Floating IP Pools

To use OpenStack floating IP functionality, floating IP pools must be created
and activated. Creation of multiple pools for multiple projects is supported
using the 'floating-ip-pools' option.

A value is specified as a YAML encoded string, indicating one or more pools
using a list of maps, where each map consists of the following attributes:

project - project name
network - network name
pool-name - floating pool name
target-projects - list of projects allowed to use pool

For example to create a floating ip pool named 'floatingip_pool' on
'admin:public' network and allow 'admin' project to use:

juju set contrail-configuration \
  "floating-ip-pools=[ { project: admin, network: public, pool-name: floatingip_pool, target-projects: [ admin ] } ]"

Previously specified pools will be deactivated and removed.

Nova Metadata

To use Nova Metadata with Nova Compute instances, a metadata service must first
be registered. Registration allows OpenContrail to create the appropriate
network config to proxy requests from instances to a nova-api service on the
network.

Relating to a charm implementing neutron-metadata interface will register a
linklocal metadata service:

juju add-relation contrail-configuration neutron-metadata-charm

neutron-contrail charm also needs to be related to the same charm to use correct
configuration:

juju add-relation neutron-contrail neutron-metadata-charm

NOTE: neutron-contrail runs and registers its own nova-api-metadata service
on each Compute node by default ('local-metadata-server' option), so using
neutron-metadata relation isn't necessary unless you need more control over
deployment.

High Availability (HA)

Multiple units of this charm can be deployed to support HA deployments:

juju add-unit contrail-configuration

Relating to haproxy charm (http-services relation) allows multiple units to be
load balanced:

juju add-relation contrail-configuration haproxy

Setting the 'vip' option instructs related charms to use IP address specified
for accessing the configuration node:

juju set contrail-configuration vip=x.x.x.x

When load balancing with HAProxy you would set vip to the IP address of the
deployed haproxy charm (or a shared Virtual IP address if doing clustered
HAProxy).

Configuration

openstack-origin
(string) Repository from which to install. May be one of the following: distro (default), ppa:somecustom/ppa, a deb url sources entry, or a supported Cloud Archive release pocket. Supported Cloud Archive sources include: cloud:precise-folsom, cloud:precise-folsom/updates, cloud:precise-folsom/staging, cloud:precise-folsom/proposed.
distro
install-keys
(string) Apt keys for package install sources
vip
(string) Virtual IP address to use when services are related in a High Availability configuration.
cassandra-units
(int) Minimum number of units required in cassandra relation
1
control-network
(string) The IP address and netmask of the control network (e.g. 192.168.0.0/24). This network will be used for Contrail endpoints. If not specified, default network will be used.
floating-ip-pools
(string) Floating IP pools to create. Using a YAML encoded string specify one or more floating IP pools using a list of maps, where each map consists of the following attributes: project - project name network - network name pool-name - floating pool name target-projects - list of projects allowed to use pool For example: // create a floating ip pool named floatingip_pool on admin:public network // and allow admin project to use [ { project: admin, network: public, pool-name: floatingip_pool, target-projects: [ admin ] } ]
install-sources
(string) Package sources for install
- "ppa:opencontrail/ppa" - "ppa:opencontrail/r2.20"