You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mitogen/tests/ansible
David Wilson 9035884c77 ansible: abstract worker process model.
Move all details of broker/router setup out of connection.py, instead
deferring it to a WorkerModel class exported by process.py via
get_worker_model(). The running strategy can override the configured
worker model via _get_worker_model().

ClassicWorkerModel is installed by default, which implements the
extension's existing process model.

Add optional support for the third party setproctitle module, so
children have pretty names in ps output.

Add optional support for per-CPU multiplexers to classic runs.
5 years ago
..
bench Import include processing bench 6 years ago
gcloud gcloud: small updates 6 years ago
hosts issue #548: always treat transport=smart as 'ssh' for mitogen_via=. 6 years ago
integration ci: Another round of fixes for random Ansible UI breakage in 2.7/2.8 6 years ago
lib ci: Another round of fixes for random Ansible UI breakage in 2.7/2.8 6 years ago
regression issue #591: fix test for Ansible 2.3. 6 years ago
soak issue #477: tests: use Ansible 2.3-compatible include rather than import 6 years ago
tests [stream-refactor] replace old detach_popen() reference 5 years ago
.gitignore
Makefile
README.md issue #409: Pythonize run_ansible_playbook.sh 6 years ago
all.yml issue #477: tests: use Ansible 2.3-compatible include rather than import 6 years ago
ansible.cfg issue #587: disable deprecation_warnings for CI. 6 years ago
ara_env.py tests: import ara_env helper script. 6 years ago
compare_output_test.py
mitogen_ansible_playbook.py tests: replace another shell script. 6 years ago
requirements.txt tests: give ansible/gcloud/ its own requirements file. 6 years ago
run_ansible_playbook.py ansible: abstract worker process model. 5 years ago

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.