Continuous deployment, upgrade and testing for Juju.
Project description
Jujuna
Continuous deployment, upgrade and testing for Juju.
At HUNT Cloud we run our scientific services based on OpenStack orchestrated by Juju. Such cloud deployments rely on a large set of collaborative softwares, and upgrades can sometimes cause considerable pain. We have therefore introduced Jujuna - a tool to simplify the validation of Juju-based OpenStack upgrades.
New to Juju? Juju is a cool controller and agent based tool from Canonical to easily deploy and manage applications (called Charms) on different clouds and environments (see how it works for more details).
Installation
Easy to install using:
pip3 install jujuna
May require installation of libssl-dev
package or equivalent if not present in the system.
Run command jujuna --help
to get the help menu. You can also check the usage in the documentation.
Usage
Running Jujuna requires a working deployment of Juju controller. Juju configs ~/.local/share/juju/
have to be present or credentials have to be specified using params.
# Deploy Ceph bundle into ceph model
jujuna deploy openstack/bundle.yaml -m test-cloud -w
# Upgrade apps in ceph model_name
jujuna upgrade -m test-cloud
# Test apps in the model after upgrade
jujuna test tests/openstack-ocata.yaml -t 1800 -m test-cloud
# Destroy apps within a model, without destroying the model
jujuna clean -m test-cloud -w -f -t 1800
If you don't have any bundle or just need to try jujuna with some simple example, you can follow our example guide.
Testing Jujuna
How to make sure jujuna and your feature works before pushing out new version.
Testing jujuna with python environments:
tox -e lint
tox -e py35
tox -e py36
tox -e py37
Testing specific feature:
py.test -k test_feature
Deploy to docker registry:
Build image:
docker build -t registry.example.com/group/jujuna:0.2.1 -t registry.example.com/group/jujuna:latest .
Push to registry:
docker push registry.example.com/group/jujuna
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file jujuna-0.2.3.tar.gz
.
File metadata
- Download URL: jujuna-0.2.3.tar.gz
- Upload date:
- Size: 19.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a75b146938b0a440b4e8e621036750dcbdbb8aabbc88ebdef6a773157d621896 |
|
MD5 | 4474b78f43b8e3a03b389ed151f7af77 |
|
BLAKE2b-256 | 956bec05b7d2273afab7f95cad907fa17cbab6617f88880484a7f0bc9928d823 |
File details
Details for the file jujuna-0.2.3-py3-none-any.whl
.
File metadata
- Download URL: jujuna-0.2.3-py3-none-any.whl
- Upload date:
- Size: 31.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0fc53a9507394bfa738f1e665be7ad1ff09c39bd40062d3e3a4b2f35ed1dbc5 |
|
MD5 | 06ae63a3028f98ecf9b32535d631b726 |
|
BLAKE2b-256 | a8991e38745481e6803039fffe4f02f8812c232f49b039d06c8ef98cf3ddf664 |