Alex Willmer
cfa5888547
tests: Print variables on failure of assert tasks
...
Fixes #852
3 years ago
Alex Willmer
ac7505d624
tests: Add centos 8; debian 10, 11; ubuntu 16.04, 18.04, 20.04 test images
4 years ago
Alex Willmer
a8e8cf91cb
tests: Rebuild Docker containers
...
A few changes are bundled in this
- Ansible 2.10.x and Mitogen 0.3.x are used to build nearly all images
(Ansile 2.3.x is retained for CentOS 5, because it uses Python 2.4).
- Tox is used to install/run Ansible, replacing build_docker_images.py
- A static inventory, identifying containers by name rather than ID.
- debian-test image is renamed to debian9-test
- debian9-test image is now based on debian:9
- centos6-test image is now based on moreati/centos6-vault
following the same scheme as centos5-test.
- Images are now uploaded to Amazon Elastic Container Registry (ECR).
See #809 .
- Debian recommended packages aren't installed (e.g. build-essential)
- Python 2.x and Python 3.x are installed wherever available.
- Python Virtualenv is installed wherever available.
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
5a0da02e6c
code review changes, using when statements and adding trailing comma
4 years ago
Steven Robertson
741e99f698
ansible 2.10 no longer has a at the end of the error msg... 🤦
4 years ago
Steven Robertson
e6d7cd3aff
skip vanilla Ansible 2.10 hanging task if not is_mitogen
4 years ago
Steven Robertson
a3b9622f8b
result length is 3 in Azure, 4 on local Mac
4 years ago
Steven Robertson
9f04d6713b
fixed ansible_become_pass test, looks like regression on Ansible's end
4 years ago
Steven Robertson
aac1e7f76a
fix yml parsing
4 years ago
Steven Robertson
fbcf765fb2
oops, yml file can't be empty
4 years ago
Steven Robertson
31670ff993
ignore another flaky test that works locally
4 years ago
Steven Robertson
d978dffe4e
fix ansible version check error
4 years ago
Steven Robertson
5b40b8d155
fix runner_one_job ansible version comparison
4 years ago
Steven Robertson
24d716aab9
oops, 0664 not 0666
4 years ago
Steven Robertson
355e2ffba2
fix fixup_perms2() test
4 years ago
Steven Robertson
22bc5448b1
default copy perms look like 0644 now based on ansible source and docs
4 years ago
Steven Robertson
8481c50a59
ignore synchronize for now, made ticket
4 years ago
Steven Robertson
a7705a3435
add back in ansible tests but don't run synchronize
4 years ago
Steven Robertson
b26a636bba
remove ansible 2.4-specific test
4 years ago
Steven Robertson
fbb92e461f
fix fixup_perms2 default file mode
4 years ago
Steven Robertson
957e295ba9
google will always be up, just use that
5 years ago
Steven Robertson
40946277c3
actual link
5 years ago
Steven Robertson
1ce0091dbc
github url changed, switch to taco pic because tacos are delicious
5 years ago
Steven Robertson
5196fbbadf
missed a few more tests
5 years ago
Steven Robertson
bc87fb0c5d
change more tests to compare to 'discovered_interpreter' for python_path
5 years ago
Steven Robertson
389cee8c70
fix assertion of python_path, it should be always what 'discovered_interpreter' is
5 years ago
Steven Robertson
e7e1c3bc86
note on changed interpreter value functionality, need to fix the test
5 years ago
Steven Robertson
cd3b88d9e3
ignore the source command for now; Mac 10.14 uses /bin/sh rather than /bin/sh pointing to /bin/bash and we can't edit it because of SIP
5 years ago
Steven Robertson
f2f1a530a6
disabling another test that passes locally on Mac
5 years ago
Steven Robertson
2fb6f880f3
remove aliasing sh to bash because I can't disable SIP which means /bin isn't writeable
5 years ago
Steven Robertson
769cdf93b7
disabling another test
5 years ago
Steven Robertson
378f6d3f77
disabling another test for now
5 years ago
Steven Robertson
6fb0bec4ea
another disable
5 years ago
Steven Robertson
2ceb44c337
another disable
5 years ago
Steven Robertson
0ab5bdb7f9
disabling another test
5 years ago
Steven Robertson
8925f8a9d7
disabled another issue with sudo on this test
5 years ago
Steven Robertson
ebf628a812
disabling another test
5 years ago
Steven Robertson
ecb15cd5f0
disable failing Azure test but that works locally
5 years ago
Steven Robertson
f90ec39ba6
add 'validate_certs: no' for get_url old versions of python
5 years ago
Steven Robertson
cfb5ebbdd3
ansible < 2.5 didn't have version, but had version_compare
5 years ago
Steven Robertson
38939b2c1b
can't run ansible 2.8.0+ tests on ansible < 2.8.0
5 years ago
Steven Robertson
633675ecfc
ensure that /bin/sh is executable
5 years ago
Steven Robertson
79b8814142
bump macOS test vm to replicate what passes locally
5 years ago
Steven Robertson
a7fe74cdba
forgot to dump gid info
5 years ago
Steven Robertson
96f896b56c
added debugging to figure out what's up with become_user and sudo runas gid not found
5 years ago
Steven Robertson
4776074e42
set up symlink to bash for source test
5 years ago
Steven Robertson
ea245bbff2
don't set global executable...
5 years ago
Steven Robertson
c010feec59
to not have to manage various python installs, use simplified 'source' test
5 years ago
Steven Robertson
552ae9c6d3
need become: yes for package install
5 years ago
Steven Robertson
c705645ade
need to ensure we can install rh-python for testing
5 years ago
Steven Robertson
51b43104e0
adding interpreter_discovery tests to ci
5 years ago
Steven Robertson
371ef07683
with statement doesn't exist in early python
5 years ago
Steven Robertson
9eedff97a6
closed fp after writing to temp files
5 years ago
Steven Robertson
6d179da480
ported over tests from ansible validating python interpreter discovery
5 years ago
David Wilson
d6329f3446
Merge devel/290 @ 79b979ec8544ef5d8620c64068d4a42fabf50415
5 years ago
David Wilson
3023ab3b7b
issue #633 : skip test on older Ansibles.
5 years ago
David Wilson
fc09b81949
issue #633 : handle meta: reset_connection when become is active
...
- don't create a new connection during reset if no existing connection
exists
- strip off last hop in connection stack if PlayContext.become is True.
- log a debug message if reset cannot find an existing connection
5 years ago
David Wilson
bc275b2526
tests: another random string changed in 2.8.3
5 years ago
David Wilson
7e0c2fd1af
tests: fix sudo_flags_failure for Ansible 2.8.3
5 years ago
David Wilson
4b9b1ca24d
tests: work around AnsibleModule.run_command() race.
...
See https://github.com/ansible/ansible/issues/51393
5 years ago
David Wilson
17d0e1b315
issue #543 : skip test that's hard to do on Mac
5 years ago
David Wilson
115145555e
[linear2] fix another test relying on Connection.parent
5 years ago
David Wilson
ee7dae7514
ci: Another round of fixes for random Ansible UI breakage in 2.7/2.8
5 years ago
David Wilson
ad5a80f200
Use virtualenv Python for stub connections to workaround problem
...
../data/stubs/stub-kubectl.py exec -it localhost -- /usr/bin/python -c "...":
Traceback (most recent call last):
File "<string>", line 1, in <module>
LookupError: unknown encoding: base64
It's not clear why this is happening. "stub-kubectl.py" is executed with
the 2.7 virtualenv, while the exec() that happens inside stub-kubectl
was for "/usr/bin/python".
That second Python can't find chunks of its stdlib:
stat("/usr/lib/python2.7/encodings/base64", 0x7ffde8744c60) = -1 ENOENT (No such file or directory)
open("/usr/lib/python2.7/encodings/base64.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/python2.7/encodings/base64module.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/python2.7/encodings/base64.py", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/python2.7/encodings/base64.pyc", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "Traceback (most recent call last):\n", 35) = 35
write(2, " File \"<string>\", line 1, in <module>\n", 39) = 39
5 years ago
David Wilson
08e7fe4f80
tests: add 2.8 format async error timeout message
5 years ago
David Wilson
3620fce071
issue #593 : expose configurables for SSH keepalive and increase the default
5 years ago
David Wilson
61b651bdd2
issue #587 : workaround for ansible/ansible#56629
6 years ago
David Wilson
92b4724010
issue #587 : consistent become_exe() behaviour for older Ansibles.
6 years ago
David Wilson
a25fa566a1
issue #587 : update stub_connections/ test to use new doas var
6 years ago
David Wilson
a3be746865
issue #587 : update MODULE FAILURE message format for post >2.7
6 years ago
David Wilson
54b5fdf761
issue #587 : fix syntax error due to presence of comment
6 years ago
David Wilson
b8e1b4df51
issue #587 : 2.8 whitespace handling was improved.
...
b72e989e18
6 years ago
David Wilson
f30a4c05c8
issue #581 : expose mitogen_mask_remote_name variable.
6 years ago
David Wilson
2bd0bbd4df
issue #555 : ansible: workaround ancient reload(sys) hack.
...
This is the most minimal change for what might be relatively minimal
edge case. Alternative is replacing reload(), but let's not do that yet.
Closes #555
6 years ago
David Wilson
6309774be2
issue #554 : fix Ansible 2.4 compatibility
6 years ago
David Wilson
f36b4b47bf
issue #554 : don't rely on tmp_path autoremoval in test.
...
Ansible doesn't do this, so we shouldn't either.
6 years ago
David Wilson
7743e57ff3
issue #554 : track and remove multiple make_tmp_path() calls.
6 years ago
David Wilson
26e6194d0a
issue #548 : always treat transport=smart as 'ssh' for mitogen_via=.
...
The idea behind transport=smart is to select between paramiko and
OpenSSH given the availability of connection multiplexing and/or OSX
kernel bugs. We need to make no such choice.
6 years ago
David Wilson
7fd0d34910
tests/ansible: Spec.port() test & mitogen_via= fix.
...
ansible_ssh_port was not respected.
6 years ago
David Wilson
b5b23e8f3d
tests/ansible: Spec.become_pass() test.
6 years ago
David Wilson
7b3ed52fd8
tests/ansible: Spec.become_user() test.
6 years ago
David Wilson
1c955a9876
ansible: capture stderr stream of async tasks. Closes #540 .
6 years ago
David Wilson
8ae6ca1d5b
tests/ansible: Spec.become_method() test & mitogen_via= fix.
...
ansible_become_method hostvar was not taken into account.
6 years ago
David Wilson
8ba75d82ec
tests/ansible: Spec.become() test
6 years ago
David Wilson
d1cadf8ac8
tests/ansible: Spec.password() test, document interactive pw limitation.
6 years ago
David Wilson
21ad299d7b
tests/ansible: Spec.remote_user() test & mitogen_via= fix.
...
ansible_ssh_user precedence was incorrect.
6 years ago
David Wilson
748f5f675d
tests/ansible: Spec.remote_addr() test & mitogen_via= fix.
...
ansible_ssh_host was not respected.
6 years ago
David Wilson
8fd641c442
tests/ansible: Spec.transport() test.
6 years ago
David Wilson
e1df98168c
issue #536 : add mitogen_via= tests too.
6 years ago
David Wilson
b3f20f54e6
issue #536 : disable transport_config tests on vanilla
6 years ago
David Wilson
1d43e187e8
issue #536 : connection_delegation/ tests were erroneously broken
...
While fixing delegate_to, this un-hardwiring of /usr/bin/python
happened. It was always incorrect.
6 years ago
David Wilson
01faed708d
issue #536 : add tests for each ansible_python_interpreter case.
6 years ago
David Wilson
2aed0a0c6c
tests: add new compression parameter to mitogen_get_stack results
6 years ago
David Wilson
b72d139bd2
tests: make soak testing work reliably on vanilla.
...
It claims to disable host key checking, but it doesn't.
6 years ago
David Wilson
954f874085
issue #527 : catch new-style module tracebacks like vanilla.
6 years ago
David Wilson
a40946297f
issue #497 : do our best to cope with crap upstream code
6 years ago
David Wilson
9df314f9c5
issue #499 : another totally moronic implementation difference
6 years ago
David Wilson
53794469a0
issue #499 : disable new test on vanilla.
6 years ago
David Wilson
a1121c5a84
issue #499 : respect C.BECOME_ALLOW_SAME_USER.
6 years ago