MariaDB Documentation Contribution/Hacking

For any problems with this charm, please report bugs here.

The code for this charm can be downloaded as follows:

git clone "https://osm.etsi.org/gerrit/osm/devops"
cd devops/installers/charm/mariadb-k8s/

Setting up the environment

In order to deploy the mariadb charm, it is necessary to have a Juju controller deployed in K8s. The easiest way to achieve that is by installing Microk8s and bootstrapping a controller on top.

# Install Juju and Microk8s snaps
sudo snap install juju --classic
sudo snap install microk8s --classic
# Setting up permissions
sudo usermod -a -G microk8s `whoami`
sudo chown -f -R `whoami` ~/.kube
newgrp microk8s
# Wait for Microk8s to be ready
microk8s.status --wait-ready
# Enable storage and dns addons and bootstrap a controller
microk8s.enable storage dns
juju bootstrap microk8s

Deployment

From the store:

juju deploy cs:~charmed-osm/mariadb-k8s

Locally:

tox -e build
juju deploy ./release

Testing

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

Prepare environment

sudo apt install tox -y

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

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

Integration tests

For executing the integration tests, it is necessary to build the charm beforehand with tox -e build

Run integration tests:

tox -e func