Commit Graph

322 Commits (3b2b03bd97847733643bd88ab5ef98f2f4c21dbd)

Author SHA1 Message Date
Klaus Zerwes e509c1fb77
Update tests/ansible/integration/interpreter_discovery/ansible_2_8_tests.yml
Co-authored-by: Alex Willmer <alex@moreati.org.uk>
3 years ago
Klaus Zerwes 3d450f0f22 fix interpreter discovery tests for changed python interpreter behaviour from ansible 2.12 on 3 years ago
Klaus Zerwes 2d3970552e fixed tests for ansible 2.12 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 c61c063b4f Support for Ansible 3 & 4
fixes #834

Co-authored-by: Claude Becker (@upekkha)
Co-authored-by: Dolph Mathews (@dolph)
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 147a716b28 CI: Handle NameError traceback on stdout in Ansible 2.10+ 3 years ago
Alex Willmer 2b27384a93 CI: Handle variant of unknown user error message seen on MacOS 3 years ago
Alex Willmer 5fc7fcd112 CI: Skip unprivileged become tests on MacOS with Ansible < 2.11
Ansible 2.10 and earlier try to use setfacl, which is not present on
MacOS. Ansible 2.11 and later use chmod +a instead.
3 years ago
Dolph Mathews bd086fd519 fix mac build failure
(cherry picked from commit 40b603e098)
3 years ago
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