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 638b196a45 ansible: fix put_file() for large temporary files.
Reverts 49736b3a, large file copies can't avoid the RTT.

The parent stack must be blocked while FileService progresses, as unlike
the small file path, it does not make a snapshot of the (possibly
temporary) file passed by the action plug-in. So we need to keep that
file alive while the service runs.

Add a new integration test and a new soak test to cover both.
6 years ago
..
bench tests: import template benchmark script. 6 years ago
gcloud Copy random test setup changes out of linear2 branch. 6 years ago
hosts Update k3 inventory. 6 years ago
integration ansible: fix put_file() for large temporary files. 6 years ago
lib tests: remote_tmp test fixes. 6 years ago
regression tests: tidy up issue_140.yml 6 years ago
soak ansible: fix put_file() for large temporary files. 6 years ago
tests issue #164: dir structure is gross, but at least tab completion works :> 6 years ago
.gitignore Copy random test setup changes out of linear2 branch. 6 years ago
Makefile Add 'clean' target to makefile. 6 years ago
README.md tests: merge build_docker_images.py with osx_setup.yml 6 years ago
all.yml Revert "try to catch EINTR on travis" 6 years ago
ansible.cfg tests: set no_target_syslog 6 years ago
compare_output_test.py Initial Python 3.x port work. 6 years ago
debug_run_ansible_playbook.sh tests: import debug_ansible_playbook.sh. 6 years ago
mitogen_ansible_playbook.sh tests: import mitogen_ansible_playbook.sh helper 6 years ago
run_ansible_playbook.sh tests: raft of fixes for vanilla Ansible 6 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.sh

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.sh 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.