neutron contrail #0

  • By alai
  • stable, edge
Supports: trusty


Neutron is a virtual network service for Openstack, and a part of Netstack. Just like OpenStack Nova provides an API to dynamically request and configure virtual servers, Neutron provides an API to dynamically request and configure virtual networks. These networks connect "interfaces" from other OpenStack services (e.g., virtual NICs from Nova VMs). The Neutron API supports extensions to provide advanced network capabilities (e.g., QoS, ACLs, network monitoring, etc.) . This charm provides the OpenStack Neutron OpenContrail agent, managing L2 connectivity on nova-compute services.


OpenContrail ( 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 subordinate charm provides the Nova Compute vRouter component which contains the contrail-vrouter-agent service. Only OpenStack Icehouse or newer is supported.


This charm requires a deployed Nova Compute, Contrail Control, Contrail Configuration and Keystone service. Once ready, deploy and relate as follows:

juju deploy neutron-contrail
juju add-relation nova-compute neutron-contrail
juju add-relation neutron-contrail:contrail-discovery contrail-configuration:contrail-discovery
juju add-relation neutron-contrail:contrail-api contrail-configuration:contrail-api
juju add-relation neutron-contrail keystone

Relating to a neutron/quantum gateway charm will allow Nova Compute instances to access nova proxy and obtain cloud metadata such as SSH keys:

juju add-relation neutron-contrail neutron-gateway

NOTE: contrail-configuration charm still needs to be suitably related to register a linklocal metadata service.


(string) Specify contrail-api ip manually
(int) Specify contrail-api port manually
(string) Specify discovery server ip manually
(string) Apt keys for package install sources
(string) Package sources for install
- "ppa:opencontrail/ppa" - "ppa:opencontrail/r2.20"
(boolean) Run a local instance of nova-api-metadata for serving metadata to VMs. An external metadata server (neutron-metadata relation) is not required when enabled.
(boolean) Juju on MAAS creates a juju-br0 bridge for deploying LXC and KVM workloads. Enable this to remove this bridge if you want to install vhost0 directly on the underlying interface. WARNING: This will break current and future juju-deployed LXC or KVM workloads on all machines where this is set to true.
(string) Specify the interface to install vhost0 on. If left empty, vhost0 will be installed on the default gateway interface.
(string) Virtual gateways to create (software based). Using a YAML encoded string specify one or more gateways using a list of maps, where each map consists of the following attributes: project - project name network - network name interface - interface to use (will be created) subnets - list of virtual subnets to route routes - list of routes gateway will make available to virtual subnets, selects all routes For example: // make any network available to virtual subnet on // admin:public network using local interface vgw to route [ { project: admin, network: public, interface: vgw, subnets: [ ], routes: [ ] } ]