Alex Willmer
5ab872f289
ansible_mitogen: Add regression test for ActionModuleMixin._remote_chmod()
...
Adapted from Jonathon's reproducer in #1087 .
3 months ago
Alex Willmer
357fe38766
Ansible 10 (ansible-core 2.17) support
...
Notably
- Python 2.7 and 3.6 are no longer supported by Ansible on targets
- The yum module has been removed, and redirected to dnf
- _INTERPRETER_PYTHON_DISTRO_MAP has been neutered. Interpreter discovery
always favours specific `python3.<x>` interpreters in decending version
order, then generic `python3` or `python`.
- Add the ability for an action plugin to call self._execute_module(*,
ignore_unknown_opts=True) to execute a module with options that may not be
supported for the version being called.
https://docs.ansible.com/ansible/devel/porting_guides/porting_guide_10.html
https://github.com/ansible-community/ansible-build-data/blob/main/10/CHANGELOG-v10.md
https://github.com/ansible/ansible/blob/stable-2.17/changelogs/CHANGELOG-v2.17.rst
fixes #1074 , refs #1082
Co-authored-by: Claude Becker <becker@phys.ethz.ch>
4 months ago
Alex Willmer
85b1b4070a
tests: Respect configured or detected Python more often
...
Relying on the virtualenv default or hardcoding "python" results in a Python
2.x virtualenv on some targets (e.g. debian10-test). This caused a failure
when testing with Ansible >= 10 (ansible-core >= 2.17), which have dropped
Python 2.x support.
refs #1074
4 months ago
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
Alex Willmer
f5a8840668
CI: Use archived RPMs on CentOS 8
...
CentOS 8 has reached EOL. Packages are no longer mirrored or maintained. A
historic snapshot of the packages is kept on vault.centos.org.
refs #1088 , #1090
4 months ago
Alex Willmer
7079a07a15
tests: Fix duplicate local task executions
...
integration/ssh/timeouts.yml is noteworthy. It was an accidental N**2 in time
- executing num hosts * num hosts tasks.
6 months ago
Alex Willmer
65c8a42c13
tests: Use same verbosity when re-executing Ansible inside a playbook
6 months ago
Alex Willmer
60f868290d
tests: Remove --limit when running Ansible localhost CI
...
Some tests were being incorrectly excluded. Including those that use
`add_host`.
refs #1066 , #1069
7 months ago
Alex Willmer
d2eefc06aa
tests: Add regression for add_host with host_key_checking
...
refs #1066
7 months ago
Alex Willmer
d5e9186289
ansible_mitogen: Fix --ask-become-pass, add test coverage
...
Previously f1503874de
fixed the priority of
ansible_become_pass over ansible_become_password, but broke --ask-become-pass.
Fixes #952 .
8 months ago
Alex Willmer
45c42d386a
tests: Replace uses of ``include:``, unify skipping of mitogen only tests
...
The tag mitogen_only is only informational for now. It may be possible to use
it with ANSIBLE_SKIP_TAGS in the future.
8 months ago
Alex Willmer
2839954559
tests: Account for /tmp symlink in virtualenv test on macOS
9 months ago
Alex Willmer
19b79f7ab5
CI: Fix tests on Linux, Ansible tests targetting Debian 9 & 11
...
Without Ubuntu 20.04 virtualenv package being installed pip was installing a
version of virtualenv that couldn't create the Tox environment for Python 2.7.
> Successfully installed distlib-0.3.6 filelock-3.12.2 platformdirs-3.8.0
> pluggy-1.2.0 py-1.11.0 tomli-2.0.1 tox-3.28.0 virtualenv-20.23.1
> Finishing: Install tooling
> ...
> py27-mode_mitogen-distro_centos6 create: /home/vsts/work/1/s/.tox/py27-
> mode_mitogen-distro_centos6
> ERROR: invocation failed (exit code 1), logfile: /home/vsts/work/1/s/.tox/
> py27-mode_mitogen-distro_centos6/log/py27-mode_mitogen-distro_centos6-0.log
> ================================== log start
> ===================================
> RuntimeError: failed to query /usr/bin/python2.7 with code 1 err:
> ' File "/home/vsts/.local/lib/python3.8/site-packages/virtualenv/discovery/
> py_info.py", line 24\n return list(OrderedDict.fromkeys(["",
> *os.environ.get("PATHEXT", "").lower().split(os.pathsep)]))\n
> ^\nSyntaxError: invalid syntax\n'
1 year ago
Alex Willmer
edd2868ef6
tests: Don't rely on facts when setting become
...
They won't be available if the play is first, and hence no facts have been
gather in previous play(s), e.g. due to --start-at-task
2 years ago
Alex Willmer
526422b74b
tests: Name tasks
...
For easier grep, and easier identification in task_profiler summaries.
2 years ago
Alex Willmer
64819ecb5f
tests: Regression test for #776 (package/yum/dnf module called twice)
2 years ago
Alex Willmer
24c845379a
tests: Remove redundant regression tags
...
The tag is applied by the playbook that imports this one.
2 years ago
Alex Willmer
db0ffae352
tests: Enable stricter error handling, fix resulting failures
2 years ago
Alex Willmer
216e7c9150
tests: Correct Ansible targets
2 years ago
Alex Willmer
8e79488768
tests: Mark or avoid sudo tasks on localhost
2 years ago
Alex Willmer
f070767dad
tests: Use meaningful play names
2 years ago
Alex Willmer
25ea6dde02
ansible_mitogen: Allow mitogen_fetch to bypass slurp module
...
This reapplies an earlier change, when this plugin was first introduced to
Mitogen. The plugin was updated to fix
[DEPRECATION WARNING]: The '_remote_checksum()' method is deprecated.
I've elected to short-circuit the if statemtn logic, rather than
deleting/unindenting, to make the code delta much smaller. This should make it
easier to maintain/update.
Fixes #915
3 years ago
Alex Willmer
db9e52ce8e
tests: Run containers on macOS with podman, instead of Docker
3 years ago
Klaus Zerwes
b8dd348b1e
Revert "Revert "fixed tests for ansible 2.12""
...
This reverts commit f82bd3d714
.
3 years ago
Klaus Zerwes
f82bd3d714
Revert "fixed tests for ansible 2.12"
...
include is deprecated and will be removed in 2.16, so there is some time to fix this left
This reverts commit 7bc2102d2b
.
3 years ago
Klaus Zerwes
7bc2102d2b
fixed tests for ansible 2.12
3 years ago
Alex Willmer
e194a6367f
ci: Fix version comparisons involving double digits
...
See https://gist.github.com/moreati/e7507c5b606b12ec0ddafcb7c8debbf1
3 years ago
Alex Willmer
3c58215a91
tests: Tag Ansible tests
...
This makes it easier to run subsets using ANSIBLE_RUN_TAGS=...
3 years ago
Alex Willmer
cfa5888547
tests: Print variables on failure of assert tasks
...
Fixes #852
3 years ago
Alex Willmer
1a0951c664
Merge branch 'master' into tests-resource_intensive-tag
4 years ago
Alex Willmer
bb271d8d00
tests: Tag resource intensive tasks, to skip when strategy=linear
...
The ansible_mitogen test suite takes over an hour when Ansible is not
accelerated by Mitogen. This change aims to reduce that by skipping
tests with a large number of iterations when the linear strategy is
chosen.
The tagged tests are intended to uncover Mitogen resource leaks. Since
Mitogen is not invoked when strategy=linear, the slight reduction in
test coverage is an acceptable trade off.
4 years ago
Alex Willmer
a64e966ab9
tests: Add unofficial Tox environments for Ansible tests
...
These are not part of the official testing regime (tests run for pull
requests). I find them convenient for local development.
Limitations
- Python 2.7+ only. No Python 2.4, 2.5, or 2.6.
- Requires Pythons pre-installed (e.g. DeadSnakes, pyenv)
- No coverage of alternate controller OS (e.g. MacOS)
The environments tested by default are
py27-mode_ansible-ansible2.10
py36-mode_ansible-ansible2.10
py39-mode_ansible-ansible2.10
py27-mode_mitogen
py36-mode_mitogen
py39-mode_mitogen
py27-mode_mitogen-distro_centos7
py36-mode_mitogen-distro_centos7
py39-mode_mitogen-distro_centos7
4 years ago
Steven Robertson
1091cd7ca1
try and suppress mode warning clogging up logs
4 years ago
Steven Robertson
acde13f9d6
handles a 'wait_for_connection' call right after a task caused a shutdown
5 years ago
Steven Robertson
bb048cc03d
accidentally deleted quotes
5 years ago
Steven Robertson
faf7798c16
revert python3 setup + add TODO; python3 tests aren't working now but python2 is EOL so they should work soon
5 years ago
Steven Robertson
1157ff6f43
try fixing mac python symlink weirdness
5 years ago
Steven Robertson
0a34d378c9
change virtualenv creation when running with python 3
5 years ago
Steven Robertson
d813092d69
revert hack done to virtualenv test
5 years ago
Steven Robertson
90d51fcbbd
'fix' test for virtualenv on mac
5 years ago
Steven Robertson
488ab3553e
upgrade ansible back to 2.9.4, and fix issue with virtualenv on Mac
5 years ago
Steven Robertson
868de4e5ba
added ability to repro current virtualenv bug behind a proxy, and adding verbosity to see why azure is unhappy
5 years ago
David Wilson
d6329f3446
Merge devel/290 @ 79b979ec8544ef5d8620c64068d4a42fabf50415
5 years ago
David Wilson
0e489625ed
issue #615 : regression test
5 years ago
David Wilson
206a8d4aeb
issue #558 : disable test on OSX to cope with boundless mediocrity
5 years ago
David Wilson
8dfb3966df
issue #558 , #582 : preserve remote tmpdir if caller did not supply one
...
The undocumented 'tmp' parameter controls whether _execute_module()
would delete anything on 2.3, so mimic that. This means
_execute_remove_stat() calls will not blow away the temp directory,
which broke the unarchive plugin.
5 years ago
David Wilson
e90c05dc9d
issue #591 : fix test for Ansible 2.3.
6 years ago
David Wilson
0b7fd3f290
issue #591 : ansible: restore CWD prior to AnsibleModule initialization.
6 years ago
David Wilson
fe7c3610ff
issue #590 : disable distro test on vanilla
6 years ago
David Wilson
e94200aeb9
issue #590 : actually run Ansible test.
6 years ago