Skip to main content

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

Metadata

Release files for jujuna 2.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jujuna 2.8.0
File Size Uploaded Provenance Actions
jujuna-2.8.0.tar.gz 20.5 kB Without provenance Details for jujuna-2.8.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for jujuna 2.8.0
File Interpreter ABI Platform Actions
jujuna-2.8.0-py3-none-any.whl Python 3 none any Details for jujuna-2.8.0-py3-none-any.whl

Total release size: 53.4 kB

Release files / jujuna-2.8.0.tar.gz

Download URL jujuna-2.8.0.tar.gz
Size 20.5 kB
Tags Source
SHA-256 checksum
How to use checksums
dfd39da452005e9852e74af08ce99bb6a2d398459db068abd4367d2dae99cde7
BLAKE2b-256 checksum
How to use checksums
9c8f3ffc282def199d2fe9150ea8add14c9d549a11813086049acea00b011b91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.15

Release files / jujuna-2.8.0-py3-none-any.whl

Download URL jujuna-2.8.0-py3-none-any.whl
Size 32.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
42a78206e0536e150b11f0ed8aa3a16bb439e8040ec41cb741d9144adb5f2395
BLAKE2b-256 checksum
How to use checksums
9ee9311fd56c8034d6e048643efd47f6ada47a78c2c3d67737920ed76f243c1f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.15

Security for jujuna 2.8.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page