Commit Graph

11319 Commits (8c07cfdc490a4a685a7eeaeab741eef009bdd70f)

Author SHA1 Message Date
Matt Clay 8c07cfdc49 [stable-2.12] ansible-test - Fix handling of args after `--` (#78328)
(cherry picked from commit 0012263c7a)

Co-authored-by: Matt Clay <matt@mystile.com>
4 years ago
Sviatoslav Sydorenko b53419c8f3
Drop custom repo from libuser install @ Alpine CI (#78305) (#78307)
`group` and `setup_cron` integration tests currently install `libuser` and `faketime`
packages respectively, from the non-default edge/testing repositories. It is no
longer necessary to do so for the former so this patch drops the repo option. As
for the latter, this patch includes a note explaining when the same could be done
for it too.

This patch also adds a note on installing `faketime` on Alpine in CI.

(cherry picked from commit 619a1fa7e2)
4 years ago
Matt Clay e1ff779844 [stable-2.12] ansible-test - Improve pip bootstrap download.
(cherry picked from commit b9d13d222c)

Co-authored-by: Matt Clay <matt@mystile.com>
4 years ago
Matt Clay 117414e5c2
[stable-2.12] ansible-test - Adjust unit test mock usage. (#78003)
* ansible-test - Prefer unittest.mock for core.

(cherry picked from commit 81351022d8)

* ansible-test - Adjust unit test mock usage. (#77961)

(cherry picked from commit 23914d3f0b)
4 years ago
Sloane Hertel daf160bc67
Add toggle to fix module_defaults with module-as-redirected-action on a per-module basis (#77265) (#77900)
* If there is a platform specific handler, prefer the resolved module over the resolved action when loading module_defaults

Add a toggle for action plugins to prefer the resolved module when loading module_defaults

Allow moving away from modules intercepted as actions pattern

Fixes #77059

(cherry picked from commit 621e782ed0)
4 years ago
Matt Clay 832a762c2b [stable-2.12] Avoid deprecated method in unit tests.
(cherry picked from commit 5f74350fd5)

Co-authored-by: Matt Clay <matt@mystile.com>
4 years ago
Matt Davis 092d298b5c
fix SELinux facts tests (#77708)
* make the pre-flight sniffing more robust to different failure conditions (was failing on Ubuntu 22.04 VMs)
* remove skip aliases (the test needs to function everywhere to assert that the selinux facts bits behave properly when it's N/A)

(cherry picked from commit 4ff10fcd31)
4 years ago
Brian Coca a9f17d0532
dont rely on path to set config defs for plugins (#77659) (#77695)
(cherry picked from commit a3cc6a581e)
4 years ago
Sam Doran 4bde2d8a97
[stable-2.12] arg_spec - Return aliases in validation result and update aliases (#77576) (#77602)
* [stable-2.12] arg_spec - Return aliases in validation result and update aliases (#77576)

When looking up the `no_log` setting for a parameter that is an alias in
`AnsibleModule._log_invocation()`, the alias value will always be an
empty dictionary since `self.aliases` on the `AnsibleModule` instance is
never updated after initialization. Since the `no_log` setting is on the
canonical parameter not the alias, an incorrect warning is issued if the
parameter matches `PASSWORD_MATCH`.

This PR returns the aliases dictionary as an attribute of the
`ValidationResult` and updates the `aliases` attribute on the
`AnsibleModule` instance.
(cherry picked from commit 1b947eaf92)

Co-authored-by: Sam Doran <github@samdoran.com>

* Rewrite test comprehension for Python 2.6

* No need for list inside the dict constructor
4 years ago
Martin Krizek 625a99aa32
Prevent losing unsafe from lookups (#77609) (#77651)
This patch fixes a bug which under certain conditions results in data
returned from lookups not being marked as unsafe.

Each time Templar.do_template is invoked a new AnsibleContext is
created and stored effectively at two places:
1) as an instance variable in templar_obj.cur_context
2) as a local variable called new_context in do_template method of Templar

Due to custom functionality in Ansible's Context that allows for nested
templating it is possible that during resolving variable's value
template/do_template method is called recursively again, again creating
a new context. At that point the problem manifests itself because as
mentioned in 1) above the context is overwriten on the templar object
which means that any subsequent calls to _lookup will use the new
context to mark it as unsafe which is now different to the local
new_context which is used for testing for unsafe property.

The solution to the problem appears to be to restore the original
context inside do_template and also to eliminate the local variable
new_context to prevent problems in the future.

It appears that we don't have a better way of storing the context other
than as some form of global variable and so this appears to be the
"best" solution possible at this point. Hopefully data tagging will be
the solution here.

For more examples see unit and integration tests included in this patch.

Fixes #77535

(cherry picked from commit 3980eb8c09)
4 years ago
Sloane Hertel db69d93c1c
[2.12] fix shell/command/script tasks skipping in check mode (#76353) (#77389)
* fix shell/command/script tasks skipping in check mode (#76353)

* fix shell/command/script tasks skipping in check mode

* changelog

(cherry picked from commit de11a1ce78)

* Add portion of tests from #76429 for skipping/not skipping shell/command tasks in check mode
4 years ago
Jordan Borean 374882e4df
winrm - ensure callers PATH for kinit is set (#77401) (#77403)
* winrm - ensure callers PATH for kinit is set

* Fix unit test expectations

* Fix type annotation

(cherry picked from commit 60b4200bc6)
4 years ago
Sloane Hertel 8bbcfebd5c
Get git executable for collections in git repos (#77493) (#77501)
* Fix traceback installing collections from git repos if git is not installed

(cherry picked from commit 477c55b0d2)
4 years ago
Felix Fontein efbe050c29 [stable-2.12] Fix sanity test crash.
(cherry picked from commit 6216c9fc93)

Co-authored-by: Felix Fontein <felix@fontein.de>
4 years ago
Matt Clay de70bfbcb0 [stable-2.12] ansible-test - Fix origin host target filtering.
(cherry picked from commit 4b51e61645)

Co-authored-by: Matt Clay <matt@mystile.com>
4 years ago
Felix Fontein 660e8fa07d
unarchive: fix io_buffer_size option, remove ignore.txt entry (#77271) (#77311)
* Fix io_buffer_size option.

* Remove ignore.txt entry by adding action plugin only options to module's argument spec.

* Add changelog fragment.

* Adjust unit tests.

(cherry picked from commit e3c72230cd)
4 years ago
Sloane Hertel b3968340a0
[2.12] Fix collection redirects for filter and test plugins (#77210) (#77227)
* Fix collection redirects for filter and test plugins (#77210)

* Fix collection redirects for jinja2 filters/tests

* Handle recursive redirects

Co-authored-by: Matt Martz <matt@sivel.net>
(cherry picked from commit 8063643b4c)

* The error message is only capitalized on 2.13. Make test more flexible.
4 years ago
Martin Krizek 17836f8e65
first_found: allow spaces in names (#77141) (#77207)
* first_found: allow spaces in names

Fixes #77136

(cherry picked from commit 74a204e6f1)
4 years ago
Sloane Hertel bedff70f3e
[2.12] ansible-galaxy collection verify - display new files/dirs as modified content (#77128)
* Fix 'ansible-galaxy collection verify' to report files/directories not listed in the FILES.json

(cherry picked from commit a1d467dbb2)

* changelog

(cherry picked from commit 3d49d6f69e)
4 years ago
Matt Martz a45c4aadb8
[stable-2.12] Use full python package for ansiballz cache filenames (#77090) (#77125)
* Use full python package for ansiballz cache filenames

* Be a little more explicit about test goals
(cherry picked from commit 8cbe143)

Co-authored-by: Matt Martz <matt@sivel.net>
4 years ago
Matt Clay 2d98b94f6c [stable-2.12] ansible-test - Fix delegation inventory path.
(cherry picked from commit e8afdac06e)

Co-authored-by: Matt Clay <matt@mystile.com>
4 years ago
Matt Clay b801ef15c9 [stable-2.12] Update setup_pexpect to prefer pip user installs.
This works around issues on RHEL 7.9 when an old version of pexpect is installed from an OS package.
(cherry picked from commit 27fe26edbf)

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

ci_complete
4 years ago
Matt Clay 586e40facf ansible-test - Update default containers to 4.2.0. 4 years ago
Matt Clay 2f0b8398c9 [stable-2.12] ansible-test - Fix CParser import in yamllint.
(cherry picked from commit d286c2e8b3)

Co-authored-by: Matt Clay <matt@mystile.com>
4 years ago
Matt Clay 7df9c1bc91
[stable-2.12] ansible-test - Managed venv fixes. (#77100)
* ansible-test - Remove cap on cryptography version.

(cherry picked from commit 00a2b7788e)

* ansible-test - Fix consistency of managed venvs. (#77028)

(cherry picked from commit 68fb3bf90e)

* Avoid system-site-packages in AZP coverage venvs.

The use of `--venv-system-site-packages` was an optimization to use the `coverage` package pre-installed in the AZP test container.
However, now that the venv is bootstrapped by ansible-test that optimization no longer makes sense, since other downloads are already taking place.

(cherry picked from commit 177336a9d3)

* ansible-test - Clean up venv code.

(cherry picked from commit addb9baec2)

* Adjust virtualenv version for Python 2.6.

* Adjust bootstrap URL to work with Python 2.6.

* Enable PyPI proxy for generic tests.

This is needed to support ansible-test integration tests on Python 2.6.

* Freeze plugin import sanity test requirements.

Based on https://github.com/ansible/ansible/pull/76308
4 years ago
Matt Clay 972bcfe7eb Fix integration tests that install MarkupSafe. 4 years ago
Matt Clay 65792c3035 [stable-2.12] Remove unused task from template integration test.
(cherry picked from commit c1a271c792)

Co-authored-by: Matt Clay <matt@mystile.com>
4 years ago
Matt Clay 5caa97962e [stable-2.12] Fix warning in unit tests for _yaml import.
(cherry picked from commit de9a3bda2c)

Co-authored-by: Matt Clay <matt@mystile.com>
4 years ago
Sloane Hertel 010b143743 [stable-2.12] Use --no-deps when installing amazon.aws and not testing dependencies (#77091)
(cherry picked from commit 88bfb7193e)

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
4 years ago
Matt Clay 2a1aabed33 Fix filter_mathstuff integration test. 4 years ago
Matt Clay 582d3b1488 [stable-2.12] ansible-test - Use quay.io containers in plugins.
(cherry picked from commit c27fd777f4)

Co-authored-by: Matt Clay <matt@mystile.com>
4 years ago
Brian Coca ce60a37683
ssh connection: use 'correct' host in all cases (#76017) (#76968)
ssh plugin, use 'correct' information source in all cases
  * still fallback to pc
  * added inventory to new test
  * undef var can still show as parser error on pc
    now task_exectuer has a  more accurate error handling

(cherry picked from commit be19863e44)
4 years ago
Matt Clay c3ee359726 ansible-test - No pyopenssl in sanity test venvs. 4 years ago
Brian Coca de9fb8087e
fix block var inheritance (#75287) (#76896)
* updated tests to conform to new block inheritance

Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com>
Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
(cherry picked from commit b1d6750e8b)
4 years ago
Matt Martz cd0ebed875
[stable-2.12] unarchive: fix non-english locales (#76542) (#76933)
* unarchive: fix non-english locales

For GNU Gettext, the LANGUAGE environment variable takes precedence over LANG or LC_ALL. On systems where LANGUAGE was set to a non-english locale, the output of the tar command therefore not understood and the module failed silently ("changed": false, but the archive was not extracted).

* add tests

* changelog
(cherry picked from commit 49e1cb9)

Co-authored-by: Jonathan Neuhauser <jonathan.hofinger@gmx.de>

Co-authored-by: Jonathan Neuhauser <jonathan.hofinger@gmx.de>
4 years ago
Brian Coca ae35fc04c3
Fix final fact delegation (#77008) (#77017)
* fix facts delegation loop overwrite

 partial revert of change to allow facts to be present in each loop iteration
 was not needed in final results as result processing alreayd had the disctiontion
 and ended up breaking the assumptions in the calling code.

 fixes #76676

(cherry picked from commit c9d3518d2f)
4 years ago
Matt Martz 613519d294
[stable-2.12] restore inadvertently deleted default for convert_data. Fixes #77004 (#77016) (#77021)
(cherry picked from commit 3779c1f)

Co-authored-by: Matt Martz <matt@sivel.net>
4 years ago
Matt Clay bd0756e113 [stable-2.12] ansible-test - Use newer pip to bootstrap FreeBSD.
(cherry picked from commit ef4c5cd61b)

Co-authored-by: Matt Clay <matt@mystile.com>
4 years ago
Matt Clay 88cf272df0 [stable-2.12] Fix package-data sanity test for newer setuptools.
(cherry picked from commit 3a662ef2c1)

Co-authored-by: Matt Clay <matt@mystile.com>
4 years ago
Matt Clay f574333395 [stable-2.12] ansible-test - Fix collection loader import. (#76986)
* ansible-test - Fix collection loader import.

Resolves https://github.com/ansible/ansible/issues/76960
(cherry picked from commit 0d40423f1c)

Co-authored-by: Matt Clay <matt@mystile.com>
4 years ago
Matt Clay a9814fb3fe [stable-2.12] ansible-test - Fix import test for collections.
(cherry picked from commit e56e47faa7)

Co-authored-by: Matt Clay <matt@mystile.com>
4 years ago
Matt Clay aa3747d116
[stable-2.12] ansible-test - Update alpine3 container to 3.3.0. (#76978)
This updates the base image from 3.14.2 to 3.15.0, which includes support for installing binary wheels using pip..
(cherry picked from commit e27b94c467)

Co-authored-by: Matt Clay <matt@mystile.com>
4 years ago
Matt Clay b5c49f1023 [stable-2.12] ansible-test - Update bootstrap URL to not use S3.
(cherry picked from commit 7e64c4fe55)

Co-authored-by: Matt Clay <matt@mystile.com>
4 years ago
Matt Clay 9e4a49ded8 [stable-2.12] ansible-test - Limit installed pyopenssl version.
(cherry picked from commit 995d7e4db3)

Co-authored-by: Matt Clay <matt@mystile.com>
4 years ago
Matt Clay 1ef0bc3fd6 [stable-2.12] ansible-test - Use relative paths in junit output. (#76871)
* ansible-test - Use relative paths in junit output.

Also fix a traceback in the junit callback during automatic fact gathering.

* ansible-test - Handle out-of-tree JUnit paths.
(cherry picked from commit fbb5d56bd2)

Co-authored-by: Matt Clay <mclay@redhat.com>
4 years ago
Matt Clay 5c208f0d71 [stable-2.12] ansible-test - Defer loading of completion entries. (#76852)
* ansible-test - Defer loading of completion entries.

This avoids a traceback when running ansible-test outside of a supported directory.
(cherry picked from commit e9ffcf3c85)

Co-authored-by: Matt Clay <mclay@redhat.com>
4 years ago
Matt Martz 3ded47c3d3
[stable-2.12] Attempt 2: Catch errors getting filters and tests (#76806). (#76809)
(cherry picked from commit 9f46f6eb30)

Co-authored-by: Matt Martz <matt@sivel.net>
4 years ago
Matt Martz 83d7716e02
[stable-2.12] Compare FQCN also in lockstep logic. Fixes #76782 (#76787) (#76791)
(cherry picked from commit 29bdb8b)

Co-authored-by: Matt Martz <matt@sivel.net>
4 years ago
Brian Coca a60b79d8e8
ssh connection avoid parsiing own debug (#76732) (#76755)
- Avoids false positives on become strings being echoed back
   by ssh cli itself
  - added test for debug lines
  - also simplified some of existing test code

(cherry picked from commit 0ff80a15ba)
4 years ago
Sloane Hertel ec8b1d267d
ansible-galaxy - fix the --ignore-certs flag for the implicit galaxy server (#76735) (#76738)
* ansible-galaxy - fix the --ignore-certs flag for the implicit galaxy server

* changelog

* Add a test without the server config

* Fix respecting --ignore-certs for individual --server URLs also

* Update changelogs/fragments/76735-ansible-galaxy-fix-ignore-certs.yaml

(cherry picked from commit 76220c4a7b)
4 years ago