mitogen/tests/ansible
Alex Willmer 1e72ebaf8b tests: Update test coverage to Python 3.9
The Travis Linux distribution must be upgraded because the Trusty
(Ubuntu 14.04) image does not have Python 3.9. Xenial (Ubuntu 16.04) is
the earliest version that offers Python 3.9.

I have not chosen a later release, in order to aid restoration of Python
2.4 - 2.6 tests.
2021-01-25 22:18:25 +00:00
..
bench tests: Tag resource intensive tasks, to skip when strategy=linear 2021-01-20 20:58:35 +00:00
hosts issue #548: always treat transport=smart as 'ssh' for mitogen_via=. 2019-02-19 16:26:47 +00:00
integration tests: Add unofficial Tox environments for Ansible tests 2021-01-18 21:52:22 +00:00
lib Merge branch 'master' into collectionsSupport 2020-11-20 17:59:51 -08:00
regression Merge branch 'master' into tests-resource_intensive-tag 2021-01-24 01:00:11 +00:00
setup tests: Tag resource intensive tasks, to skip when strategy=linear 2021-01-20 20:58:35 +00:00
soak tests: Tag resource intensive tasks, to skip when strategy=linear 2021-01-20 20:58:35 +00:00
tests fixed tests, and removed the action hack code 2020-03-04 16:05:29 -08:00
.gitignore Merge devel/290 @ 79b979ec8544ef5d8620c64068d4a42fabf50415 2019-11-02 16:46:59 +00:00
Makefile tests: import custom binaries for tests 2018-10-02 19:19:30 +01:00
README.md issue #409: Pythonize run_ansible_playbook.sh 2018-10-30 23:58:45 +00:00
all.yml tests: Tag resource intensive tasks, to skip when strategy=linear 2021-01-20 20:58:35 +00:00
ansible.cfg don't set global executable... 2020-02-19 08:42:44 -08:00
ara_env.py tests: import ara_env helper script. 2018-10-26 10:16:46 +01:00
compare_output_test.py tests: prevent compare_output_test running on import. 2018-10-02 20:30:18 +01:00
mitogen_ansible_playbook.py issue #625: use exec() instead of subprocess in mitogen_ansible_playbook 2019-08-17 12:18:25 +01:00
requirements.txt tests: Update test coverage to Python 3.9 2021-01-25 22:18:25 +00:00
run_ansible_playbook.py try and get some visibility into test failures 2020-09-27 12:36:34 -07:00

README.md

tests/ansible Directory

This is an an organically growing collection of integration and regression tests used for development and end-user bug reports.

It will be tidied up over time, meanwhile, the playbooks here are a useful demonstrator for what does and doesn't work.

Preparation

See ../image_prep/README.md.

run_ansible_playbook.py

This is necessary to set some environment variables used by future tests, as there appears to be no better way to inject them into the top-level process environment before the Mitogen connection process forks.

Running Everything

ANSIBLE_STRATEGY=mitogen_linear ./run_ansible_playbook.py all.yml

hosts/ and common-hosts

To support running the tests against a dev machine that has the requisite user accounts, the the default inventory is a directory containing a 'localhost' file that defines 'localhost' to be named 'target' in Ansible inventory, and a symlink to 'common-hosts', which defines additional targets that all derive from 'target'.

This allows ansible_tests.sh to reuse the common-hosts definitions while replacing localhost as the test target by creating a new directory that similarly symlinks in common-hosts.

There may be a better solution for this, but it works fine for now.