-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
c8372b0
commit ea9e221
Showing
1 changed file
with
71 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
# Jujuna | ||
|
||
 | ||
|
||
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: | ||
|
||
``` | ||
apt install libssl-dev | ||
pip3 install . | ||
``` | ||
|
||
Run command `jujuna --help` to get the help menu. | ||
|
||
## 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 | ||
``` |