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.

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


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.2.4.tar.gz (18.2 kB view details)

Uploaded Source

Built Distribution

jujuna-0.2.4-py3-none-any.whl (31.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jujuna-0.2.4.tar.gz
  • Upload date:
  • Size: 18.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.6.10

File hashes

Hashes for jujuna-0.2.4.tar.gz
Algorithm Hash digest
SHA256 e758cc5e9ef0a54594bd6702fa9d72f40af772f95abc6aababdc1aedb0562a4c
MD5 67c38de0555aa6228a5687537de9323d
BLAKE2b-256 a54a81c23179655f052ce84a121413ac06519b5feb81b6cd8b5fc78f1c8b1c3b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jujuna-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 31.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.6.10

File hashes

Hashes for jujuna-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d7825808eaf61c397f1b4d30f422d1f3f3d1587136a09e33737091193e59a2b4
MD5 f54b3dd85ecbc4d646c4b26e6bcb7c79
BLAKE2b-256 145e38dd49f3c48f77131cae14e4a30c8dd213785ccfec3bb3c0cd62e9fb9b51

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