* [stable-2.11] Use full python package for ansiballz cache filenames (#77090)
* 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>
* linting
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>
Installation of MarkupSafe 2.1.0 and later require setuptools 39.2 or later,
or a recent version of pip which supports installation using a wheel.
Some systems will not have new enough versions of pip and/or setuptools,
especially virtual environments -- including those created by ansible-test.
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)
* 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)
* [stable-2.11] ansible-test - Use relative paths in junit output. (#76871)
* ansible-test - Use relative paths in junit output.
* ansible-test - Handle out-of-tree JUnit paths.
* Also fix a traceback in the junit callback during automatic fact gathering.
(cherry picked from commit fbb5d56bd2)
* Fix task path unicode error in junit callback.
(cherry picked from commit 41db6d8d35)
* ssh connection avoid parsiing own debug (#76732)
- 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)
* unicoode
* dont make em ascii
* handle 'fun' control paths by quoting the option when passed to ssh cli
Co-authored-by: Matt Clay <matt@mystile.com>
(cherry picked from commit aa022dba2d)
When we introduced an include parameter to the unarchive module, we
inadvertenly flipped the exclusion logic. This flip meant that the
unarchive module started rejecting files that should be extracted.
This commit flips the bad logic and adds some tests that will make
sure things do not go bad again.
(cherry picked from commit f92830d16e)
* Disable the _distutils_hack in newer setuptools. Doesn't fix the underlying issue of the venv finding the _distutils_hack of a setuptools that is not its own.
ci_complete
* re-throw blanket
(cherry picked from commit fa617fcd7b)
* Skip recursive suboption validation if sub_parameters is not a dictionary
* Ensure sub parameter elements is a sequence to prevent iterating over string characters and causing duplicate error messages for the same param
(cherry picked from commit b5ed41edb3)
* Have tests use shortname in action_groups to uncover an issue
* Alias shortname from action_groups to FQCR of owning collection
* Add clog frag
* Don't overwrite
- Use `fallible==0.0.1a2` instead of `black==19.10b`
- Test on both Python 2 and 3.
(cherry picked from commit b6725ec6c9)
Co-authored-by: Matt Clay <matt@mystile.com>
Switch to a different repo that isn't giving 503 errors since GitHub hasn't fixed the issue yet..
(cherry picked from commit 319b50f04c)
Co-authored-by: Matt Clay <matt@mystile.com>
* Fix role with empty argument_specs.yml
* Use try/except and add changelog fragment
* Always return a dict
* Add test for empty argument_specs key
(cherry picked from commit 3e7a622204)
Co-authored-by: devon-mar <devon-mar@users.noreply.github.com>
* If an exception occurs when getting a collection's metadata, continue to the next in the server list.
* Warn for unknown exceptions when finding versions of a collection
* Test that an invalid server is no longer fatal if a subsequent server has the collection
* Fix server for verify tests - compare checksums against the server from which it was installed
* Add tests for verify and fix that code path to mirror install/download behavior for server errors
Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
(cherry picked from commit 469b559ebe)
* various fixes to command
- Updated splitter to allow for all expected args in ad-hoc
- Ensure we always return the returns we promissed to always return (i.e stderr/stdout)
- Updated docs to clarify creates/removes precdence in checking
- Removed abspath from chdir to allow reporting to handle symlinks correctly
- Corrected tests to new output messages
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit b3b1dde648)
* avoid getting delegated vars w/o inventory host
fixes#75512
In the case of imports, we don't have a host, so getting host vars for
the delegated host makes no sense and should be avoided.
* also avoid error on vars_files with per host vars
* test
* testing given case
* oops
(cherry picked from commit 91319c5cfc)
* Make individual dirs that should exist instead of using shutil.copytree
* Test build_ignore when installing collections in git repos
* changelog
* Fix assertion
Fix git directory
* Fix nested content while building the collection dir
Test installing a collection from a git repo and artifact have the same result
Refactor to use variables
(cherry picked from commit f38a97cece)
* Improve ansible-galaxy error for InconsistentCandidate exception (#75235)
* Improve error for InconsistentCandidate exceptions
* Add test case for installing a collection with an inconsistent version
* Add test case for installing a collection that has a dependency with an inconsistent version
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
Co-authored-by: Sviatoslav Sydorenko <webknjaz@redhat.com>
(cherry picked from commit e24eb59de5)
* Handle extra stderr for Python 2.7
* ignore attributes in output
* ignore 'attributes' for json dump
* actually add file
* clog
* sometimtes its not a dict
* always ignore
* also allow validation to work on newer modules
* remove attributes doc
let existing overrides display, wont be full info but still pertinent info
though user will have to check newer versions
* Fix a bug with the dnf module not using all components of a package name when filtering to determine if it's installed
* changelog
* Simplify splitting on the last '.'
* Update lib/ansible/modules/dnf.py
(cherry picked from commit b541a148d5)
mostly for use with network_os
use 'remote is local' property as indicator
ensure task_vars are as expected in test
(cherry picked from commit 8d41b97329)
Test for the required binaries in the can_handle_archive() method and fail there. This
prevents failures for missing binaries unrelated to the archive type.
* Update missing zip binary message to match tar message
* Update unit tests
* Add integration tests
* Define packages based on the system rather than ignoring failures
(cherry picked from commit 004c33d9c5)
Co-authored-by: Sam Doran <sdoran@redhat.com>
* Improve handling of AnsibleModule arguments in validate-modules (#75332)
* Make sure AnsibleModule positional arguments are validated.
* Extract ANSIBLE_MODULE_CONSTURCTOR_ARGS with inspection.
* Remove no longer necessary return value.
* Fix PR #.
* argument_spec might not have been specified, as in community.general.xenserver_facts.
* Fix typo.
(cherry picked from commit 7726b70d9a)
* Make sure self doesn't end up in fake.args (#75403)
(cherry picked from commit 2455d82c14)
Co-authored-by: Matt Martz <matt@sivel.net>
* Fix when evaluation on Native Jinja and Python 3.10
* Add unit test
* Add explaining comment
* Enable jinja2_native before tests
Co-Authored-By: Matt Martz <matt@sivel.net>
* Sanity
* Return native template module instead of modifying globals
Co-authored-by: Matt Martz <matt@sivel.net>
(cherry picked from commit 58e38044fe)
* Add packaging to requirement of ansible-test
Fix#75353
After requires_ansible field was added as mandatory to runtime.yml
file, ansible-test fails to check this field if it doesn't have
packaging module.
[1] https://github.com/ansible/galaxy-importer/pull/124
(cherry picked from commit 40ca87a963)
Co-authored-by: Sergey <sshnaidm@users.noreply.github.com>