plumgrid gateway #0

Supports: trusty

Add to new model

Description

A PLUMgrid Gateway provides connectivity from the VXLAN based virtual
fabric to external IP networks (such as for internet access). The PLUMgrid
Gateway can be deployed as a pair in Active/ Active mode for load balancing
of traffic and high availability of external connectivity.


About the Plumgrid Platform

The PLUMgrid Platform is a software-only solution that provides a rich set of distributed network functions such as routers, switches, NAT, IPAM, DHCP, and it also supports security policies, end-to-end encryption, and third party Layer 4-7 service insertion.

Overview

This charm is responsible for configuring a node as a PLUMgrid Gateway.

Once deployed the charm triggers the necessary services for a PLUMgrid Gateway and configures the IO Visor kernel module as a PLUMgrid Software Gateway. It also configures additional interfaces on the node for external connectivity.

Usage

Instructions on using the charm:

juju deploy neutron-api
juju deploy neutron-api-plumgrid
juju deploy plumgrid-director
juju deploy nova-compute
juju deploy plumgrid-edge
juju deploy plumgrid-gateway

juju add-relation neutron-api neutron-api-plumgrid
juju add-relation neutron-api-plumgrid plumgrid-director
juju add-relation plumgrid-director plumgrid-edge
juju add-relation nova-compute plumgrid-edge
juju add-relation plumgrid-director plumgrid-gateway

For plumgrid-gateway to work make the configuration in the neutron-api, neutron-api-plumgrid, plumgrid-director and plumgrid-edge charms as specified in the configuration section below.

Known Limitations and Issues

This is an early access version of the PLUMgrid Gateway charm and it is not meant for production deployments. The charm currently only supports Kilo Openstack Release.

Configuration

Example Config

plumgrid-gateway:
    external-interfaces: '{"node01":"eth5,eth2","node02":"eth4,eth8"}'
    install_sources: 'ppa:plumgrid-team/stable'
    install_keys: 'null'
plumgrid-edge:
    install_sources: 'ppa:plumgrid-team/stable'
    install_keys: 'null'
plumgrid-director:
    plumgrid-virtual-ip: "192.168.100.250"
    install_sources: 'ppa:plumgrid-team/stable'
    install_keys: 'null'
neutron-api-plumgrid:
    install_sources: 'ppa:plumgrid-team/stable'
    install_keys: 'null'
    enable-metadata: False
neutron-api:
    neutron-plugin: "plumgrid"
    plumgrid-virtual-ip: "192.168.100.250"

The "external-interfaces" config parameter should be the interfaces that will provide external connectivity on each of the gateway nodes. Should be provided as a json in a string with hostname and interface names.
Provide the source repo path for PLUMgrid Debs in 'install_sources' and the corresponding keys in 'install_keys'.
The virtual IP passed on in the neutron-api charm has to be same as the one passed in the plumgrid-director charm.

Contact Information

Bilal Baqar bbaqar@plumgrid.com
Bilal Ahmad bilal@plumgrid.com


Configuration

external-interfaces
(string) One or multiple interfaces that will provide external connectivity on each of the gateway nodes. Provided in form of json in a string.
{"hostname":"eth1,eth2"}
fabric-interfaces
(string) Interfaces that will provide fabric connectivity on the gateway nodes. Provided in form of json in a string. These interfaces have to be connected to the os-data-network specified in the config. Default value is MANAGEMENT which will configure the management interface as the fabric interface on each director.
MANAGEMENT
install_keys
(string) Provide the respective keys of the install sources
install_sources
(string) Provide the install source from where to install the PLUMgrid debs
ppa:plumgrid-team/stable
iovisor-build
(string) Provide the build version of iovisor package that needs to be installed
latest
lcm-ssh-key
(string) Public SSH key of PLUMgrid LCM which is running PG-Tools
null
mgmt-interface
(string) The interface connected to PLUMgrid Managment network.
juju-br0
network-device-mtu
(string) The MTU size for interfaces managed by gateway.
1580
os-data-network
(string) The IP address and netmask of the OpenStack Data network (e.g., 192.168.0.0/24) . This network will be used for tenant network traffic in overlay networks.
plumgrid-build
(string) Provide the build version of PLUMgrid packages that needs to be installed
latest