Commit Graph

9530 Commits (cdcd2ed49aecef3bd6b62dfa6847eb2149cdf268)

Author SHA1 Message Date
Matt Clay cdcd2ed49a
Support venv in ansible-test virtualenv scripts (#73164)
* ansible-test - prefer venv over virtualenv on Python 3 (#73000)

Also pin virtualenv to 16.7.10 for older Mac OS X systems. This was the version being installed
anway with the previous constraint (<20).

On systems with Python 3, now prefer venv over virtualenv. Test to see if venv is functional since
some systems have a non-functional venv installation (such as Debian).

(cherry picked from commit 850a77f639)
(cherry picked from commit a48b3d2089)

* Make the new ansible-test venv behavior opt-in

Co-authored-by: Sam Doooran <sdoran@redhat.com>
5 years ago
Felix Fontein 0f65b901f7
docker_image: always push, also when tagging is not necessary
Backport of 117f132213 (#73066)
5 years ago
Sam Doran 95f65b9249
[stable-2.9] Fix string/bytestring comparsion in m_u.basic (#70439) (#73130)
Change:
- module_utils.basic.is_special_selinux_path() used a string ==
  bytestring comparison which returned False and made Ansible think that
  certain filesystems aren't, in fact, special-cased, when they should
  be. Ensure both sides of the == are bytestrings.

Test Plan:
- Added `copy` integration tests for this case.

Tickets:
- Fixes #70244

Signed-off-by: Rick Elrod <rick@elrod.me>.
(cherry picked from commit 688cd8657b)

Co-authored-by: Rick Elrod <rick@elrod.me>
5 years ago
Sam Doooran bb7c0326d8 [stable-2.9] Constrain pexpect and ptyprocess (#73109)
The recent update of ptyprocess to 0.7.0 is incompatible with Python 2.6 and
is causing test failures.

* Add setup_pexpect role to expect test
(cherry picked from commit 003a9e890d)

Co-authored-by: Sam Doooran <sdoran@redhat.com>
5 years ago
Matt Clay 17effffad6
[stable-2.9] Add coverage exporting to ansible-test (#72982)
* Add `--venv-system-site-packages` to ansible-test.

(cherry picked from commit 934d6b235b)

Backport of https://github.com/ansible/ansible/pull/65615

* [stable-2.9] Add coverage exporting to ansible-test

A new `--export` option for `ansible-test coverage combine` allows multi-step aggregation of code coverage for CI pipelines..

(cherry picked from commit fa2be89cd4)

Backport of https://github.com/ansible/ansible/pull/72563
5 years ago
Brian Coca c4844e992c
make collection callbacks follow normal flow (#59932) (#72228)
* make collection callbacks follow normal flow (#59932)

make collections whitelist follow normal flow

* fixes missing set_options call and adhoc and stdout processing rules
* avoid dupes
* fixed to handle redirects
* also updated tests with new and more accurate skip message
* fix callback tests for envs with cowsay installed
* lots MOAR comments on why the code is as it is, some todos to refactor in future

Co-authored-by: Matt Davis <nitzmahone@users.noreply.github.com>
(cherry picked from commit 5ec53f9db8)

* fixed bad merge

* hack in redirected names

* ensure we run additional calblacks
5 years ago
Brian Coca ce52e6738c
remove redundant remote_user for local setting (#72508)
* remove redundant remote_user for local setting

  local action plugin already does and this also should fix
  fork/thread issue by removing use of pwd library

  fixes #59642

(cherry picked from commit 488b9d6c35)

* ensure local exposes correct user (#72543)

* ensure local exposes correct user

  avoid corner case in which delegation relied on
  playcontext fallback which was removed

  fixes #72541

(cherry picked from commit aa4d53ccdf)
5 years ago
Jordan Borean ff364b6541
Disable win_rds* tests in CI (#72890) 5 years ago
Bill Peck 1706b71141
Fix virt module to support list_vms with a status of paused (#72056)
The docs state to use paused but the check_choice module only
accepts pause which doesn't list paused vm's.
5 years ago
Rick Elrod 8eaa7423d4
[2.9] [cloud_init_data_facts tests] fix for centos8 (#72886)
Change:
- `udev` is provided by `systemd-udev`, which our `state=present` check
  doesn't match. For now, work around this so we don't end up trying to
  upgrade all of systemd.
- In the future, we should discuss if the `yum` module does the right
  thing here.

Test Plan:
- Locally in docker
- CI

Signed-off-by: Rick Elrod <rick@elrod.me>
5 years ago
Sam Doran cc47d9cb41
[stable-2.9] wait_for - ignore psutil related errors (#72401) (#72407)
When enumerating connections with psutil, catch and ignore errors to avoid returning a stack trace.

Co-authored-by:  Matt Martz <matt@sivel.net>
(cherry picked from commit fb09fd2a23)
5 years ago
Sam Doran d12e82b94c
[stable-2.9] ansible-test - skip installing PowerShell sanity test reqs if they are already installed (#72423) (#72425)
(cherry picked from commit 809d5fc398)

Co-authored-by: Jordan Borean <jborean93@gmail.com>
5 years ago
Amin Vakil 67108d8679
[stable-2.9] iptables: Reorder comment postition (#71496) (#72551) 5 years ago
Felix Fontein aa471096de
[2.9] Fix missing ansible.builtin FQCNs in hardcoded action names (#72458)
* Fix missing ansible.builtin FQCNs in hardcoded action names (#71824)

* Make sure hard-coded action names also check for FQCN.
* Use _add_internal_fqcn() to avoid hardcoded lists and typoes.

(cherry picked from commit da60525610)

ci_complete

* Replace some more FQCNs.

(cherry picked from commit 72302dd611)

* Fix another case which was already fixed in stable-2.10.
5 years ago
Sam Doran 74ec5ab6b5
[stable-2.9] pause - do not hang if run in the background (#72065) (#72606)
* Consolidate logic for determining whether or not session is interactive
  into a single function, is_interactive()
* Increase test coverage

I wasn't able to find a good way of simulating running a backgrounded test with CI since the
whole test is essentially run not in a TTY, which is similar enough to cause the new is_interactive()
function to always return false.
(cherry picked from commit 4b8cb6582b)

Co-authored-by: Sam Doran <sdoran@redhat.com>
5 years ago
Sam Doran ddf44ddd46
[stable-2.9] AnsibleModule.set_mode_if_different: handle symlink is in a sticky directory (#45198) (#72862)
* file: add symlink is in a sticky directory tests
* file: handle symlink in a sticky directory

The builtins import was removed since it was unused, but it is now needed.
(cherry picked from commit b464d18fd1)

Co-authored-by: Pilou <pierre-louis.bonicoli@libregerbil.fr>
Co-Authored-By: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
5 years ago
Felix Fontein 9ba34dec35
ansible-test sanity: fix UnicodeDecodeError for `--python 2.7 --docker` (#72623) (#72866)
* Store target paths as unicode.

* Add changelog fragment.

(cherry picked from commit f94ba68d8f)
5 years ago
Nathaniel Case a4ba6ace01
Update ssh connection play_context alongside network_cli's (#72185)
Backport of https://github.com/ansible-collections/ansible.netcommon/pull/135

* Fix iosxr tests
5 years ago
Felix Fontein 903f2e267b Improve ansible-test classifications for collections (#72353)
(cherry picked from commit 64a809d2b6)
5 years ago
Matt Clay 2c66c6297c [stable-2.9] Use AZP config for integration-aliases test.
No changelog entry since this test is limited to the ansible/ansible repo.

Backport of https://github.com/ansible/ansible/pull/72842
5 years ago
Matt Clay 0b54f3e1ba [stable-2.9] Fix Azure Pipelines change detection. (#72824)
(cherry picked from commit 08842cd6bb)

Co-authored-by: Matt Clay <mclay@redhat.com>
5 years ago
Rick Elrod 82ba44871a
fix resource name in aws_codepipeline too (#72825)
Signed-off-by: Rick Elrod <rick@elrod.me>
5 years ago
Matt Clay 87662c5d59 Fix resource name. 5 years ago
Matt Clay f328c0e259 Fix resource name length. 5 years ago
Matt Clay 23cbd2a8f1 [stable-2.9] Azure Pipelines configuration. 5 years ago
Rick Elrod d92820c2d5
[centos6] update container for EOL (#72797)
* [centos6] update container for EOL

Change:
- Reference:
  https://lists.centos.org/pipermail/centos-devel/2020-December/056208.html
- Bump centos6 container to 1.25.0

Test Plan:
- ci_complete

Signed-off-by: Rick Elrod <rick@elrod.me>

* update EPEL 6 too which is now archived

Signed-off-by: Rick Elrod <rick@elrod.me>

* bump to 1.26.0

Signed-off-by: Rick Elrod <rick@elrod.me>
5 years ago
Sam Doran 0515895aa7
[stable-2.9] Pull images from Quay to avoid Docker Hub limits (#72698)
* Pull image from Quay to avoid Dockerhub limits

CI tests are failing in certain situations due to the new Docker Hub limits on anonymous pulls. Switch
to pulling an equivalent image from Quay.io.

* Use correct layer SHAs

* Use an image with enough older shas to do the test correctly

* Use images we control on Quay for testing

* Use correct SHA for new images

* Use images from a single repo in Quay but with tags

* Use correct nginx image

* Use correct tags in docker-registry test

* Fix incorrect image name in debug message

* Use our busybox image

* Little more alpine image cleanup
5 years ago
Jordan Borean c90eea843b
Add RHEL 7.9 (#72558) - 2.9 (#72567)
* Add RHEL 7.9 - ci_complete (#72558)

(cherry picked from commit d451433e5d)

* Added changelog for RHEL 7.9 (#72572)

(cherry picked from commit bdd0c48837)
5 years ago
Rick Elrod a6f5060464
[zypper_repository test] Use repo that doesn't 404 (#72780)
Change:
- The repo we were testing with no longer seems to exist. Point to one
  that does.

Test Plan:
- local test in docker
- CI

Signed-off-by: Rick Elrod <rick@elrod.me>
5 years ago
Sam Doran f6635e3804 [stable-2.9] - ansible-test - add cryptography constraint for cffi (#72761)
The recently released version of cffi fails to install on systems with an older version of gcc. In
our case, this in the CentOS 6 test image. There is a fix but it has not yet been released.

https://foss.heptapod.net/pypy/cffi/-/issues/480
5 years ago
David Shrewsbury 8a2f694715
Test pip fix (#72765)
(cherry picked from commit 2eb9795543)
5 years ago
Ganesh Nalawade 4e0e0e5af0
Try to load action plugin from the same collection as the module (#66701) (#72409)
* Try to load network action plugin from the same collection as the module

* Alter tests to match

Just make sure the action plugin is as qualified as the module it is paired with

(cherry picked from commit 3dbc03d58a)

Co-authored-by: Nathaniel Case <ncase@redhat.com>
5 years ago
Matt Clay c73c5477e5 [stable-2.9] Fix container discovery for the acme test plugin.
(cherry picked from commit f022dedd0a)

Co-authored-by: Matt Clay <matt@mystile.com>
5 years ago
Sam Doran e78d9d97c8
[stable-2.9] [dnf] Some fixes around filtering (#72483) (#72501)
* [stable-2.9] [dnf] Some fixes around filtering (#72483)

Change:
- Docs: Add note that security/bugfix apply to dependencies too, like
  the dnf command.

- dnf: security/bugfix only makes sense for updates, so limit the
  package query sack to available updates.

- tests: Limit tests to our known-good test packages, so that RHEL
  packages marked security/bugfix without similarly marked dependencies
  don't fail our tests.

Test Plan:
- Tested with `dnf upgrade-minimal --bugfix` and reproduced the same
  error currently seen in CI, showing that we are consistent with what
  dnf does.

Tickets:
- Likely fixes #72316

Signed-off-by: Rick Elrod <rick@elrod.me>
(cherry picked from commit d8c637da37)

Co-authored-by: Rick Elrod <rick@elrod.me>

* Add changelog (#72502)

(cherry picked from commit b33d7e2e29)

Co-authored-by: Rick Elrod <rick@elrod.me>
5 years ago
Matt Clay 6f29ab5203 [stable-2.9] Fix ansible-test tar format handling.
(cherry picked from commit 49d8d5ae33)

Co-authored-by: Matt Clay <matt@mystile.com>
5 years ago
Matt Martz 304f6b256c
[stable-2.9] Update pip tests to omit install dev extras to avoid dep issues (#72436) (#72439)
(cherry picked from commit 2ee5af5)

Co-authored-by: Matt Martz <matt@sivel.net>
5 years ago
Matt Davis 84aa943195
Remove ansible-galaxy login (#72288) (#72325)
* GitHub is removing the underlying API used to implement the `login` command. Since the general consensus seems to be that relatively nobody currently uses this command (in favor of explicit token passing), support was simply removed for interactive login. If a future need arises, this command should be reimplemented via OAuth Device Auth Grants.
* login or role login commands now produce a fatal error with a descriptive message
* updated 2.10 porting guide entry

* remove dead code/config, update messages and porting guides

(cherry picked from commit 83909bfa22)
5 years ago
Felix Fontein 7fe2a22f70 ansible-test ansible-doc sanity test: disable vars plugins for collections 5 years ago
Andrew Klychkov e7b2ba4ef6
postgresql_pg_hba: fix a crash when a new rule with an 'options' field replaces a rule without or vice versa (#72290) 5 years ago
Rick Elrod 2beeeb8a27 show installations/removals in check_mode (#70892)
Change:
- Previously, we only showed that something would have changed, not what
  would have changed. This allows us to show what will chang as well.

Test Plan:
- Local RHEL8 VM
- New integration tests

Tickets:
- Fixes #66132

Signed-off-by: Rick Elrod <rick@elrod.me>
5 years ago
Rick Elrod 49d5462f16 accumulate update filters (#71726)
Change:
- Previously when `security: true` and `bugfix: true` were both given,
  only security updates would get applied. Filters now accumulate so
  that both get applied in this case.

Test Plan:
- New integration tests for both check_mode and not. These tests make
  use of a contrived yum repository which is stored in S3.

Tickets:
- Fixes #70854

Signed-off-by: Rick Elrod <rick@elrod.me>
Co-authored-by: Matt Martz <matt@sivel.net>

Co-authored-by: Matt Martz <matt@sivel.net>
5 years ago
Abhijeet Kasurde 4ab20bdd76
[2.9] nmcli: Typecast parameter values to string as required (#72094)
Fixes: https://github.com/ansible-collections/community.general/issues/1023

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
5 years ago
Ruediger Pluem 3d17393f61
user - allow local users with an expiry date to be created (#72022) (#72086)
The luseradd / lusermod commands do not support the -e option. Set
the expiry time in this case via lchage after the user was
created / modified.

Fixes: #71942

In Python3 math.floor returns an integer whereas Python2 returns a float.
Hence always convert the result of math.floor to an int to ensure that
lexpires is an integer.

Move local expires tests in a separate file and import the tasks to the
main.yml to keep main.yml smaller.

(cherry picked from commit a7170da851)
5 years ago
Sam Doran 0cab929d2d
[stable-2.9] Allow changed/failed mgmt on strategy actions (#70919) (#72118)
* Allow changed/failed mgmt on strategy actions.
(cherry picked from commit f9c3c6cba6)

Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
5 years ago
Christian Loos 4a1555fb0a
fix distribution fact for SLES4SAP (#71559) (#72029)
b6b238a fixed the SLES4SAP detection, which was at this time ok.
Sadly Suse changed with SLES 15 the /etc/os-release file, so the above
change will no longer work.

This commit updates the SLES4SAP detection regarding
https://www.suse.com/support/kb/doc/?id=000019341.

The symlink realpath is matched with endswith, because in SLES 12+ the
link target is SLES_SAP.prod, but in SLES 11 the link target is
SUSE_SLES_SAP.prod.

(cherry picked from commit ea119d3089)
5 years ago
Andrew Klychkov 30e735c4d8
[2.9] postgresql_privs: fix the module mistakes a procedure for a function (#72014)
* postgresql_privs: fix the module mistakes a procedure for a function

* Fix CI
5 years ago
Matt Clay 8fc579061f [stable-2.9] [stable-2.10] Fix ansible-test handling of user-defined docker networks. (#72256)
* Fix ansible-test docker container detection.

* Attach test containers to the correct network.

* Do not assume `localhost` for accesing Docker.

* Look for containers on current network.

* Always map /var/run/docker.sock into containers.

This fixes issues when using a remote Docker host.

* Support container IP lookup from networks list.

* Fix container network attachment.

* Remove redundant container detection messages.

* Limit DOCKER_HOST parsing to TCP.

* Restore docker socket existence check.

The check is skipped if the docker hostname is not localhost.

* Correct changelog entry..
(cherry picked from commit 3c2e8b99be)

Co-authored-by: Matt Clay <mclay@redhat.com>.
(cherry picked from commit 6362232c30)

Co-authored-by: Matt Clay <mclay@redhat.com>
5 years ago
Matt Clay a02d29ea09
CI stability updates. (#72306)
* Avoid issues with user-defined docker networks.
* Increase CI timeout.
5 years ago
Matt Clay c54dc50bd7
[stable-2.9] Fix ansible-test Azure Pipelines container auth. (#72283)
(cherry picked from commit 2ef4b7e07e)

Co-authored-by: Matt Clay <matt@mystile.com>
5 years ago
Matt Clay b9fc07ef4e
[stable-2.9] Support collection constraints in ansible-test. (#72158)
This allows collections to specify requirements and constraints for packages that ansible-test has requirements or constraints for..
(cherry picked from commit 5f76bd2af7)

Co-authored-by: Matt Clay <matt@mystile.com>
5 years ago