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
Alex Willmer 924dbd6f0c CI: Migrate macOS integration tests to macOS 12, drop Python 2.7 jobs
macOS 11 is not longer an available runner on Azure Devops. The minimum is now
macOS 12. This runner does not have Python 2.7 installed, so running them
would require a custom install - which I'm declaring too much effort for too
little gain.

refs #1090
4 months ago
..
bench tests: Fix duplicate local task executions 6 months ago
files tests: Enable su tests under vanilla Ansible >= 2.11 9 months ago
hosts CI: Use archived RPMs on CentOS 8 4 months ago
integration CI: Migrate macOS integration tests to macOS 12, drop Python 2.7 jobs 4 months ago
lib CI: Migrate macOS integration tests to macOS 12, drop Python 2.7 jobs 4 months ago
regression CI: Migrate macOS integration tests to macOS 12, drop Python 2.7 jobs 4 months ago
setup tests: Add regression for add_host with host_key_checking 7 months ago
soak tests: Replace uses of ``include:``, unify skipping of mitogen only tests 8 months ago
tests prefer newer unittest.mock from the standad library 8 months ago
.gitignore Merge devel/290 @ 79b979ec8544ef5d8620c64068d4a42fabf50415 5 years ago
Makefile tests: import custom binaries for tests 6 years ago
README.md tests/ansible/README: Replace reference with actual link 3 years ago
all.yml Revert "Revert "fixed tests for ansible 2.12"" 3 years ago
ansible.cfg tests: Add regression for add_host with host_key_checking 7 months ago
ara_env.py tests: import ara_env helper script. 6 years ago
compare_output_test.py tests: prevent compare_output_test running on import. 6 years ago
mitogen_ansible_playbook.py tests: Remove unused imports 3 years ago
requirements.txt tests: Update test coverage to Python 3.9 4 years ago
run_ansible_playbook.py tests: Eliminate MITOGEN_INVENTORY_FILE 2 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.