Skip to main content

Continuous deployment, upgrade and testing for Juju.

Project description

Jujuna

Build Status Documentation Status PyPI - Python Version

Continuous deployment, upgrade and testing for Juju.

Maintaining OpenStack deployment is a demanding task. Considerably frequent releases can cause some pain even when using Juju. It is therefore advised to test new releases and upgrade scenarios on a separate but somewhat similar infrastructures in order to discover any issues before doing upgrade on production.

Using Jujuna in your CI pipeline enables you to automate deployment and upgrade scenarios and run specific tests.

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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jujuna-0.1.1.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

jujuna-0.1.1-py3-none-any.whl (24.4 kB view details)

Uploaded Python 3

File details

Details for the file jujuna-0.1.1.tar.gz.

File metadata

  • Download URL: jujuna-0.1.1.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

File hashes

Hashes for jujuna-0.1.1.tar.gz
Algorithm Hash digest
SHA256 76f6fa4254587fb10406bd2ad3ef6aa38c0b42638f78c1edda941a16d3da2066
MD5 7cd00e683b492a544d44893da4968e75
BLAKE2b-256 706f9a23f8a2217d59aa84fd325669c1dd311ffbc566ff72d4554ad34e0224d5

See more details on using hashes here.

File details

Details for the file jujuna-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: jujuna-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 24.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

File hashes

Hashes for jujuna-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f58bffdfb26341f5aa87b3a572be4a31eeaaa26398eb87d5b41b9b40da68a72d
MD5 dd1d0698124197e652b9a4e9ef80bb1c
BLAKE2b-256 587e550cf91b65368e2b365e4728d2ffeef1caa5aba2357987130d5ce0a9e074

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page