Skip to content

th3architect/tf-charms

 
 

Repository files navigation

contrail-charms

Juju charms for Contrail services.

Overview

Contrail 5.0 would provide support for Docker containers. The existing contrail components, which run as services on a BMS or VM, would be running within a Docker container in contrail 5.0. This document describes how to deploy contrail 5.0 Docker containers, which would be running the several contrail service components using contrail-charms

Contrail-charms specs

Deploying Contrail charms

  1. Install cloud and juju on the dedicated machine from where the deploy is started:
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install juju

Installing juju

  1. Configure juju:
juju add-cloud <cloud-name>
juju add-credential <cloud name>

You can see possible clouds that you can use with juju clouds command.

$ juju clouds
Cloud        Regions  Default          Type        Description
aws               15  us-east-1        ec2         Amazon Web Services
aws-china          1  cn-north-1       ec2         Amazon China
aws-gov            1  us-gov-west-1    ec2         Amazon (USA Government)
azure             26  centralus        azure       Microsoft Azure
azure-china        2  chinaeast        azure       Microsoft Azure China
cloudsigma         5  hnl              cloudsigma  CloudSigma Cloud
google            13  us-east1         gce         Google Cloud Platform
joyent             6  eu-ams-1         joyent      Joyent Cloud
oracle             5  uscom-central-1  oracle      Oracle Cloud
rackspace          6  dfw              rackspace   Rackspace Cloud
localhost          1  localhost        lxd         LXD Container Hypervisor

You can add private or custom clouds for the following provider types:

$ juju add-cloud
Cloud Types
  maas
  manual
  openstack
  oracle
  vsphere

As an example for maas:

juju add-cloud mymaas       #select cloud type: maas, enter the API endpoint url)
juju add-credential mymaas  #add credentials

Using MAAS with Juju

As an example for amazon:

juju add-credential aws   #add credentials

Using Amazon with Juju

  1. Create controller:
juju bootstrap --bootstrap-series=xenial <cloud name> <controller name>

Bootstrapping controller

  1. Download charms:
git clone https://github.com/Juniper/contrail-charms -b R5
  1. Deploy Contrail:

You can deploy charms in bundle or manually.

Charm bundles

  1. You can check the status of your deployment using juju status command. Unit status. Juju documentation.

Contrail's multi interface setup

CTRL/DATA network - network for data traffic of workload and for control traffic between compute nodes and control services. API/MGMT network - network where API services are listening on and for accessing instances.

By default, charms are using the default network for API/MGMT and CTRL/DATA.

To specify API/MGMT network set control-network parameter for contrail-controller and contrail-analytics. If contrail-analyticsdb or contrail-kubernetes-master is applied set control-network parameter for it as well. It can be the IP addresses with netmasks of the control network or physical device name.

To specify CTRL/DATA network set data-network parameter for contrail-controller. It can be the IP addresses with netmasks of the control network or physical device name. If data-network isn't specified it will use the same network as control-network.

juju config contrail-controller control-network=192.168.0.0/24 data-network=ens4
juju config contrail-analytics control-network=192.168.0.0/24
juju config contrail-analyticsdb control-network=192.168.0.0/24

When contollers are placed in different AZ/networks then it can be possible to specify like this:

juju config contrail-controller control-network="192.168.0.0/24 192.168.1.0/24 192.168.2.0/24" data-network=ens4

In this case each controller will choose the address from its own network.

Known issues

  1. https://bugs.launchpad.net/charm-kubernetes-master/+bug/1916009

Sometimes kubectl fails to exec commands in POD due to lack of ACL for kubectl. Cluster can be deployed but it might not work.

  1. https://bugs.launchpad.net/charm-percona-cluster/+bug/1916021

Sometimes mysql can not start. Cluster is not up.

  1. https://bugs.launchpad.net/charm-nova-cloud-controller/+bug/1916038

After successful cluster deploy tests may fail due to races in keepalive

Configuration

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.3%
  • Other 0.7%