aboutsummaryrefslogtreecommitdiffstats
path: root/contrail-controller/README.md
blob: 00555af6d0066f61926a098f4f42d079435d13f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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 provides the Contrail Controller role that includes
configuration API server, control API server, WebUI and required third-party
components.

Only OpenStack Mitaka or newer is supported.
Only for Contrail 4.0 for now.
Juju 2.0 is required.

Usage
-----

Contrail Analytics is prerequisite service to deploy.
Once ready, deploy and relate as follows:

    juju deploy contrail-controller
    juju add-relation contrail-analytics contrail-controller

Resource
--------

The charm requires docker image with Contrail Controller as a resource.
It can be provided as usual for Juju 2.0 in deploy command or
through attach-resource:

    juju attach contrail-controller contrail-controller="$PATH_TO_IMAGE"

High Availability (HA)
----------------------

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

    juju add-unit contrail-controller

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

    juju add-relation contrail-controller:http-services haproxy
    juju add-relation contrail-controller:https-services haproxy

The charm can tell to haproxy list of backends via two relations: http-services and https-services.
It tells unsecured backend (like contrail-api:8082 and webUI:8080) via http-services
and secured (like webUI:8143) via https-services.
Such option allows to relate this charm to different haproxy applications
where first haproxy app has ssl_cert/ssl_key in configuration and makes SSL termination itself
but second doesn't have SSL parameters and acts as a proxy/load-balancer.