Percussive maintenance.
Collection of various tools to keep things ship-shape. Not particularly bright tools, but good for a first-pass.
This is a "v2" rewrite of https://github.com/chameleoncloud/hammers, with the following goals:
- only interact with openstack via the API, never directly editing files or accessing the DB
- work correctly with standard openstack auth mechanisms, both clouds.yaml and openrc, and allow use of app credentials
- leverage openstacksdk rather than re-implementing all APIs
- don't hard-code policy decisions, allow this to be configured per-hammer
- have unit-tests for logic in each hammer, but don't test the API, rely on upstream for that
As for deployment, the plan is to run this in parallel with hammers v1, and incrementally migrate hammers to the new format, one at a time.
Create a virtual environment and install the dependencies:
python -m venv .venv
source .venv/bin/activate
pip install .
Then you can reference the hammers directly:
$ image_deployer -h
To run the tests you'll need to install optional dependencies:
pip install '.[dev]'
You can run the tests with tox:
tox