Commit Graph

2231 Commits (d6fb42d1c5f5ffc9d16a9c227705541fab6f59c8)

Author SHA1 Message Date
David Shrewsbury ff47d3f766
Make sure collection is a list if a str is given (#69081)
* Make sure collection is a list if a str is given

* Call field validation early on collections

Because we are doing work on modifying the collections value before
it is actually validated, we can validate it ourselves early to make
sure the user supplies either a string or list. Dicts are not valid.

The new validation allows us to simplify the _ensure_default_collection()
function. And since the field is now static, we no longer need to specify
a default for it, which also allows us to simplify the function. Since
the default is now removed, we can also remove the sanity/ignore.txt entry
for collectionsearch.py.

New unit tests are added (and the existing one modified) that allow us to
make sure that we throw a parser error if a user specifies something other
than a string or list for the collections value everywhere it can be specified.

* Revert removing the collection default

The default is actually used, so restore it.

* Fix unit tests in test_helpers.py affected by early collection validation
5 years ago
Alexandre Chouinard 91bb5af688
Update ansible-galaxy to handle role requirements (#68288)
* Update galaxy role object to handle requirements

Co-Authored-By: Sandra McCann <samccann@redhat.com>
5 years ago
Chris Holland d42151e676
Removed redundant conditional in paramiko_ssh.py (#69164)
* Removed redundant conditional

* Added changelog fragment

* Removed trailing whitespace
5 years ago
Chris Holland 339c442250
Added missing parameter (#69160)
The call to daemonize() in sysvinit.py was missing the module parameter included in the function definition in service.py.

This pull request simply adds that parameter, as the module is used for error handling in daemonize().
5 years ago
Matt Clay a050d892d8 Remove obsolete vcenter setup from ansible-test. 5 years ago
Chih-Hsuan Yen bd4fdb1ca2
service_facts: fix for systemd 245 (#68211)
* service_facts: fix for systemd 245

Since systemd 245, `systemctl list-unit-files` comes with a new column
"VENDOR PRESET" [1] and breaks the service_facts module:

$ ansible localhost -m service_facts
localhost | FAILED! => {
    "changed": false,
    "msg": "Malformed output discovered from systemd list-unit-files: auditd.service                             disabled        disabled     "
}

This patch drops the third column to make it work with old and new
systemd. With the new slice operation, IndexError instead of ValueError
is raised if the output contains less than 2 columns.

Test plan: running `ansible-test integration -v service_facts` on
up-to-date Arch Linux

[1] https://github.com/systemd/systemd/pull/14445

* add changelog

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

Co-authored-by: Rick Elrod <rick@elrod.me>
5 years ago
Matt Clay d7da1d9bd0 Fix ansible-test coverage constraints. 5 years ago
Abhijeet Kasurde 572fe9e480
Adjust Openstack Inventory script path (#69058) 5 years ago
Abhijeet Kasurde fce66b9707
Openstack inventory script moved to openstack.cloud (#68908)
Openstack dynamic inventory script is moved from community.general to
openstack.cloud, adjust the bot meta accordingly.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
5 years ago
Sylvia van Os 3f47610d94
Don't crash ansible-vault create when no arguments (#68667)
* Don't crash ansible-vault create when no arguments

* Add changelog entry
5 years ago
Jesse Pretorius (odyssey4me) da390b297e [pip] Enable virtualenv_command to have arguments
Currently if virtualenv_command has arguments, then the
search for the binary in the path does not work so the
user has to specify the full path to it.

To allow arguments to be used without having to specify
the path to the binary, we split the module argument into
the command and anything after the first space.

This makes using this module argument more flexible and
user friendly.

Fixes: #52275
5 years ago
Matt Martz f27c417fc4
Use Templar for galaxy skeletons (#69106)
* Use Templar for galaxy skeletons. Fixes #69104

* Update checksum, our templar doesn't remove trailing newline, jinja2 seems to remove it
5 years ago
Adam Miller 8b30360ca9
fixed handling of releasever for all known scenarios (#69057)
Signed-off-by: Adam Miller <admiller@redhat.com>
5 years ago
Rick Elrod cace616aab
Filter BLACKLIST_EXTS in PluginLoader (#69029)
Change:
Rather than hardcoding .pyo and .pyc, filter on all BLACKLIST_EXTS in
the non-legacy logic of PluginLoader (_find_fq_plugin). The two harcoded
extensions are part of BLACKLIST_EXTS already and this simply adds the
rest of the blacklisted extensions to the check.

In addition, check .endswith() instead of an exact match of the suffix,
like everywhere else that uses BLACKLIST_EXTS. This allows for
blacklisting, for example, emacs's backup files which can appear after
any extension, leading to things like `foo.py~`.

Test Plan:
Ran `ansible-playbook` against a collection where a `foo.py~` module was
getting executed instead of `foo.py` which also appeared in the same
directory. `foo.py~` is no longer executed.

Tickets:
Fixes #22268
Refs #27235

Signed-off-by: Rick Elrod <rick@elrod.me>
5 years ago
Matt Martz da98fc267a
Allow a collection role to call a standalone role by default (#69102)
* Allow a collection role to call a standalone role by default. Fixes #69101

* tweaked changelog text

* Guard against NoneType

Co-authored-by: Matt Davis <nitzmahone@users.noreply.github.com>
5 years ago
rwagnergit 977b58740b
update ActionBase._low_level_execute_command to honor executable (#68315)
* update ActionBase._low_level_execute_command to honor executable

* adding changelog fragment

* renaming changelog fragment to .yml

* noop change to bump shippable

* adding raw_executable integration test

* copying aliases from raw

* removing blank lines

* skipping aix and freebsd

* noop to bump shippable

* moving tests to raw/

* removing become_method: sudo ; it doesn't work on AIX

* removing trailing blank line

* forcing become_method: su to try to get AIX to work

Co-authored-by: Rob Wagner <rob.wagner@sas.com>
5 years ago
Rick Elrod 2a90e9b615 Fix incorrect CVE reference in changelog fragment
Change:
This corrects an incorrect CVE identifier in the changelog entry for
CVE-2020-1735.

Test Plan:
N/A

Tickets:
Refs #67793, #68720

Signed-off-by: Rick Elrod <rick@elrod.me>
5 years ago
David Shrewsbury af44bd4ddd
Fix --start-at-task when skipping tasks with no name (#68951)
Using --start-at-task on a playbook with tasks with no name would fail
if those unnamed tasks were encountered before the targetted start task.
5 years ago
Martin Krizek cb389f6c31
Prevent rewriting nested Block's data in filter_tagged_tasks (#68337)
This patch fixes the issue where nested Block copies were created from
incorrect Block object. This resulted in nested Blocks data like ``name``
or ``_uuid`` to contain values from the Block the filter_tagged_tasks
method was called on.
5 years ago
Matt Clay 122743ae30
Update ansible-test handling of delegation paths. (#69056) 5 years ago
Brian Coca d3cab602a5
Fix fileglob when using 'file*' vs 'stuff/file*' (#68945)
* Fix fileglob when using 'file*' vs 'stuff/file*'

 when not having dir in glob, files/ subdir was being ignored.

* tests for fileglob
5 years ago
Abhijeet Kasurde 3591451bc7
include_role: Strictly check string datatype for *_from (#68958)
Strictly check string datatype for 'tasks_from', 'vars_from',
'defaults_from', and 'handlers_from' in include_role

Fixes: #68515

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
5 years ago
Brian Coca ac509d489b
Revert "stricter permissions on atomic_move when creating new file (#68970)" (#68983)
This reverts commit 566f2467f6.
5 years ago
Brian Coca 566f2467f6
stricter permissions on atomic_move when creating new file (#68970)
fixes #67794
  updated some tests that expected previous defaults
  CVE-2020-1736
5 years ago
Jordan Borean de6b047fc3
Add variable for DEFAULT_NO_TARGET_SYSLOG (#68971)
* Add variable for DEFAULT_NO_TARGET_SYSLOG

* Added version_added to new var
5 years ago
Jordan Borean 702949e64c
windows - fix up env var quoting for unicode single quotes (#68968)
* windows - fix up env var quoting for unicode single quotes

* Add sanity ignore check for smart quotes
5 years ago
Yanis Guenane 46d82179d8
Testing: Add support for CentOS Linux On Power platform (#68130)
* Testing: Add CentOS Linux On Power platform

* Add arch designation to remotes.

This avoids overloading the provider with the arch.

Also add a changelog entry.

Co-authored-by: Matt Clay <matt@mystile.com>
5 years ago
Abhijeet Kasurde 6493a190f6
docs: Update inventory script paths (#68905)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
5 years ago
Sam Doran cdb24e0078
ansible-galaxy - fix listing specific role and role description (#67409)
* ansible-galaxy - fix listing specific role

If the role was not in the first search path, it was reported as not found

* Properly display role description

Default to description to top level description, falling back to the description from within galaxy_info

* Display proper message when a role does not exist

* Add integration tests

* Use context manager

* BSD and macOS ruining all the fun
5 years ago
Martin Krizek ff1ba39c8a
Prevent templating unused variables for {%include%} (#68749)
Fixes #68699
5 years ago
Mads Jensen eaf648e600
Use context manager in yum module. (#65376) 5 years ago
Brian Coca 8077d8e401
avoid mkdir -p (#68921)
* also consolidated temp dir name generation, added pid for more 'uniqness'
* generalize error message
* added notes about remote expansion

CVE-2020-1733
fixes #67791
5 years ago
David Shrewsbury 18a66e291d
Force collections to be static (#68723)
* Force collections to be static

Templating of collection names does not work at all. Force them to
be static so that a warning is generated for the user.

* Add collectionsearch unit test and fix for reviews

New unit test validates the new _load_collections() code and moves
the new check to the end of the method.

* Change unit test to pytest

* Adjust unit test to use capsys instead of monkeypatch

* Fix pep8 error

* Add changelog fragment

Closes #68704
5 years ago
Sloane Hertel d91658ec0c
subversion module - provide password securely when possible or warn (#67829)
* subversion module - provide password securely with svn command line option --password-from-stdin when possible, and provide a warning otherwise.
* Update lib/ansible/modules/source_control/subversion.py.
* Add a test.

Co-authored-by: Sam Doran <sdoran@redhat.com>
5 years ago
Zhanwei Wang 1097694355
get_url pass incorrect If-Modified-Since header(#67417) (#67419)
Fix #67417. HTTP header value of `If-Modified-Since` set by `get_url` does not follow HTTP protocol.
5 years ago
Matt Clay a095172130 Fix ansible-test --docker without tests dir. 5 years ago
Matt Martz d86d20a378
Fix label lookup in the default callback for includes (#68822)
* Replace included_file._args w/ included_file._vars

* Fix item value in output of include_tasks loop

Signed-off-by: Yadnyawalk Tale <ytale@redhat.com>

* Update tests for loop callback fix. Add changelog

Co-authored-by: Yadnyawalk Tale <ytale@redhat.com>

Fixes #65904
Fixes #66018
5 years ago
Abhijeet Kasurde 0f8937f2ed
basic: Update required library message (#68657)
Updated missing_required_lib API message.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
5 years ago
Felix Fontein bae5f18f5c
ansible-test: don't trigger full CI run for changes to changelogs/ and docs/ in collections (#68550)
* Don't trigger full CI run for changes to changelogs/ and docs/ in collections.

* Add changelog fragment.

* Update changelogs/fragments/68550-ansible-test-docs-changelogs.yml

Co-Authored-By: Matt Clay <matt@mystile.com>

Co-authored-by: Matt Clay <matt@mystile.com>
5 years ago
Rick Elrod 38b7ceb75a
Update docker.txt to use the OpenSUSE 15.1 container image (devel edition) (#68785)
* Update docker.txt to use the OpenSUSE 15.1 container image

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

* handle installing mysql on suse

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

* add changelog fragment

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

* Update changelogs/fragments/ansible-test-opensuse-15.1.yml

Co-Authored-By: Matt Clay <matt@mystile.com>

Co-authored-by: Matt Clay <matt@mystile.com>
5 years ago
Matt Clay 04edd77c42
Update tests to use RHEL 7.8. (#68787)
* Update tests to use RHEL 7.8.

Keeping support for RHEL 7.6 since collections are still using it.

* Fix tests for RHEL 7.7+ due to extras repo name change.
5 years ago
Chris Holland c9c1146cc8
dnf: remove un-needed function (#68482) 5 years ago
Brian Coca ba87c225cd
fixed fetch traversal from slurp (#68720)
* fixed fetch traversal from slurp

  * ignore slurp result for dest
  * fixed naming when source is relative
  * fixed bug in local connection plugin
  * added tests with fake slurp
  * moved existing role tests into runme.sh
  * normalized on action excepts
  * moved dest transform down to when needed
  * added is_subpath check
  * fixed bug in local connection

fixes #67793

CVE-2019-3828
5 years ago
Matt Martz 087be1da50
Allow tasks to notify a fqcn handler name (#68213)
* Allow tasks to notify a fqcn handler name

* Add tests. Fixes #68181

* Add changelog fragment

* Add test to ensure handlers are deduped properly with fqcn, role, and just handler names

* Add some docs about new special vars
5 years ago
Toshio Kuratomi 4f8e98d322 Update changelogs/fragments/allow-fail-json-msg-to-be-positional.yaml
Co-Authored-By: Matt Martz <matt@sivel.net>
5 years ago
Toshio Kuratomi e0e7713fd8 Fix yaml in changelog 5 years ago
Toshio Kuratomi 6531ba38f8 Allow the msg argument to fail_json() to be a positional argument
fial_json() requires a message be given to it to inform the end user of
why the module failed.  Prior to this commit, the message had to be a
keyword argument:

    module.fail_json(msg='Failed due to error')

Since this is a required parameter, this commit allows the message to be
given as a positional argument instead:

   module.fail_json('Failed due to an error')
5 years ago
Matt Clay 148e83f832
Fix ansible-test submodule handling. (#68759)
* Refactor ansible-test integration test.
* Add env --list-files option.
* Add tests for collection files tracked by git.
* Fix ansible-test submodule usage on older git.
* Fix submodule directory detection as files.
* Improve handling of nested source control.
5 years ago
Rick Elrod 13aef3c2e5
Add --docker-terminate flag to ansible-test (#68688)
* Add --docker-terminate flag to ansible-test

Signed-off-by: Rick Elrod <rick@elrod.me>
5 years ago
Rick Elrod 4916be24fd
[git] make force=True apply to git fetches (#68691)
Fixes #67972

Signed-off-by: Rick Elrod <rick@elrod.me>
5 years ago
Matt Martz 123c624b28
Always set the discovered interpreter on the delegated host (#64906)
* Always set the discovered interpreter on the delegated host. Fixes #63180

* Make code a little more generic

* Move code into a function

* Implement some changes based on reviews

* Add changelog fragment
5 years ago
Rick Elrod 82c60db49b
pip - Fix check_mode for prerelease packages (#68690)
* pip - Fix check_mode for prerelease packages

Fixes #68592.

Signed-off-by: Rick Elrod <rick@elrod.me>
Co-authored-by: Matt Martz <matt@sivel.net>
5 years ago
Brian Coca 28f9fbdb5e
safely use vault to edit secrets (#68644)
* when possible, use filedescriptors from mkstemp to avoid race
  * when using path strings, ensure we are always creating the file

CVE-2020-1740
Fixes #67798

Co-authored-by: samdoran
5 years ago
Jordan Borean ae1cd27b57
WebRequest - Fix use_proxy: no on module options (#68603)
* WebRequest - Fix use_proxy: no on module options

* Fix up changelog fragment
5 years ago
Matt Martz f5178f9705
Reap collections changelog fragments - 5 (#68618)
* Reap collections changelog fragments - 5

* One more
5 years ago
Jordan Borean 6db66bcadd
Add relative module_util support for powershell (#68321)
* Add relative module_util support for powershell

* Added ansible-test classification support
5 years ago
Jordan Borean a20a527014
ansible-galaxy - Fix tar path traversal issue during install - CVE-2020-10691 (#68596) 5 years ago
Andre Lehmann a3d6b6bc48
Add pacman support to package_facts (#66596)
* Add pacman support
5 years ago
Matt Martz d8d7a30ea6
Reap collections changelog fragments - 4 (#68570)
* Reap collections changelog fragments - 4

* Reap collections changelog fragments - 4
5 years ago
Matt Martz 2c294d0cbf
Reap collections changelog fragments - 3 (#68567) 5 years ago
Matt Martz af27d1a5ad
Reap collections changelog fragments - 2 (#68565) 5 years ago
Matt Martz 5c7746e521
Remove changelog entries related to content that has migrated to collections (#68498)
* Reap changelog fragments

* remove changelogs/fragments/60510-k8s-apply-check-mode.yml

* Reap more

* Reap a few more
5 years ago
Matt Clay 735885d57c Fix ansible-test requirements installation. 5 years ago
Matt Clay c888035e02
Update Ubuntu 18.04 test container to 1.13. (#68534) 5 years ago
Brian Coca 1570098e86
fallback to uid when no uname (#68466)
* fallback to uid when no uname

 fixes #68007

Co-Authored-By: Matt Clay <matt@mystile.com>
5 years ago
Rick Elrod 835ad75a0a
add test coverage for core filters (#68518)
Also remove now-useless exception handling.
5 years ago
Graham Mainwaring 2068131589
Fix colorization to not extend across newline boundary (#68517)
* Fix colorization to not extend across newline boundary

* Fix unit test to look for the newline outside the coloration

* Add changelog fragment
5 years ago
Matt Clay 53a3d1ffdb Fix ansible-test change detection traceback. 5 years ago
Matt Clay d8b5c11a63 Report error for coverage 5+ in ansible-test. 5 years ago
Matt Clay 27fc049993
Fix ansible-test code coverage collection. (#68502)
The last task in a play should now properly report code coverage.

This change should also eliminate empty coverage files, as well as incomplete coverage files resulting from early worker termination.
5 years ago
Rick Elrod 3c3ffc09c2
Fix and add tests for some module_utils.common.validation (#67771)
* Fix test_check_mutually_exclusive exception-checking

Asserting inside of the `with` context of `pytest.raises`
doesn't actually have any effect. So we move the assert
out, using the exception that gets placed into the scope
after we leave the context, and ensure that it actually gets
checked.

This is also what the pytest documentation says to do:
https://docs.pytest.org/en/latest/assert.html#assertions-about-expected-exceptions

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

* Add some tests for check_required_together

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

* use to_native instead of str, for consistency

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

* Add newlines for pep8

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

* Add tests for check_required_arguments

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

* Sort missing keys in error message, since hashes are unsorted and this can be random

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

* Add changelog entry

Signed-off-by: Rick Elrod <rick@elrod.me>
5 years ago
Brian Coca 6452a82452
fix vault temp file handling (#68433)
* fix vault tmpe file handling

 * use local temp dir instead of system temp
 * ensure each worker clears dataloader temp files
 * added test for dangling temp files
 * added notes to data loader

CVE-2020-10685
5 years ago
Jordan Borean e12cea2c7c
ansible-test - fix up powershell module_util analysis for collections (#68422) 5 years ago
Jordan Borean a2deeb8fa2
ansible-galaxy - add download option (#67632)
* ansible-galaxy - add download option

* Fix sanity issues and added integration tests

* Fix doc suggestions

* Added --pre option
5 years ago
Jordan Borean 127d54b363
galaxy - preserve mode properly on artifact (#68418)
* galaxy - preserve mode properly on artifact

* Fix py2 encoding issue

* Update lib/ansible/galaxy/collection.py

Co-Authored-By: Matt Clay <matt@mystile.com>

* Use sane defaults instead of sourcing from tarfile

Co-authored-by: Matt Clay <matt@mystile.com>
5 years ago
Brian Coca a9d2ceafe4
prevent ansible_facts injection (#68431)
- also only replace when needed
 - switched from replace to index
 - added test to verify bogus_facts are not accepted

CVE-2020-10684
5 years ago
Martin Krizek 550e021cd2
ansible_native_concat: use to_text rather than jinja2's text_type (#68038)
jinja2._compat.text_type has been removed in jinja2's master branch so
use ansible's to_text instead.
5 years ago
Matt Martz 8d8c73729f
Merge pull request #67093 from sivel/acd-content-dir
Add content dir where Ansible will look for the content provided by ACD
5 years ago
Rick Elrod dbd8d0a492
Pull timezone's incidental file coverage into file tests (#68247)
* Remove some unreachable code in the file module

Remove some cases in file.py which are covered by conditionals a few
lines earlier. Remove the duplicate code which will never be hit.

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

* Restore incidental file coverage from timezone module

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

* Combine two conditionals, add a changelog entry

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

* Make new test syntax consistent, add two stat tests

Signed-off-by: Rick Elrod <rick@elrod.me>
5 years ago
Matt Martz d3ec31f8d5
Support pre-releases via new SemanticVersion (#68258)
* Support pre-releases via new SemanticVersion. Fixes #64905

* Don't treat buildmeta as prerelease

* Don't inherit from str and int

* Add helper method to try and construct a SemanticVersion from a LooseVersion

* Don't count major 0 as pre-release, it's different

* Guard against invalid or no version in LooseVersion

* return a bool

* Add integration tests for pre-release

* Fix up lingering issues with comparisons

* typo fix

* Always allow pre-releases in verify

* Move pre-release filtering into CollectionRequirement, add messaging when a collection only contains pre-releases

* Update changelog

* If explicit requirement allow pre releases

* Enable pre-releases for tar installs, and collections already installed when they are pre-releases

* Drop --pre-release alias, make arg name more clear

* Simplify code into a single line

* Remove build metadata precedence, add some comments, and is_stable helper

* Improve from_loose_version

* Increase test coverage

* linting fix

* Update changelog
5 years ago
Matt Davis ed9de94ad9
remove azure extras and extras_require support (#67822)
* remove azure extras and extras_require support

* Since Azure will be collectionized, the requirements will float more frequently than Ansible releases; the Azure collection needs to host the requirements now.
* Removed the dynamic extras support as well, since Azure was the only thing using it. If we need it again, it's easy to pull back from history.

* Mark azure-requirements as orhpaned.

This keeps the docs around so that existing links from old test runs remain valid.

Co-authored-by: Matt Clay <matt@mystile.com>
5 years ago
Matt Clay f1b3e8364e Fix ansible-test PATH handling. 5 years ago
Matt Martz ee6413af47
Address fixme and handle filter/test errors for collections better (#68047)
* Address fixme and handle fitler/test errors for collections better. Fixes #66721

* Re-arrange code
5 years ago
Jordan Borean 7c9889a72b validate-modules - fix ps module delegate type inspection 5 years ago
Matt Clay 10fe54de58 Fix ansible-test module_utils import analysis.
Now empty `*.py` files are ignored during module_utils import analysis for change detection.
This eliminates "No imports found" warnings for files which should have no imports.
5 years ago
Matt Clay cf75e3f526 Fix ansible-test import analysis for collections. (#68352)
* Fix ansible-test import analysis for collections.

* Ignore plugins/module_utils/__init__.py
5 years ago
Matt Clay 6fde9b3a23 Fix shebang sanity test module identification. 5 years ago
Matt Clay 2c7f8bf586 Fix ansible-test windows-integration module refs. 5 years ago
Matt Martz 26da443fd2 Address compat issue for collection loading on py26 (#68219)
* Address compat issue for collection loading on py26

* Move import_module shim to utils for compat across the codebase

* Enable collection tests on py2.6

* Update changelog fragment

* Simplify code using sys.moduls

* Move compat to module_utils/compat/importlib

* Add back errantly deleted newline

* Remove hack comment

Co-Authored-By: Matt Clay <matt@mystile.com>

Co-authored-by: Matt Clay <matt@mystile.com>
5 years ago
Matt Clay 41f6c73be0 Update ansible-test network test provisioning. (#68220)
* Update network provisioning defaults.

* Update network test requirements.
5 years ago
Matt Clay 8715bc400a Add coverage filtering to ansible-test. (#68158)
* Relocate expand_indexes so it can be reused.

* Add generate_indexes function.

* Simplify type annotations.

* Add `coverage analyze targets filter` command.

* Add changelog entry.
5 years ago
Matt Clay 50442f9fdd Fix ansible-test handling of no Python coverage. 5 years ago
Matt Clay 99e136e153 Remove out-of-date test constraint on paramiko.
ci_complete
5 years ago
Matt Clay 1a8fdaadc7 Fix powershell coverage path rewriting.
This applies the same rewrite logic to PowerShell coverage as is used for Python coverage.
5 years ago
Matt Clay ebb255f0d3 Add Python 3.9 to ansible-test.
ci_complete
ci_coverage
5 years ago
Shachaf92 2e38f80f9e
win_timezone - Allow for _dstoff timezones (#67892)
* win_timezone - Allow for _dstoff timezones

* Update win_timezone-Allow-dstoff.yml

* Added doc entry for new format

Co-authored-by: Jordan Borean <jborean93@gmail.com>
5 years ago
Matt Clay 64a2864158 Fix ansible-test constraints for AWS. 5 years ago
Matt Clay c06f442409 Fix ansible-test import sanity test venv setup. 5 years ago
gp 44d8ce9b31
Remove redundant check for pyopenssl (#67901) 5 years ago
Matt Clay 99e657162f Fix ansible-test module_utils analysis. 5 years ago
Julien PRIGENT fbcef7e586
cloudwatchlogs_log_group.py: retention handling improvement (#48004)
* cloudwatchlogs_log_group.py: retention handling improvement

* add purge_retention_policy to cloudwatchlogs_log_group.py

* update version added for purge_retention_policy feature

* make retention and purge_retention_policy mutually exclusive

* make purge_retention_policy and overwrite mutually exclusive

* changelog

Co-authored-by: Sloane Hertel <shertel@redhat.com>
Co-authored-by: Mark Chappell <mchappel@redhat.com>
5 years ago
Jordan Borean 26129fcb80
ansible-galaxy - optimise some paths and use fake galaxy int tests (#67685)
* ansible-galaxy - optimise some paths and use fake galaxy int tests

* Added init, built, and publish tests

* Test against both mocked Galaxy and AH server

* Finish off writing the install tests

* Fix up broken tests

* Rename test target and add migrated tests

* Use cloud provider for Galaxy implementation

* Added blank static config

* Use correct alias group

* Set release version and fix copy typo

* Remove reset step as it is no longer needed

* Use sane env var names for test container name
5 years ago
Sam Doran d30c57ab22
win_unzip - normalize and compare paths to prevent path traversal (#67799)
* Actually inspect the paths and prevent escape
* Add integration tests
* Generate zip files for use in integration test
* Adjust error message
5 years ago
Markus Bergholz 8ab304af44
implement support for hidden/protected variables gitlab_project_variable (#67461)
* #66135 implement support for hidden/protected variables

* Update lib/ansible/modules/source_control/gitlab/gitlab_project_variable.py

Co-Authored-By: Abhijeet Kasurde <akasurde@redhat.com>

* Update lib/ansible/modules/source_control/gitlab/gitlab_project_variable.py

Co-Authored-By: Abhijeet Kasurde <akasurde@redhat.com>

* Update lib/ansible/modules/source_control/gitlab/gitlab_project_variable.py

Co-Authored-By: Abhijeet Kasurde <akasurde@redhat.com>

* Update lib/ansible/modules/source_control/gitlab/gitlab_project_variable.py

Co-Authored-By: Abhijeet Kasurde <akasurde@redhat.com>

* Update lib/ansible/modules/source_control/gitlab/gitlab_project_variable.py

Co-Authored-By: Abhijeet Kasurde <akasurde@redhat.com>

* update example value

* fix pep

* fix pep8

* fix tailing whitespace

* Update lib/ansible/modules/source_control/gitlab/gitlab_project_variable.py

Co-Authored-By: Felix Fontein <felix@fontein.de>

* Update lib/ansible/modules/source_control/gitlab/gitlab_project_variable.py

Co-Authored-By: Felix Fontein <felix@fontein.de>

* Update lib/ansible/modules/source_control/gitlab/gitlab_project_variable.py

Co-Authored-By: Felix Fontein <felix@fontein.de>

* Update lib/ansible/modules/source_control/gitlab/gitlab_project_variable.py

Co-Authored-By: Felix Fontein <felix@fontein.de>

* Update test/integration/targets/gitlab_project_variable/tasks/main.yml

Co-Authored-By: Felix Fontein <felix@fontein.de>

* Update lib/ansible/modules/source_control/gitlab/gitlab_project_variable.py

Co-Authored-By: Felix Fontein <felix@fontein.de>

* fix recommendations and request changes

* Update lib/ansible/modules/source_control/gitlab/gitlab_project_variable.py

Co-Authored-By: Felix Fontein <felix@fontein.de>

* Update lib/ansible/modules/source_control/gitlab/gitlab_project_variable.py

Co-Authored-By: Felix Fontein <felix@fontein.de>

* Update test/integration/targets/gitlab_project_variable/tasks/main.yml

Co-Authored-By: Felix Fontein <felix@fontein.de>

* fix undefine module

* add missing import

* expand documentation

* add idempotent check

* add changelog

* Update changelogs/fragments/67461-gitlab-project-variable-masked-protected.yml

Co-Authored-By: Felix Fontein <felix@fontein.de>

* Update lib/ansible/modules/source_control/gitlab/gitlab_project_variable.py

Co-Authored-By: Felix Fontein <felix@fontein.de>

* Update lib/ansible/modules/source_control/gitlab/gitlab_project_variable.py

Co-Authored-By: Felix Fontein <felix@fontein.de>

* Update lib/ansible/modules/source_control/gitlab/gitlab_project_variable.py

Co-Authored-By: Felix Fontein <felix@fontein.de>

* check also for integer_types

* expand integration test and check also for float type

* append documentation

* Update lib/ansible/modules/source_control/gitlab/gitlab_project_variable.py

Co-Authored-By: Felix Fontein <felix@fontein.de>

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
5 years ago
Ruheena Ansari e0eee3c37e
Run Powershell modules on windows container via docker connection (#67832)
* Run modules on windows container

This provides an ability to run Powershell modules on windows container via docker connection. Otherwise, Ansible tries to run python modules on windows containers and fails.

* Removing whitespace in the blank lines

* Adding a changelog fragment
5 years ago
nemethloci a76d78f691
Fixed incorrect request body when creating VM snapshot with disks (#67815)
* Fixed incorrect request body when creating VM snapshot with disks

* fixed changlog file extension
5 years ago
Dainius Sakalinskas 735ea43aeb
hostname Add cloudlinuxserver value to hostname.py (#66911) 5 years ago
narimantos 554676da5e
git - use remote_tmp directory (#66762)
* fix:git module ignores remote_tmp

* WIP: added the changelog fragment and edit comment

* Revert "WIP: added the changelog fragment and edit comment"

This reverts commit 2f739df619.

* WIP: added changelog fragments

* WIP: added changelog fragment

* WIP: fixed spelling in changelog fragment
5 years ago
Mark Chappell da30e6d2e1
sqs_queue - Move to boto3 and add support for various extra features (#66795)
* reworked sqs_queue

* Switch default purge_tags behaviour to false.

This matches the behaviour of ec2_tag and ecs_tag.

* Minor lint / review fixups

* Add missing AWS IAM policy for SQS tests

* Move integration tests to using module_defaults: group/aws:...

* add changelog

* Break out the 'compatability' map from our spec definition (gets flagged by the schema validation)

* Tweaks based on review

* add basic examples

* Lint fixups

* Switch out NonExistentQueue logic so it's easier to follow

* Reorder name argument options for consistency

Co-authored-by: Dennis Podkovyrin <dennis.podkovyrin@gmail.com>
5 years ago
Stefan Horning 652346ad5d
Allow passing through of (almost) all params available … (#58118)
* Allow passing through of (almost) all params available on boto methods in aws_api_gateway

* Linting and docs fixes

* Refactored method signature of create_deployment() to use keyword args instead of named args

* Updated version_added flags to 2.10

* Cleanup and improve aws_api__gateway integration test play. Also included new params into test.

* Fixed RETURN docs and some ttests

* Completed RETURN docs and made integration tests match

* Fixed variable names in test and YAML syntax in docs

* Comment out critical sections of integration test

* Fixed update test after figuring out what the error message means. Also updated error message to be more descriptive.

* Fixed test assertion

* Update docs and make tests reflect that endpoint type wont be changed on updates

* Syntax fix

* Add changelog fragment

* Improve aws_api_gateway docs, fix typos.

* Quote doc lines with colon
5 years ago
Andrew Klychkov a81ab5fe40
mysql_db: add possibility to make dump with --no-create-db option (#67767)
* mysql_db: add possibility to make dump with --no-create-db option

* add changelog fragment

* fix
5 years ago
Markus Bergholz 9463d28967
read enabled_key_rotation status also in aws_kms_info (#67770)
* read enabled_key_rotation status

* add changelog

* use AWSRetry decorator to prevent api rate limits

* fix pip8
5 years ago
sky-joker 454b043c13 Reflect changed JSON structure than zabbix version 4.4 or more to zabbix_user
add fragments file

Fix several pointed out

https://github.com/ansible/ansible/pull/67475#discussion_r380528775
https://github.com/ansible/ansible/pull/67475#discussion_r380532685

Enable integration test
5 years ago
sky-joker 829a29ef18
Fix to be support for zabbix 4.4 or more and python3 (#67693)
add fragments file
5 years ago
Matt Martz 6e1a59174a
Clean up CONDITIONAL_BARE_VARS warning. Fixes #67735 (#67751) 5 years ago
flowerysong 370f788731
adhoc: Load callbacks before sending v2_playbook_on_start (#67673) 5 years ago
Mark Chappell 9d455bed7b
aws_acm Add additional AWSRetry error codes (#67671)
* Cleanup tests

* Auto-Retry on ResourceNotFound and RequestInProgress exceptions

* Use AnsibleModule options for required_if logic

* changelog

* Remove (now) duplicate RequestInProgressException catching

* Allow a single retry when attempting to fetch the information about a cert directly after deleting it.

There is a small chance that it goes away while we pull the details.
5 years ago
Markus Bergholz 99f6f0c832
add key rotation option to aws_kms (#67651)
* add key rotation option

* add changelog fragment

* provide version added as string

* change changelog to minor_changes

* Update changelogs/fragments/67651-aws-kms-key-rotation.yml

Co-Authored-By: Mark Chappell <mchappel@redhat.com>

* Update lib/ansible/modules/cloud/amazon/aws_kms.py

Co-Authored-By: Mark Chappell <mchappel@redhat.com>

* prevent key upgrade if key rotation was enabled manually. In that case, the key rotation would be disabled, if not mentioned in the playbook

* Update lib/ansible/modules/cloud/amazon/aws_kms.py

Co-Authored-By: Mark Chappell <mchappel@redhat.com>

* Update lib/ansible/modules/cloud/amazon/aws_kms.py

Co-Authored-By: Mark Chappell <mchappel@redhat.com>

* Update lib/ansible/modules/cloud/amazon/aws_kms.py

Co-Authored-By: Mark Chappell <mchappel@redhat.com>

Co-authored-by: Mark Chappell <mchappel@redhat.com>
5 years ago
Andrew Klychkov f0159b8870
postgresql_info: add getting publication statistics (#67614)
* postgresql_info: add getting publication statistics

* add changelog

* fix

* fix server_version check
5 years ago
Andrew Klychkov b9a315a2c0
mysql_db: add dump_extra_args parameter (#67747)
* mysql_db: add dump_extra_args parameter

* add changelog fragment
5 years ago
Sloane Hertel 8eb00dd14c
Fix inline vaults for plugins in ensure_type (#67492)
* Fix implicit string - only looked right because of the vault __repr__
* Add tests for strings and implicit strings
5 years ago
Brian Coca 9ea5bb3364
strip spaces for each value in host list lists (#67701) 5 years ago
Noboru Iwamatsu d317cc71c7
s3_bucket: accept NetApp StorageGRID create_bucket response. (#67462) 5 years ago
Graeme Davidson bd26b6c0b4
updated single quote handling to not strip and error on odd number (#67500)
Fixes #67274
5 years ago
Alexis Camilleri feeb380649
scaleway_compute: check image on get instead of list (#67655)
* fix scaleway_compute: check image on get instead of list
* add changelog

Signed-off-by: Alexis Camilleri <acamilleri@scaleway.com>
5 years ago
Xu Yuandong dbaa421f9d
Some cloudengine modules miss "import __future__" and "mateclass", update to add them. (#67634)
* update doc missing future & mateclass.

* update ignore.txt.

* add a changelog.

* update changelog.
5 years ago
Abhijeet Kasurde 6936e7b698
Handle NoneType error in vmware_host_service_info (#67641)
Handle NoneType error occured due to accessing host system service info
in vmware_host_service_info module.

Fixes: #67615

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
5 years ago
Matt Clay 482885e0c8 Fix network setup for collections in ansible-test. 5 years ago
Brian Coca 00b70bf36a
Show field instead of value (#59926)
* Show argument name vs value on failed conversion

  generally more useful to user as they might set values indirectly

* clog
5 years ago
Moritz Grimm 79dfae9624
copy: ensure _original_basename is set: fixes #47050 (#47238)
* fixed #47050

* added changelog fragment

* added quick and basic test

* Revert "added quick and basic test"

This reverts commit 75f4141656.

* added better tests

* now also creating files to copy on the remote

* removed tests for recursive copying which is not supported by remote_src
5 years ago
Mark Chappell d74ed41a4c
AnsibleAWSModule add 'region' method (#66988)
* Add get_aws_region to module_utils.ec2 and region to AnsibleAWSModule

* Add example use

* Add changelog
5 years ago
Alexis Camilleri f70dc261cc
fix(scaleway): use jsonify for application/json content-type only (#66957)
* fix(scaleway): use jsonify for application/json content-type

* add changelog
5 years ago
Xu Yuandong 347e19178d
Some cloudengine modules miss "import __future__" and "mateclass", update to add them. (#67635)
* update doc, missing future & metaclass type.

* update ignore.txt

* add a changelog.

* update changelog.

* rename changelog.

* update changelog.
5 years ago
Mark Chappell 021ba057ab
sns_topic ensure "changed" works as expected when managing delivery policies (#60944)
* sns_topic: (integration tests) Move the tests over to using module defaults

* sns_topic: (integration tests) Add test for behaviour of changed when using delivery_policy

* sns_topic: ensure "changed" behaves properly when managing delivery policies

- a delivery_policy isn't an IAM policy, so compare_policies didn't cope with it
- AWS automatically adds an additional option when you set an HTTP delivery
  policy

* Parse the delivery policies so we can test the changes properly
5 years ago
Matt Clay 65646179f1 Fix become for network_cli in collections. 5 years ago
Sam Doran 854925b072 Add changelog 5 years ago
Alan Rominger cffead4631
Do not error if collection specified null dependencies (#67575) 5 years ago
Mark Chappell 335108ac62
Refactor aws_kms to bring down the complexity score (#66037)
* Remove dead code key_matches_filter/key_matches_filters

* Fail more cleanly when we don't recognise the 'shape' of KMS policy

* Refactor aws_kms to bring down the complexity

* Minor docs tweaks

* Changelog fragment

* Fixups from review
5 years ago
Andrew Klychkov 0dc08f6b97
postgresql_info: add subscription info (#67464)
* postgresql_info: add subscription info

* add changelog
5 years ago
Jordan Borean 36def8bf03
Use Ansible to load ps module utils in arg spec checker (#67596)
* Use Ansible to load ps module utils in arg spec checker

* Added changelog and note
5 years ago
Felix Fontein c520d70bf4
Templating: make sure only one variable results are cached (#67429)
* Make sure only one variable results are cached.

* Add changelog.

* Add test.
5 years ago
Mark Chappell 3aae025cce
cloudfront_distribution: Always add field_level_encryption_id to cache behaviour (#61271)
* cloudfront_distribution: (integration tests) Migrate to using module_defaults

* cloudfront_distribution: (integration tests) Use the ID rather than the alias

Using aliases requires providing a valid SSL certificate, as such we're not longer able to test using an arbitrary hostname

* cloudfront_distribution: (integration tests) Make sure we delete the test s3 bucket when tests fail

* cloudfront_distribution: field_level_encryption_id is now a mandatory field always add it

Setting the field to an empty string has the same effect as the original behaviour.

* Copy & Paste fixup

Co-Authored-By: Jill R <4121322+jillr@users.noreply.github.com>

Co-authored-by: Jill R <4121322+jillr@users.noreply.github.com>
5 years ago
Mark Chappell 052e8b7be4
ec2_tag - Deprecate the use of state=list (#66840)
* ec2_tag - Deprecate the use of state=list

* Update lib/ansible/modules/cloud/amazon/ec2_tag.py

* Add changelog and porting_guide entries

Co-authored-by: flowerysong <junk+github@flowerysong.com>
5 years ago
Felix Fontein 4373863f25
Module validation: sanity check mutually_exclusive, required_if, required_xxx ... (#66961)
* required_if checks should have three or four parts.

* Validate mutually_exclusive, required_together, required_one_of, required_if and required_by.

* Simplify code.

* Improve messages.

* Add changelog.

* Sanity check.

* Update docs.

* Update ignore.txt.

* Don't continue with tests when terms are not strings.

* Remove ignore.txt entry.

* Make sure validate-modules doesn't choke on things already flagged by schema test.

* Check required_if requirements list for strings.
5 years ago
Christophe Drevet-Droguet e867535a57
regex_replace multiline support (#65051)
* document multiline parameter for regex_replace
* add changelog fragment
* tests for regex_replace_multiline
5 years ago
Robert Rotaru 5928918352
vmware_guest_disk storage DRS bugfix for get_recommended_datas… (#67221)
* Fix sDRS recommendations

Fixes storage DRS recommendation call for add disk scenario

* Undo changes to whitespacing

* Undo changes to whitespacing (pt. 2)

* Add datastore_cluster prop to disk defaults

* Create 67221-vmware-guest-disk-storage-drs-fix.yml
5 years ago
Markus Fischbacher 8aec058473
add omit_date option for template dump (#67302)
* added omit_date option for template dump

omit_date=yes removed the date field in the exported template

* Update zabbix_template.py

- ansibot fixes
- better function call handling

* Update zabbix_template_info.py

* Create 67302-zabbix_template_info-add-omit_date-field

* Rename 67302-zabbix_template_info-add-omit_date-field to 67302-zabbix_template_info-add-omit_date-field.yml
5 years ago
Jordan Borean d7059881a2
win_credential - fix wildcard name (#67549) 5 years ago
Sloane Hertel ed6a6aca25
Allow botocore configuration for aws modules (#55217)
* Allow botocore configuration to be configurable for boto3 modules

* Allow modification of the boto user agent

* play nicely with modules that might be modifying config

* changelog
5 years ago
Abhijeet Kasurde b6753b46a9
Replace 'message' in module parameters (#60051)
* 'message' parameter is replaced by 'commit_message' in grafana_dashboard
* 'message' parameter is replaced by 'notification_message' in datadog_monitor

This change is required since 'message' as parameter name is used internally by
Ansible core engine.

Fixes: #39295 #45362 #47132 #59617

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
5 years ago
Jannik Vieten 00bed0eb1c
facts virtual: detect KVM when product_name is 'KVM Server' (#66780)
* facts virtual: detect KVM when product_name is 'KVM Server'

* added changelog fragment for "facts virtual: detect KVM when product_name is 'KVM Server'"
5 years ago
Felix Fontein ca57871954
openssl_* modules: prevent crash on fingerprint determination in FIPS mode (#67515)
* openssl_* modules: prevent crash on fingerprint determination in FIPS mode.

* Add changelog.
5 years ago
Bruno Meneguello 9f41d0e914
route53: improve octal encoded characters handling (#60508)
* route53: improve octal encoded characters handling

* Update changelogs/fragments/60508-route53-improve-octal-characters-handling.yml

Co-Authored-By: Felix Fontein <felix@fontein.de>

Co-authored-by: Felix Fontein <felix@fontein.de>
5 years ago
Jan Meerkamp cbc38d2e5a
Windows: Add multi-domain forest Support (#65138)
* Add multi-domain forest Support
cloned extra_args so there is no check for credentials needed.
Fixed Formatting
added missing extra_args to pure state

* minor Fixes
do not clone $extra_member_args again
do not overide $name
better description

* added Changelog
fixed typo in Documentation
5 years ago
Sam Doran c64202a495
ansible-galaxy - fix role list bug (#67391)
Properly list roles even when the role name is the same or a substring of the
path to the role.
5 years ago
Sloane Hertel 6a8b1f867e
[aws_s3] fix deleting versioned objects before deleting bucket (#54435)
* [aws_s3] fix deleting the current objects and the previous versions from a version-enabled bucket

* use existing paginated_list function to keep compatibility with the other places it is called

* changelog

* Add noteworthy change to the porting guide

* Reword that with acozine's suggestion

Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
5 years ago
Martin Nečas 3bf6802cb2
ovirt_disk: correct description of storage_domain (#67454)
* ovirt_disk: correct description of storage_domain
* add changelog

Signed-off-by: mnecas <necas.marty@gmail.com>
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
5 years ago
Max Bubenick eff51c0122
Fix proxysql module cursor_class (#67339)
* Fix proxysql module cursor class

* Adding changelog file

* adding extension to changelog file
5 years ago
Brian Scholer be26f4916f
win_dns_client DHCP improvements + more (#66451)
* Fix DHCP support in win_dns_client + more

* Fix bugs and test failures, add changelog fragment

* Add idempotency tests for DHCP

* Address review feedback; dedup address-family code

* Remove legacy function

* Remove old reference
5 years ago
Jordan Borean e3d5dc0ed0
win_domain_controller: Added domain_log_path (#67448) 5 years ago
Sylvia van Os ff0576802f
Support changing fetch_url settings for Rendeck modules (#66357) 5 years ago
tottoto cc86748109
Fix url handling in lxd_container and lxd_profile module (#66097)
* Fix url handling in lxd_container module

* Fix url handling in lxd_profile module
5 years ago
Pilou 5aa60a5fa7
ovirt: don't ignore instance_cpus parameter (#64366) 5 years ago
Felix Fontein b1de5d43fc
openssh_keypair and openssl_privatekey: add regenerate option (#67038)
* Add regenerate option to openssh_keypair and openssl_privatekey.

* Add changelog.
5 years ago
Felix Fontein 55cb8c5388
docker_login: fix permissions for ~/.docker/config.json (#67353)
* Fix permissions for ~/.docker/config.json.

* Add changelog, remove debug output.
5 years ago
Andrew Klychkov 59bcc9f739
Bugfix of 67377: postgresql_set converts value to uppercase if "mb" or "gb" or "tb" is in the value string (#67418)
* Bugfix of 67377: postgresql_set converts value to uppercase if "mb" or "gb" or "tb" is in the value string

* fix CI

* add changelog
5 years ago
Markus Fischbacher 98bc53d3cb
zabbix_action - allowing string for esc_period (#66841)
* allowing string for esc_period

* add changelog fragment

* Update zabbix_action.py

* remove now unneeded test
5 years ago
Andrej Svenke f98874e4f9
ec2_asg: max_instance_lifetime and respect wait on replace (#66863)
* ec2_asg: max_instance_lifetime and respect wait on replace

* ec2_asg: max_instance_lifetime integration tests

* ec2_asg: address review comments
5 years ago
René Moser bcd145c111
vultr: Fix retry max delay param ignored (#67437)
* vultr: Fix retry max delay param not taken

* add changelog
5 years ago
Sam Doran 7ae34cef15
Fix role list regression (#67436)
Add the roles_path parent to the role_parser
object, so paths are passed to the list function

Add basic role list tests to prevent future regressions
5 years ago
Vasili 9b28f1f5d9
Fix incorrect "Could not match supplied host pattern" warning (#66764) (#67432) 5 years ago
Abhijeet Kasurde 7000c51c06 VMware: Add support for specify tag and category as dict
User can now specify tag and category using dict in vmware_tag_manager
module. This is useful when tag or category name contains colon.

Fixes: #65765

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
5 years ago
Sam Doran f506fd4730
Add ansible-galaxy collection list command (#65022)
* Start adding ansible-galaxy collection list options

* Working list all collections and list a specific collection

* Nuke debugging cruft

* Use to_text to get a string of the FQCN for sorting

* Improve collection output formatting

- add header
- display collection name and version in separate columns
- width of columns is dynamic based on collection name and version length

* Make role list output match collection output list

- add header
- add columns for role name and version
- make column width dynamic based on name and version length

* remove debug statemnt and extra header

* Revert "Make role list output match collection output list"

This reverts commit a0b3db47bb3b198aafd34c1f1be5b6561af2f928.

* Add validate_collection_path function

Utility function for ensuring a collection target ends with 'ansible_collection'

* Use validate_collection_path

* Do not warn if a specific collection in found in any search path

* Fix extraneous warning and remove duplicate code

Do not warn when listing a specific collection and it does not exist
in other collection paths.

Restructure the code that loops through collection paths to remove
duplicate conditional code.

* Indicate role path was found

* Use new function name

* WIP Save Point

* Use separate functions for role and collection list

* Wrap error message

There may be a better way to do this besides hard coding a line break, but this
does make the message a lot more readable.

* Add validate_collection_path function (#66441)

* Add validate_collection_path function

Utility function for ensuring a collection target ends with 'ansible_collection'

* Fix bad syntax

* Correct docstring

* Bikeshed the names

* Properly list a single role

* Simplify _display_warnings()

Only display warnings. Move exception raise back to each caller.

* Move private methods to private functions

They don't need self, so it makes sense to have them as functions
Get rid of _display_warnings() function since it doesn't do anything worthy of
an independent function.

* Add integration tests for ansible-galaxy collection list

* Fix docs sanity test

* Fix bug where ansible_collections dir does not exist

The path may exist, but if there is no ansible_collections dir inside that path,
an exception was raised in find_existing_collections().

Add integration test for this scenario

* Put execute_list() method back

* Add some informational messages for debugging

* Add unit tests

Units tests for the various private methods in support of collection list

* Start adding unit tests for test_execute_list

* Display collection path when listing specific collection

* Add unit tests for listing all collections and specific collection

- Create fixture for creating test objects
- Add function for controlling os.path.isdir results

* Set defaults for minimum collection widths

Ensure that collections with small FQCNs display correctly.
Add unit tests

* Split up unit tests and fix fixtures

Add more fixtures for mocking objects during the specific collection tests

* Change help message for -p in list subcommand

Give accurate description of what it actually does rather than trying to use language shared between sub commands.

* Disable colorized output in unit test

* Add docs for collection list

* Fix integration test on macOS

The temp file path is really long on macOS, so the warning message gets wrapped
across multiple lines. That make seth grep fail. Switch to matching on a smaller
part of the warning.

* Recreate common path options for collections

Improve help about what the '-p' option does and how it works.

* Remove unnecessary elif after continue statements

* Account for duplicate paths in collections_searh_paths

If someone specifies the same path via '-p' that is the COLLECTIONS_PATHS,
do not list the collections twice.

* Docs updates
5 years ago
Sloane Hertel 97f011cf94
Add verify subcommand to 'ansible-galaxy collection' (#65618)
* [WIP] Add verify subcommand command to 'ansible-galaxy collection'

* Fix pep8 and use consistent display order

* WIP - docs

* Remove some redundancy in verify display messages by using an error queue for each collection

* Share common code and improve output format

* clean up documentation

* typo

* Apply suggestions from code review

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Move ModifiedContent namedtuple to the global scope

Add a public metadata property

Rename function to _get_json_from_tar_file

* Add some unit tests

* fix using common functions after rebase

* changelog

* Improve efficiency finding specific installed collections

Improve efficiency by only downloading the tar.gz from the galaxy server for comparison after checking that the collection has been installed

Handle multiple collection paths

Fix up tests

* pep8

* reword that for accuracy

* use more common code and verify collection name

* Improve error message and add documentation

* Update unit tests and add coverage for both local and remote collections that are unable to be located

* Only validate collections using the format collection_namespace.collection_name

Fix tests to reflect that

Fix documentation

* Fix a bug when a local collection does not contain a file

* pep8

* Fix formatting

Co-authored-by: Sandra McCann <samccann@redhat.com>
5 years ago
Jordan Borean 4881af2e7e
galaxy - Fix collection install dep resolver for bad versions (#67405)
* Also make sure version is a string and not an int/float
5 years ago
Mark Chappell 90898132e4
CloudRetry/AWSRetry : Disable catching of NotFound exceptions (#67281)
* CloudRetry/AWSRetry : Remove default catching of NotFound exceptions

* Add docs

* Changelog updates from review

* Update unit tests after removing 'NotFound' from default retries
5 years ago
Martin Krizek a2c620819f
Remove a host from a play after meta: end_host (#66851)
* Remove a host from a play after meta: end_host

* Fix changelog
5 years ago
Mario Lenz 77c19daefa Fix creating IP specific firewall rules with Python 2 5 years ago
Jordan Borean 446a0c1b08
win_package - Refactor with msp, appx support (#66931)
* win_package - Refactor with msp, appx support

* Added msi test for ALLUSERS

* Added some msix tests, refactored tests

* Added remaining msix tests

* Enable msix sideloading for tests

* Added remaining exe path tests

* Added basic msp tests

* Remove url options now the util no longer has them

* Fix file version check for older Windows hosts

* Remove no_proxy ansible-test setting

* Use same mechanism of become to copy the file with explicit creds
5 years ago
tchernomax 53e043b5fe
combine filter: fine list handling (option b) (#57894) 5 years ago
Mark Chappell 8d574c3770
AnsibleAWSModule related cleanup - redshift (#66779)
* AnsibleAWSModule related cleanup - redshift

* Apply a backoff on modify_cluster to cope with concurrent operations

* Add AWS 'hacking' policy to allow creation of Redshift ServiceRole

* Adding the retry policies makes the redshift test suite more reliable
5 years ago
Felix Fontein 8ff62799c9
AnsibleModule.load_file_common_arguments: allow to override path (#61659)
* Allow to overwrite path in AnsibleModule.load_file_common_arguments

* Use path override.

* Add changelog.
5 years ago
petoju 8ac0bbcbf6
mysql_replication: add option to fail on error (#67322) 5 years ago
Felix Fontein f6815040fd
add_file_common_arguments: fix defaults and tpyes, improve sanity checking (#67243)
* Make validate-modules stop ignore FILE_COMMON_ARGUMENTS.

* Add types to FILE_COMMON_ARGUMENTS and update document fragment to match it.

* Update ignore.txt.

* Add changelog.
5 years ago
Piotr Stawarski a0247d13d8
New magic var: `ansible_config_file` (#66085)
* Add `ansible_config_file` magic variable

* Add ansible_config_file to INTERNAL_VARS

* Add changelog fragment

* Update Special Variables docs
5 years ago
Mario Lenz 808bf02588
Remove options from some vmware modules that are not used in the code (#67282) 5 years ago
Nilashish Chakraborty 88f0c85228
Remove deprecated attributes from nxos_igmp_interface (#67186)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
5 years ago
Sam Doran 8f296a6533
ansible-test - add constraint for virtualenv (#67289)
* ansible-test - add constraint for virtualenv

* Limit virtualenv only on macOS.

Co-authored-by: Matt Clay <matt@mystile.com>
5 years ago
ksagle77 b9d22b901d
Allow default network mode, as required for windows containers. (#59597)
* Allow default network option for network_mode, required for windows containers.

* Add change fragment and param description

* Update changelogs/fragments/59597-ecs-allow_default_network_mode.yml

Co-Authored-By: Mark Chappell <mchappel@redhat.com>

* Update lib/ansible/modules/cloud/amazon/ecs_taskdefinition.py

Co-Authored-By: Mark Chappell <mchappel@redhat.com>

* Correct descriptions. Remove whitespaces.

* Remove empty line.

* Add single space after comma

* Update lib/ansible/modules/cloud/amazon/ecs_taskdefinition.py

Co-Authored-By: Mark Chappell <mchappel@redhat.com>

* Update lib/ansible/modules/cloud/amazon/ecs_taskdefinition.py

Co-Authored-By: Mark Chappell <mchappel@redhat.com>

* Update lib/ansible/modules/cloud/amazon/ecs_taskdefinition.py

Co-Authored-By: Mark Chappell <mchappel@redhat.com>

Co-authored-by: kevinsagle <44478308+kevinsagle@users.noreply.github.com>
Co-authored-by: Mark Chappell <mchappel@redhat.com>
5 years ago
Stefan Horning fa8c07a33c
Revert "Make cloudfront_info work with Python3 … (#66695)" (#67085)
This reverts commit aad286b403.
5 years ago
Sloane Hertel 4719072c49
Fix describing transit gateways with backoff in ec2_transit_gateway (#67247)
* Fix ec2_transit_gateway retries. AWSRetry must be used within ClientError handling to have any effect

* changelog
5 years ago
Felix Fontein f725dce936
Clean up FILE_COMMON_ARGUMENTS (#66389)
* Clean up FILE_COMMON_ARGUMENTS.

* postgresql_pg_hba doesn't declare the backup option.

* uri doesn't declare the remote_src option.

* Add documentation.

* maven_artifact seems to use directory_mode, which it doesn't declare.

* Update changelogs/fragments/66389-file-common-arguments.yml
Update docs/docsite/rst/porting_guides/porting_guide_2.10.rst

ci_complete

Co-Authored-By: Jill R <4121322+jillr@users.noreply.github.com>
5 years ago
Gonéri Le Bouder 802cc60242 vmware_guest_tools_wait: add timeout parameter
Add a new `timeout` parameter to `vmware_guest_tools_wait`.

Also, a functional test to cover the module.
5 years ago
Allen Smith fd8eb77cc3
pmrun - quote success command (#66929)
* Recreate the older behavior where the entire success command was quoted

* Use shlex_quote for a correct fix of this

* Add changelog fragment
5 years ago
Todd Lewis 640bf31f87
user - allow 'groups', 'append' with 'local' (#62134) 5 years ago
Andrew Klychkov 637eed5a5c
postgresql modules: fix sanity issues (#67046)
* postgresql modules: fix sanity issues

* add changelog

* fix changelog
5 years ago
Matt Clay 5e68bb3d93
Add code coverage target analysis to ansible-test. (#67141)
* Refactor coverage file enumeration.
* Relocate sanitize_filename function.
* Support sets when writing JSON files.
* Generalize setting of info_stderr mode.
* Split out coverage path checking.
* Split out collection regex logic.
* Improve sanitize_filename type hints and docs.
* Clean up coverage erase command.
* Fix docs and type hints for initialize_coverage.
* Update type hints on CoverageConfig.
* Split out logic for finding modules.
* Split out arc enumeration.
* Split out powershell coverage enumeration.
* Raise verbosity level of empty coverage warnings.
* Add code coverage target analysis to ansible-test.
5 years ago
James Cassell b868f1c933
fix systemd use in container builds (#66062)
* systemd: unify "systemctl show" failure cases

* systemd: is-enabled to detect configured state

* systemd: is-enabled to detect masked status
5 years ago
Lihu Ben-Ezri-Ravin 48505af9d2
Remove filtering from edgeos_config module (#63362)
The edgeos_config module had a list of commands to filter out to avoid
load failures. This list had a single regular expression which caught
commands that attempted to set pre-encrypted passwords. This behavior is
undesirable for a few reasons.

* It's poorly documented. The documentation makes cryptic mention of a
  return value that some commands might be filtered out, but offers no
  explanation as to what they are or why.

* It's hard-coded. There's no way for the user to change or disable this
  functionality, rendering the commands caught by that expression
  completely unusable with the edgeos_config module.

* The obvious workaround is unsafe. The filter catches passwords that
  are already encrypted, but is perfectly fine letting the user set
  plain-text passwords. EdgeOS will encrypt them upon commit, but this
  module encourages unsafe handling of secrets up to that point.

* It's a security vulnerability if the user doesn't know about this
  behavior. While the module will warn if commands are filtered, the
  user won't know what got filtered out until after the fact, and may
  easily miss that warning if they are not vigilant. For something as
  sensitive as setting a password, it's not hard to imagine naive use of
  this module resulting in incorrect credentials being deployed.

* It provides no discernible benefit. Using the module without filtering
  does not result in load failures. If those commands are indeed harmful
  for some reason on (old?) versions of EdgeOS, it should be incumbent
  upon the user to be scrupulous in what commands they issue, rather
  than the module maintaining a blacklist of possible ways the user
  might misuse their own system.
5 years ago
Jørgen Lien Sellæg 43f93d275c
openssl_certificate: Selecting which acme directory to use to get certificate (#67109)
* "openssl_certificate - Add option for changing which ACME directory to use with acme-tiny. Set the default ACME directory to Let's Encrypt instead of using acme-tiny's default. (acme-tiny also uses Let's Encrypt at the time being, so no action should neccessary.)"
  * "openssl_certificate - Change the required version of acme-tiny to >= 4.0.0"
5 years ago