Juju plugin to verify if it is safe to perform an operation on one or more units
Project description
Juju verify
This CLI tool is a Juju plugin that allows user to check whether it's safe
to perform some disruptive maintenance operations on Juju units, like shutdown
or reboot
.
Supported charms
- nova-compute (WIP) (Usable with this nova-compute charm)
- ceph-osd (WIP)
- neutron-gateway (WIP)
Supported checks
- reboot
- shutdown
NOTE: Final list of supported checks and what they represent is still WIP
Usage example
To verify that it is safe to stop/shutdown units nova-compute/0
and
nova-compute/1
without affecting the rest of the OpenStack cloud environment,
run the following.
$ juju-verify shutdown --units nova-compute/0 nova-compute/1
NOTE: If you run check on multiple units at the same time, they must all run
the same charm. Trying, for example, juju-verify shutdown --units nova-compute/1 ceph-osd/0
will result in error.
Alternatively, a machine can be targeted:
$ juju-verify shutdown --machines 0
How to contribute
Is your favorite charm missing from the list of supported charm? Don't hesitate to add it. This plugin is easily extensible.
All you need to do is create new class in juju_verify.verifiers
package that
inherits from juju_verify.verifiers.BaseVerifier
(see the class documentation for
more details) and implement the necessary logic.
Then, the charm name needs to be added to SUPPORTED_CHARMS
dictionary in
juju_verify/verifiers/__init__.py
et voilà, the charm is now supported.
Don't forget to add unit and functional tests, and run:
make test
Functional tests require some applications to use a VIP. Please ensure the OS_VIP00
environment variable is set to a suitable VIP address before running functional tests.
Submit a bug
If you prefer, file a bug or feature request at:
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
Hashes for juju_verify-0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4a9793cb17cda9d31f278b03252c64172c369b65258a5c04934e746ecba52c6 |
|
MD5 | f256f1d1d873979719bc2590f255c1d3 |
|
BLAKE2b-256 | c93017e09f1f15420c78efcbc451ab2a331ea0b192cee138e188d84efebe2721 |