te
is a general multi-host workload execution utility.
It's intentionally lightweight, utilizing existing technology like Ansible for execution and Mrack for provisioning.
Primary use cases are:
- repeatable test execution which combines provisioning of vms/containers and test execution
- preparation of vms for labs/workshops
- preparation of development environment
te can be installed via pip, from PyPI:
pip install te
It is also available for Fedora 37+ via COPR:
sudo dnf copr enable @freeipa/neoave
sudo dnf install te
$ te run
# runs all phases
$ te run --phase my-phase-name
# runs only this phase
$ te run --upto some-other-phase
# runs all phases from beginning upto the defined one (including)
Projects is using black formatter and isort to keep consistent formatting, flake8 and pydocstyle to ensure following Python good practices.
Contributions (Pull Requests) are welcome. It is expected that they will pass tox tests and code checkers. Inclusion of the unit tests for the new code is recommended. Because of that we have configured pre-commit hook. Please enable the feature on your local system and use it before sending a patch. It could save us lot of re-pushing to the PR.
Expected formatting can be achieved by running:
$ make format
Look into black documentation for possible integration in editors/IDEs.
Just run tox to execute all tests and linters
$ tox
# or use make
$ make test