tree: d21b23f4460531e6550df022a8137bacbb578315 [path history] [tgz]
  1. .yamllint.yaml
  2. README.md
  3. config.yaml
  4. icon.svg
  5. layer.yaml
  6. metadata.yaml
  7. reactive/
  8. tox.ini
installers/charm/pol-k8s/README.md

Overview

POL for Juju CAAS

Testing

The tests of this charm are done using tox and Zaza.

Prepare environment

The machine in which the tests are run needs access to a juju k8s controller. The easiest way to approach this is by executing the following commands:

sudo apt install tox -y
sudo snap install microk8s --classic
sudo snap install juju

microk8s.status --wait-ready
microk8s.enable storage dashboard dns

juju bootstrap microk8s k8s-cloud

If /usr/bin/python does not exist, you should probably need to do this:

sudo ln -s /usr/bin/python3 /usr/bin/python

Build Charm

Download dependencies:

mkdir -p ~/charm/layers ~/charm/build ~/charm/interfaces
git clone https://git.launchpad.net/canonical-osm ~/canonical-osm

cd ~/charm/layers
git clone https://git.launchpad.net/charm-osm-pol pol-k8s
git clone https://git.launchpad.net/charm-osm-ro ro-k8s
git clone https://git.launchpad.net/charm-k8s-kafka kafka-k8s ~/charm/interfaces
git clone https://git.launchpad.net/charm-k8s-zookeeper zookeeper-k8s
git clone https://git.launchpad.net/charm-k8s-mongodb mongodb-k8s

cd ~/charm/interfaces
mv ~/canonical-osm/charms/interfaces/* .
git clone https://git.launchpad.net/interface-mongodb mongodb

Charm structure:

├── config.yaml
├── icon.svg
├── layer.yaml
├── metadata.yaml
├── reactive
│   ├── spec_template.yaml
│   └── pol.py
├── README.md
└── tox.ini

Setup environment variables:

export CHARM_LAYERS_DIR=~/charm/layers
export CHARM_BUILD_DIR=~/charm/build
export CHARM_INTERFACES_DIR=~/charm/interfaces

Build:

mkdir ~/charm/layers/pol-k8s/tests/build
charm build ~/charm/layers/pol-k8s
charm build ~/charm/layers/kafka-k8s
charm build ~/charm/layers/zookeeper-k8s
charm build ~/charm/layers/mongodb-k8s
mv ~/charm/build/* ~/charm/layers/pol-k8s/tests/build/