Zookeeper for Juju CAAS
The tests of this charm are done using tox and Zaza.
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
Download dependencies:
mkdir -p ~/charm/layers ~/charm/builds cd ~/charm/layers git clone https://git.launchpad.net/charm-k8s-zookeeper zookeeper-k8s git clone https://git.launchpad.net/charm-osm-common osm-common
Charm structure:
├── config.yaml ├── icon.svg ├── layer.yaml ├── metadata.yaml ├── reactive │ ├── spec_template.yaml │ └── zookeeper.py ├── README.md ├── test-requirements.txt ├── tests │ ├── basic_deployment.py │ ├── bundles │ │ ├── zookeeper-ha.yaml │ │ └── zookeeper.yaml │ └── tests.yaml └── tox.ini
Setup environment variables:
export CHARM_LAYERS_DIR=~/charm/layers export CHARM_BUILD_DIR=~/charm/builds
Build:
charm build ~/charm/layers/zookeeper-k8s mkdir ~/charm/layers/zookeeper-k8s/tests/build/ mv ~/charm/builds/zookeeper-k8s ~/charm/layers/zookeeper-k8s/tests/build/
cd ~/charm/layers/zookeeper-k8s tox -e func