Compare commits

...

4807 Commits

Author SHA1 Message Date
217c0c29e5 New release v2.12.0b2 (#76000) 2021-10-11 10:47:53 -04:00
6ccd35cd7c ansible-test pslint - fix warning with nested objects (#75792)
* ansible-test pslint - fix warning with nested objects

(cherry picked from commit 7e19957afa)
2021-10-07 14:19:37 -07:00
e2c4d046a9 [stable-2.12] ansible-test - Fix inventory path.
(cherry picked from commit 8cef40f839)

Co-authored-by: Matt Clay <matt@mystile.com>
2021-10-07 11:16:43 -07:00
d603412891 [Backport][Docs]Docs 2.12 backportapalooza1 (#75882)
* Docs: add install link for windows (#75811)

* No Ansible Engine (#75812)

* ansible is now ansible-core in AUR too (#75145)

Co-authored-by: Sandra McCann <samccann@redhat.com>
Co-authored-by: Matt Martz <matt@sivel.net>
Co-authored-by: Amin Vakil <info@aminvakil.com>
2021-10-07 09:55:18 -05:00
72c1eec1ea [stable-2.12] ansible-test - Update base and default containers.
The containers now include Python 3.10.0 instead of Python 3.10.0rc2..
(cherry picked from commit 2f531d73dd)

Co-authored-by: Matt Clay <matt@mystile.com>
2021-10-06 13:27:44 -07:00
e112ca934d Bump antsibull version to get support for attributes and CLI options (#75787) (#75818)
* Bump antsibull version to get support for attributes and CLI options.

* Include fix for attributes.

* Include fix for rst_epilog collision and for #75799.

(cherry picked from commit 8643db5ac3)
2021-10-02 09:53:11 -05:00
35152d8cb8 [stable-2.12] Don't show params when there is an issue with set_option(s) (#75805) (#75807)
(cherry picked from commit 79e9dae)

Co-authored-by: Matt Martz <matt@sivel.net>
2021-10-02 09:52:58 -05:00
0270c2306d ansible-test - Update distro test containers.
(cherry picked from commit f4d4391a1f)
2021-10-01 12:15:51 -07:00
8980985d06 [stable-2.12] ansible-test - Fix inventory generation.
(cherry picked from commit 099d80829f)

Co-authored-by: Matt Clay <matt@mystile.com>
2021-09-30 21:26:44 -07:00
8669f27d48 Update Ansible release version to v2.12.0b1.post0. 2021-09-27 17:32:48 -04:00
b03f06ba4f New release v2.12.0b1 2021-09-27 09:30:07 -04:00
872fda8815 attribs last PR for now ... i hope (#75778)
* attribs last PR for now ... i hope

* thatsallfolks!

* fixes

* Update lib/ansible/modules/template.py

Co-authored-by: Matt Martz <matt@sivel.net>

* Update lib/ansible/modules/validate_argument_spec.py

Co-authored-by: Matt Martz <matt@sivel.net>

* moar fixes

* asldf

* missing import

* iswearihadaddedthese

Co-authored-by: Matt Martz <matt@sivel.net>
2021-09-24 15:55:44 -07:00
a22964609e Fix lineinfile test (#75785)
* fix remote test after controller split

* other files had it too!
2021-09-24 15:43:22 -07:00
0d5a9f2138 ansible-test - More PEP 484 type hints. 2021-09-24 15:17:21 -07:00
263fd64759 updated ansible.cfg to guide stray link devel link (#75782)
* updated ansible.cfg to guide stray link devel link
2021-09-24 16:25:41 -04:00
e66e2e25c8 ansible-test - Update default containers. 2021-09-24 13:19:10 -07:00
845935f74f Revert "Compile role with parents in the task's dependency chain (#75165)" (#75779)
This reverts commit 440cf15aeb.
2021-09-24 15:30:35 -04:00
6a5d6896fd ansible-test - Warn about stale sanity venvs. 2021-09-24 12:16:35 -07:00
b70077364a ansible-test - More PEP 484 type hints. 2021-09-24 11:57:25 -07:00
6981237130 ad-hoc: add documentation about pattern (#73303)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-09-24 14:40:13 -04:00
e2ad9f1c85 Changed to file instead path for touch choice in state parameter docs (#75282) 2021-09-24 14:36:28 -04:00
0cb7a4d260 clarify order (#75338) 2021-09-24 14:35:35 -04:00
e021a65403 using FQCN also for ansible.builtin collection (#75644) 2021-09-24 14:34:20 -04:00
e5a52c1e9d added section about parallelism to delegation (#74158) 2021-09-24 14:21:13 -04:00
d3ebbef075 correct dedupe scope (#75422) 2021-09-24 14:20:43 -04:00
f4cdea9645 docs - add some info on plugin option source precedence (#75754)
* docs - add some info on plugin option source precedence

##### SUMMARY
Add some clarity on precedence, especially from sources of the same type.


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr

* update RST formatting

* Update docs/docsite/rst/dev_guide/developing_plugins.rst

Apply review suggestions

Co-authored-by: Aine Riordan <44700011+ariordan-redhat@users.noreply.github.com>

Co-authored-by: Aine Riordan <44700011+ariordan-redhat@users.noreply.github.com>
2021-09-24 10:50:32 -07:00
5183a2e585 Add note about loop_control.extended memory impact (#75759)
* Add note about `loop_control.extended` memory impact

* moar correct
2021-09-24 10:35:44 -07:00
65b5472ad1 Update roadmap to indicate branching happens at feature freeze (#75777) 2021-09-24 11:59:58 -05:00
a5e7ed0cc5 Update ansible porting guide for 4.6.0 release. (#75752) 2021-09-24 11:07:15 -04:00
58b03be417 ansible-test - Code cleanup. (#75774)
* ansible-test - Remove unused code.
* ansible-test - More PEP 484 type hints.
2021-09-24 00:38:56 -07:00
6c133da45e ansible-test - Fix code coverage reporting. (#75771) 2021-09-23 21:24:01 -07:00
43e1cba8c1 Fix up validate-modules sanity check for PowerShell - ci_complete 2021-09-23 20:39:05 -07:00
b51e62f6e5 ansible-test - Add minimum constraints for pytest.
Use `--strict` for `pytest` on Python 2.6 since `--strict-markers` is not available.
2021-09-23 17:18:57 -07:00
a2d4a8a9f3 PowerShell - Support optional module util imports (#75187) 2021-09-23 16:47:10 -07:00
e3fd9b0769 ansible-test - Add --prime-containers option.
Resolves https://github.com/ansible/ansible/issues/75320

The option `--prime-containers` was chosen over `--docker-pull-only` to match the recently added `--prime-venvs` option for sanity tests.
It would also fit well with a future `--prime-requirements` option for pre-installing requirements for unit and integration tests.
2021-09-23 15:52:34 -07:00
28a094c5de ansible-test - Remove unused constraints.
ci_complete
2021-09-23 12:48:44 -07:00
67ca455829 attributes: support extra value 'not applicable' for support (#75751)
* Support two extra values 'unknown' and 'not applicable' for support.

* Simplify to only one new state: 'n/a'

* Adhere to the IBM style guide.
2021-09-23 15:02:59 -04:00
c5d8dc0e11 Add attributes 2/x (#75619)
* Added attribute information to more modules

 rearranged the shared data
 platform revamped
 use 'details' and avoid overriding description

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>

* Update lib/ansible/plugins/doc_fragments/action_core.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update lib/ansible/plugins/doc_fragments/action_core.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update lib/ansible/plugins/doc_fragments/action_core.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update lib/ansible/plugins/doc_fragments/action_core.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update lib/ansible/plugins/doc_fragments/action_core.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update lib/ansible/modules/fail.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update lib/ansible/modules/debug.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update lib/ansible/modules/command.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update lib/ansible/modules/assert.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update lib/ansible/plugins/doc_fragments/action_core.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update lib/ansible/modules/gather_facts.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update lib/ansible/modules/include_vars.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update lib/ansible/modules/meta.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update lib/ansible/modules/meta.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update lib/ansible/plugins/doc_fragments/action_common_attributes.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update lib/ansible/plugins/doc_fragments/action_common_attributes.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update lib/ansible/plugins/doc_fragments/action_common_attributes.py

Co-authored-by: Felix Fontein <felix@fontein.de>

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
2021-09-23 12:48:28 -05:00
78ff1ab546 Add constraints to prepare_http_tests target. 2021-09-23 00:14:43 -07:00
46c7b24188 ansible-test - Update distro test containers. (#75762) 2021-09-22 19:41:08 -07:00
5cb54e8c58 ansible-test - Create injector scripts at runtime. (#75761)
* ansible-test - Create injector scripts at runtime.
* Set bootstrap.sh shebang at runtime.
* Remove shebang and execute bit from importer.
* Update shebang sanity test.
* Preserve line numbers.
2021-09-22 16:01:42 -07:00
440cf15aeb Compile role with parents in the task's dependency chain (#75165)
* Use the task dependency chain to compile the role instead of the parent role's _parents list

* keep existing role inheritance, but limit it to roles in the current task dependency chain

* Test getting role parents recursively by using the current task dependency chain

* changelog
2021-09-22 17:08:00 -04:00
7a76130502 ansible-test - Update default containers.
ci_complete
2021-09-22 09:59:55 -07:00
96b221b344 Update vendored copy of distro to 1.6.0 (#75732)
* Update vendored copy of distro to 1.6.0

* copy pasta mistake

* ci_complete
2021-09-22 11:43:25 -05:00
7a4b5d14fc ansible-galaxy role install: download from API response location (#73114)
* download role from api response location

* include changelog fragment

* add unit test for role download url

Co-authored-by: Sam Doran <sdoran@redhat.com>
2021-09-22 10:39:58 -04:00
57359d0174 use passlib default if password_hash option isn't set (#75043)
* add changelog fragment
* password_hash|length == 120
* mention the new default bcrypt format in the porting guide
2021-09-21 17:35:53 -04:00
7ecc227488 ansible-galaxy: Clone git collections using shallow clones (#75722)
* ansible-galaxy: Clone git collections using shallow clones

This ensures the collection obtained via git url is a result of a
shallow git clone (git clone --depth=1). The git history of the
collection is not used by ansible, and as such, cloning the entire
history of the repo is unnecessary.

Signed-off-by: Tomas Babej <tomas@tbabej.com>

* ansible-galaxy: Only perform shallow clones on non-versioned git urls

In general, the version can be anything we can checkout (branch, tag,
but also a commit hash). In particular for commit hashes we cannot
perform a shallow clone.

Err on the safe side and only perform shallow clones for non-versioned
git urls (cloning HEAD).

* galaxy-install: Make shallow cloning compatible with older Python versions

Signed-off-by: Tomas Babej <tomas@tbabej.com>

* Pass args as a tuple

Add tests for the git command created from different repo and version combinations

* changelog

Co-authored-by: Tomas Babej <tomas@tbabej.com>
2021-09-21 15:45:28 -04:00
724800cd3f Python 3.8 Controller Minimum (#74013) 2021-09-21 13:43:31 -05:00
4ab90f3afc Re-enable old_style_cache_plugin test target (#75748)
Fix tests for cache plugins written before ConfigManager
2021-09-21 14:20:50 -04:00
4652d6ee43 ansible-test - Remove deprecated environments. 2021-09-21 08:38:12 -07:00
94410789d1 ansible-test - Add --prime-venvs option. 2021-09-21 00:03:33 -07:00
178a67fd40 ansible-test - Add support for windows/2022 (#75743)
ci_complete
2021-09-21 13:51:13 +10:00
4ea8d9a782 ansible-test - split controller/target testing (#75605) 2021-09-20 18:39:07 -07:00
989eeb243f Add an undef global Jinja function (#75435)
* add tests for fail filter

also tests that fail does not block inspectability

* add fail filter

fallback message is a bit clunky,
since you can't invoke a filter without specifying an input.
That is, "{{ fail }}" doesn't work,
so you have to do "{{ None | fail }}"

* document 'fail' filter

* add changelog fragment

* fail filter uses default message on Undefined or emptystring

makes it slightly easier to use the default message:
```diff
- "{{ None | fail }}"
+ "{{ '' | fail }}"
```

and the user sees a slightly more relevant message
if the message itself is undefined:

```diff
- The error was: {{ failmsg | fail }}: 'failmsg' is undefined
+ The error was: {{ failmsg | fail }}: Mandatory variable has not been overridden
```

* rebuild as the builtin `Undefined`

* harmonise `hint` parameter for make_undefined with jinja

* use code block for documentation item

[ref](https://github.com/ansible/ansible/pull/75435#discussion_r707661035)

* rename to `undef` to expose less Python into the Jinja

[ref](https://github.com/ansible/ansible/pull/75435#pullrequestreview-757799031)

* explicitly instantiate undefined value now that it's possible

see I knew we would break something with reflection

* preserve test coverage of undefined variable

Co-authored-by: Matt Davis <nitzmahone@users.noreply.github.com>
2021-09-20 15:37:36 -07:00
47b644570f facts: Add uptime fact for FreeBSD and Darwin (#75432)
This is a bit more complicated than on OpenBSD/NetBSD.

The code is inspired in part from https://github.com/Cairnarvon/uptime

Tested on the GCC compile farm: https://cfarm.tetaneutral.net/

Co-authored-by: Baptiste Jonglez <git@bitsofnetworks.org>
2021-09-20 16:57:52 +02:00
61f5c22551 Remove (only) user-facing use of ANSIBLE_ASYNC_DIR (#74249)
Change:
- Remove only user-facing use of ANSIBLE_ASYNC_DIR.
- Remove two comments saying to change things that, apparently, we
  aren't going to change...

Test Plan:
- ci_complete

Tickets:
- Fixes #74139
- Fixes #74138
- Refs #74226

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-09-17 14:58:17 -05:00
1353678f23 Enable ansible-galaxy to specify client id override with Keycloak Token (#75601)
* Enable ansible-galaxy to specify client id override with Keycloak Token

* Specify ability to provide override of client_id

* Test client_id can be configured for individual servers

* Add issue link to changelog

* Document client_id as a config option and add an example

Co-authored-by: s-hertel <19572925+s-hertel@users.noreply.github.com>
2021-09-17 12:10:10 -07:00
54a795896a Integration test and sanity index generation fixes. (#75731)
* Fix test usage of `which python`.

Also use `command -v` instead of `which` where needed.

* Fix testing_formatter.sh file checking.

The index is longer expected to exist when generating it.
The generation script is run with `set -eux`.
2021-09-17 11:05:19 -07:00
b281f84bc4 Ignore support code in update-bundled test. 2021-09-17 10:42:30 -07:00
45459346ed Document diff mode support for apt_repository and cron (#75709) 2021-09-17 11:19:47 -04:00
f0d43cfffc Document validate_certs option for Galaxy server configuration (#75728)
Added in #75710
2021-09-17 10:58:31 -04:00
2346f93961 Docs: Fix section header notation in Style Guide (#75720) 2021-09-17 10:55:05 -04:00
17122edfc5 Docs: Fix section header notation in Developer Guide (#75721) 2021-09-17 10:52:46 -04:00
8dc5516c83 getent, fix returning mulitple results for key (#75620)
* getent, fix returning multiple results for key
* added return docs

Co-authored-by: flowerysong <junk+github@flowerysong.com>
2021-09-17 10:09:40 -04:00
097bc07b66 PowerShell - Ignore LIB env var when building C# code (#75698)
* PowerShell - Ignore environment variables when building C# code

* Just unset LIB for now

* Fix sanity issue
2021-09-17 08:07:40 +10:00
a11bb8b4d3 Revert "user - consistently create user home directory on Linux (#71952)" (#75704)
This reverts commit 2f7e0b8489.
2021-09-16 12:05:32 -07:00
72ba2bdc82 ansible-galaxy - add a per-server validate_certs option (#75710)
* Add a validate_certs option to galaxy server configuration

* Add a unit test for cert validation

* changelog
2021-09-16 13:54:52 -04:00
9558f53a58 Fix git submodules path issue (#75655)
* Fix git path used for submodules

* Fix git submodules integration test
2021-09-16 09:46:50 -04:00
3d081b6ca5 Docs: Edit list of locations to search for roles (#75703)
* Docs: Add playbook base dir to roles search

* Docs: Add link to default roles path
2021-09-16 06:42:14 -07:00
c3fc8fb99a apt module: add option to allow package downgrades (#74852)
* apt module: add option to allow package downgrades

* Add new option to module so users don't have to force downgrades which
  is insecure and dangerous

* Add integration tests similar to upgrade integration tests

* Changelog

* Update changelog fragment

* Update changelogs/fragments/74852-apt-allow-downgrade.yaml

Co-authored-by: Amin Vakil <info@aminvakil.com>

* Update lib/ansible/modules/apt.py

Co-authored-by: Amin Vakil <info@aminvakil.com>

* Update lib/ansible/modules/apt.py

Co-authored-by: Amin Vakil <info@aminvakil.com>

Co-authored-by: Amin Vakil <info@aminvakil.com>
2021-09-14 17:46:56 +02:00
b1527dcf63 Small typo in vars plugin example. (#75702) 2021-09-14 10:18:04 -05:00
208014422d Fix markdown links that were errantly formatted as rst (#75697) 2021-09-14 10:15:37 -05:00
3d83c325dd Fix metadump (#75668)
* ensure dump produces json

* clog and tests

* remove library additions since they are not usable

* avoid any/all dirs

* ensure we dont use local dir as playbookdir
2021-09-14 10:05:21 -05:00
469b559ebe Try all galaxy servers when locating available versions for a collection (#75468)
* 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>
2021-09-14 09:40:48 -04:00
01f0c38aa5 Docs: Update cross reference tag syntax in User Guide (#75693) 2021-09-13 10:19:48 -04:00
3e7a622204 Fix unexpected exception when a role has an empty argument_specs.yml (#75604)
* 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
2021-09-10 14:35:41 -04:00
55d448baa7 Run apache via async (#75682) 2021-09-10 12:02:58 -05:00
649a5bbda2 Fix cleaning up user for unarchive tests (#75681)
Become root to clean up user

Clean up users with force and remove enabled

Co-authored-by: Matt Martz <matt@sivel.net>
2021-09-10 12:44:42 -04:00
05464a0ff7 Ensure we set perms on htpasswd file to avoid permissions errors (#75679) 2021-09-10 11:06:43 -05:00
7cbb53fe9a Fix test interactions by cleaning up users with the same uid by using 'force: yes' and 'remove: yes' (#75670)
Co-authored-by: Matt Martz <matt@sivel.net>
2021-09-09 18:32:21 -04:00
63413dd483 Remove incidental_win_security_policy (#75654)
* Add an intentional test for diff.prepared

ci_complete
ci_coverage

* Remove incidental_win_security_policy

* Forgot to remove this
2021-09-09 12:17:48 -07:00
c2fa71c4e8 Fix various typos in documentation (#75662)
* docs/docsite/rst/dev_guide/developing_modules_general_aci.rst: fix typos

* docs/docsite/rst/dev_guide/testing/sanity/no-get-exception.rst: fix typos

* docs/docsite/rst/dev_guide/testing_units_modules.rst: fix typos

* docs/docsite/rst/network/dev_guide/developing_resource_modules_network.rst: fix typos

* docs/docsite/rst/porting_guides/porting_guide_2.0.rst: fix typos

* docs/docsite/rst/porting_guides/porting_guide_2.10.rst: fix typos

* docs/docsite/rst/porting_guides/porting_guide_2.4.rst: fix typos

* docs/docsite/rst/porting_guides/porting_guide_3.rst: fix typos

* docs/docsite/rst/porting_guides/porting_guide_4.rst: fix typos

* docs/docsite/rst/reference_appendices/glossary.rst: fix typos

* docs/docsite/rst/reference_appendices/release_and_maintenance.rst: fix typos

* docs/docsite/rst/scenario_guides/vmware_rest_scenarios/collect_information.rst: fix typos

* docs/docsite/rst/scenario_guides/vmware_rest_scenarios/vm_tool_information.rst: fix typos

* docs/docsite/rst/scenario_guides/vmware_scenarios/vmware_inventory_vm_attributes.rst: fix typos

* docs/docsite/rst/user_guide/playbooks_debugger.rst: fix typos

* docs/docsite/rst/user_guide/playbooks_filters.rst: fix typos

* docs/docsite/rst/user_guide/windows_performance.rst: fix typos

* docs/docsite/rst/scenario_guides/vmware_scenarios/vmware_inventory_vm_attributes.rst: fix typos
2021-09-09 08:34:46 -07:00
8d84f3c593 Fix fetch integration test. (#75661) 2021-09-08 22:11:40 -07:00
12734fa21c yaml dumper: Add YAML respresenter for AnsibleUndefined (#75078)
Fixes: #75072

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-09-07 10:21:47 +05:30
de01db08d0 pip - Use pip from the current Python interpreter. (#75634)
* pip - Use pip from the current Python interpreter.

If `executable` and `virtualenv` were not specified, and
the `pip` Python module is available for the current interpreter,
use that `pip` module instead of searching for a `pip` command.

* Add comment about needing `__main__` to run `pip`.

* Fix unit test.

* Add porting guide entry.

* Update changelog to match porting guide description.

ci_complete
2021-09-03 15:17:43 -07:00
fc8197e326 AnsiballZ - Make sure cwd is accessible. (#75636) 2021-09-03 08:31:20 -07:00
e60ee82343 docs: clarify that known_hosts path must exist (#75615)
* docs: clarify that known_hosts path must exist

Fixes #75606

* Clarify clarification.
2021-09-02 12:43:19 -07:00
ccf8a7da82 Modify getent example; closes #75624. (#75633)
* Adds "ansible_facts." in front of each getent example.
2021-09-02 15:27:17 -04:00
7ff2a55f3f psrp - fix typo (#75617)
psuedo -> pseudo
2021-09-02 15:17:26 -04:00
90518d8bb5 added vault/unvault docs (#75140) 2021-09-01 16:49:21 -04:00
5ecbc199f8 ssh connection added option priority note (#75219) 2021-09-01 16:48:06 -04:00
8af54a0355 Added info about playbooks for collection (#75535)
*
2021-09-01 16:40:03 -04:00
2c67954f9b Docs: adds warning about utf-8 in templates (#75504) 2021-09-01 16:21:18 -04:00
0ef9b9ee49 Update the porting guide for a new ansible version (#75610) 2021-09-01 15:44:07 -04:00
dcd31da01a clarify cacheable (#75085)
* clarify cacheable

* Update lib/ansible/modules/set_fact.py

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-09-01 15:42:24 -04:00
f38a97cece Fix build_ignore when installing a collection from source (#75547)
* 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
2021-09-01 18:36:09 +02:00
d6dededab8 Use context manager for file handling in some system modules. (#65227) 2021-09-01 11:29:35 -04:00
9c2f44b884 Fix templating task action with host-specific vars (#75600)
Fixes #75568
2021-08-31 17:33:57 +02:00
bee5e02232 Rename integration test targets.
Improve consistency with naming of tests for Ansible CLI commands.
Fix naming of module_utils tests to match the files under test.
2021-08-30 17:11:07 -07:00
388760eef6 Docs: Add more Matrix documentation (#75588)
* Refs #75478 - On the communicating page, add Matrix links to first 4 chat spaces, improve introduction, update working groups with Matrix and IRC locations, add a link to the community FAQ, add localised community translations, and remove Lightbulb room, the GitHub project has been archived

Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2021-08-30 18:44:27 -05:00
2462ec74a0 validate_args_spec, use combine vars and in precedence (#75471)
* combine vars and in correct precedence
* add examples
2021-08-30 13:56:23 -04:00
e5f6c2d141 Fix rekey_on_member when key is undefined (#75131)
* Fix rekey_on_member when key is undefined and add a test case

* Add documentation about error handling in filter and test plugin sections
2021-08-30 12:03:42 -04:00
051a257092 Add attributes a-c (#75561)
* removed redundant notes
2021-08-30 11:28:00 -04:00
bbf5bbd8e4 removing out of date example ansible.cfg (#75193)
removing  out of date example ansible.cfg, show user how to generate from ansible-config

Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2021-08-30 11:25:13 -04:00
db3e8f2c1c import_role - support templating _from_files with --extra-vars (#75269)
* Support templating _from_files with --extra-vars for imported roles

* Add tests for templating the filenames for import_role, import_playbook, and import_tasks

* Add documentation

Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
Co-authored-by: Martin Krizek <martin.krizek@gmail.com>
2021-08-30 10:34:16 -04:00
d36116ef1c dnf: ensure we use the correct locale for dnf API (#75264)
Fixes #75021
2021-08-30 14:22:00 +02:00
e35e8ed2ec makes Fest link from docs trackable (#75594)
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2021-08-27 15:51:57 -05:00
747789787b added a caveat to say check individual module documentation for compatibility (#75582) 2021-08-27 20:33:31 +05:30
74f5367673 Ensure heuristic_log_sanitize returns correct data if no password found (#75570)
* Ensure heuristic_log_sanitize returns correct data if no password found. See #75542

* Need to allow code to flow through
2021-08-26 12:13:51 -07:00
d83acc1c4c Slip ansible 5 release [alternative] (#75529)
* Fix link to core roadmap

* Slip ansible 5 release to account for ansible-core slip.
2021-08-26 13:53:01 -04:00
3d7f2a1366 Fix an exception when passlib library is used with a wrapped algo (#75527)
* Test a passlib wrapped algo with a password lookup

* Fix error when passlib is used with a wrapped algo

The exception was:

     An unhandled exception occurred while running the lookup plugin 'password'.
     Error was a <class 'TypeError'>, original message: issubclass() arg 1 must be a class

and can be reproduced using the following command:

    ansible localhost -i localhost, -mdebug -amsg="{{ lookup('password', '/dev/null encrypt=ldap_sha512_crypt') }}"

The concerned algo are: bsd_nthash, django_argon2, django_bcrypt, ldap_bcrypt,
ldap_bsdi_crypt, ldap_des_crypt, ldap_hex_md5, ldap_hex_sha1, ldap_md5_crypt,
ldap_pbkdf2_sha1, ldap_pbkdf2_sha256, ldap_pbkdf2_sha512, ldap_sha1_crypt,
ldap_sha256_crypt, ldap_sha512_crypt, roundup_plaintext
2021-08-26 09:58:42 +10:00
baa20fba2f allow vars_files to use dwim (vars/) and vaults (#75526)
* allow vars_files to use dwim (vars/) and vaults

*  also fixed bug with temp file cleanup, some pythons dont like it when you alter loop

Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com>
2021-08-25 14:04:27 -04:00
bb2e45873c updated 'Installing Ansible on Debian' details (#75567) 2021-08-25 13:43:48 -04:00
b37a0630da Revert "use versioned doclink for url references (#74245)" (#74782) 2021-08-24 12:35:37 -05:00
59dd5704ca Allow make docs to use PYTHON variable (#75559)
The GENERATE_CLI command does not take into account a user overriding
the PYTHON variable.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2021-08-24 11:29:28 -04:00
2ba9e35d09 yum: fix yumstate when wildcards are used in list arg (#75545)
Fixes #74557

* map is not available on centos 6's jinja...
2021-08-24 11:17:08 -04:00
3ca50a2200 Clarify get_bin_path error message (#75544) 2021-08-24 11:16:12 -04:00
ff72908b4d Fix --list-hosts when undefined var is used (#75533)
fixes #75354
2021-08-23 15:17:19 -04:00
a661e44f6e Update the porting guide for a new ansible version (#75457) 2021-08-20 11:53:23 -04:00
1dc495405f Added missing colon in note (#75465)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-08-20 11:49:28 -04:00
51f2f1ac5e yum: fix parsing of check-update with subsequent empty lines (#75452)
Rather than adding further complexity to the regex, preprocess the output to
remove any empty lines. Now the only purpose of the regex is to fix
wrapped lines.

Fixes #70949
2021-08-20 11:30:33 -04:00
9505f8c75d dnf: allow for download_only to be run without root (#75532)
Fixes #75530
2021-08-20 05:20:53 +10:00
91319c5cfc Avoid accessing delegated vars when you dont have a host (#75524)
* 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
2021-08-20 05:10:00 +10:00
b554aef3e1 More options for password passing (#73117)
* add 'file options' for become and connection pass
* implemented getting passwords from file or script
* added config entry
* fixed env var name and noted executable behaviuor

Co-authored-by: Rick Elrod <rick@elrod.me>
2021-08-19 12:18:30 -04:00
214f0984a9 Dump keyword data (#75446)
* Add keywords to ansible-doc dump

  also fixed issue with async
2021-08-19 11:42:23 -04:00
1c34492413 dnf: align the return value of the list argument with yum (#75501)
* dnf: align the return value of the list argument with yum

Fixes #75483

* Add integration test
2021-08-17 11:11:07 -04:00
13e6bd9232 ssh: Update docs (#75253)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-08-16 11:03:50 -04:00
99a79e1969 ansible-test - Move code from _data to _util. (#75495)
* Update paths to match relocated files.
* Update ansible-test symlink paths.
* Update path classification.
* Update MANIFEST.in
* Update sanity test context paths.
* Update sanity ignores.
* Update shebang sanity test.
* Update configure-remoting-ps1 sanity test.
* Update BOTMETA.yml to reflect new paths.
* Update paths in collection loader comments.
* Update Makefile for ansible-test.
* Update docs.
* Add changelog fragment.
2021-08-12 15:07:06 -07:00
394860560a remove core docs build warnings (#75496) 2021-08-12 15:58:54 -05:00
bc22f70a21 Add host information to the retry print statement (#75494)
* Add host information to the retry print statement

* Add changelog fragment reflecting retry print change
2021-08-12 12:57:30 -07:00
7a9246a219 ansible-pull, restore repo options (#75491) 2021-08-12 12:52:24 -07:00
3ecf438e66 jinja2_native: short-circuit literal_eval for non-strings (#75484) 2021-08-12 12:47:33 -07:00
351f122e24 Update playbooks_tags.rst (#75472)
##### SUMMARY
When I used this example it complains with:

ERROR! The tasks/main.yml file for role 'myrole' must contain a list of tasks

The error appears to be in 'ansible/roles/myrole/tasks/main.yml': line 2, column 1, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

---
tasks:
^ here

Removing "tasks:" fixes it.


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2021-08-12 12:43:20 -07:00
a88741cf14 dnf: properly capture transaction error (#75444)
Fixes #72651
2021-08-12 12:14:23 -07:00
d652b19e11 Docs: clarify dir names for local plugins (#75157)
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
Co-authored-by: Sandra McCann <samccann@redhat.com>
2021-08-12 11:47:27 -04:00
3c3e30a610 Docs: Add Matrix as a chat option (#75406) 2021-08-12 11:47:02 -04:00
03083c3139 setup module, dont truncate hpux interfaces (#75423)
* setup module, dont truncate hpux interfaces

  fixes #70533

 no hpux to test so relying on man page and users that reported successful testing
2021-08-12 10:13:36 -04:00
3d872fb5e8 Add new comment attribute to template plugin (#69253)
* Add new comment attribute to template plugin

Add comment_start_string and comment_end_string attribute to template
plugin


Co-authored-by: Hossein Zolfi <h.zolfi@inside.sahab.ir>
2021-08-12 09:46:02 -04:00
2b463ef197 ansible-test - Upgrade pylint to 2.9.3. (#75480)
* ansible-test - Upgrade `pylint` to 2.9.3.
* Update pylint ignores due to rule name change.
* Disable pylint deprecated-class for compat code.
* Add pylint ignores for test support content.
* Add ignores for arguments-renamed in lib/ansible/
* Add pylint ignores for collection_loader.
* ansible-test - Ignore deprecations in legacy collection loader.
* ansible-test - Suppress pylint consider-using-with
* ansible-test - Suppress pylint false positive.
* ansible-test - Suppress pylint consider-using-with.
* ansible-test - Suppress pylint deprecated-module
* Disable some of the new pylint suggestions.
* Remove unnecessary six usage from string_format pylint plugin.
* Remove obsolete ignore entry.
2021-08-11 21:04:42 -07:00
5af0420cab hacking - account for job names that contain separators (#75454)
Some job names contain '/' which causes the download job to fail.

Example job name: `Post-job: Checkout ansible/ansible@refs/pull/75445/merge to ansible.log`
2021-08-11 20:33:23 -07:00
7450e87615 Fix up string splitting to prepare for pylint update. (#75479)
* Use rsplit with maxsplit in BaseCacheModule.
* Use maxsplit for accessing first item.
* ansible-test - More efficient splitting.
2021-08-11 15:44:50 -07:00
ce6d8a143c Code cleanup to prepare for pylint update. (#75475)
* user - Remove unused code.
* Replace deprecated abstractproperty decorator.
* Fix __all__ to be a tuple.
* Use a generator in subelements lookup.
* Use from import in basic.py
* Add changelog fragment.
* Fix selinux unit test.
2021-08-11 17:47:23 -04:00
dc6878007b Add AnsibleFest banner (#75476)
* add AnsibleFest banner

* fix nit
2021-08-11 15:40:18 -05:00
a5b0626176 Cleanup hacking scripts to prepare for pylint update. (#75474)
* Use generator in get_recent_coverage_runs.py
* Use from import in test-module.py
2021-08-11 13:18:40 -07:00
04009a77e6 Clean up unit tests to prepare for pylint update. (#75473)
* Fix argument name in mocked function.
* Use from import in unit tests.
* Remove unused imports.
2021-08-11 13:08:31 -07:00
ca2d2c5f38 ansible-test - Cleanup to prepare for pylint update. (#75469)
* ansible-test - Fix use of abstractproperty
* ansible-test - Use dict.items() where possible.
* ansible-test - Remove unused code.
* ansible-test - Cleanup issues reported by pylint.
* ansible-test - Use dict.items() where possible.
* ansible-test - Use generator.
2021-08-11 11:47:18 -07:00
39605cdcce docs: missing colon for a note (#75453) 2021-08-11 16:58:43 +05:30
e24eb59de5 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>
2021-08-10 18:00:03 -04:00
0055a328b3 Also allow .yml. (#75439) 2021-08-10 14:11:16 -05:00
cea4886c7c Update test container versions (#75447)
* Update test container versions to use the most recent which contain Python 3.10.0 RC1
2021-08-09 17:52:57 -07:00
377becd609 add diversity working group to list of working groups (#75228) 2021-08-10 00:09:09 +02:00
61b81bcd10 Docsite: improve reporting_bugs_and_features.rst (#75234)
* Docsite: improve reporting_bugs_and_features.rst

* Add clarification
2021-08-09 16:49:25 -05:00
c127843698 Fix typo in porting_guide_4.rst (#75442)
paramater -> parameter
2021-08-09 16:42:19 -05:00
fae299708f plugin attributes: make validate-modules strict again, improve version_added support (#74602)
* Add basic schema for attributes.

* Support attributes for version_added_collection adding mechanism.

* Add changelog fragment.

* Support new attribute properties from #74331.

* Require additional properties strictly.
2021-08-09 10:22:09 -05:00
e23fdee45e Fix dnf test assertion (#75426) 2021-08-06 16:56:33 -04:00
d9d98740f2 new antsibull supports breadcrumbs toggle (#75424)
* new antsibull supports breadcrumbs toggle

* let antsibull versoin float free

Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2021-08-06 21:21:32 +02:00
f1ad6cf479 added more attributes for existing facilities (#74331) 2021-08-06 12:23:24 -05:00
75e6bdb579 ensure we convert path in warning or py2.6 breaks (#75413) 2021-08-06 05:21:23 +10:00
b541a148d5 Fix dnf package matching (#75411)
* 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
2021-08-06 05:19:53 +10:00
b8ebf32d85 Add sanity tests which ensures that _info and _facts modules set supports_check_mode=True. (#75324) 2021-08-05 11:11:42 -04:00
5a38076568 Globals should be accessible when importing a template without the context (#75384)
Fixes #75371
2021-08-05 09:59:54 +02:00
1b95b1e7a4 Fix typo in developing_plugins_network.rst (#75382)
extention -> extension
2021-08-05 11:18:58 +05:30
2455d82c14 Make sure self doesn't end up in fake.args (#75403) 2021-08-04 13:38:48 -05:00
fa7482c63a Change interpreter discovery defaults to silently prefer Python 3 (#75049)
Push /usr/bin/python to almost the bottom of the barrel. This makes the strategy to prefer
specific versions of the "mystery meat" version.

* Change INTERPRETER_PYTHON default to 'auto'
    Change description to match change in behavior.
    Change deprecation message to a warning.

* Update docs
* Add porting guide entry
* Update unit tests
* Update integration test
* Allow INTERPRETER_PYTHON_FALLBACK to be configure using a variable
* Prefer platform-python above other Python 2 interpreters
* Add Python 3.10 to the list of interpreters
2021-08-04 14:17:32 -04:00
8d41b97329 Skip python interpreter discovery for 'forced local' module execution (#74824)
mostly for use with network_os
  use 'remote is local' property as indicator
  ensure task_vars are as expected in test
2021-08-04 11:41:58 -04:00
1d2af0b89e ansible-test - allow for the same listening port on multiple interfaces (#75387) 2021-08-03 16:45:12 -04:00
c8d413164d ignore/warn for undefined vars in unused handler names (#75244)
* Make undefined variables in handler names non-fatal if the handler is not used

* If the handler has no way to be notified (i.e. the name can't be templated and the handler has no listen topics), display a warning

* Add tests for variables in handler names

* changelog
2021-08-03 15:16:19 -04:00
d8dcfe737a ansible-test - add ssh debugging logging (#75374) 2021-08-03 10:26:18 -07:00
7d2b80371d fix quick typo (#75373)
fix a small typo introduced in #75343
2021-08-03 10:09:51 -04:00
22aa6dedc9 fix yaml version issue with config yaml dump (#75344)
now tests can run in other pythons (really yaml pkg versions)
  also cleaned up diff_failure for unimplemented flow
2021-08-02 10:33:16 -04:00
549d258c30 Update guide_aws.rst (#75375)
Update Links in AWS Guide.
2021-08-01 18:36:36 +05:30
6607051b75 docs: clarify regex_search return value (#75343) 2021-07-30 18:08:03 -05:00
58e38044fe Fix when evaluation on Native Jinja and Python 3.10 (#75202)
* 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>
2021-07-30 17:27:49 +02:00
83039a38ad ansible-test - add RHEL 8.4 as a remote (#75362) 2021-07-30 08:19:05 -07:00
f6b27f6e35 Update test container versions (#75359)
* Update test container versions for default-test-container and ansible-core-test-container
2021-07-29 14:36:31 -07:00
7726b70d9a 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.
2021-07-29 12:47:54 -07:00
b22f976480 Remove duplicate any_errors_fatal test file (#75345)
test/integration/targets/any_errors_fatal/18602.yml is not run via
runme.sh and is testing the same as
test/integration/targets/any_errors_fatal/always_block.yml which is
actually run. The former file is safe to remove.
2021-07-29 12:26:41 -07:00
40ca87a963 Add packaging to requirement of ansible-test (#75356)
* 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
2021-07-29 11:50:29 -07:00
e2b0592f64 Update 2.12 roadmap for schedule change (#75350) 2021-07-29 11:29:58 -05:00
82bab063e7 service_facts, now more accurate on systemd (#75326)
* service_facts, now more accurate on systemd
2021-07-29 11:22:41 -04:00
4dca539a29 Expose unredirected_headers to uri and get_url modules (#75308) 2021-07-28 15:58:12 -05:00
767b2f07b0 Ensure Jinja2 template header overrides are used (#75306)
Fixes #75275
2021-07-26 10:38:41 -04:00
e5a2fe4c41 fix ssh cli defaults (#75245)
* fix ssh cli defaults

  fixes #75221
2021-07-23 12:12:49 -04:00
4d78b58540 Fix resolution of action/module names in module_defaults (#75284)
* Fix resolution of action/module names in module_defaults

* changelog

* Include legacy module_defaults entries for builtin plugins
2021-07-21 10:37:52 -07:00
13c28664ae Docs: talk about AWX or the Platform, not Tower (#74952)
* updates Tower page to talk about RHAAP

* updates scenario guide Tower references

* updates Tower references to use AWX and/or RHAAP

* more scenario guides fixes

* fix CI failures

* Update docs/docsite/rst/porting_guides/porting_guide_2.8.rst

* removes tower link

* for 2.8, still mention Tower along with AWX and RHAAP

* aws guides should be updated in the collection, where they now exist

Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2021-07-21 13:08:46 -04:00
0e9d1ab1cc incorporate minimalism feedback on distributing collections page (#75266) 2021-07-21 13:05:14 -04:00
d016499dcd Update network user guide to point to ansible.utils.cli_parse module and add docs for validate plugin (#75104)
* Update network user guide to point to ansible.utils.cli_parse module as ansible.netcommon.cli_parse is deprecated from ansible.netcommon 2.0.0 release
2021-07-21 10:04:45 -04:00
2a759cbe20 Update the porting guide for a new ansible version (#75292) 2021-07-21 09:39:07 -04:00
8372f34b67 docs: Update description and URL for the ara repository (#75283)
The repository has moved from /openstack/ to /ansible-community/ some
time ago.
2021-07-20 12:05:31 +05:30
5dfa9bdd9f Check if a string is possibly a template in ansible.template.is_template (#75092)
* Move is_possibly_template() to function
  Call is_possibly_template() from is_template() to avoid more expensive analysis if unnecessary.
2021-07-19 10:22:38 -04:00
1fc1ab89ae Add a test for deduplicating dependencies with include_role (#75259) 2021-07-15 12:32:00 -07:00
feed68f6f0 winrm - Add explicit env vars to pass into kinit (#75256)
* winrm - Add explicit env vars to pass into kinit

* Add ini entry and don't override existing env vars
2021-07-15 12:27:29 -07:00
61900c7672 modules moved to use best_parsable_locale (#75250)
* modules moved to use best_parsable_locale

* fixed invocations

* better better

* also module_utils

* converted to function as per fb

* patch testt

* whitespace
2021-07-15 12:18:01 -07:00
d527be8a52 set host_key_checking check to False, rather than if not (which captures False and None) (#75168)
* set host_key_checking check to False, rather than if not (which captures False and None)
* add host_key_checking default to ssh.py / update documentation
2021-07-15 13:22:18 -04:00
5e271dfc60 gitignore vendored dir (#75255)
but still accept __init__.py
2021-07-14 15:33:45 -04:00
3b861abce1 add action_groups support to collections (#74039)
* Canonicalize module_defaults actions and action_groups pre-fork and cache them on the play

* Call get_action_args_with_defaults with the resolved FQCN plugin and don't pass the redirect list

* Add validation for action_group metadata and a toggle to disable the warnings

* Handle groups recursively referring to each other

* Remove special-casing for non-fqcn actions in module_defaults groups

* Error for actions and groups in module_defaults that can't be resolved

* Error for fully templated module_defaults

* Add integration tests for action_groups

* Changelog
2021-07-14 13:33:28 -04:00
9af0d91676 fix option name for parsed (#75229) 2021-07-14 18:38:26 +05:30
f8bb182589 developing_collections_testing: Fix formatting (#75233) 2021-07-12 10:57:23 -04:00
a901ff2bc0 Allow docs-build to use a local ansible-build-data checkout.
This is useful for testing the effects on docs of changing what
collections are in a version of ansible.  ansible-build-data can be
cloned locally, modified, and then build-ansible.py docs-build can be
told to use the local checkout instead of the canonical one on github.
2021-07-08 22:54:24 -07:00
dc25197c15 Allow passing extra arguments to the build-ansible.py commands
This is useful for testing and debugging.  You can use the extra
arguments to specify a local directory for the collection list, for
instance.
2021-07-08 22:54:24 -07:00
e7a3715a90 recursive_diff: handle error when parameters are not dict (#74801)
Co-authored-by: Sam Doran <sdoran@redhat.com>
2021-07-09 10:37:50 +05:30
ac151e5ad0 become/su: Tell users not to include colon in customized list (#75084)
* Tell users not to include colon in customized list,  fixes #75076
2021-07-08 14:55:46 -05:00
8ab418f41b Disable jinja2_native warning in CI (#75214) 2021-07-08 15:15:55 -04:00
93e72c96f0 Update hacking env_setup to prefer Python 3 (#75213)
* env_setup - Prefer Python3

Prefer the 'python3' executable over 'python'.

* Add shebang for syntax detection

While the script isn't executable and we recommend sourcing it, having a shebang allows
variuos text editors to detect that it is a shell script and apply proper syntax highlighting.
2021-07-08 15:14:34 -04:00
3ba2243ba3 Replace self.module by my_module (#75196)
While implementing basic Ansible module testing I realised that the `self.module` used in some places is not actually a thing, and I changed to `my_module` to make it work as I understand it was expected.
2021-07-08 15:07:49 -04:00
1e00099753 Removed Galaxy banner (#75163) 2021-07-08 11:22:19 -05:00
67bc49e001 Restrict packaging to < 21.0 for Python < 3.6. (#75186) 2021-07-07 09:19:05 -04:00
bd03fa811b Include parent role vars as well as _role_vars (#75034) 2021-07-06 15:36:28 -05:00
21ba2967de Misc typo fixes (#75188)
Changed `Previouslly` to `Previously`.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-07-06 10:43:57 -04:00
a8de35e131 task_executor - use correct value for ssh connection retries (#75155)
Since the task and connection both have the same 'retries' keyword, the task default
would override the connection value.

Do not pass 'retries' from the task to the connection options.

* Set ssh_connection retries default value back to 0
  It was 0 before the move to config and was changed to 3 by accident.
2021-07-06 10:43:25 -04:00
23a84902cb Update the porting guide for a new ansible version (#75143) 2021-07-01 10:39:42 -05:00
363c1a3fba Vaultfilters (#74998)
add vault and unvault filters

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-06-30 10:24:00 -04:00
60c9f045cc Unfrack extra vars (#75127)
* Ensure we keep teh original path as per cli

  fixes #75126

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-06-30 09:39:11 -04:00
d9eb846534 Update vault script (#75074)
Update link to the `vault-keyring-client.py` file, which moved out of core.
2021-06-29 15:46:16 -05:00
d75d9443fc Bump sphinx_ansible_theme to v0.7.0+ (#75059)
This version relies on an external lib implementing lexers and styles.
That lib pulls in proper Pygments version so this patch also drops it
from direct requirements.
2021-06-29 10:23:04 -05:00
2eb9921b19 Prefer https:// links in the docs site (#75121)
This is a follow-up of previous years' 1a11cec and c8315bf. It deals
with links which at that point presumably either were not present or
did not support https://
2021-06-29 12:53:08 +05:30
f176cc1eda Remove create-repo.py script as it was changed to module (#75124) 2021-06-28 13:25:25 -04:00
16a74b798c module_common - handle cache directory creation collision (#75106)
* module_common - handle cache directory creation collision

Occasionally multiple workers can try to create the cache directory if it exists. Catch the exception
and handle it.

* Just re-raise if it doesn't exist rather than trying again

* Use exists_ok rather than handling an exception

* Remove unused import and unused variable

* Go back to try/except but with OSError

Since we do not have split controller remote, this needs to be able to run in Python 2 in order
to be merged currently.
2021-06-25 15:36:12 -07:00
230c00e937 README optimizations (#75115)
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2021-06-25 13:03:39 -04:00
29592aa3d4 Update YAMLSyntax.rst (#75113)
fix yaml-syntax example
2021-06-25 10:39:11 -05:00
03cb40e712 Fix baseurl handling in yum_repository test (#75096)
Since we moved yum_repository_test_repo.baseurl to file:/// format,
using urlsplit filter on it returned an empty string. Using an empty
string as a left operand of `in` was then always evaluated to True.

This was discovered with native jinja being on where urlsplit returns
None which results in a hard fail as None cannot be a left
operand of `in <string>`.
2021-06-25 05:19:24 +10:00
865bda3a11 Add a resolved_action task attribute (#74709)
* The resolved_action is the formatted version of the final plugin in the PluginLoadContext's redirect_list

* Collection plugins are represented as FQCN

* Legacy plugins are represented with only the plugin name

* Add tests

* Changelog
2021-06-24 12:51:03 -04:00
a4021977ad Fix structure of generic snippet feature (#74932)
* Fix struture of cli/doc.py snippet code.

A couple releases ago, cli/doc.py was modified to mostly conform to the
data processing pipeline steps.  format_plugin_doc() was the biggest
exception in that refactor.  When the snippet code was made generic
instead of being only for modules, the new code should have conformed to
the data processing pipeline too.

* Move the decision to output a snippet to the run() method alongside
  the decision to output a listing versus plugin_docs.
* Move the test for invalid plugin_types to the run() method as it
  affects all snippets in this run, not just a single snippet. (-t can
  only be specified once)
* Rename get_snippet_text() to format_snippet() as:
  * This is the data formatting step
  * The format_snippet() name matches with its conceptual sibling,
    format_plugin_doc().
* Use ValueError inside of format_snippet() to flag unrecoverable errors
  formatting a single snippet.
* Emit a warning when format_snippet() raises ValueError and continue to
  the next snippet.
* If the yaml(?) or toml inventory plugin is specified for snippet output,
  raise ValueError() so that the user sees a warning instead of simply
  seeing blank output.
* Do not modify arguments passed into format_snippet().  This is the
  formatting step so data should not be modified.
* Change _do_yaml_snippet() and _do_lookup_snippet() to operate side
  effect free.
* Fix raising of exceptions when formatting requred options for snippets.

* Unrelated: Use to_text() instead of to_native when calling
  display.warning(). to_native() is used for raising exceptions.  Not
  for display methods.

* Add a changelog
2021-06-24 08:34:46 -07:00
5d3d9ad8be docs: adds Ansible 5 roadmap (#75075) 2021-06-23 16:53:57 -04:00
ea0ba7bf30 update terminology based on recent IBM Style Guide word list (#75089) 2021-06-23 15:52:38 -05:00
415e08c297 Try to get best usable locale (#75033)
specially for when you have parameters in unicode but need
  to scrape responses, C is still the fallback

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-06-23 15:49:56 -04:00
f05bcf5693 update intersphinx links for Ansible 4 (#75099) 2021-06-23 14:32:03 -05:00
47c50c38bb Use antsibull-docs devel for devel docs (#74988)
* Require antsibull 0.34.0.
* Remove Makefile comment about the devel docs building only the core
(formerly base) docs; the behavior was updated in ccbfdec334
Currently 'make coredocs' builds core-only docs; 'make webdocs' builds the full docs even on the devel
branch

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2021-06-23 14:31:13 -05:00
2c0f050b4f Use antsibull sphinx extension (#73170)
* Use antsibull sphinx extension.

* Require antsibull 0.34.0.
2021-06-23 14:27:33 -05:00
58f26388be Update docs requirements list (#74956)
* removes upper bound on sphinx version
* updates versions of docs build dependencies, adds known good requirements file
* adds instructions for using known_good_reqs file
2021-06-22 13:58:54 -05:00
50b6d28ee1 Config init+ (#74914)
Can now specify plugin/plugin type for list and dump actions
 New 'init' action to create usable config sources 

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-06-22 12:21:59 -04:00
703cb79442 Implement async callbacks (#74953)
* add changelog and output from default callback
* add test
* add comments about TE task
2021-06-22 12:19:32 -04:00
ca6123e0ee Template suboptions in a role's arg spec (#75073) 2021-06-22 17:24:02 +02:00
3a8fc2d2be Syntax fixes for docs (#75086) 2021-06-22 20:48:20 +05:30
b0ae3f8a8d test: Unit tests for validation methods (#75061)
* check_required_one_of()
* check_required_by()
* check_required_if()
* check_missing_parameters()

Fixes: #55994

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-06-22 17:07:30 +02:00
6dbfd73174 YAML representer for VarsWithSources (#68525) 2021-06-22 20:03:18 +05:30
0f7f4e7b61 Add comma on role creation docs (#75064)
Adding a comma to make the sentence simpler to read.
2021-06-22 12:07:31 +05:30
aedc82da98 Clarify Vault password client naming requirements (#75060) 2021-06-22 11:58:54 +05:30
8e755707b9 Add 'hash_behaviour' option to include_vars module (#72944) 2021-06-22 09:29:53 +05:30
c404a9003f ansible-doc: improve version_added handling (#73602)
* Output version_added on top level, and improve version_added formatting

* Handle 'historical' version_added.
2021-06-21 16:27:00 -04:00
a7be495b7b Update plugin docs (#75050)
* edit existing plugin pages, headings, and links
2021-06-21 16:07:18 -04:00
ad203a7dbd Add page describing terminal plugins to docsite (#75066) 2021-06-21 09:47:42 -05:00
ec408a69f1 🔥 Drop unused core.css file
This is a forgotten leftover from #74318 that should've been removed
earlier.
2021-06-19 10:24:07 +03:00
38a11c3240 Fix typo in default_callback.py (#75051)
Changed beggining -> beginning
2021-06-18 10:01:11 +05:30
cd473dfb2f play - validate hosts entries (#74147)
* Change tests to pytest-style tests
* Add tests for invalid hosts
* Validate host inputs
  - check for empty values
  - check for None
  - check for values that are not a sequence and are not strings
  - add unit tests

* Move play name setting to get_name() and out of load()
* Add _validate_hosts() method
  By defining this method, it gets called automatically by FieldAttributeBase.validate().
2021-06-17 15:32:56 -04:00
e8ae7211da deprecate FileLock (#75032)
Co-authored-by: flowerysong <junk+github@flowerysong.com>
2021-06-17 15:14:41 -04:00
ce17498ec5 blockinfile - Remove unused code for Ansible 1.x. (#75040) 2021-06-17 10:32:42 -04:00
5e65d9834b tempfile - Remove unnecessary conditional. (#75039)
Also add integration tests for 100% code coverage.
2021-06-17 09:41:09 -04:00
afe6eb574e slurp - improve error code and test coverage (#75038)
* Improve the error handling code

Rather than multiple return paths, have a single return and set the message based
on the type of failure.

* Add another test for non-specific failures

* Reorganize tests so failure tests are in one tasks file

* Remove os.stat() call and add changelog
2021-06-16 15:08:34 -07:00
4ab791d501 command - remove unreachable code and achieve full test coverage (#75036) 2021-06-16 15:06:18 -07:00
4e608c02fb Add changelog and porting guide for _remote_checksum() deprecation (#75035)
I forgot to add it with the PR that made the changes.
2021-06-16 16:58:02 -04:00
be0cdc0ea2 deprecate _remote_checksum() and remove use in fetch (#74848)
* Remove use of _remote_checksum from fetch module
* Add deprecation message displayed during runtime
* Increase test coverage for fetch
* Add tests covering the use of stat from the fetch module

    This required creating an unpriveleged user account and connecting as that user remotely since
    it is not possible to create a file that the root user cannot stat.

* Use fact caching to persist remote tmp dir across playbook runs
* Add variables to setup_remote_tmp test role to allow caching of the remote temp dir fact
  and preventing removal of the remote_tmp_dir
2021-06-16 13:51:07 -04:00
5a5a1882d4 Added FAQ entry for complex validation needs (#74707)
* Added FAQ entry for complex validation needs

* updated validate docs

* fix

* longline

* Apply suggestions from code review

Co-authored-by: Sandra McCann <samccann@redhat.com>
2021-06-16 13:43:01 -04:00
0467b1d477 file integration test - cleanup testing users and group 2021-06-16 10:06:12 -07:00
5b8fb4dcd3 ansible-test: exposes tiny_prefix variable
ansible-test aws provider now creates and exposes a new tiny_prefix
variable to provide a shorter prefix for the AWS tests.
2021-06-16 10:04:58 -07:00
08fc43f3ea document keywords (#74046)
* document kewyords

  also minoir tweak to local action/connection

* made corrections
2021-06-16 12:46:21 -04:00
6fd61bb19f add option def/handling to lookup (#74495) 2021-06-16 12:44:02 -04:00
2e2a5829a2 Update FreeBSD Python version in intro_bsd.rst (#74938)
* Use the python pkg instead of a specific version
The python pkg contains a symlink to the default python interpreter.
2021-06-16 11:22:26 -04:00
3fa6e6d038 example hosts should match play (#74959) 2021-06-16 11:18:44 -04:00
b0f62062d3 Async task change handling (#75020)
Async task changes should be handled in the async_status task.
2021-06-16 11:16:30 -04:00
7d38bb05e4 small note about add_hosts/limit interaction (#74978)
clarifying the scope and applicability

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
Co-authored-by: Sandra McCann <samccann@redhat.com>
2021-06-16 11:13:11 -04:00
2387ce311f remove reference to container ML (#75014) 2021-06-16 10:47:26 -04:00
5df82415b5 collections_using.rst: add note that manual upgrade is required when installing collections from Galaxy (#75024) 2021-06-16 10:32:12 -04:00
4cb20f577b Fix env lookup docs typo (#75022)
- Fixed "impossbile" typo
2021-06-16 10:00:15 -04:00
79a0799082 fix typo in host_group_vars config (#75012)
* no need to deprecate, not used directly

  it just documents the use of the setting in loader
2021-06-15 18:03:01 -04:00
e6a7bc854c Only consider directories which do have .deps files other than ancestor.deps. (#74987) 2021-06-15 14:35:34 -05:00
7f6edd78f9 Move Docker scenario guide to community.docker. (#74736)
The scenario guide has already been added to community.docker in
ansible-collections/community.docker#140
2021-06-15 10:12:49 -05:00
58d8397771 psrp - cleanup command (#74985) 2021-06-15 07:33:56 +10:00
58450f041a Do not show empty version_added_collection values in ansible-doc text output. (#74999) 2021-06-14 17:26:40 -04:00
77e936bd50 async_status revert most changes, keep some fixes, undep module (#74931)
* revert most changes, keep some fixes, undep module

  too many corner cases, reverting major changes for controller
  side processing.
2021-06-14 16:39:59 -04:00
97acb0f470 role argspec - tag role argspec validation task with 'always' (#74994)
* update tag docs
2021-06-14 13:28:56 -04:00
d2d45900ed setup module, filter compensate for prefixes (#74924)
Allow user to abstract internal implementation from requested info
2021-06-14 09:32:28 -04:00
cf3a304ce1 psrp - Fix reset connection on failed scenarios (#74967)
* psrp - Fix reset connection on failed scenarios

* Update psrp-reset.yml

* Update changelogs/fragments/psrp-reset.yml

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>

* Update changelogs/fragments/psrp-reset.yml

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-06-12 12:01:23 +10:00
a8cf0196f7 subversion - fix stack trace when getting repository information (#74405)
* subversion - set LC_ALL for accurate command output parsing

When LC_ALL is not set, the output language of commands will differ based on locale. There
is a lot of history of trying to fix this. See the following pull requests:

https://github.com/ansible/ansible-modules-core/pull/4358
https://github.com/ansible/ansible-modules-core/pull/4358

This patch attempts to fix this my setting LC_ALL to a UTF-8 locale. Setting LC_ALL to C reintroduces this bug https://github.com/ansible/ansible-modules-core/issues/4178.

I'm sure there are some problems I am not seeing with setting this to en_US.UTF-8, but that is
the only way I could find to fix this bug without reintriducing the bug mentioned above.

* Rather than setting locale, just check for matches before trying to get groups

This is a pragmatic solution to avoid the stack trace since setting the locale correctly
to ensure message parsing is accurate is problematic.

* Improve regexps for finding revision and URL
2021-06-11 10:23:42 -04:00
9a21e24778 get_distribution - Return distribution for all platforms (#71641)
Since moving to distro, it is possible to return this information for all platforms, not just Linux.
Also return version information for all platfrom not just Linux.
Update unit tests.
Remove some duplicate unit tests though I think there are more to remove.

* Fix docstring formatting

* Minor docstring changes

* Mock distro.id for Solaris service test

* Update comment
2021-06-11 10:22:18 -04:00
4c8c40fd3d fix unsafe preservation across newlines (#74960)
* fix unsafe preservation across newlines

  CVE-2021-3583
  ensure we always have unsafe

Co-authored-by: Rick Elrod <rick@elrod.me>
2021-06-11 09:33:40 -04:00
473df5c13f fix doc: add possible state 'inactive' (#74928) 2021-06-11 14:58:00 +10:00
576e0f6404 Update the porting guide for ansible 4.1.0 (#74965) 2021-06-10 19:45:52 -05:00
675df166c2 fix ssh_transfer_method/scp_if_ssh defaults (#74925)
* fix ssh_transfer_method/scp_if_ssh defaults

  fixes #74922

* clog
2021-06-10 15:22:41 -05:00
50e998e303 apt_key: add --recv argument as last one (#74949)
* apt_key: add --recv argument as last one

* Add unit test

* Add the required boilerplate

Co-authored-by: Marius Gedminas <marius@gedmin.as>
2021-06-11 05:47:59 +10:00
81ad125aa6 Fix name of subkey. (#74939) 2021-06-11 05:34:04 +10:00
6539c59857 ansible-pull - update help info for --directory option (#74936)
* Update -d help info for ansible-pull

* fix pep8
2021-06-11 05:31:17 +10:00
5ac1b04929 Add support for unicode in ansible-inventory CLI (#74912)
* Add support for unicode in ansible-inventory CLI

Fixes #57378

* Add tests

* First test fix

* --output tests

* fix
2021-06-11 05:07:55 +10:00
0a5cc80ce2 slurp - handle error when path is a directory (#74930) 2021-06-10 10:25:48 +05:30
36287e9810 Remove ignores that are resolved on devel 2021-06-09 11:18:12 -07:00
3f694e9f02 Ignore smart quotes in the dev guide translation.
The smart quotes are in the warning message to not use smart quotes.
2021-06-09 11:18:12 -07:00
d45c2cec55 Localization: Import first set of translated files 2021-06-09 11:18:12 -07:00
1c4ca154fa improve inv plugin selectino for snippets (#74933)
* improve inv plugin selectino for snippets
* add warning on no snippet for inventory
2021-06-09 12:13:56 -04:00
346c7a765d Use sphinx_ansible_theme Sphinx theme in docs (#74318) 2021-06-08 14:38:23 -05:00
d9001f8fd0 Fix intro docs (#74843) 2021-06-08 09:27:21 +05:30
6d2398db28 expand doc snippets to lookups and other plugins (#74403)
Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2021-06-07 16:21:25 -04:00
004c33d9c5 unarchive - do not fail in init when trying to find required binary (#74892)
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
2021-06-07 12:59:06 -04:00
acf09e56a2 Update inventory script references from c.g to ansible-community/contrib-scripts. (#74905) 2021-06-07 11:37:39 -05:00
5dd8dc8fd0 minor service_mgr facts fixes (#74894)
* minor service_mgr facts fixes

  handle case in which ps command fails or returns empty
  updated tests since it now does keep trying to detect after ps fails
2021-06-04 15:28:41 -04:00
6840b79e56 bring back async_status module for direct callers
also, deprecate it, they should use action instead
Co-authored-by: Felix Fontein <felix@fontein.de>
2021-06-04 13:01:26 -04:00
e2658801f6 Add seed parameter to password lookup (#69775) 2021-06-04 12:20:44 -04:00
ffa548503d Wrap all results, regardless of register, except for actions with clean facts (#73161)
* Wrap all results, regardless of register, except for actions with clean facts. Fixes #21088

* ci_complete

* Add tests

* Add clog frag
2021-06-04 16:40:53 +02:00
e70fc88656 slurp - better error handling for unreadable files and directories (#68608) 2021-06-04 10:38:23 -04:00
26827f5039 ansible-doc fix displaying 'CLI' options for plugin docs
cli options will now display either use provided info, or automating from the name


Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
2021-06-04 10:22:39 -04:00
6a883f1cd6 better message and timeout warning when timeout (#74885)
* better message and timeout warning when timeout
2021-06-04 10:21:12 -04:00
3d8feed2cf Update playbooks_filters.rst (#74911)
Fix typo: 'sting' -> 'string'
2021-06-04 17:50:19 +05:30
33924d7e8d gives each banner a unique div ID (#74907)
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2021-06-03 16:51:31 -04:00
4f3ee4624e Add end_batch meta task (#74899)
* Add end_batch meta task

* Add note

* Fix sanity
2021-06-04 05:17:19 +10:00
ac77911491 Prevent conditional templating errors from masking task output. Fixes #37187 (#74891) 2021-06-04 05:11:01 +10:00
8f82e6327f ansible-cli: Remove unnessary trailing space (#74880)
Fixes: #74875

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-06-04 05:07:54 +10:00
840825b79c Allow omit to work with include_role from_args (#74879)
* Allow omit to work with include_role from_args. Fixes #66349

* Add clog frag
2021-06-04 05:07:16 +10:00
605b1a1c5c documents community 'extra docs' option in collections (#74886)
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
2021-06-03 14:22:21 -04:00
f88e81a62c updates links in comments to point to current docs (#74834)
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2021-06-03 14:00:24 -04:00
62fc4ad8da adds banner for GalaxyNG survey (#74889) 2021-06-03 11:22:49 -04:00
b023f34f4a service_mgr: Detect using symlink if proc/1 and ps fail
* runit and other alternative service managers tend to work via symlink so this covers most of em
* Fixes #74866.
2021-06-03 09:59:31 -04:00
9c718ccc42 Async status rewrite
-  remove need for module (at least for posix side)
  - adds retry with backoff on fetching file, since
    race is bigger since we don't spend time on module
  - now gives more info on fail
  - also made actionfail/skip handle results if given
2021-06-03 09:54:40 -04:00
e201b542be Ensure end_play ends play, not batch (#74332)
* Ensure end_play ends play, not batch

Fixes #73971

ci_complete

* Preserve result

* Move AnsibleEndPlay to TQM

* Add tests

* Add changelog

* Explaining comment

* Fix changelog name

* ci_complete
2021-06-03 09:26:22 +02:00
fe20546d36 first_found: clear up the skip option usage (#74816) 2021-06-03 11:41:46 +05:30
be9f8c69d1 unarchive: Fail when zipinfo is not available (#74632)
Fixes: #39029

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-06-02 10:09:42 +05:30
805799ac8b add pkcs11 support to Ansible ssh connection module (#32829)
* rebased with upstream

* removed extra usetty as it wasnt needed, style changes, added var option setable by inventory for pkcs11

* update pkcs11_provider version_added

* Update lib/ansible/plugins/connection/ssh.py

Co-authored-by: Jordan Borean <jborean93@gmail.com>

* Update lib/ansible/plugins/connection/ssh.py

Correct logic for a password being required for pkcs11_provider

Co-authored-by: Jordan Borean <jborean93@gmail.com>

* style nit fixes for checking pkcs11_provider is set

* fixed duplication when using password_prompt with pkcs11_provider

* added changelog fragment

* added changelog fragment

Co-authored-by: David Whiteside <david.whiteside@nrel.gov>
Co-authored-by: Matt Davis <nitzmahone@users.noreply.github.com>
Co-authored-by: Jordan Borean <jborean93@gmail.com>
2021-06-02 12:32:43 +10:00
d9183b8df5 dnf - replace usage of private attribute with supported API (#73529)
base._update_security_filters is a private attribute of DNF used
as performance optimization. Modification or even call from outside
of DNF is against all recommendation including PEP8.

* Improve compatibility with all DNF versions

* Add changelog fragment for dnf security change
2021-06-01 15:32:38 -04:00
ba2b1a6bf6 fact gathering, ensure we get some linux hardware info even if some fails/times out (#74714)
* Add resiliency to linux hw fact gathering

 Now traps unexpected exceptions on mounts and continues
 gathiering other info.
 Also gives more info on why mount info gathering failed.
 more info if debugging
2021-06-01 14:52:22 -04:00
8d39332c3d plugins: specify plugin types for get_option (#74799) 2021-06-01 13:46:04 -04:00
adc9e4a023 Updated ansible-test azure plugin help message. 2021-06-01 10:23:04 -07:00
01ab6c6ec7 Apply display_failed_stderr on loop item results (#74865) 2021-06-01 11:31:46 -04:00
70f22c7f32 Remove commented code (#74860)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-06-01 11:26:38 -04:00
41f42d6bf6 Update intro_bsd.rst (#74768)
OpenBSD 6.9 is out and the default version of Python is 3.8, with no more 3.7.
2021-06-01 10:43:15 -04:00
81c770e44a Update intro_getting_started.rst (#74786)
Changed confusing wording.  People new to ansible, like myself, have a hard time grocking what is a playbook and what is a task.   I changed the name of the playbook to make it clearer.
2021-06-01 10:38:17 -04:00
80e7e1a17c Due to the takeover of freenode we're moving to a different irc network. (#74775)
* Due to the takeover of freenode we're moving to a different irc network.

* Our channels updated to point at the same channel name on libera.chat
* Some links went to webchat.freenode.net.  At this time, libera.chat
  doesn't point you to an official webchat client so I changed these to
  https://libera.chat. (kiwi irc does work with libera.chat so that
  could be another option).
* In general, I used the name irc.libera.net for link names and
  https://libera.chat for link targets.  This is because the irc service
  is hosted on irc.libera.chat but the project web server is hosted on
  libera.chat.  (This appears to also be true for freenode but we were
  using http://irc.freenode.net which doesn't seem to work.  Oops).
* Removed http://irc.freenode.net from the linkcheck exceptions.
  linkcheck was actually correct to flag that as invalid (should have
  been http://frenode.net instead).

* Looks like hte important people in #yaml are now in libera.chat

* Link to where contributors should get help

Add a link target and then link to where contributors should get support
for developing groups of modules.

* Update docs/docsite/rst/dev_guide/developing_modules_in_groups.rst

Co-authored-by: Felix Fontein <felix@fontein.de>

Co-authored-by: John R Barker <john@johnrbarker.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
2021-06-01 08:48:09 +01:00
b0dcf0d164 collection: match skip message as per role install (#74861) 2021-06-01 09:44:01 +05:30
35a2345809 Fixed typo in yum package (#72964)
* yum: Fixed typo in failure message: nevra --> envra
* Added changelog fragment
2021-05-31 13:34:26 +05:30
e0558ac193 yum action plugin: 'use' as an alias of 'use_backend' (#70792)
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
Co-authored-by: rukmangathan <rukmangathan.annadurai@gigamon.com>
2021-05-31 09:48:15 +05:30
5640093f1c Use the module redirect_list when getting defaults for action plugins (#73864)
* Fix module-specific defaults in the gather_facts, package, and service action plugins.

* Handle ansible.legacy actions better in get_action_args_with_defaults

* Add tests for each action plugin

* Changelog

Fixes #72918
2021-05-27 19:06:45 -04:00
a5a13246ce ssh remove unused/unusable cli option ssh_args (#74846) 2021-05-27 17:16:54 -04:00
99a983c92c config: small typo fix (#74845) 2021-05-27 16:41:20 -04:00
148d4f6248 hostname: Add support for RedOS (#74844)
Fixes: #74779

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-05-27 21:18:48 +05:30
138b3b6851 hostname: add support for Anolis distro (#74829)
project website https://openanolis.org/

Signed-off-by: Liwei Ge <geliwei@openanolis.org>
2021-05-27 18:30:35 +05:30
774e563452 Use get_file_lines in hostname module 2021-05-27 13:15:52 +02:00
502270c804 hostname: clean up strategies
Apply #74744 and #69929 to #70828
2021-05-27 13:15:52 +02:00
2ad10ffe43 hostname: Make strategies consistent, drop py2.4
Change:
- Make strategies behave consistently and return the empty string
  instead of "UNKNOWN" (or "temporarystub") for the "before" value if
  the permanent hostname file does not exist or could not be read.
- Switch to `with open()` instead of annoying exception handling code
  (which was wrong and leaked file handles in several places). This
  drops Python 2.4 support for this module.
- Updated porting guide since users could be relying on these former,
  inconsistent values.

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-05-27 13:15:52 +02:00
8a0abed1ba [hostname] don't write in get_*() methods
Change:
- Hostname strategies' get_*() methods should never write to the
  filesystem. They are used in check_mode by default to determine if
  there is any work to be done.

Test Plan:
- New unit tests to ensure that (at least when in check_mode) the get
  methods don't ever call write.

Tickets:
- Fixes #66432

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-05-27 13:15:52 +02:00
16e1172292 Update docs for cloud maintained collections (#74373)
- AWS has moved to Zuul CI
- Kubernetes collection has been renamed
- OpenShift/OKD collection was missing
- ansible.windows is on Zuul and Azure Pipelines
- ansible.posix is on Zuul

Signed-off-by: Jill Rouleau <jill.rouleau@bespokess.com>
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-05-27 15:04:16 +05:30
ae50d05182 ini: Add parameter to allow no value (#74806)
ConfigParser allows to read key with no value.

Fixes: #50594

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-05-27 11:12:38 +05:30
397d3763ea ansible-test - Do not downgrade cryptography. 2021-05-26 13:31:03 -07:00
e5c3f6ce99 Revert "aync_status rewrite (#74577)"
This reverts commit b6de1984db.
2021-05-26 11:37:58 -07:00
a61821b626 misc typos (#74724) 2021-05-26 19:28:52 +05:30
b63512774b Update example and description of git:single_branch (#74796) 2021-05-26 18:57:18 +05:30
ef0055a806 add anchors (#74825)
LGTM @samccann
2021-05-25 13:52:26 -04:00
88d67b00f8 Update developing_collections_distributing.rst (#74820)
It is not clear that you can publish without configuring an ansible.cfg.  The `--token` can be displayed with the `ansible-galaxy collection publish -h`
2021-05-25 13:19:05 -04:00
b6de1984db aync_status rewrite (#74577)
remove need for module (at least for posix side)
2021-05-25 12:34:38 -04:00
ce556da7a0 Remove deprecated PlayContext.make_become_cmd (#74790)
* Remove deprecated PlayContext.make_become_cmd. Fixes #74136

* Linting issues
2021-05-25 12:01:22 -04:00
98138584b7 Don't mutate os.environ in AnsibleModule.run_command, make a copy, and pass to Popen (#74791)
* Don't mutate os.environ in AnsibleModule.run_command, make a copy, and pass to Popen. Fixes #74783

* Simplify code a bit

* More simple

* Address some other potentially non threadsafe operations

* Add if around umask

* Address unit test assumptions

* Add clog frag

* yaml syntax issue
2021-05-25 12:00:47 -04:00
df5ce3e672 Remove deprecated cache support from script inventory plugin (#74813) 2021-05-25 11:35:46 -04:00
d27ce4cef3 Remove deprecated features from ansible.playbook.helpers (#74809)
* Remove deprecated features from ansible.playbook.helpers. Fixes #74135
2021-05-25 11:35:17 -04:00
27f61db86b service: Document internal working of the module (#74726)
service module acts as proxy module for all service manager modules,
just like `package` module.
This is helpful in heterogeneous environments to manage services.

Fixes: #74507

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-05-25 20:55:21 +05:30
9c01a7e177 Remove deprecated PlayContext.make_become_cmd (#74790)
* Remove deprecated PlayContext.make_become_cmd. Fixes #74136

* Linting issues
2021-05-25 10:05:18 -05:00
aa650562d6 Remove deprecated PlayContext.make_become_cmd (#74790) 2021-05-25 11:04:31 -04:00
4a4ffbadc5 Remove deprecated PlayContext.make_become_cmd (#74790) 2021-05-25 11:03:55 -04:00
63701b1b6b hostname: Change "strategy" to "use" (#74815)
Fixed typo: 'strategy' to 'use'
2021-05-25 14:14:18 +05:30
870f943365 docs: Update Python 2 doc links (#74633)
* docs: Update Python 2 doc links

Update links from Python 2 to Python 3

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

* use docs.python.com/3/ everywhere, except onethat should remain 2.6

* refer to python 3 in module docs and comments

* format two python docs links as list

* updates links in unwanted.py test file

* per matt clay, this should link to python 2

Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2021-05-24 15:11:26 -04:00
52430d4228 dnf - fix whatprovides API block (#74764)
* Added additional query block
2021-05-24 13:02:28 -04:00
12f4b0db04 Fix typo in porting guide (#74812) 2021-05-24 11:53:51 -05:00
1bd7dcf339 encrypt: add new paramter 'ident' (#74595)
Add a new parameter `ident` for specifying version of BCrypt
algorithm. This parameter is only valid for `blowfish` hash type.
2021-05-24 11:46:37 -04:00
20ef733ee0 Update network_resources.rst (#74810) 2021-05-24 11:25:55 -04:00
b518aabf81 delegation fix (#74685)
*  delegation fix
2021-05-24 10:13:19 -04:00
015331518d windows: Add openssh installation link (#74765)
* Added a link to openssh installation on Windows

Fixes: #73490

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-05-21 11:00:39 +05:30
bc48eba896 Remove deprecated include vartags usage (#74780)
* Add clog frag
* Remove ignore
2021-05-20 15:32:52 -04:00
71e33d2578 version test - improve message when value is empty (#74754)
When an empty value is provided, no `version` attribute will exist on the `LooseVersion` or
`StrictVersion` object. We catch and handle this, but it's not immediatebly clear that an
AttributeError means an empty value was provided.

Specifically handle the case where value or version are empty and add more
helpful error messages.

Add integration tests.
2021-05-20 11:55:30 -04:00
83010f666d Fix coverage paths reported in AZP. (#74759) 2021-05-19 14:54:03 -07:00
724a0c867e Fix mistaken detection of atomic_container when rpm-ostree is present (fixes #74578) (#74579)
* Lower the priority of the atomic_container detection now that we have #73445 merged

* Add changelog fragment
2021-05-19 16:15:26 -04:00
d2d1f01f9d avoid literal quoting in config lists (#74740)
* added tests
2021-05-19 16:14:52 -04:00
888fea69e5 Fix small typo in playbook_filters doc (#74762)
Move versionadded to next line to render correctly.
2021-05-19 16:23:42 +05:30
cd8e3a2208 update conf.py (#74751) 2021-05-18 15:34:43 -05:00
138dfa4549 add release note and mark 3 unmaintained (#74749) 2021-05-18 15:33:26 -05:00
c0cb353ce1 Remove PyCrypto (#74699)
* Remove PyCrypto from setup.py and packaging script
* Remove mention of pycrpto from installation docs
* Remove PyCrypto from vault
* Remove pycryto constraint and unit test requirement
* Remove PyCrypto tests from unit tests
* Add docs and fix warning message
* Remove section about cryptography library in Ansible Vault docs
2021-05-18 16:12:32 -04:00
4bf420706b Improve and extend changelog logs (#74106)
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-05-18 15:02:59 -04:00
fbe5f9fd7d Update the porting guide for a new ansible version (#74752) 2021-05-18 14:50:07 -04:00
5266e1e1ab Fix broken Jinja website links (for tests) (#74746)
The various links to the Jinja website were broken, this commit fixes them.
2021-05-18 11:40:38 -04:00
8d7a5d9cb3 Fix broken Jinja website links (#74745)
The URLs to the Jinja website have moved, seemingly because of the renaming from `master` to `main` (hence from `master` to `latest` in the doc). This commit fixes that.
2021-05-18 11:39:43 -04:00
957a93a583 dnf - fix typo in message (#74720)
occured -> occurred
2021-05-18 11:19:54 -04:00
bdae72ef6c Add fallback for coverage report generation.
This should allow the same script to be used for two different scenarios:

- ansible-core across multiple versions (not all of which support `--docker` for coverage reports)
- collections (which should always use the `devel` branch for coverage reports)
2021-05-17 17:42:42 -07:00
2124dde5a6 Use --docker to generate coverage XML reports.
This is needed to provide `pwsh` for generating PowerShell coverage stubs.

ci_complete
ci_coverage
2021-05-17 16:57:04 -07:00
787f722d94 Fix combined coverage file detection.
Resolves an issue introduced with https://github.com/ansible/ansible/pull/74719
2021-05-17 16:26:14 -07:00
9cfedcd9c9 Add changelog for ansible-galaxy improvements (#74738)
Changelog for #74240
2021-05-17 16:31:13 -04:00
5333e4138c note about adhoc delegate_to hosts (#74687)
* Update docs/docsite/rst/user_guide/playbooks_delegation.rst
2021-05-17 13:24:26 -05:00
ce04056797 Expand delegation options for coverage commands. 2021-05-17 10:37:42 -07:00
e875e91363 ansible-test - use pwsh to generate stubs (#74271) 2021-05-17 10:00:06 -07:00
d8e6f21d9f ini lookup - add case sensitive option (#74630)
* Add tests for case-sensitive option
* Run all test playbooks from a single file
2021-05-17 11:41:23 -04:00
2f87b8760d docs: Add a note about ansible_date_time (#74636)
* For long-running playbooks, discourage users from using
`ansible_date_time`. Use `pipe` or `now` as an alternative.

* Review comments

Fixes: #22561

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2021-05-15 10:13:05 +05:30
bf9944266c Issue 73792: Removed mentions of R() and M() (#74708)
* 73792: Removed mentions of R and M
2021-05-14 14:48:21 -05:00
8d3dce49bf Remove incidental_setup_rabbitmq integration test
All tests using this have been removed.
2021-05-14 12:31:18 -07:00
39df263f1a intro: Add a note about current user (#74638)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-05-14 11:41:35 -04:00
25de07946c Fix typo on roles documentation (#74696)
##### SUMMARY
Small fix on the roles directory structure documentation

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2021-05-14 11:40:00 -04:00
91212b2008 Add JC filter plugin example (#74563)
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-05-14 11:37:29 -04:00
fa15d35cb1 Update AWS guides with new SDK and Python requirements (#74585)
The 2.0 collection releases will introduce new Python requirements
and a new SDK support policy
2021-05-14 11:35:45 -04:00
173d0a8de7 Skip interpreter discovery for network OSs(#74012)
skip python interpreter discovery on network os being set as this indicates a 'forced local' module and should use sys.executable.
2021-05-14 10:19:55 -04:00
51b5659598 replace - better handling of file exceptions (#74686) 2021-05-13 17:00:22 -04:00
bab7acb1ad update cron test added in #74497 for /etc/crontab (#74689) 2021-05-13 16:58:46 -04:00
35281e54d9 fix config to match doc split (#74665) 2021-05-14 05:20:32 +10:00
c6ac9de67b Do not remove non-empty cron tabs (#74497)
* Only remove crontabs if they are empty

* Add integration test to ensure system cron tab doesn't get removed. Increase cron integration tests separation.
* Also detect crontab which only contains whitespace as empty.
* cron integration test: Adjust system crontab path to be distribution specific.

Co-authored-by: Fabian Klemp <fabian.klemp@elara-gmbh.de>
2021-05-13 13:38:13 -04:00
1906d75907 Adding DigitalOcean cloud support to ansible-test (#74222) 2021-05-12 16:07:21 -07:00
d6e28e6859 Update vendored copy of six to 1.16.0 (#74680)
* Update to six 1.16.0

* Address linting issues

* Remove six find_spex/exec_module warning filters

* Remove unnecessary comment about Py2.6, 2.13 will not support Py2.6, and we're bumping this for 2.12

* ci_complete

* Add changelog fragment
2021-05-12 16:26:48 -05:00
0affe4d027 ini lookup - catch and handle duplicate key and missing section errors (#74629)
* Remove unused import
* Add integration tests for errors
* Cleanup formatting on existing tests
* Add changelog
2021-05-12 16:57:02 -04:00
829c9c3d46 updates jinja filters links with new pattern for Jinja 3.x documentation 2021-05-12 10:08:00 -07:00
8c34eaa69f Jinja intersphinx should point at 3.0; other updates 2021-05-12 10:08:00 -07:00
f99d024851 CI and compat fixes for Jinja2 >= 3.0 (#74666)
* Add constraint for MarkupSafe

MarkupSafe >= 2.0.0 requires Python >= 3.6.0. Add a constraint for older Python versions
and fix the `groupby_filter` test.

* Fix template_jinja2_latest test.

* patch filter decorators on newer Jinja2

* Jinja2 >= 3.0 renames several filter decorators used by Ansible itself, as well as by filters in collections. This patch ensures that the old names are usable within Ansible and by collections without warnings or errors.

* Ignore docs-build issues.

Co-authored-by: Matt Clay <matt@mystile.com>
Co-authored-by: Matt Davis <mrd@redhat.com>
2021-05-11 19:59:44 -07:00
8f2c0e0574 Update the porting guide for ansible-3.4.0 (#74664) 2021-05-11 16:14:29 -05:00
1006363589 basic: Skip over module parameters (#74559)
While logging, journal.send accepts module parameters.
If module parameters similar to arguments in journal.send,
rename the parameter names before sending to journal.send

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-05-11 15:05:56 -04:00
2c93b22043 use self.host which will always be updated (#74574)
* use self.host which will always be updated

  pc remote_addr is not correctly updated in all cases
2021-05-11 14:49:56 -04:00
8d1cf7f266 Vendor distutils.version (#74644)
* Vendor distutils.version

* Fix import order. ci_complete

* remove distutils warning filter

* Don't remove warnings filter from importer

* ci_complete

* Add pylint config for preventing distutils.version

* Add changelog fragment
2021-05-11 12:33:51 -05:00
79e12ba98e docs: Add a note about crypt (#74640)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-05-11 11:39:08 -04:00
ddaa539ab1 Better handling of rstisms in ansible-doc (#74596)
* Better handling of rstisms

  replace tags more intelligently to make things more readable
  unit tests + minor adjustments
2021-05-11 11:31:20 -04:00
60a03a0f87 Add missing 'why:' to 'deprecated:'. (#74639) 2021-05-11 17:19:59 +02:00
7195367635 update docs copyright (#74643) 2021-05-11 10:16:27 -05:00
cf11c38caf Exclude unreachable hosts in ansible_play_batch between plays (#74625)
ci_complete
2021-05-11 17:12:34 +02:00
df6554c4ec fix: action _fixup_perms2 macos +a remote_paths in list() as it can be a tuple (#74613)
* fix: action _fixup_perms2 macos +a remote_paths in list() as it can be tuple

in `lib/ansible/plugin/action/__init__.py`'s `_fixup_perms2`,
`remote_paths` can be a list or tuple. however, the macos
specific attempt to use chmod +a attempts to concatenate
`remote_paths` with a list, which will fail if it is a tuple.
wrapping `remote_paths` in `list()` fixes this error.

* Update changelogs/fragments/74613-actionfixup_perms2_macos_remote_paths_ensure_list.yml

Co-authored-by: Rick Elrod <rick@elrod.me>
2021-05-11 17:08:33 +02:00
8fb54885bf Role argspec: allow new argument spec file (#74582)
* support separate role argspec file in ansible-doc

* support separate role argspec file in ansible-core

* support both .yml and .yaml extensions on argspec file in ansible-doc

* fix filename building bug and rename some argspec files to test variations

* use yaml extensions from constants

* add superfluous meta/main.yml files to tests

* Update lib/ansible/cli/doc.py

Co-authored-by: Sam Doran <sdoran@redhat.com>

* update docs

* ci_complete

* add changelog and allow for main.yml variations

* add collection role testing

Co-authored-by: Sam Doran <sdoran@redhat.com>
2021-05-11 09:29:47 -05:00
f6c292d210 Remove unused CI scripts. 2021-05-10 19:47:31 -07:00
d244e47822 Update Python versions for controller-only tests. (#74652)
* Update Python versions for controller-only tests.

Both `ansible-galaxy` and `ansible-test` integration tests only run on the controller.

* Use a venv to make requirements available.
2021-05-10 18:25:53 -07:00
7b0c4845d9 Remove PyYAML warning filter in import test.
The filter is obsolete now that PyYAML imports go through our compat layer.
2021-05-10 16:57:45 -07:00
bdffb59978 Update Python versions used to run network tests. (#74647) 2021-05-10 15:06:09 -07:00
d85809d592 Update Python versions used to run Windows tests. 2021-05-10 10:30:41 -07:00
7f7d3067e3 adhoc clarify help (#74616)
also added comments to code
2021-05-10 13:28:59 -04:00
ee725846f0 ansible-galaxy - increase page size and add retry decorator for throttling (#74240)
* Get available collection versions with page_size=100 for v2 and limit=100 for v3

* Update unit tests for larger page sizes

* Add a generic retry decorator in module_utils/api.py that accepts an Iterable of delays and a callable to determine if an exception inheriting from Exception should be retried

* Use the new decorator to handle Galaxy API rate limiting

* Add unit tests for new retry decorator

* Preserve the decorated function's metadata with functools.wraps

Co-authored-by: Matt Martz <matt@sivel.net>
Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
2021-05-10 13:26:41 -04:00
51fd05e76b Add support for testing with Python 3.10. 2021-05-10 08:23:15 -07:00
bcb64054ed Another unit test fix for Python 3.10. (#74628)
* Another unit test fix for Python 3.10.
* Add missing __init__.py file.
2021-05-07 17:26:41 -07:00
d4413dac08 Fix unit tests on Python 3.10. 2021-05-07 16:56:30 -07:00
2f7e0b8489 user - consistently create user home directory on Linux (#71952)
Always use create_homedir when we are asked to create a home directory
in the User class. Don't use the -m and -k parameters from
useradd / luseradd as they behave differently with respect to
preexisting home directories. Instead always specify -M to ensure
that useradd / luseradd do not try to create the home directory.

This does not change potential different behaviours in child classes
of the User class.

Consider the new umask option from #73821 in create_homedir as well as
we do not let luseradd / useradd create the home directory any longer.
2021-05-07 17:00:10 -04:00
2e97240c67 Ignore more Python 3.10 warnings in import test. 2021-05-07 11:19:22 -07:00
69f3447b6b Remove 'default:' from config settings (#74607) 2021-05-07 10:31:32 -04:00
403a5d147d modules: get_url: Fix checksum binary validation (#74502)
From the sha512sum man page:

... The default mode is to print a line with checksum, a character indicating type ('*' for binary, ' ' for text), and name for each FILE.
2021-05-07 10:29:22 -04:00
4d7dc15d4e service - compare version without LooseVersion (#74508)
The distutils module is not shipped with SUNWPython on Solaris.
It's in the SUNWPython-devel package. Do not use LooseVersion.

Fixes: #74488

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-05-07 10:22:00 -04:00
a277644301 Add python 3.10 constraint for pyspnego (#74612) 2021-05-06 23:53:50 -07:00
e6d7aecbe4 Reorganize more ansible-test code. (#74611)
* Split out shell command.
* Relocate ansible-test integration code.
2021-05-06 17:59:07 -07:00
065fc3ca17 Remove check for legacy core and extras dirs. 2021-05-06 17:58:25 -07:00
5487e9e4fd Update runtime-metadata sanity test for Python 3.10. 2021-05-06 15:12:06 -07:00
8cccabf1eb cron: removal of deprecations and minor fix (#73591)
* removal of deprecations and minor fix

  name or cron_file is required.
  reboot was removed.
  updated docs to clarify usage.
  now using cron_file=/etc/crontab is an error

  fixes #37355
2021-05-06 18:05:06 -04:00
cbac26e500 Update import sanity test for Python 3.10. 2021-05-06 14:55:41 -07:00
2c3a3bdd9c Update pylint sanity test to work on Python 3.10. 2021-05-06 14:46:12 -07:00
c2e15f45a6 Update ansible-test compile sanity test.
The test has been rewritten to improve error handling and add support for Python 3.10.
2021-05-06 13:51:45 -07:00
35ff4ea95b warn on walking through pathing issues (#74514)
* warn show pathing issues when wallking through provided paths

  moved issues from msg to actual warnings AND a specific return field

  fixes #25314

Co-authored-by: Sam Doran <sdoran@redhat.com>
2021-05-06 16:14:33 -04:00
5463cbb841 Docs: communication.rst - add ansible-community to the IRC channel list (#74570) 2021-05-06 15:10:53 -04:00
55b401a3e7 pause - ensure control characters are always set appropriately (#74568)
* pause - ensure control characters are always set appropriately

On some systems, curses.tigetstr() returns None, which does not work as a control character.

* Add unit tests

* Sort imports

* Skip on older Python

This is an action plugin and only runs on the controller, so no need to test of Python 2. Making
the import hackery work on Python 2 would required some more work which I am not sure is
worth it since we are moving away from Python 2 support on the controller.

* Make the tests work on Python 2 and 3
2021-05-06 15:09:26 -04:00
a6cc508822 Update the module lifecycle document to also cover plugins and collections (#74413)
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-05-06 10:16:43 -04:00
74647a1314 systemd doc update (#74442)
Document that systemd module manages units (timers, services, ...) and not only service. (#74442)

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
2021-05-06 09:49:42 +05:30
dcb807dea7 Update cli_parsing.rst (#74555)
Bad indent in an example
2021-05-06 09:34:07 +05:30
07fb6f7547 Fix imports for the previous commit.
Also add a changelog entry.
2021-05-05 18:56:29 -07:00
92c40f6365 Relocate change classification files. 2021-05-05 18:56:29 -07:00
5dfc7ee078 Remove Shippable CI provider from ansible-test. 2021-05-05 17:42:13 -07:00
8bd599d048 Change Shippable refs in docs to Azure Pipelines. 2021-05-05 17:21:48 -07:00
c48f80d062 Rename hacking/shippable to hacking/azp.
References to Shippable were changed to Azure Pipelines.

Also remove rebalance.py as it does not work with Azure Pipelines due to the required data not being present.
2021-05-05 17:21:14 -07:00
df2ae06d46 Fix ansible-test imports and paths after refactor.
Also include a changelog entry covering this commit and the previous.
2021-05-05 16:20:15 -07:00
bb3904d299 Reorganize command implementations.
This commit only renames existing files.

Changes to adapt imports will occur in a follow-up commit.
2021-05-05 16:20:15 -07:00
aea0c4dd1b Fix inventory cache prefix typos (#74523)
* Fix section for inventory cache prefix

* Redirect general config inventory cache options to inventory plugin documentation

* Update the template to fix the docs-build error

* removes 'default' entries for config settings with default: ''

* single backticks => italics, double backticks => code

* use 'Default: ~' to match other entries that have no default setting

Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2021-05-05 13:27:40 -04:00
38dd49eb00 ansible-inventory: Handle exception in toml parsing (#74486)
Handle stacktrace raise while parsing inventory in toml format

Fixes: #74404

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-05-05 14:12:52 +05:30
68e9e1c999 Switch incidental OS X tests to macOS. (#74564)
* Switch incidental OS X tests to macOS.
* Rename incidental osx.sh to macos.sh.
2021-05-04 11:46:46 -07:00
728b52a6ff Use /usr/bin/python3 on rhelish 9+ (#74547)
The /usr/libexec/platform-python symbolic link is just a backwards compatibility shim there.

See ce226d00fa
2021-05-04 12:48:16 -04:00
4627c30b2e interpreter_discovery: Hide warning in auto_silent (#74509)
Hide warning "No python interpreters" in auto_silent mode.

Fixes: #74274

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-05-04 12:01:49 -04:00
b0389c7f11 [cli] remove superfluous trailing space from help (#74551)
Change:
- After we output the newline in help text, we also added a space. This
  caused either a space to show up before the shell prompt (in shells
  like bash), or " %" and a newline before the next prompt on shells
  like zsh that automatically force commands to end with a newline.
- This change removes the extra space, so that peace can be restored in
  the minds of many.
- This only showed up when running commands with no arguments or invalid
  arguments.

Test Plan:
- Ran `ansible`, `ansible -h`, `ansible-playbook`, `ansible-galaxy`, and
  `ansible-galaxy -h`.

Tickets:
- Introduced in #69458

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-05-04 11:42:17 -04:00
c6fda9fc1a [coverage] improve test coverage for together lookup (#74549) 2021-05-04 11:41:22 -04:00
4f0a9488bb [coverage] improve test coverage for indexed_items lookup (#74548) 2021-05-04 11:41:02 -04:00
244bf9c640 [coverage] improve test coverage for vars lookup (#74546) 2021-05-04 11:39:04 -04:00
30912b6a47 dont specify default for port, allow ssh/config (#74526)
* dont specify default for port, allow ssh/config

 also added general note on how defaults work.

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
Co-authored-by: Sam Doran <sdoran@redhat.com>
2021-05-04 11:09:05 -04:00
d101009688 facts - set correct OS family for Rocky Linux (#74530) 2021-05-04 10:14:13 -04:00
2d41e5f99a hostname - add Rocky Linux support (#74545) 2021-05-04 09:11:44 -04:00
728e43bc59 callback_default test - Reduce sleep time to correct CI failures
For unknown reasons, these tests started failing recently because the results
from testhost11 are being returned before testhost10, but only when coverage is
enabled.

Setting the initial host sleep time to 0 fixes this failure.

ci_coverage
2021-05-03 17:55:10 -07:00
fb0d5609cb Code cleanup in ansible-test. (#74529)
* Fix get_available_python_versions calls.
* Make run_playbook vars optional.
* Use ansible_pipelining in inventory.
* Fix type hint.
* Fix order of conditional evaluation.
* Remove unused ibmi platform.
* Add changelog fragment.
2021-04-30 18:50:00 -07:00
ca507ff477 Integration test fixes. 2021-04-30 17:59:28 -07:00
daecb30ac9 The apt_key module did not properly handle GnuPG errors for certain actions (#74478)
* Not all GnuPG return codes were analyzed (rc != 0) and not all relevant GnuPG error information was returned by the 'ansible.builtin.apt_key' module (https://github.com/ansible/ansible/issues/74477)

* Update changelogs/fragments/74478-apt_key-gpg-error-check.yaml

Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
Co-authored-by: Sam Doran <sdoran@redhat.com>
2021-04-30 16:53:41 -04:00
38fb05102c Makefile: Allow one to specify python version (#74517)
Change:
- Allow overriding python version as env var for Makefile
- Including hacking directory in git export, for docs build

Test Plan:
- Tested as part of recent downstream work

Co-authored-by: Yanis Guenane <yguenane@gmail.com>
2021-04-30 16:23:41 -04:00
9bd70045c9 Fix BaseFileCacheModule#keys to respect prefix (#72789)
* Fix BaseFileCacheModule#keys to respect prefix

Change:
- Previously BaseFileCacheModule#keys would return keys with the cache
  prefix. These keys are impossible to retrieve from the cache without
  removing the prefix or using the cache without a prefix.
  Now it removes the prefix from the key and only returns keys that
  share the same prefix as the cache.

Test Plan:
- New unit tests

* Add explicit BaseFileCacheModule#keys test

Test that files that do not match the cache prefix are ignored.
Test that the prefix is removed from the cache key.
2021-04-30 15:28:28 -04:00
d8c20a73a4 [ansible-test] Add Fedora 34, update Fedora 33 (#74506)
Change:
- Added Fedora 34 container image to docker.txt
- Dropped Fedora 32 from CI
- Added Fedora 34 to CI
- Updated Fedora 32 and 33 containers for ssh-related fixes
- Move cron fix from 698eae3f3d into
  cron_setup and make it more generic; it can affect modern distros too.

Test Plan:
- ci_complete

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-04-30 11:35:12 -05:00
6ea81b84ed apt_key - correct error message about the failure to import a 'gpg' (#74476) 2021-04-30 12:06:38 -04:00
b765d3799b update backporting instructions to reflect new latest stable branch, some edits (#74512)
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2021-04-30 11:42:03 -04:00
d147c1ef1f apt_key test - Change the URL of the GPG key to S3 and remove it from the repo (#74483) 2021-04-30 10:44:50 -04:00
a30c55f68a Remove deprecated common.removed module_util.
Tests have been updated to reflect its removal as well.
2021-04-29 16:07:56 -07:00
1a7923e318 pip: Idempotency tests (#74473)
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
Co-authored-by: David Moreau Simard <dmsimard@redhat.com>
2021-04-29 15:14:18 -04:00
f1a5c411d9 Fix sequence lookup message and add tests (#74472)
* add test for bad kv arg value
* add simple form parsing tests and make error messages the same
* add changelog
2021-04-29 15:12:23 -04:00
74b2add460 paramiko_ssh - mark connection as connected when successful (#74459)
* Remove unused import from test
2021-04-29 15:11:02 -04:00
98495ae99d Remove unused FileLock import (#74449) 2021-04-29 15:04:34 -04:00
8a2fc854f4 Add plugin config lists (#49627)
* add plugin config lists
* and dump config for plugins
*  also list configs under PLUGINS for 'all' list
2021-04-29 15:01:05 -04:00
aa12af1d34 Use our own copy of the Codecov uploader (#74460)
Due to the recent security incident, use our own copy hosted in S3
to mitigate future risk from running an arbitrary script downloaded from a
remote and untrtusted server.
2021-04-29 10:26:23 -04:00
112b175f17 Update the porting guide for a new ansible version (#74490) 2021-04-29 10:03:21 -04:00
f40ab25909 Improve a documentation of the first_found lookup plugin (#73080)
Co-authored-by: Wojciech Ściesiński <wojciech.sciesinski@huuugegames.com>
2021-04-29 10:02:21 +05:30
baa371e7b5 Add comments to keep collection loader in sync. 2021-04-28 17:45:42 -07:00
c63b867836 fixed URL for becoming an unprivileged user doc (#74448) 2021-04-28 16:14:56 -05:00
3cff54d69b Fix missing delegate display (#74370)
* dont rely on vars, task already gives us info
* ensure we always display delegation in host label
* also added parens with ansible_host to show  target host vs resolved host
* delegating to self is not delegating
* delegated vars restoration for backwards compat
* tests need mock task with delegate_to
2021-04-28 13:24:38 -04:00
26214788ee Retrofit shippable scripts to work with AZP
Co-authored-by: Matt Clay <matt@mystile.com>
2021-04-28 09:43:41 -07:00
57d661e96f Templar: remove _fail_on_{lookup,filter}_errors (#73785)
Both were added in 62d79568be and never
used, always being set to True.
2021-04-28 17:49:16 +02:00
3bc2e7783c Binary GnuPG keys downloaded via URLs by the 'ansible.builtin.apt_key' module were corrupted so 'gpg' could not import them (https://github.com/ansible/ansible/issues/74424) (#74474) 2021-04-28 10:41:14 -04:00
9e61952cdc command - add command name to warning (#74475) 2021-04-28 10:22:15 -04:00
04e57d28e3 [facts] add hpux fc info, refactor aix and solaris code (#57406)
* correctly parse device from string
* check for command presence before running them
* check for command presence and return code for solaris and aix as well
* add changelog
2021-04-28 10:17:19 -04:00
7b03ebf939 setup: Add note and example of delegated facts (#74479)
* Added a note about 'delegated_facts'
* Added an example of 'delegated_facts'

Fixes: #67067

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-04-28 08:53:36 -04:00
f194108a26 docs: Improve documentation for regex_search,replace,findall (#74368)
Improve the documentation for regex_search by adding a few more
realistic examples such as showing how to extract only parts of a
string by using regex groups.

Extend regex_findall and regex_replace by an example that includes
the multiline and ignorecase parameters.
2021-04-28 08:45:01 -04:00
68accca995 Remove needless get_next_task_for_host calls (#74174)
Called with `peek=True` and the return values are not used.

ci_complete
2021-04-28 13:19:37 +02:00
7099657dd7 Basic: don't call lstat when check_mode (#64279)
While mode is specified in check_mode, don't call lstat.
Since file may not present.

Fixes: #61185
2021-04-28 13:47:03 +05:30
b043afa025 apt: Fix fail_json API call (#74444) 2021-04-28 10:13:38 +05:30
c387b318a6 AWS: update reference to auto-retrying ResourceNotFound (#72314)
AWS Dev Guidelines: update reference to auto-retrying ResourceNotFound

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-04-28 09:59:12 +05:30
877e5b3dfe Fix ansible-test AZP build lookup. 2021-04-27 18:32:46 -07:00
be7de9844e Remove obsolete Shippable specific scripts.
Also remove some other unncessary code from CI scripts.
2021-04-27 17:11:09 -07:00
34c9ed8a28 Product-related updates. (#74454) 2021-04-27 16:19:57 -05:00
c4e76a7f80 Add collection config support to ansible-test. 2021-04-27 12:09:34 -07:00
bacede7a2b Update first_found documentation (#70502)
* import_tasks do not work with loop. We should use include_tasks instead
* update documentation
2021-04-27 13:53:21 -04:00
62cba4a6ad incidental_setup_rabbitmq test - Use official repo for rabbitmq-erlang
Previously it was hosted on bintray, but that service is shutting down on May 1. Using the new
repository also required using a newer version of RabbitMQ.
2021-04-27 10:02:27 -07:00
8223dfccbe ansible-test - Improve __main__ checks. 2021-04-27 09:00:26 -07:00
39a49963b5 Update examples/scripts/uptime.py (#74438)
Fixes missing parameter 'verbosity'

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-04-27 17:27:55 +02:00
fcbf5c3185 [module_utils] make to_bits actually return (#74409)
Change:
- Instead of returning the `str` type, return the value that was
  calculated.

Test Plan:
- New unit tests.

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-04-27 17:15:24 +02:00
9d9b08bece fix spacing to fix header, reorg contributing page (#74421)
Co-authored-by: John R Barker <john@johnrbarker.com>
2021-04-27 10:41:10 -04:00
f97787ca74 Update argcomplete docs links on installation guide (#74410)
Link on installation docs is outdated. Switch to currently docs at: https://kislyuk.github.io/argcomplete/
2021-04-27 09:40:37 -05:00
a75bae8a62 update versions (#74432) 2021-04-27 09:36:53 -05:00
d1e6ee7b21 update changelog links and release-maint page (#74431) 2021-04-27 09:33:21 -05:00
8d499bbc83 Update Kubernetes collection name in docs (#74440) 2021-04-27 19:00:03 +05:30
63afb33d86 Use is_boto3_error_code in 'standard' example (#72313)
Use is_boto3_error_code in 'standard' example rather than e.response['Error']['Code'] (#72313)

Co-authored-by: Sloane Hertel <shertel@redhat.com>
2021-04-27 17:49:00 +05:30
cf08c23b4f Update AWS dev guides to use collections utils and fragments (#72312) 2021-04-27 17:34:49 +05:30
ddfc648d37 Update VMware library installation docs (#71219)
Depending upon OS/distro, please use pip/pip3.
2021-04-27 15:19:03 +05:30
c2985c491b Update complex_data_manipulation.rst (#72509) 2021-04-27 14:04:48 +05:30
4880fee6ca Fix typo in Makefile (#74396)
Fixed minor typo specfic -> specific
2021-04-27 11:42:57 +05:30
cb7f4f1971 Fix pypi-test-container port conflict. 2021-04-26 14:41:02 -07:00
c1879a5011 use versioned doclink for url references (#74245)
* use versioned doclink for url references

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-04-26 13:07:38 -04:00
85e7108d52 force version on deprecation (#74338) 2021-04-26 13:02:00 -04:00
d8fa2b50d5 Fix world readable setting (#74324)
* Fix world readable setting

   now uses shell option in all cases, the old constant still exists
    as 'documentation' but it not settable.
   also fix the docsite link in warnings/errors

* fix typose#

* fix comment#

* added deprecated to config

* missing :

* import cleanup
2021-04-26 12:49:59 -04:00
68bdfd0052 Let unarchive handle huge files
Allow extracting archives that contain files which size exceeds free system memory.

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-04-26 14:06:10 +02:00
ecc5a53288 Update default containers to 3.4.0. (#74415)
* Update default containers to 3.4.0.

The 3.4.0 containers use Python 3.6 (the system Python) for `/usr/bin/python3`.

Python 3.9 continues to be the default Python version selected by `ansible-test` for these containers.

* Fix shebang on build-ansible.py.

Using `python` instead of `python3` allows `ansible-test` python interception and requirements install to function.
2021-04-25 21:25:32 -07:00
7ca5dede97 Add weos4 network platform to documentation (#74088)
* Add weos4 network platform to documentation

* Fix small format issues
2021-04-23 23:52:14 +02:00
c90922ee36 Docs - Split Developing collections page, add info on optional module_utils (#74105)
*
2021-04-23 17:03:46 -04:00
8698855ffd Case-insensitive set theory filters (#74256)
Fixes #74255

* Fix call to 'unique(case_sensitive=False)' triggering error when falling back to Ansible's version which **is** case-sensitive
* Test multiple situations of 'unique' filter errors with fallback not handling specific parameters

Signed-off-by: Rick Elrod <rick@elrod.me>
Co-authored-by: Rick Elrod <rick@elrod.me>
2021-04-23 12:44:43 -05:00
e6a5245d60 Using "~" instead of "+" for concatination (#74364)
Changed FAQ examples to conform with the Jinja documentation:
If both values on either side of a plus/+ are numbers, they will be added whereas using "~" will convert all operands into strings and then concatenate them. Closes #73799.
2021-04-23 12:44:09 -05:00
7fd989d008 Detect Homebrew on Mac M1 (Apple Silicon) (#74378)
Homebrew's default install location for macOS on ARM is /opt/homebrew.
Source: https://docs.brew.sh/FAQ

On a Mac M1 (Apple Silicon), homebrew will be installed at
/opt/homebrew/bin/brew.
2021-04-23 11:01:52 -04:00
6cfe36fa1f Set ansible-test min controller Python to 3.8. (#74395)
- Version neutral sanity tests now require Python 3.8 or later.
- Unit tests for controller-only code now require Python 3.8 or later.
2021-04-23 00:26:19 -07:00
f541c0af23 Update ansible-test default test container. (#74393)
* Update ansible-test default test container.
* Switch generic Python tests from 3.6 to 3.9.
2021-04-22 23:23:16 -07:00
ff88a2a06d Fix combinated run of unarchive and uri tests under centos 6
The unarchive integration test installs pinned packages via pip,
the uri test installs them from system packages. This explodes.
PR lets unarchive uninstall packages after test ran.
2021-04-22 17:09:10 -07:00
c295de661c Correct splitext() description, and example (#74377)
`splitext()` returns a 2-tuple of strings, and the last element of the return value includes the `.`
2021-04-22 15:40:58 -05:00
7b5dad2321 validate-modules: don't error on valid Ansible YAML in EXAMPLES 2021-04-22 12:42:47 -07:00
567361b124 Add description for COLLECTIONS_SCAN_SYS_PATH (#74351)
Fixes: #74275

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-04-22 15:08:52 -04:00
14ff5e213c Fix ansible-test docker container IP detection. 2021-04-22 11:54:54 -07:00
6119fb0a9a lighten navigation background to make section labels easier to read for core docs (#74356)
* make section labels for /ansible-core/ docs easier to read, with black text and lighter gray background
2021-04-22 13:54:27 -05:00
bf7d4ce260 Abstract away libyaml details into yaml utils (#72607)
* Add yaml utils file and use it

* Linting fix and missing import

* Abstract a few more details

* Parser imports

* Don't use CSafeDumper in AnsibleDumper

* Move and use convert_yaml_objects_to_native when libyaml is present

* yaml_load and yaml_dump, instead of safe_*

* re-use HAS_LIBYAML from utils.yaml

* add changelog fragment

* Address recent changes

* Use representer instead of recursive type converter

* Restore needed import

* move yaml utils to module_utils

* Properly guard imports

* Update from_yaml(_all)? to handle text wrappers with CSafeLoader

* Use yaml utils for legacy_collection_loader

* Add HAS_YAML, and ignore pylint issue

* oops

* GPL->BSD
2021-04-21 16:47:03 -05:00
6418f368e3 Fix pb subs collapse (#74301)
* fix subdir parsing for plays

  fixes #74283

  Co-authored-by: Nikolaos Kakouros <nkak@kth.se>
2021-04-21 17:27:41 -04:00
a3e7cf0110 Update alpine repo to community for libuser (#74374) 2021-04-21 16:20:50 -05:00
738132da95 [ansible-test] add freebsd/13.0 remote (#74328)
Change:
- FreeBSD 13.0 was released on the 13th, add it to ansible-test.

Test Plan:
- ci_complete

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-04-21 15:13:41 -05:00
fdbef02923 Update docs on working on docs (#74201)
* Fix the Makefile's htmlsingle command.
Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2021-04-21 15:15:27 -04:00
c21ad66e61 Remove unused PlayIterator.cur_dep_chain (#74366)
Introduced in fb797a9e77.
Usage removed in cae682607c.
2021-04-21 11:39:22 -04:00
7625c8f3d3 arg_spec - remove unused imports (#74354) 2021-04-21 11:38:23 -04:00
4c79dd16be Update the porting guide for a new ansible version (#74362) 2021-04-21 10:23:31 -04:00
437a08eb6d Map Debian 8 to Python 2 (#74152)
* Map Debian 8 to Python 2

If Python 3 is installed on Debian 8 Ansible cannot run, as the version
is too old (3.4)

* Add integration test for python interpreter discovery on Debian 8

* fix test issue on Debian 9, add changelog

* un"fix" not broken test :D

Co-authored-by: Fabian Klemp <fabian.klemp@elara-gmbh.de>
Co-authored-by: Matt Davis <mrd@redhat.com>
2021-04-20 15:28:24 -07:00
e6af2d6827 Fix ansible-test coverage traceback when no data.
If no coverage directory exists, ansible-test coverage would traceback.

Now it silently continues just as if the directory was present but empty.
2021-04-20 14:33:05 -07:00
2cbfd1e350 Add porting guide and documentation for changes to argument spec validation (#74268)
* Add ArgumentSpecValidator to docs
* Improve docs for ArgumentSpecValidator
* Document removal of private methods

* Update module_utils documentation
    - Add docs for argument spec classes as well as validation and parameters files.
    - preserve the order in the source for errors.py
    - document DEFAULT_TYPE_VALIDATORS so it can be referenced elsewhere
    - fix automodule directive for validation.py

* Update docs in arg_spec and paremeters
    - This improves the generated documentation.

* Document breaking changes in porting guide.
* Update formatting in porting guide and add a Deprecated section
* Fine tune module_utils documentation


* Move instance docstring to the __init__ method
  Remove optional description since it fails the sanity test and I am not 100% it is valid anyway.

* Remoe incorrect parameter from docstring
  This was changed a while ago but wasn't removed from the docstring.

* Use attr rather than attribute
  The py:attribute: domain only exists in newer Sphinx >= 3.1.

* Improve documentation on exceptions
* Final pass
    - use args/kwargs instead of param
    - fix formatting errors that didn't display examples correctly
    - format TypeErrors so they are referenced as classes
    - specify complex types
2021-04-20 15:40:53 -04:00
6e56e72d99 vmware: Add a note about known issue (#73273)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
Co-authored-by: Sandra McCann <samccann@redhat.com>
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2021-04-20 14:11:45 -04:00
c0cc574e65 Update lookup.rst (#73716)
Document that users must pass `allow_unsafe=True` as an option in the lookup to allow templating, with a note about security implications.

Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
Co-authored-by: Sandra McCann <samccann@redhat.com>
2021-04-20 12:54:54 -05:00
ml
c9c84594d8 Docs: Fix k8s_config_resource_name YAML example (#74129)
The `name` key should be beneath `metadata`:
2021-04-20 13:37:44 -04:00
9ed0e37e53 Add a link to Jinja 2 templates (#74348)
Added a link to Jinja 2 templates in playbooks_templating documentation page.
Fixes: #74313

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-04-20 12:14:08 -05:00
49d4442378 Add umask option to user module (#73821)
* Add umask option to user module

* Fail on setting both umask and local: True

* Add integration test

* Add changelog

* Run integration tests only if HOME_MODE is not set

* Run integration tests only on Linux

Co-authored-by: Matt Clay <matt@mystile.com>
2021-04-20 12:01:56 -04:00
5f391a72ee Update playbooks_filters.rst (#74242)
##### SUMMARY
Make the `random` filter description more clear.
2021-04-20 11:59:16 -04:00
5e5bfa8116 remove deprecated ansible.module_utils._text from documentation (#73211)
According to comment in ansible.module_utils._text it is deprecated and
should not be used. This is now reflected in the documentation.
2021-04-20 11:53:27 -04:00
99a2b5f300 Provide results to examples (#73984) 2021-04-20 11:52:54 -04:00
4494ef3a9d defend against bad or missing crypt (#74304)
* defend against bad or missing crypt

  fixes #74279
2021-04-20 11:47:34 -04:00
d44eb03f49 Remove include from tests (#74330) 2021-04-20 11:19:29 -04:00
9369bd6ca1 correct how to install Docker SDK for Python (#74288)
* docs: correct guide for the latest Docker SDK for Python
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Sandra McCann <samccann@redhat.com>
Co-authored-by: Daeseok Youn <daeseok.youn@navercorp.com>
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2021-04-20 11:03:30 -04:00
7b39ee361d corrected epmhasis line (#74254)
need to be careful when adding lines as you create a different offset
2021-04-20 09:38:06 -05:00
2296da95a2 fix module schema (#74295)
* fix module schema

  not out of date hardcoded list anymore, uses 'current + 4' to
  set valid deprecation targets

Co-authored-by: Matt Clay <matt@mystile.com>
2021-04-20 10:02:39 -04:00
698eae3f3d [tests] Work around vixie-cron and PAM issue, el6
Change:
- This works around an issue that causes the cron test to fail sometimes
  on el6.

Test Plan:
- ansible-test integration cron --docker centos6

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-04-19 20:41:30 -07:00
9f1513d4c0 [become] Add Solaris chmod ACL fallback
Change:
- Newer Solaris drops setfacl. Add a fallback for its chmod ACL syntax.

Test Plan:
- New units

Tickets:
- Fixes #74282

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-04-19 20:28:57 -05:00
7d64aebdd3 [become] Fix solaris permissions regression
Change:
- Regression introduced in #70785
- When macOS chmod ACL syntax is used, Solaris-derived chmods return
  with a status of 5. This is also used for our sshpass handling,
  because sshpass will return 5 on auth failure. This means on Solaris,
  we incorrectly assume auth failure when we reach this branch of logic
  and try to run chmod with macOS syntax.
- We now wrap this specific use of chmod in an exception handler that
  looks for AnsibleAuthenticationFailure and skips over it. This adds
  another authentication attempt (something we normally avoid to prevent
  account lockout), but seems better than the regression of not allowing
  other fallbacks to be used.
- Without this patch, if setfacl fails on Solaris (and sshpass is used),
  we do not try common_remote_group or world-readable tmpdir fallbacks.

Test Plan:
- New unit

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-04-19 20:28:57 -05:00
7786dbbdc1 Split out module/module_utils unit test execution.
- Unit tests for `modules` and `module_utils` are now limited to importing only `ansible.module_utils` from the `ansible` module.
- Unit tests other than `modules` and `module_utils` are now run only on Python versions supported by the controller (Python 3.8+).
- Unit tests are now run in separate contexts (`controller`, `modules`, `module_utils`), each using separate invocations of `pytest`.
2021-04-19 15:44:58 -07:00
3740d7b028 Only check if play.hosts is a template when the play hasn't been finalized (#73941)
* Extend finalized logic to strategy
* Add changelog fragment
2021-04-19 13:03:40 -04:00
d8bf4206e4 netconf - handle import error when running in FIPS mode (#73992)
* Handle netconf plugin ncclient import error when running in FIPS mode

*  While running in FIPS mode importing ncclient result in
   InternalError raised by cryptography
*  Refer https://github.com/ansible/ansible/pull/65477
2021-04-19 12:41:55 -04:00
325ccf22fe Fix issue with version 3 in docs version list (#74089)
Previously would subsitute the "3" in "s3" instead of the version location in the URL
2021-04-19 18:33:35 +02:00
9ba6cf9a72 Relocate misplaced unit tests. 2021-04-16 22:23:40 -07:00
277a06f641 Clean up ansible-test cloud plugins. (#74322)
- Improve code reuse.
- Add missing type hints, fix existing ones and convert them to PEP 484 style.
- Add missing imports and clean up existing ones.
- Add missing docstrings and clean up existing ones.
2021-04-16 18:49:22 -07:00
17237c1d88 Deprecate Py2.6 support for target nodes (#74165) 2021-04-16 11:42:29 -05:00
07939b04f3 [2.12] 'attributes' (#73707)
* wip 'attributes'

* added version added tests

* syntzx

* not bile

* correztlys merges

* moved desc to frag

* simpler as dict

* unused

* clog

* Update lib/ansible/utils/plugin_docs.py

Co-authored-by: Jacob Floyd <cognifloyd@gmail.com>

* unnoted

* added action plugins

* longer list

* add sttri schema

* huh?

* itsdict

* dictit

* yolo

* gnore for now

* moar attribs

* allow extras

* positive

* added loop, documented 'imports'

* support is now none/partial/full

* import_playbook is outside host loop

Co-authored-by: Jacob Floyd <cognifloyd@gmail.com>
2021-04-16 18:17:00 +02:00
185d410316 Factor out host_label() in default stdout callback plugin (#73814)
This simplifies rendering the hostname (or hostname+delegated host) in
the default callback module, and reduces code duplication

I've chosen not move where in each handler the host label is rendered,
in case subsequent operations has side effects. However I'm happy to
change that if considered safe.

I've chosen not to change the formatting operator used (%), to avoid
changes in rendering that might result.

Signed-off-by: Alex Willmer <alex@moreati.org.uk>
2021-04-16 11:12:25 -04:00
a7c8093ce4 [2.12] Add accept_newhostkey option to git module (#73819)
* Add integration test for accept_newhostkey option

* Add changelog
2021-04-16 11:10:35 -04:00
019452dda7 uri - fix traceback on multipart-form int value (#74302) 2021-04-16 11:09:31 -04:00
fdee5ca16d Add cacheonly option to yum and dnf modules (#73820)
* Add integration test

* Add changelog

Co-authored-by: Matt Clay <matt@mystile.com>
2021-04-16 11:08:52 -04:00
0c101f3f76 Add epoch_int in date_time facts (#73822)
* Add unit test

* Add changelog
2021-04-16 11:03:07 -04:00
8d027436d4 Updated COLLECTIONS_4.rst to include ansible-inclusion repo link (#74309)
* Updated COLLECTIONS_4.rst to include ansible-inclusion repo link for new collection submission

* Update COLLECTIONS_4.rst

* Update COLLECTIONS_4.rst

* Update docs/docsite/rst/roadmap/COLLECTIONS_4.rst

Co-authored-by: Sandra McCann <samccann@redhat.com>

Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
Co-authored-by: Sandra McCann <samccann@redhat.com>
2021-04-16 13:12:51 +01:00
7fecb7ccc3 Actually run blocks/finalized_task test (#74291) 2021-04-16 08:04:11 +02:00
7ef3dc2b8b [controller ansiballz] escape directory regex (#74270)
Change:
- We were passing a directory name directly to re.compile().
  If the directory isn't valid regex (or is) this can have odd side
  effects, such as crashing.
- Fix a few other similar cases, but less likely to be a real issue.

Test Plan:
- New test

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-04-15 17:06:58 -05:00
cf4a9fcd0f Prevent traceback when task depth exceeds python recursion depth (#73999) 2021-04-15 15:52:08 -05:00
1082e2ab79 Catch errors getting filters (#74127)
* Catch errors getting filters, and fail

* Add changelog

* Switch to warnings instead of errors, to match other plugin loader behavior

* Add tests

* Handle collections
2021-04-15 15:51:41 -05:00
28a2d9b4ae Remove __requires__ attribute for pkg_resources (#74294) 2021-04-15 15:20:20 -05:00
e3eeb88f7c removed unused imports (#74299) 2021-04-16 05:57:38 +10:00
664531d7d6 Prevent ansible_failed_task from further templating (#74290)
* Prevent ansible_failed_task from further templating

Fixes #74036

* Add changelog
2021-04-16 05:48:57 +10:00
c6945de899 Ini fixes (#74285)
* avoid 'mixed' param formats

* added tests

* clog

* fixed alignment
2021-04-16 05:36:49 +10:00
8e5dc7306e Typo fix in help output (#74277)
Should still fit in 80 chars
2021-04-16 05:18:34 +10:00
b91749d671 fix config manager list loption with choices (#74267)
fixes #74225

  Co-authored-by: Kim Nørring <github@norring.dk>
2021-04-16 05:07:43 +10:00
0a7670d1f7 deprecated include (#71262)
* deprecated include

  Update lib/ansible/modules/_include.py
  updated version numbers in schema check (real fix in separate PR)

Co-authored-by: flowerysong <junk+github@flowerysong.com>
Co-authored-by: Matt Clay <matt@mystile.com>
2021-04-15 14:19:04 -04:00
3cbe16fa7a Fix fallback to devnull when trying to preserve stdin in worker (#74192)
ci_complete
2021-04-15 10:14:48 +02:00
ee38202fc0 Update the porting guide for ansible package 4.0.0 alpha4 (#74280) 2021-04-14 16:42:28 -04:00
126e9244c2 updates list of available versions for Ansible 3 (#74265)
* updates list of available versions for Ansible 3
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2021-04-13 16:59:36 -04:00
84e473a26e All lookups ported to config system (#74108)
* all lookups to support config system

 - added get_options to get full dict with all opts
 - fixed tests to match new error messages
 - kept inline string k=v parsing methods for backwards compat
 - placeholder depredation for inline string k=v parsing
 - updated tests and examples to also show new way
 - refactored and added comments to most custom k=v parsing
 - added missing docs for template_vars to template
 - normalized error messages and exception types
 - fixed constants default
 - better details value errors

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-04-13 15:52:42 -04:00
4819e9301b Bump azure-pipelines-test-container to version 1.9.0 2021-04-13 10:12:23 -07:00
b3b1dde648 various fixes to command (#74212)
* 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>
2021-04-13 12:52:29 -04:00
29aea9ff34 constructed - Add keyed_groups suboptions 'default_value' and 'trailing_separator' (#74005)
* Support omitting the trailing separator when a dictionary key's value is an empty string

* Support a default value when the value used in the group name is an empty string

* Add tests

* change log
2021-04-13 11:59:50 -04:00
270f109bb3 fix see_also formatting (#74252) 2021-04-13 11:51:39 -04:00
5e55af2f02 [test coverage] Add tests for set_stats (#74243)
* satisfy the all-knowing, ever present God of Sanity and use 'grep -c' vs. 'wc -l'
2021-04-13 11:43:53 -04:00
93fdba7013 [bugfix][coverage] find module should consider file size with file_type=any (#74241)
* add changelog
* fix cl text
* Update changelogs/fragments/74241-find-checks-size-with-any.yml

Co-authored-by: Rick Elrod <rick@elrod.me>
2021-04-13 11:41:44 -04:00
fa0bccf6a1 [module_utils.distro] Fall back to bundled (#74229)
Change:
- When a "distro" package exists in PYTHONPATH but isn't what we expect,
  fall back to our own vendored one and use it. This prevents a
  traceback if someone has some random thing that provides "distro" but
  isn't actually the "distro" library we need.

Test Plan:
- new tests

Tickets:
- Fixes #74228

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

* nuke playbook test file

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

* test fixes

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-04-13 11:27:52 -04:00
aae5bc5b9e [advanced_host_list] 100% coverage + fix a bug (#74227)
Change:
- Tests for advanced_host_list; it is now at 100% coverage.
- There was a typo (host vs hostnames) where when the host pattern
  failed to parse, instead of treating the name as a literal as
  intended, it would trigger UnboundLocalError. This didn't fatal
  as there's a global "Exception" handler below, but it did lead to
  an ugly error and incorrect behavior.

Test Plan:
- New tests
- Local experimenting

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

* changelog

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

* fix tests

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-04-13 11:26:29 -04:00
bd1acb74c8 [playbook/play.py] Increase error test coverage (#74217)
Change:
- Mostly increase error coverage for various conditions in play.py
- Also fix a string in an error, where get_name() was called before
  self.name was read in, so get_name() was always ''.

Test Plan:
- new tests

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

* Fix regex for py2 and py3

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

* py2 hates me

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-04-13 11:22:02 -04:00
19aeb4706d [conditional] Remove support for bare variables (#74208)
Change:
- Variables used in ``when`` conditionals are no longer parsed and
  attempted to be converted to booleans. All non-empty strings are
  considered true (empty strings, false).

Test Plan:
- Updated existing tests
- Added a bunch of new tests with various kinds of truthy/falsy
  values.

Tickets:
- Fixes #74134

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-04-13 11:12:10 -04:00
ce96591313 Remove deprecated cache interfaces (#74198)
* update unit test
* Remove FactCache 'update' method
2021-04-13 11:08:20 -04:00
39bd8b99ec async_wrapper more info on end (#74199)
be consistent on information returned
 normalize 'return functions'
 fix unit test
 add a bit more context on some failures
2021-04-13 10:30:13 -04:00
8502c23028 Fix links to the collections org in doc & FR forms 2021-04-13 16:23:26 +02:00
9f002d9f60 📝 Make issue forms verbose and helpful (#74185)
Co-authored-by: John R Barker <john@johnrbarker.com>
Co-authored-by: Sloane Hertel <shertel@redhat.com>
2021-04-13 15:52:03 +02:00
3a244c5533 config lookup can now handle collection plugins (#74250)
use load_name of valid plugin to find config, will handle the renamed loaded plugin that collections do:
`ansible_collection.<ns>.<collname>.plugins.<type>.<name>`
2021-04-13 00:00:43 -04:00
f38d03f6fb [ansible-test] nuke virtualenv-isolated.sh
Change:
- This isn't used in our tests, so the suggestion was to just remove
  it.

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-04-12 15:09:18 -07:00
481c036632 update intersphinx links for Ansible 3 2021-04-12 14:53:11 -07:00
d7f826c987 Change look and feel of the ansible-core docs (#74200) 2021-04-12 16:39:13 -04:00
b752d07163 Overhaul ansible-test container management.
This brings ansible-test closer to being able to support split controller/remote testing.
2021-04-12 12:40:36 -07:00
9f856a4964 config lookup can query plugin settings (#74186)
* config lookup can query plugin settings
2021-04-12 15:30:25 -04:00
bb7b17fded added apt lock_timeout (#74095)
* added apt lock_timeout

should help control issues with apt db being locked out
also cleanup imports
2021-04-12 14:10:50 -04:00
c7473828c7 Docs: Remove duplicate word (#74223)
The word "to" was erroneously used twice consecutively.

Signed-off-by: Matthew Cengia <mattcen@mattcen.com>
2021-04-11 05:50:36 -05:00
b70a42f693 fix typo in _collection_finder.py (#74218) 2021-04-10 05:13:50 -05:00
3504f4c45f [yum] report upgraded multiarch packages (#73548)
Change:
- Previously when the same package name was installed twice under
  different architectures, we only reported it once in changes.updated.
- This was the result of using a dict internally and keying on package
  name alone.
- This change still keys on package name but turns the values into lists
  which can contain multiple packages per name.

Test Plan:
- Added a lot of tests around multi-arch support
- Added some tests around virtual provides as well

Tickets:
- Fixes #73284

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-04-10 02:36:20 -05:00
8c413749fc [test/support/docker_swarm] remove deprecation (#74203)
Change:
- Remove deprecation block from support test code

Tickets:
- Fixes #74146

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-04-09 22:38:33 -05:00
9c506031fa Solaris: Correct version check in svcadm_supports_sync API (#73860)
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-04-10 08:02:58 +05:30
ef554d0378 [playbook] error on empty, error on 'include' (remove two deprecations) (#74172)
Change:
- Remove two deprecated features
- We now error if a playbook is an empty list instead of just skipping
- We now error if using 'include' instead of 'import_playbook'

Test Plan:
- Added new tests for new errors

Tickets:
- Fixes #74133

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

* sanity & changelog

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-04-09 10:28:24 -04:00
becf941673 Add PyPI proxy container for tests on Python 2.6. 2021-04-08 15:47:23 -07:00
d7df8a4484 [cron] Remove deprecated features (#74197)
Change:
- Require name always
- Drop 'reboot' parameter in favor of 'special_time: reboot'

Test Plan:
- CI

Tickets:
- fixes #74132

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-04-08 15:50:27 -04:00
d5ce6e6bed Increase test coverage for command module (#74183) 2021-04-08 15:24:01 -04:00
b07a78b4ba remove deprecated connection password functions (#74155)
* they were moved from connecitons to become plugins
* fixed clog, removed sanity ignore
* fixed tests to use become functions
2021-04-08 15:11:06 -04:00
45ab6fddf3 removed task parameters (#74154)
* fixed clog
* removed ignore
* fix typose
* removed ignore
2021-04-08 15:09:45 -04:00
7443e9d659 pin docutils to 0.16 until theme problem is fixed (#74193) 2021-04-08 13:37:00 -05:00
4df9ea86c2 ansible-test - change diff mathching regexp so prefixes are optional
The `a/` and `b/` prefixes can be disabled in the `git diff` output by setting
`diff.noprefix` to `true`. The output is still a valid diff, but `ansible-test` would
raise an exception since without the prefixes, it thought the diff line was invalid.
2021-04-07 12:50:39 -07:00
7b79b69369 ansible-test - ensure trailing separator is added for connection unit test target (#74176)
For connection units tests, if the `__init__.py` file is modified, the trailing separator was
not added, making the target invalid.
2021-04-07 13:27:09 -04:00
459ea5a4a4 Update test containers in ansible-test. (#74166)
* Update distro test containers to version 2.0.2.

* Update the default test containers.
2021-04-06 15:52:56 -07:00
09c8faca9f Add 2.12 roadmap (#74000) 2021-04-06 12:43:38 -05:00
653a96dcea renamed: ansible-base.{dirs,install} -> ansible-core.{dirs,install} (#74159) 2021-04-06 11:51:52 -05:00
96f94c0fef Use a file-like obj for stdout/stderr for deadlock workaround (#74156)
Fixes #74149
2021-04-06 11:26:52 -05:00
d1842afd59 ansible-inventory - add coverage tests (#74130) 2021-04-06 12:14:54 -04:00
1cacf933b7 lineinfile - improve test coverage (#74122) 2021-04-06 12:11:10 -04:00
ecd69ed36e Use render for code blocks in issue forms 2021-04-06 18:02:41 +02:00
05662fd2ab Docs: clarify role docs - vars vs params, dependencies (#74104) 2021-04-06 11:24:28 -04:00
282dd1bbc7 Drop deprecated issue_body from issue forms
This change removes the deprecated attribute and also adds an explicit
textarea at the end of the docs report form to replace it.
2021-04-06 17:06:05 +02:00
0dd2327bca Add CoC checkboxes to the issue forms 2021-04-06 16:47:04 +02:00
3a74f7ea22 prep for 2.12 version bump (#74126)
* prep for 2.12
* Add 2.12 deprecations and sort ignore.txt list.

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-04-05 16:56:53 -05:00
f436058fad Add ansible-test constraint for decorator. 2021-04-05 11:56:38 -07:00
1c1734d32c Fix 2.11 changelog ancestor, missed at 2.10 branching (#74123)
Signed-off-by: Rick Elrod <rick@elrod.me>
2021-04-05 11:37:57 -05:00
33185c29ab Implement workaround for stdout deadlock in multiprocessing shutdown (#74099) 2021-04-05 08:51:12 -05:00
4e2da0f894 Add ansible-test six constraint for Python 2.6. 2021-04-01 14:02:46 -07:00
c0a8ed1e35 Fixed link to win_package module (#74090) 2021-04-01 14:07:25 -05:00
f9f839fa08 Fix debug factsetter (#74067)
* prevent debug from setting namespaced facts as tlv
* also added tests
2021-03-31 09:30:09 -04:00
112a7718c6 Porting guide update for ansible-4.0 alpha3 (#74075) 2021-03-30 18:20:11 -05:00
b75844af45 Fix ansible-test coverage exporting.
ci_complete
ci_coverage
2021-03-30 14:30:15 -07:00
846c2d1ed3 Fix comment in iptables unit test (#74061) 2021-03-30 16:11:12 -04:00
47ffa27416 Update the porting guide for a new ansible version (#74073) 2021-03-30 14:13:42 -05:00
381bd1a575 import openbsd patches (#74056)
* add openbsd service info
* Create openbsd-service.yml
* Update var name
2021-03-30 12:17:40 -04:00
6b33864a2c Clarify tags on tasks are applied with OR and not AND (#74038)
Co-authored-by: flowerysong <junk+github@flowerysong.com>
2021-03-30 11:05:54 -04:00
5e25ba62a6 Update Ansible release version to v2.11.0b4.post0. (#74064) 2021-03-29 21:45:32 -05:00
ae90774f2b New release v2.11.0b4 (#74063) 2021-03-29 19:31:47 -05:00
454c7e37ec nonzero exit code on ansible galaxy collection verify failures (#74051) 2021-03-29 13:06:02 -07:00
1527078a8f pause - do not continue with '\r' when timeout is set (#74030)
Original function of pause was, to only allow user input
(finished with enter) when no timeout was set. This restores
the behaviour.
2021-03-29 15:39:42 -04:00
a84c1a5669 add --offline option to galaxy collection verify (#74040)
* --offline allows in-place verify for installed collections with manifests
* manifest hash, collection name, version, and path are now always displayed
* test updates
2021-03-29 09:47:15 -07:00
af7f3fc266 Revert "Add duplicated set filter and documentation (#72729)" (#74053)
This reverts commit 99a6627c60.

* ci_complete
2021-03-27 20:28:28 -05:00
88d6a72178 Temporarily disable strategy units (#74048) 2021-03-26 19:10:00 -07:00
99a6627c60 Add duplicated set filter and documentation (#72729)
Co-authored-by: Kerry <kerry@flatline-studios.com>
2021-03-27 00:18:55 +01:00
def2870df7 updated link to ansible.builtin.user password (#73789) 2021-03-26 16:19:20 -05:00
22330dd322 Correctly set path and fullpath for template vars (#73924)
* Correctly set path and fullpath for template vars

 don't expect path to always be full path
 also added exception/tb on action fail
2021-03-26 16:33:25 -04:00
4a82e2c486 Fix setup subset (#74022)
* fix error msg on bad subset

* added test
* handle more raised but not handled fact exceptions
2021-03-26 12:43:16 -04:00
c66cff444c documents the use of ansible.legacy (#73942) 2021-03-25 16:36:46 -04:00
5dbcaa4c01 Update version on FreeBSD (#73664)
##### SUMMARY
<!--- Your description here -->
On the main freebsd change, and no the version: py37-ansible

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2021-03-25 16:30:52 -04:00
59c61bc88a update docs to uninstall ansible-base on upgrade (#74024) 2021-03-25 15:21:37 -05:00
2abb2d3f17 Update playbooks_variables.rst. To say you can define variables within a playbook is somewhat misleading. Variables are defined within plays and are only visible within the play they are defined in *not* the entire playbook. There is no way to define vars to have strictly playbook scope. (#73986)
+label: docsite_pr
2021-03-25 16:05:50 -04:00
0bf9b7fdf8 Added prerequisites to install for CentOS (#73993)
* Added prerequisites to install for CentOS as well so CentOS users don't have to look for alternatives for each Ubuntu package.

Signed-off-by: mm667937 <marketa.muzikova@broadcom.com>


Signed-off-by: mm667937 <marketa.muzikova@broadcom.com>
2021-03-25 16:03:32 -04:00
584432be26 Use FQCN for module set_stats (#74028) 2021-03-25 15:26:48 -04:00
73c08df2db Docs: Add filter "urlencode" with example (#74034)
* Add example for URLENCODE filter
2021-03-25 15:20:41 -04:00
eb631c1881 use present tense for porting guide entries (#74021)
Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
Co-authored-by: Sandra McCann <samccann@redhat.com>
2021-03-25 15:04:10 -04:00
46b02e125f dev_guide/testing_integration: update image list (#74017) 2021-03-25 11:24:01 -07:00
4881ca1dcb Introduce the concept of playbooks early on (#74018)
* Introduce the concept of playbooks early on
Co-authored-by: Sandra McCann <samccann@redhat.com>
2021-03-25 11:55:01 -04:00
940b7af7d8 argspec validation - fix apply_defaults (#74029)
* Add test
2021-03-24 19:17:07 -04:00
3bccfb1615 Updating Community docs with DO information (#74019) 2021-03-24 16:24:46 -04:00
fa1b52ce55 dnf test - update libmodulemd when updating python3-dnf (#74025)
The dependency version is set too low in the latest version of the package.

https://bugzilla.redhat.com/show_bug.cgi?id=1942236
2021-03-24 15:49:57 -04:00
77ec2b3b3a Documentation: update committer_guidelines.rst (#73782)
Co-authored-by: Sandra McCann <samccann@redhat.com>
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2021-03-24 15:30:55 -04:00
c8a7899869 Update the porting guide for a new ansible version (#74016) 2021-03-24 12:12:09 -05:00
0543916a86 Docsite: clarify a changelog entry format (#73902)
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Sandra McCann <samccann@redhat.com>
2021-03-24 11:21:34 -04:00
c4e211a429 apt_key - update key ID and URL used in test
The GPG key in getfedore.org/static/fedora.gpg changed and caused the test to fail. Update
to using the new key ID and save the GPG file in our S3 to prevent spontaneous changes/breakage.
2021-03-23 13:55:40 -07:00
a1ece49006 Add integration tests for add_collection_to_versions_and_dates(), and extend ansible-doc tests (#73601)
* Add add_collection_to_versions_and_dates integration tests.

* Add doc fragment tests with fragments from other collections.

* Remove trailing whitespace (Python 2's json.dump inserts some).

* Use ' ' instead of '\s'.
2021-03-24 05:30:57 +10:00
a520da0584 setup virtualization: fix RHEV product_name (#73919) 2021-03-23 21:18:01 +05:30
4780e10a2b Adding jborean93/WindowsServer2019 in docs (#73950) 2021-03-23 21:16:54 +05:30
c1eed681aa fix wait_for looping when missing net module (#73963)
fixes #43486
2021-03-23 16:12:49 +01:00
6856e751ff Fix trailing whitespace in Conditional debug() (#73956)
Signed-off-by: Alex Willmer <alex@moreati.org.uk>
2021-03-23 16:08:44 +01:00
232eeee206 less blocking on fact reading (#73951)
* less blocking on fact reading


Co-authored-by: Martin Krizek <martin.krizek@gmail.com>
2021-03-23 10:27:53 -04:00
2bff120db6 Fix wrong backup directory var name in apt module (#73840)
* Fix wrong backup directory var name in apt module
2021-03-22 10:06:45 -04:00
2c40dccd85 Update Ansible release version to v2.11.0b3.post0. (#73980) 2021-03-19 23:48:17 -05:00
88a1a85ff8 New release v2.11.0b3 (#73977) 2021-03-19 22:08:27 -05:00
c6cf7986ab add porting guide info for optional module_utils (#73979) 2021-03-19 20:21:22 -05:00
abacf6a108 Use ArgumentSpecValidator in AnsibleModule (#73703)
* Begin using ArgumentSpecValidator in AnsibleModule

* Add check parameters to ArgumentSpecValidator

Add additional parameters for specifying required and mutually exclusive parameters.
Add code to the .validate() method that runs these additional checks.

* Make errors related to unsupported parameters match existing behavior

Update the punctuation in the message slightly to make it more readable.
Add a property to ArgumentSpecValidator to hold valid parameter names.

* Set default values after performining checks

* FIx sanity test failure

* Use correct parameters when checking sub options

* Use a dict when iterating over check functions

Referencing by key names makes things a bit more readable IMO.

* Fix bug in comparison for sub options evaluation

* Add options_context to check functions

This allows the parent parameter to be added the the error message if a validation
error occurs in a sub option.

* Fix bug in apply_defaults behavior of sub spec validation

* Accept options_conext in get_unsupported_parameters()

If options_context is supplied, a tuple of parent key names of unsupported parameter will be
created. This allows the full "path" to the unsupported parameter to be reported.

* Build path to the unsupported parameter for error messages.

* Remove unused import

* Update recursive finder test

* Skip if running in check mode

This was done in the _check_arguments() method. That was moved to a function that has no
way of calling fail_json(), so it must be done outside of validation.

This is a silght change in behavior, but I believe the correct one.

Previously, only unsupported parameters would cause a failure. All other checks would not be executed
if the modlue did not support check mode. This would hide validation failures in check mode.

* The great purge

Remove all methods related to argument spec validation from AnsibleModule

* Keep _name and kind in the caller and out of the validator

This seems a bit awkward since this means the caller could end up with {name} and {kind} in
the error message if they don't run the messages through the .format() method
with name and kind parameters.

* Double moustaches work

I wasn't sure if they get stripped or not. Looks like they do. Neat trick.

* Add changelog

* Update unsupported parameter test

The error message changed to include name and kind.

* Remove unused import

* Add better documentation for ArgumentSpecValidator class

* Fix example

* Few more docs fixes

* Mark required and mutually exclusive attributes as private

* Mark validate functions as private

* Reorganize functions in validation.py

* Remove unused imports in basic.py related to argument spec validation

* Create errors is module_utils

We have errors in lib/ansible/errors/ but those cannot be used by modules.

* Update recursive finder test

* Move errors to file rather than __init__.py

* Change ArgumentSpecValidator.validate() interface

Raise AnsibleValidationErrorMultiple on validation error which contains all AnsibleValidationError
exceptions for validation failures.

Return the validated parameters if validation is successful rather than True/False.

Update docs and tests.

* Get attribute in loop so that the attribute name can also be used as a parameter

* Shorten line

* Update calling code in AnsibleModule for new validator interface

* Update calling code in validate_argument_spec based in new validation interface

* Base custom exception class off of Exception

* Call the __init__ method of the base Exception class to populate args

* Ensure no_log values are always updated

* Make custom exceptions more hierarchical

This redefines AnsibleError from lib/ansible/errors with a different signature since that cannot
be used by modules. This may be a bad idea. Maybe lib/ansible/errors should be moved to
module_utils, or AnsibleError defined in this commit should use the same signature as the original.

* Just go back to basing off Exception

* Return ValidationResult object on successful validation

Create a ValidationResult class.
Return a ValidationResult from ArgumentSpecValidator.validate() when validation is successful.
Update class and method docs.
Update unit tests based on interface change.

* Make it easier to get error objects from AnsibleValidationResultMultiple

This makes the interface cleaner when getting individual error objects contained in a single
AnsibleValidationResultMultiple instance.

* Define custom exception for each type of validation failure

These errors indicate where a validation error occured. Currently they are empty but could
contain specific data for each exception type in the future.

* Update tests based on (yet another) interface change

* Mark several more functions as private

These are all doing rather "internal" things. The ArgumentSpecValidator class is the preferred
public interface.

* Move warnings and deprecations to result object

Rather than calling deprecate() and warn() directly, store them on the result object so the
caller can decide what to do with them.

* Use subclass for module arg spec validation

The subclass uses global warning and deprecations feature

* Fix up docs

* Remove legal_inputs munging from _handle_aliases()

This is done in AnsibleModule by the _set_internal_properties() method. It only makes sense
to do that for an AnsibleModule instance (it should update the parameters before performing
validation) and shouldn't be done by the validator.

Create a private function just for getting legal inputs since that is done in a couple of places.

It may make sense store that on the ValidationResult object.

* Increase test coverage

* Remove unnecessary conditional

ci_complete

* Mark warnings and deprecations as private in the ValidationResult

They can be made public once we come up with a way to make them more generally useful,
probably by creating cusom objects to store the data in more structure way.

* Mark valid_parameter_names as private and populate it during initialization

* Use a global for storing the list of additonal checks to perform

This list is used by the main validate method as well as the sub spec validation.
2021-03-19 12:09:18 -07:00
089d0a0508 find - set proper default based on use_regex (#73961)
When using "use_regex: yes" and setting an excludes: without
specifying a pattern: the existing code passes the file-glob '*' to
the regex matcher.  This results in an internal invalid-regex
exception being thrown.

This maintains the old semantics of a default match-all for pattern:
but switches the default to '.*' when use_regex is specified.

The code made sense as-is before excludes: was added (2.5).  In that
case, it made no sense to set use_regex but *not* set a pattern.
However, with excludes: it now makes sense to only want to exclude a
given regex but not specify a specific matching pattern.

Closes: #50067

* moved change to new location
added changelog

* Update lib/ansible/modules/find.py


Co-authored-by: Ian Wienand <iwienand@redhat.com>
2021-03-19 13:18:31 -04:00
48c0fbd1cb Fix a bug adding unrelated candidates to the plugin loader redirect_list (#73863)
* Fix a bug adding unrelated candidates to the plugin loader redirect_list

* Add tests for the redirect list

  * test redirect list for builtin module
  * test redirect list for redirected builtin module
  * test redirect list for collection module
  * test redirect list for redirected collection module
  * test redirect list for legacy module

* changelog
2021-03-18 17:53:57 -04:00
3e63eb8418 fix typo 2021-03-18 12:50:06 -07:00
3811fddede Amazon: Fix distribution facts for older release
Ansible can gather distribution facts for older Amazon Linux
with /etc/os-release data.

Fixes: #73946

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-03-18 12:42:04 -07:00
ad5ee1542a Remove ini and env fields for config option CONNECTION_FACTS_MODULES 2021-03-18 12:40:15 -07:00
7a55e98d29 clarifies docs for file module, addresses issue 72372 (#73938) 2021-03-18 12:34:04 -07:00
ccd9a992cf complex data example using value and default from list of dicts (#73937) 2021-03-18 12:31:33 -07:00
efe97aeb31 Update developing_inventory.rst (#73931)
* Update developing_inventory.rst

hashes/dictionaries in JSON (JavaScript Object Notation) are represented by what JSON calls "objects", so use that established terminology instead of "hash", "dictionary", or "hash/dictionary" etc.

* Update docs/docsite/rst/dev_guide/developing_inventory.rst

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
2021-03-18 12:14:21 -07:00
78f34786dd Send callbacks directly from the TaskExecutor instead of TaskResults masquerading as callbacks (#73927) 2021-03-18 12:12:29 -07:00
561cdf3ace Updated COLLECTIONS_4.rst to include ansible-inclusion repo link for new collection submission (#73582)
Co-authored-by: Sandra McCann <samccann@redhat.com>

Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
Co-authored-by: Sandra McCann <samccann@redhat.com>
2021-03-18 11:59:01 -04:00
95dc8f2361 Add some dev documentation for constructed features (#73497) 2021-03-18 09:45:13 -04:00
30c465c1a9 Promote publication (#72400)
Co-authored-by: Sandra McCann <samccann@redhat.com>
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
Co-authored-by: Sandra McCann <samccann@redhat.com>
2021-03-17 16:14:32 -04:00
b57444af14 Rebased pr73824 (#73934)
Co-authored-by: Eugene <k.evgen61@gmail.com>
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2021-03-17 16:07:38 -04:00
4add723107 ansible-pull: Run All Playbooks When Multiple Are Supplied (#73172)
* ansible-pull: run all playbooks when multiple are supplied

* add test for ansible-pull with multiple playbooks supplied from cli

* add changelog fragment
2021-03-17 13:52:51 -04:00
0279d02980 Add porting guide for ansible 4 2021-03-17 08:41:02 -07:00
e10da3c368 Porting guide changes when adding a new ansible release
* Add the ansible-4 porting guide to the index
* Need to exclude the porting guide for ansible-4 from the core docs build
2021-03-17 08:41:02 -07:00
832631b888 Ensure task from the worker is finalized/squashed (#73881)
* Ensure task from the worker is finalized/squashed. Fixes #57399. Fixes #49942
2021-03-16 15:09:43 -04:00
a29fcfa995 Update Ansible release version to v2.11.0b2.post0. (#73917) 2021-03-15 20:30:15 -05:00
aff69b6b4c New release v2.11.0b2 (#73915) 2021-03-15 17:54:49 -05:00
1e5ccb326f Allow for searching handler subdir for included tasks (#73809)
* Allow for searching handler subdir for included tasks
2021-03-15 15:39:59 -04:00
3098022146 Fix typo in porting_guide_3.rst (#73871)
paramater -> parameter
2021-03-15 15:58:41 +05:30
7099a5f448 setup - virtualization facts add Red Hat vendor (#72876)
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-03-15 15:20:44 +05:30
9ec4e08534 Don't match passive_interface for validate-modules (#73880)
This is a follow up to:

  https://github.com/ansible/ansible/pull/73508

To avoid adding no_log statements to passive_interface args.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2021-03-13 08:28:57 -06:00
7c0af58449 validate-modules no_log test: extend search range, add more known false-positives (#73882)
* validate-modules no_log test: extend search range, add more known false-positives.

* Mark false-positives.
2021-03-13 08:28:33 -06:00
ed18fcac3b Ensure unit test paths for connection and inventory plugins are based on the context (#73877) 2021-03-12 12:46:40 -08:00
3a8c9242e1 Use virtual host style S3 bucket names in tests. 2021-03-12 11:34:25 -08:00
197e8f5640 Mention that minor releases end once the next ansible release is made. (#73836) 2021-03-11 16:12:55 -06:00
780f79ecbc Update the porting guide for a new ansible version (#73856) 2021-03-11 14:49:03 -06:00
b486feaaf4 document slurp returns (#73865)
* no path on return
2021-03-11 14:28:47 -06:00
bd020dd14a describe what ansible-core is (#73829) 2021-03-11 14:27:36 -06:00
37cb550185 fix su localization optoin
fixes #73837
2021-03-11 11:53:28 -08:00
8ef54759ec moved vs deprecated world readable tmp setting (#73825) 2021-03-11 11:43:27 -08:00
27eaab310b Add direct link to using multiple inventory sources (#73680)
This helps users to find the right ressources more easily and prevents them from clicking the first matching link only to be redirected to a subsection on the samepage from there

Co-authored-by: Jens Heinrich <github.com/JensHeinrich>
2021-03-11 14:36:00 -05:00
474f46ea56 Docs: Updates the release and maintenance page to reflect new cadences (#73781)
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: John R Barker <john@johnrbarker.com>
Co-authored-by: Sandra McCann <samccann@redhat.com>
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: John R Barker <john@johnrbarker.com>
Co-authored-by: Sandra McCann <samccann@redhat.com>
2021-03-11 14:25:18 -05:00
1ac2858b5a Update developing_modules_general.rst (#73805)
##### SUMMARY
<!--- Fixing a typo. There was a double "you" in the text. -->


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2021-03-11 14:11:04 -05:00
31932f5fa3 Docs: Update installation page for package split (#73790) 2021-03-11 11:05:44 -08:00
b2015c98e2 validate-modules: make sure that options that potentially contain secret data have no_log set (#73508)
* Catch more potential errors (and increase false-positive rate).
* Flag some false-positives in lib/ansible/modules/ with no_log=False.

Co-authored-by: John Barker <john@johnrbarker.com>
2021-03-11 12:57:11 -05:00
3e1f6484d7 add optional module_utils import support (#73832)
* add optional module_utils import support

Treat core and collections module_utils imports nested within any Python block statement (eg, `try`, `if`) as optional. This allows Ansible modules to implement runtime fallback behavior for missing module_utils (eg from a newer version of ansible-core), where previously, the module payload builder would always fail when unable to locate a module_util (regardless of any runtime behavior the module may implement).

* sanity test fixes

ci_complete
2021-03-10 11:08:13 -08:00
15064c7a42 Update resource_prefix syntax for ansible-test. 2021-03-10 09:00:12 -08:00
1d5110db6f Unify additional info + WYSIWYG as optional input in the documentation report issue form (#73796) 2021-03-09 20:55:14 +01:00
9db557e431 Nonfatal facts (#73804)
continue with local facts vs at script error
 actually capture execution errors
 better error messages in general
 add more local facts tests

 fixes #52427
2021-03-08 16:20:37 -05:00
212837defc Documentation: Lay the ground for i18n work. (#73746)
* Documentation: Lay the ground for i18n work.

* Translating both ansible-core and ansible docs requires msgcat
  (a program from the gettext package). If msgcat is not present,
  only the ansible-core index file's strings will be extracted for translation.
  If this is a problem, a short hacking script could be written to take the
  place of msgcat (merging the various index pot files into a single pot file).

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2021-03-05 09:31:56 -08:00
fb66b4ffbc distribution: Add Amazon Linux distribution facts (#73767)
* Update Amazon Linux Distribution facts gathering logic
* Update tests

Fixes: #73742

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-03-05 09:16:10 -05:00
78d3810fdf Auto cleanup of async cache file (#73760)
* Auto cleanup of async cache file

* Add changelog
2021-03-04 11:06:27 -08:00
a165c72073 feature_request: Component Name (#73787)
Typo in name results in Bot shouting
2021-03-04 17:06:00 +00:00
2d85c9de93 Some changelog fixes for 2.11 (#73778)
Signed-off-by: Rick Elrod <rick@elrod.me>
2021-03-03 16:26:59 -05:00
42c3c51665 Set fact fixes (#73684)
* fixes to set_fact

  correctly give error messages that were previously ignored
  corrected and expanded docs
2021-03-03 16:23:56 -05:00
ce1de28061 Fix notify on import_tasks (#73572)
* Fix notify on import_tasks

  also able to apply to blocks now.
2021-03-03 16:11:09 -05:00
935528e22e finish migrating ssh plugin to config system (#73708)
* finish migrating ssh plugin to config system

  fixes #72739
  fixes #57220

* fix connection detection in reset
* correct options for connection meta reset

Co-authored-by: David Shrewsbury <Shrews@users.noreply.github.com>
2021-03-03 15:25:16 -05:00
43300e2279 module output is only json objects (#73765)
* module output is only json objects

 remove json lists as they are not valid from modules
 fixes #73744
2021-03-03 15:11:18 -05:00
527bff6b79 Don't fail for mixed typed keys (#73726)
* Don't fail for mixed typed keys

  but warn that content cound not be sorted because of this

* added tests
2021-03-03 14:24:50 -05:00
6514027957 add base 2.10 to docs version switcher (#73770) 2021-03-03 13:06:11 -06:00
2e0835b312 minor detection improvement on j2plugin loader (#73714)
* minor  improvement on j2plugin loader, comments and var names clarified
2021-03-03 11:31:29 -05:00
fca85db56a Convert markdown issue templates into issue forms (#73751)
* Convert markdown issue templates into issue forms

* Limit allowed issues to the form based ones

* Title-case the form field labels

Co-authored-by: John R Barker <john@johnrbarker.com>

* Remove CoC checkboxes from the forms

Co-authored-by: John R Barker <john@johnrbarker.com>
2021-03-03 11:53:33 +00:00
734c053562 Update Ansible release version to v2.11.0b1.post0. (#73764) 2021-03-02 17:33:56 -06:00
24d41180ea New release v2.11.0b1 (#73761) 2021-03-02 15:16:50 -06:00
f40dde44f4 Remove old ansible-test windows completion entries. 2021-03-02 10:48:03 -08:00
b6add939ff Remove outdated --docker and --remote entries. 2021-03-02 10:05:39 -08:00
c888705493 Add note on infoblox inventory script. (#73676) 2021-03-02 11:01:50 -06:00
1f2f292290 Fix invalid yaml in collections_using.rst (#73727)
Fix invalid quoting.
2021-03-02 10:10:08 -05:00
158d28a254 .github/BOTMETA.yml: cleanup (#73652)
Remove anything that is not in ansible/ansible as issues/PRs
with those components will be auto-closed anyway.
2021-03-02 13:37:44 +01:00
3cc693b92c Import test: improve docs, add more tests (#73600) 2021-03-01 16:10:46 -08:00
ba3f84883f Reduce complexity of Templar._lookup slightly (#73277)
* A little more complexity reduction
* restore logic
* Readability
* Add ran check back
* Add clog
2021-03-01 16:11:54 -05:00
949b2cc74c Update CI URL in setup.py (#73750)
* Update CI URL in setup.py

* AZP
2021-03-01 14:20:10 -06:00
6cb324bb0e selinux: return selinux_getpolicytype facts (#73609)
* selinux: return selinux_getpolicytype facts

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

* add basic selinux facts tests

* fix selinux facts test when selinux missing

Co-authored-by: Matt Davis <mrd@redhat.com>
2021-03-01 11:11:09 -08:00
e7e3c12ad2 Fixes for ansible-console usability (#73665)
- Fix Ctrl+C/D behavior (#68529)
 - correct few typos and missing infos
 - Fixes doc (#72195)
2021-03-01 14:04:59 -05:00
d0e991e892 Clarify CLI version number as core version (#72287)
* clarify CLI version number as core version

* reduce confusion with `ansible` PyPI package >= 2.10 drifting from core version

* fix units
2021-03-01 11:14:56 -06:00
920b68f5f2 Fixed/improved regular expresssion for collection names (#73577)
* added changelog fragment
* added a couple of tests to coll name validation
2021-03-01 10:40:38 -05:00
e804fccf1c Let file module not change link to absolute when src not given (#65448)
The file module changes existing sym links from relative to absolute
if the src is not stated in the tasks since it uses `os.path.realpath`
to fetch the link source and not `os.readlink`. Changed that.
2021-03-01 15:14:03 +01:00
176beddb3f Fix typo in incidental.py (#73737)
successfull -> successful
2021-03-01 17:37:58 +05:30
17fabd8b45 [changelog config] Ansible Base -> ansible-core (#73739)
Signed-off-by: Rick Elrod <rick@elrod.me>
2021-02-27 21:51:11 -06:00
2377a0a776 Improve ArgumentSpecValidator unit tests (#73642)
* Add more scenarios to basic valid testing
* Update invalid tests
* Fix test for Python 2
* Condense data
* Add tests for missing required and invalid-elements
* Update aliases tests
* Add invalid scenarios for aliases
* Add tests for _add_error() method
* Fix sanity test failure
2021-02-26 09:30:16 -05:00
91b42d62fa another useful example (#73728) 2021-02-25 16:11:16 -06:00
9690512069 Pipe it to connections (#73688)
* pipelining tweaks
  added 'defaults'  entry for ini pipelining from ssh plugin
2021-02-25 15:08:11 -05:00
8628c12f30 find module - stop traversing directories with os.walk when depth is already exceeded (#73718) 2021-02-26 05:32:49 +10:00
950ab74758 Normalize ConfigParser between Python2 and Python3 (#73715)
* Normalize config parser between py2 and py3

* Add tests and changelog

* Use different config entry, since we supply certain env vars
2021-02-25 11:03:03 -06:00
eb72c36a71 galaxy: Handle ignored directory names in role skeleton (#72035)
* galaxy: restore left hand slicing in assignment

Fix 'ansible-galaxy role init --role-skeleton=role-skeleton' when the role skeleton
contains an ignored directory.

The issue was because the 'dirs' variable was changed to reference a different list,
but needs to be mutated instead to stop os.walk from traversing ignored directories.

Fixes: #71977

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-02-24 18:52:24 -05:00
dabfee4d5c commented function (#73625) 2021-02-24 01:20:47 -05:00
29d3951464 Docs: Adds banner for core/package split (#73552)
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2021-02-23 15:54:17 -05:00
f4eab92aa0 fix core version switcher (#73704) 2021-02-23 14:12:54 -06:00
11f1177e6c Operate pexpect with bytes to limit encoding issues (#73255)
* Operate pexpect with bytes to limit encoding issues

* Update tests to ensure no pepxect encoding issues

* Add changelog fragment

* Add multiline note

* Use rst formatting directly
2021-02-23 18:57:25 +01:00
4b347415fa inventory: misc typo fixes (#73695)
* Misc typo fixes

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-02-23 10:42:20 -05:00
3ab52f2965 Disable junit callback on roles_arg_spec_tests (#73663)
This prevents the role arg spec validation tasks from showing up as failure
in the CI output.
2021-02-23 10:21:28 -05:00
c22bc46cb9 Mention ansible-core @ "Release and maintenance" (#73612) 2021-02-22 19:07:25 -06:00
b28abdfbdb Fixed typo in vault documentation (#73666)
Example variable was named `my_encrytped_var`. Renamed it to `my_encrypted_var`.
2021-02-22 19:03:23 -06:00
fa046d302c [InventoryManager] Fix two unhandled exceptions (#73667)
Change:
- Fix regression: unhandled exception when given inventory directory
  is empty or contains empty subdirectories.
- Fix unhandled exception when limit file is actually a directory
  instead of a file.
- Fix inventory tests which previously could never fail due to missing
  `set -e`. Fixed up tests that failed after `set -e` was added. Added
  several tests.

Test Plan:
- New tests
- Fixed existing tests which previously could never fail

Tickets:
- Fixes #73658

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-02-22 16:18:23 -05:00
5078a0baa2 Minor Doc Update to password.py (#73468)
Adds in the caveat that Python's string modules have different constants depending on the major version (2.x vs 3.x), but preserves the fact that a fair amount of them are common. Other minor docs touchups also included.
2021-02-18 17:22:16 -06:00
c8ee186e11 Remove warning about role validation with deps (#73653)
* Remove warning about role validation with deps

* add changelog

* update cl
2021-02-18 17:16:03 -06:00
1a14996025 Replace reference to playbook_environment (#73633)
Use the new anchor syntax
2021-02-18 17:07:23 -06:00
fa05af8321 Fixing ad-hoc commands #73636 (#73646) 2021-02-18 16:48:22 -06:00
b6566d26df pylint sanity test: stop ignoring 'used-before-assignment' (#73639)
* Remove pylint ignore 'used-before-assignment'.

* Adjust changelog fragment.
2021-02-18 12:36:28 -08:00
89ed2353e0 Update the porting guide for a new ansible version (#73650)
* Update the porting guide for a new ansible version

* Add a link to the changelog to the ansible-3 porting guide
2021-02-18 12:38:56 -05:00
010afe0b2d azure-pipelines: remove ubuntu1604 2021-02-18 08:58:02 -08:00
ac0dedda72 hostname - add Almalinux support (#73619) 2021-02-18 10:24:36 -05:00
ccbfdec334 Split Ansible docs from core docs (#73616)
* excludes scenario guides from core docs, splits porting guides and roadmaps, symlinks indices to create index.html pages, and adds .gitignore entries for conf.py and the toplevel index.rst files generated by the docs build

This solution builds three types of docs:
* ansible-2.10 and earlier: all the docs.  Handle this via `make webdocs
  ANSIBLE_VERSION=2.10`
* ansible-3 and later: a subset of the docs for the ansible package.
  Handle this via `make webdocs ANSIBLE_VERSION=3` (change the
  ANSIBLE_VERSION to match the version being built for.
* ansible-core: a subset of the docs for the ansible-core package.
  Handle this via `make coredocs`.

* `make webdocs` now always builds all the collection docs
*  Use `make coredocs` to limit it to core plugins only
*  The user specifies the desired version. If no ANSIBLE_VERSION is specified, build plugins for the latest release of ansible
 
Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
Co-authored-by: Matt Clay <matt@mystile.com>
2021-02-17 09:57:05 -06:00
27baa8cd86 OpenStack guidelines: Replace with link (#73617)
Replace the guidelines page with a link to the current guidelines on opendev.org.
2021-02-17 09:09:08 -05:00
d40da3ee0b Update 2.10 porting guide to include module index (#73615)
This will help users find out where modules and plugins might have been moved.
2021-02-16 11:24:52 -06:00
00bd0b893d ansible-galaxy - set the cache file after getting all collection versions (#73557)
* Manage the in-memory cache in _call_galaxy but let the caller set the file cache after getting paginated results

* Add a test for caching successful and not caching unsuccessful paginated results

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
2021-02-15 09:45:01 -05:00
29aef842d7 ansible-test: make sure tests are also run for the new plugin types (#73599)
* Make sure tests are also run for the new plugin types.
* New plugin types are not documentable.
2021-02-13 14:05:16 -08:00
d092356fc5 Fix ansible-test handling of egg-info.
Resolves https://github.com/ansible/ansible/issues/67990
2021-02-13 01:05:00 -08:00
133a29acb4 Add test to verify pkg_resources imports work. 2021-02-12 23:51:37 -08:00
18f7282ccf ansible-doc - account for empty meta/main.yml (#73590)
* ansible-doc - account for empty meta/main.yml

 from_yaml() will return None when encrounting an empty file.
2021-02-12 17:37:00 -05:00
d1d9406066 Add rolespec_validate to import/include_role (#73589)
* Add rolespec_validate to import/include_role

* Add changelog

* fix sanity, not private
2021-02-12 16:26:33 -06:00
1f3a90270b Import sanity test for plugins (#72497) 2021-02-12 14:09:50 -08:00
4059b37ab1 Conscious language added to user guide, development guide, and Ansible community guide, (#73574)
* Added conscious language note to index pages of guides
2021-02-12 15:32:44 -06:00
ff0edca8cc Catch more potential errors when setting up curses. 2021-02-12 13:09:02 -08:00
f0ec10dbc3 Role arg spec validation implementation (#73152)
* Initial import of modified version of alikins' code
* Add unit testing for new Role methods
* Fix validate_arg_spec module for sanity test. Add test_include_role_fails.yml integration test from orig PR.
* Add testing of suboptions
* Use new ArgumentSpecValidator class instead of AnsibleModule
* fix for roles with no tasks, use FQ name of new plugin
* Add role dep warning
2021-02-12 16:00:17 -05:00
6d15e1aa6e corrected description info (#73586)
* corrected description info
2021-02-12 13:17:44 -05:00
ea2f37d253 allow constructed to use vars plugin (#73418)
Allow constructed to optionally use vars plugin data

* mostly for those looking to leverage group_vars/ and host_vars/
* limited to already processed sources
2021-02-12 11:14:50 -05:00
30a4ef4414 Update ansible-test default test containers. 2021-02-11 19:43:02 -08:00
0a8d5c0983 ansible-test: yamllint, check the assigment
Ensure `yamllint`'s `check_assignment()` correctly ignore the
attribute assignment. Those don't have any `.id` attribute and will
trigger an `AttributeError` exception.

See: https://github.com/ansible/ansible/pull/73322
2021-02-11 19:42:27 -08:00
f327e65d11 Use iskeyword and str.isidentifier for "is FQCN" (#73279)
* Use valid FQCN in test_verbosity_arguments

* Use iskeyword and str.isidentifier for "is FQCN"
2021-02-11 18:23:57 -08:00
f533d46572 Fix ansible-test constraints issues. (#73578)
* Silence Python 3.5 EOL notice in pip.
* Skip import test on compat/selinux.py utils.
* Improve Python version skip warning.
* Use Python 3.6 as minimum Python for sanity tests.
* Improve min Python handling for code-smell tests.
* Overhaul test-constraints sanity test.
* Merge sanity test constraints with requirements.
* Remove legacy content specific constraints.
* Add changelog fragment.
2021-02-11 16:45:53 -08:00
b6811dfb61 Add argument spec validator (#73335)
Add argument spec validator class
2021-02-11 19:17:14 -05:00
2b227203a2 Ansible 4 roadmap (#73465)
Co-authored-by: Deric Crago <deric.crago@gmail.com>
Co-authored-by: Sandra McCann <samccann@redhat.com>
Co-authored-by: John R Barker <john@johnrbarker.com>
Co-authored-by: Deric Crago <deric.crago@gmail.com>
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2021-02-11 15:47:04 -05:00
d0fda3e901 Let vault lookup output unicode string. (#73571)
Until now, the lookup plugin returned a byte string.
Changed this to output a unicode string instead.
2021-02-11 14:27:47 -05:00
bcefb6b5f1 fix typo in ansible vault decrypt if vault error (#73542) 2021-02-11 14:14:50 -05:00
1cb753225c added perf note to inc/imp diffs (#73371) 2021-02-11 13:10:02 -05:00
4334957e2c add that we now validate choices to porting guide (#73509)
for those that had choices that didn't match actual values used
2021-02-11 13:09:23 -05:00
ec8a556538 only add data when there is data to add (#54559)
Only add data when there is data to add

  also avoid clobbering existing data with empty file
  fixes #45843

* remove redundant code, update comments
* fix mock dataloader, original does not return None
* added test
2021-02-11 10:07:20 -05:00
4c5ce5a1a9 module compat for py3.8+ controller (#73423)
* module compat for py3.8+ controller

* replaced internal usages of selinux bindings with internal ctypes binding (allows basic selinux operations from any Python interpreter), plus tests

* added new respawn_module API to allow modules to import Python packages that are only available under a well-known interpreter, plus tests

* added respawn logic to modules that need Python libs from a specific system interpreter (apt, apt_repository, dnf, yum)

minimize internal HAVE_SELINUX usage

spurious junk

pep8

* pylint fixes

* add RHEL8 Python 3.8 testing

* more pylint

* import sanity

* unit tests

* changelog update

* fix a bunch of stuff

* tweak changelog

* fix setup_rpm_repo on EL8

* misc sanity/test fixes

* misc feedback tweaks

* fix import fallback in test module

* fix selinux MU test

* fix dnf tests to avoid python-dependent test packages

* add trailing LFs to aliases

* fix yum tests to avoid test package with Python deps

* hack create_repo for EL6 to create noarch package
2021-02-10 21:32:59 -08:00
8a175f59c9 Upgrade pylint used by ansible-test. (#70155)
* Upgrade pylint and deps in ansible-test.
* Enable pylint on Python 3.9.
* Update pylint config.
* Add ignore for vendored six.
* Add ignores for support plugins.
* Fix issue reported by pylint.
2021-02-10 15:52:41 -08:00
7cd577cc16 Fill in some 2.11 roadmap dates (#73560)
Signed-off-by: Rick Elrod <rick@elrod.me>
2021-02-10 13:03:44 -06:00
6fd0a74601 unarchive: add support for .tar.zst (zstd compression) (#73265) 2021-02-09 23:14:41 -06:00
ae241b407a Update guide_azure.rst (#73030)
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2021-02-10 09:36:25 +05:30
4344607d7d user - add password expiration parameters (#69531)
* Add integration test

Co-authored-by: Sam Doran <sdoran@redhat.com>
2021-02-09 16:41:15 -05:00
bf10bb370b Update the porting guide for a new ansible release (#73547) 2021-02-09 15:06:10 -06:00
c3e2bdd3a8 Bump azure-pipelines-test-container to version 1.8.0 2021-02-09 21:07:38 +01:00
2f5c83dfb1 Add AlmaLinux to the family of Red Hat-like operating systems (#73541)
* Add changelog and fixtures for AlmaLinux support

Co-authored-by: Christoph Schug <com+github@schug.net>
2021-02-09 13:04:39 -05:00
7d18ea5e93 default callback - add "show_task_path_on_failure" option (#73260)
When running in verbosity <2, display the file and line number for tasks that fail. This provides
useful information without having to run at increased verbosity.

* Move _print_task_path to CallbackBase class
* Add integration tests
* Add color parameter to _print_task_path()

* Keep color output consistent for now
  Currently the path is display with COLOR_DEBUG formatting with verbosity >= 2.
  Instead of the color of the path changing based on verbosity level, just keep it at the
  currently behavior of COLOR_DEBUG. Having the color of the same information change
  based on verbosity level seems incorrect and makes visual parsing of the information
  more difficult.

Co-authored-by: tahar.jegham <jeghamseifeddine@gmail.com>
2021-02-09 12:43:59 -05:00
ca448f7c35 Update collection routing (#73046)
* Docker content from community.general migrated to community.docker.

* Hetzner Robot content from community.general migrated to community.hrobot.

* RouterOS content from community.network migrated to community.routeros.

* PostgreSQL content from community.general migrated to community.postgresql.

* OC content from community.general migrated to community.okd.

* Cisco NSO content from community.network migrated to cisco.nso.

* Add changelog fragment.

* Google content from community.general migrated to community.google.

* Hashi Vault content from community.general migrated to community.hashi_vault.

* KubeVirt content from community.general migrated to community.kubevirt.

* FortiOS content from community.network migrated to community.fortios.

* Update changelog fragment.

* DellEMC content from community.general migrated to dellemc.openmanage.
2021-02-09 09:31:35 -08:00
65fc8c9e35 INTERPRETER_PYTHON_DISTRO_MAP: Treat oracle same as rhel/centos (#73498)
* treat oracle same as rhel/centos

* fix misunderstood use of yaml anchors

* add changelog fragment

* Update changelogs/fragments/73498-INTERPRETER_PYTHON_DISTRO_MAP-Treat-oracle-same-as-rhel-centos.yml
2021-02-09 10:40:39 -05:00
d3441bc313 Add new split filter (#73532)
* Add version added
2021-02-09 10:37:15 -05:00
1a2da990a4 Temporary fix for cryptography issues. (#73530) 2021-02-08 14:35:00 -08:00
aca5b0e43b [setup_rpm_repo test] Ensure rpm-build is present (#73516)
Change:
- Other targets might remove rpm-build as they clean up after
  themselves. Ensure that it's present in setup_rpm_repo because
  rpmfluff needs it.

Test Plan:
- Local experimentation with yum_repository and mysql_db (the latter of
  which depends on a handler which was removing rpm-build) on
  stable-2.9.

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-02-05 15:58:02 -05:00
125c220343 Make non-lockstep callback tests more deterministic (#73511) 2021-02-05 14:11:40 -06:00
67f5bb39c7 galaxy - add format options for collection list (#73474)
* Include all collections in single json object / yaml document
* Add tests
* For galaxy list yaml/json output, use dictionary of dictionaries instead of list
* Add tests for listing single collection in yaml / output format
* --output -> --format
* Add explicit test for listing collection in human format
* Fix bug where empty json object was emitted + add test
2021-02-05 13:24:59 -05:00
d3f3784b86 Don't treat host_pinned as lockstep (#73484)
* Don't treat host_pinned as lockstep. Fixes #73364

* Add intg tests
2021-02-05 09:06:19 -06:00
8d6136eab9 uri - add ca_path parameter (#71979)
* add changelog fragment for #71979 (ca_path for uri)
* add integration tests for ca_path in the uri module
* return path of ca cert instead of its content
* connect to port 444 on self_signed_host
  and use quay.io/ansible/http-test-container:1.3.0
* state that the certificate in ca_path is used for validation
2021-02-05 09:40:52 -05:00
82cdd7e735 Bump antsibull-changelog version for changelog sanity test. 2021-02-04 16:42:26 -08:00
f271d02a9f bugfix: use to_text(stdout) in psrp.Connection.put_file method (#73491)
Co-authored-by: jakegatsby <jakegatsby@example.com>
2021-02-05 10:01:07 +10:00
0cdc410dce no_log mask suboption fallback values and defaults CVE-2021-20228 (#73487)
* no_log mask suboption fallback values and defaults

* Added changelog

* Remove lambda expression
2021-02-05 09:11:55 +10:00
4315e18807 Fix regression introduced in b77abd0491 causing bug in inventory modu… (#73429)
* Fix regression introduced in b77abd0491 causing bug in inventory modules which break functionality in user setting  use_contrib_script_compatible_sanitization  parameter.

* Add changelog

Co-authored-by: s-hertel <19572925+s-hertel@users.noreply.github.com>
2021-02-04 17:25:08 -05:00
7cef930aa4 Update kubernetes collection routing (#73485)
The community.kubernetes collection will be migrated / renamed to
kubernetes.core in the collection's 2.0 dev cycle. This should coincide
with the ansible-core 2.11 cycle.  The collection is being released to
galaxy under both the community.k8s and k8s.core names today.
2021-02-05 07:58:42 +10:00
7fb7d138fb Update working group links for cloud collections (#73471) 2021-02-05 05:15:32 +10:00
8f887b7adb add self-signed https endpoint for ansible-test (#73463)
* introduce self-signed.ansible.http.tests

* forwarding of port 444

* forward port 8444 to port 444 on http test container

* Fix port forwarding for Windows under docker

* add changelog fragment

Co-authored-by: Jordan Borean <jborean93@gmail.com>
2021-02-05 05:12:22 +10:00
bd18be6c0c Fix ansible-galaxy collection subdir searching and update documentation (#73406)
* Ensure there is a single source of collection metadata
* Allow collection subdirs to be detected by a galaxy.yml or MANIFEST.json
* Add documentation about installing and downloading collection directories
* Add an example for downloading a git repository
* Update documented valid metadata sources for installing git repositories

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2021-02-04 13:42:45 -05:00
997b2d2a19 Make yum_repository test more reliable (#73467)
* Improve setup_rpm_repo

- add handlers to remove repos
- add variable to control whethere or not repos are created

* Use local repo for all distros
* Change repo creation script to module
2021-02-03 17:34:12 -08:00
9759e0ca49 add option to upgrade collections (#73336)
* Add a flag to ansible-galaxy to update collections


Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
2021-02-04 07:08:02 +10:00
fce22529c4 fix typo (#73434) 2021-02-03 09:17:02 -06:00
564a0fce4a Add the porting guide for Ansible-3.x (#73455) 2021-02-02 17:03:40 -05:00
7cf80f50d1 validate_modules: fails with .id attribute not found (#73322)
* validate_modules: fails with .id attribute not found

This patch addresses a problem in the `found_try_except_import` test.

This module tries to identify lines like:

`HAS_FOO = True`

In this case, the target (`HAS_FOO`) is of type `ast.Name` and has a
`id` attribute which provide the name.

In my case, I've a line that set a module attribute`. In this case, the
target (`module.var`) has the type `ast.Attribute` and no `id`
attribute. The code trigger an `AttributeError` exception.

This patch ensures we compare a `ast.Name`.

* Update test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/main.py
2021-02-02 13:29:36 -08:00
a78a416e85 hostname: fix references in docs (#73454) 2021-02-02 16:11:50 -05:00
69631da889 lineinfile - add search_string parameter for non-regexp searching (#70647)
* Add tests for search_string
* Improve examples
* Add changelog
2021-02-02 15:37:06 -05:00
9a9272305a Correct pkg_mgr for Fedora-derived OSTree distros (#73445)
Change:
- Remove check that states that only Fedora can be an OSTree
  distribution.
- This allows us to correctly return "atomic_container" as the pkg_mgr
  fact for RHEL for Edge, Fedora/RHEL/CentOS Atomic Host, etc.

Test Plan:
- Created local RHEL for Edge image and tested against it.
- Tested against regular RHEL 8 and still got `dnf` as expected.
- Tested against RHEL 7 Atomic Host and got `atomic_container` now.
- New unit tests.

Tickets:
- Fixes #73084

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-02-02 15:09:30 -05:00
1c83672532 Allow $ & ~ inside paths in galaxy roles (#72966)
ansible-galaxy currently behaves bad then a role to be installed
contains ~ or $ at any place in the path of a file in that role.
It extracts the parent directory of the offending path level as an
empty file. This explodes if that directory contains anything else.

Change this behaviour. `~` is now allowed allowed when it is
not a full level (Yes: `some~thing/`, no: `~/`). The code should
get refactoring in an other PR.
2021-02-02 18:10:05 +01:00
a9b5bebab3 Overhaul ansible-test SSH key management. (#73451)
* Pass remote.sh to shell over stdin.
* Pass docker.sh to shell over stdin.
* Standardize SSH key management.
* Update docker containers.
2021-02-02 08:43:54 -08:00
218f5c3648 user - Prevent user fact lookup failure if LOGNAME is set (#17029) (#73439)
The `UserFactCollector` queries the user login name via
`getpass.getuser()` and looks up the corresponding entry
in the password database.
The login name may differ from the actual user name,
eg. if the `LOGNAME` env variable is set. The lookup
fails in this case. Added a fallback in this case that
tries to get the entry via the user ID.
2021-02-02 10:36:02 -05:00
bce01655cc [ansible-test] Bump CentOS 6 image (yum repos) (#73446)
Change:
- Bump centos6 image version to one which includes multiple fallbacks
  for vault.centos.org content.

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-02-01 16:24:21 -06:00
840bdc1e10 Fix warning for nonexistent inventory cache (#72840)
* Fix inventory cache warning by checking if the key exists before loading it
* changelog
2021-02-01 14:29:36 -05:00
81cd8e46f2 Update ansible-test distro containers to 1.29.0. 2021-02-01 09:24:28 -08:00
728dafb6eb Make ansible-galaxy collection verify error out on no MANIFEST.json
PR #73403

Co-Authored-By: Sviatoslav Sydorenko <webknjaz@redhat.com>
2021-02-01 09:55:21 +01:00
6f4b4c345b Match user-requested transitive pre-releases in collection dependency resolver (#73416)
* Add direct+transitive pre-release regression test

* Match user-requested transitive pre-releases

This change makes sure that in scenario when a user requests
collectionA-pre and collectionB that depends on collectionA,
collectionA-pre would actually match that collectionA requirement
while `--pre` is unset.

Co-authored-by: Jordan Borean <jborean93@gmail.com>
2021-02-01 14:26:49 +10:00
c7cb944315 Always use python exec wrapper in ansible-test. 2021-01-28 15:59:55 -08:00
c986cbb996 Add Python 3.8 and Python 3.9 to the fallback list (#73405) 2021-01-28 11:14:45 -08:00
902c402b6f Update ansible-test default containers. 2021-01-28 09:58:54 -08:00
ded2d0b90e Use sh for ansible-test raw remote shell. 2021-01-28 09:00:55 -08:00
b1344a1847 Avoid sphinx usage in changelog sanity test. 2021-01-27 23:52:13 -08:00
418b9b781d No longer warn about missing pip/python pair.
This warning was intended to help improve test environment configuration.
However, it has ended up producing mostly non-actionable warning noise instead.

In most situations a missing pip or python should result in test failures.
Reporting a missing pip also implies that it should be used by tests, which is not the case.
Tests should be invoking pip as a python module with the appropriate python interpreter instead.
2021-01-27 23:51:48 -08:00
672941fb0d Add test support for Python 3.8 on RHEL and FreeBSD. (#73393)
* Support Python 3.8 on RHEL 8.2+ in ansible-test.

* Support Python 3.8 on FreeBSD in ansible-test.

* Use libyaml with PyYAML on FreeBSD.
2021-01-27 21:35:29 -08:00
1b157ef42f Limit rstcheck sanity test to ansible-core. (#73391) 2021-01-27 21:06:00 -08:00
607af05d36 Fix syntax errors detected by rstcheck.
The errors occur when using sphinx >= 2.0.0.
2021-01-27 16:32:11 -08:00
5aa4295d74 change detection and check mode fixes for apt_key (#73334)
Change detection and check mode fixes for apt_key

* allow apt-key to use proxies
* add note about deprecation of apt-key itself
* expanded error msgs
* show all keys
* fix short_format parsing
* added more return info and documented it
2021-01-27 18:40:58 -05:00
595413d113 Replace the inhouse collection dependency resolver with resolvelib
PR #72591

This change:

  * Adds an artifacts manager that abstracts away extracting the
    metadata from artifacts, downloading and caching them in a
    temporary location.

  * Adds `resolvelib` to direct ansible-core dependencies[0].

  * Implements a `resolvelib`-based dependency resolver for
    `collection` subcommands that replaces the legacy
    in-house code.

    This is a dependency resolution library that pip 20.3+ uses
    by default. It's now integrated for use for the collection
    dependency resolution in ansible-galaxy CLI.

  * Refactors of the `ansible-galaxy collection` CLI.
    In particular, it:

      - reimplements most of the `download`, `install`, `list` and
        `verify` subcommands from scratch;

      - reuses helper bits previously moved out into external modules;

      - replaces the old in-house resolver with a more clear
        implementation based on the resolvelib library[0][1][2].

  * Adds a multi Galaxy API proxy layer that abstracts accessing the
    version and dependencies via API or local artifacts manager.

  * Makes `GalaxyAPI` instances sortable.

  * Adds string representation methods to `GalaxyAPI`.

  * Adds dev representation to `GalaxyAPI`.

  * Removes unnecessary integration and unit tests.

  * Aligns the tests with the new expectations.

  * Adds more tests, integration ones in particular.

[0]: https://pypi.org/p/resolvelib
[1]: https://github.com/sarugaku/resolvelib
[2]: https://pradyunsg.me/blog/2020/03/27/pip-resolver-testing

Co-Authored-By: Jordan Borean <jborean93@gmail.com>
Co-Authored-By: Matt Clay <matt@mystile.com>
Co-Authored-By: Sam Doran <sdoran@redhat.com>
Co-Authored-By: Sloane Hertel <shertel@redhat.com>
Co-Authored-By: Sviatoslav Sydorenko <webknjaz@redhat.com>

Signed-Off-By: Sviatoslav Sydorenko <webknjaz@redhat.com>
2021-01-27 22:23:22 +01:00
82b74f7fd7 iptables: Fixed get_chain_policy API (#69152)
While getting policy name in get_chain_policy API,
module does not require any additional parameters except chain
Enabling flag in get_chain_policy API call fixes this.

Fixes: #68612

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-01-27 15:24:53 -05:00
11398aac09 update faq link (#73353)
Fix faq link.
2021-01-27 14:58:23 -05:00
c7d4acc12f allow env to override unspecified unsafe_writes (#73282)
* allow env var for fallback value for unspecified unsafe_writes
2021-01-27 14:16:10 -05:00
2b0cd2c13f use correct executable and options in all cases (#73323)
Use correct ssh executable and options in all cases on connection plugin

  * Also nicer naming/comments

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
2021-01-26 20:21:24 -05:00
1265c6def3 Update porting guide for 2.10.6 2021-01-26 16:29:40 -08:00
13d08d232c Rename ansible-test functions to match constants. 2021-01-26 14:24:16 -08:00
73fadc5e97 Clean up code in ansible-test. (#73379)
* Relocate code to fix type dependencies.

* Fix missing and unused imports.

* Fix type hints.

* Suppress PyCharm false positives.

* Avoid shadowing `file` built-in.

* Use json.JSONEncoder directly instead of super().

This matches the recommended usage and avoids a PyCharm warning.

* Remove redundant regex escape.

* Remove redundant find_python call.

* Use tarfile.open directly.

* Add changelog fragment.
2021-01-26 14:02:08 -08:00
76604397cb Mention that C(...) should be used for inline code. (#73312) 2021-01-26 10:48:47 -06:00
a2af8432f3 Local vars should have highest precedence in AnsibleJ2Vars (#72830)
Ability to add local variables into AnsibleJ2Vars was added in
18a9eff11f to fix #6653. Local variables
are added using ``AnsibleJ2Vars.add_locals()`` method when creating a
new context - typically when including/importing a template with
context. For that use case local template variables created using
``set`` should override variables from higher contexts - either from the
play or any parent template, or both; Jinja behaves the same way.

Also removes AnsibleJ2Vars.extras instance variable which is not used.

Also adds missing test for #6653.

Fixes #72262
Fixes #72615

ci_complete
2021-01-26 11:37:56 +01:00
fc590aeb21 Use a versioned pip bootstrapper in ansible-test. 2021-01-25 12:31:11 -08:00
ab667200cc Mention renaming ansible-base to -core @ roadmap (#73354)
* Mention renaming ansible-base to -core @ roadmap

* Replace ansible-base with ansible-core @ roadmap
2021-01-25 12:34:40 -05:00
f3ce7cfe53 tiny grammatical edit (#73339) 2021-01-25 10:28:55 -05:00
6abeabaff1 Fix versionadded syntax @ galaxy user guide 2021-01-25 12:08:52 +01:00
484e4af4d0 Handle get-pip.py breaking change on Python 2.7. 2021-01-23 11:45:53 -08:00
7f6fcc3407 json_query: Update documentation (#73302) 2021-01-22 15:41:24 -05:00
e0c9f285ff undeprecated hash_merge setting (#73328)
added updates from sloan's PR
 feedback from others

Co-authored-by: Sloane Hertel <shertel@redhat.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Sandra McCann <samccann@redhat.com>

Co-authored-by: Sloane Hertel <shertel@redhat.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Sandra McCann <samccann@redhat.com>
2021-01-22 15:00:19 -05:00
dec443e3a5 why no mfa? (#73324)
Co-authored-by: Sandra McCann <samccann@redhat.com>
Co-authored-by: Rick Elrod <rick@elrod.me>
2021-01-22 14:58:35 -05:00
e6da544310 Let command always return stdout & stderr (#73004)
The `command` module does not return stdout & sterr when calling
a non existing executable or an unknown exception arises. This fix
lets the module return empty byte strings in those cases.
2021-01-22 08:40:53 +01:00
1934ca9a55 Add Ubuntu 20.04 to CI and ansible-test (#69161)
Change:
- Add Ubuntu 20.04 to CI now that venv is default instead of virtualenv in ansible-test.

Test Plan:
- CI

Tickets:
- Fixes #69203

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-01-21 22:58:31 -06:00
4357a78130 [ansible-test] First attempt at freebsd/11.4 (#72655)
Change:
- Try CI against freebsd 11.4

Test Plan:
- ci_complete

Tickets:
- Fixes #48782

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-01-21 17:12:18 -06:00
fe792fdcd2 Vanquish rare container bootstrap failure (#73288)
The init script for the test container writes additional lines to
the .bashrc of the user. This was done via a `cat` multiline
instruction, which is implemented internally by writing a
temporary file to TMPDIR (/tmp in this case) first. Docker fails
to provide /tmp just after creation, which results in a race
condition that rarely makes the init fail. Changed the `cat`
statement to multiple `echo`s.

Co-authored-by: Matt Clay <matt@mystile.com>
2021-01-21 12:22:58 -05:00
45240c1871 Update NX-OS platform guide with MDS information (#73315)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2021-01-21 12:03:50 -05:00
7f9ac0f364 Consolidate filters/tests handling into JinjaPluginIntercept (#71463)
* Consolidate filters/tests handling into JinjaPluginIntercept

ci_complete

* Postpone loading all ansible plugins

* Do we need to create an overlay?

ci_complete

* Typo

ci_complete

* Add FIXME

* conditional.py: use public Environment.parse() method

* Remove remaining occurrences of shared_loader_obj being passed to Templar

* __UNROLLED__ not needed with this change anymore

* Incorrect rebase at some point?
2021-01-21 11:22:33 +01:00
823c72bcb5 Shadow input for encrypt_string by default unless asked (fixes #71618) (#73263)
* Shadow input for encrypt_string by default unless asked (fixes #71618)
2021-01-20 15:50:24 -05:00
bc60d8ccda Galaxy - make versions list consistent across versions (#72932)
* Galaxy - make versions list consistent across versions

* Fix up unit tests
2021-01-20 21:19:29 +01:00
51e00c5e86 Fix documentation for slaac filter (#73294)
##### SUMMARY

One of the parameters to the slaac filter was unquoted causing a crash:

```
template error while templating string: expected token 'end of print statement', got ':'. String: {{ fdcf:1894:23b5:d38c:0000:0000:0000:0000 | slaac('c2:31:b3:83:bf:2b') }}
```

This adds the missing quotes.

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2021-01-20 13:10:24 -05:00
13ea312cc8 added pb fqcn docs (#72602)
* added pb fqcn docs
2021-01-20 11:34:33 -05:00
ec55a221f6 Do not pretend expression is filename in compile() Python built-in call (#73113)
When calling compile(), the filename argument should be either a real file
name or a string. According to Python docs, suggested one is '<string>'.
 Keep the current behaviour (encapsulate the actual expression), 
but enclose it into angle brackets.

Signed-off-by: Oldřich Jedlička <oldium.pro@gmail.com>
2021-01-19 12:20:26 -05:00
e8d4b62b41 Fix YAML error message when error is at the end of the file (#73241)
* Fix YAML error message when error is at the end of the file

If a YAML file fails to load due to a syntax error in a file, or there is an error in the last line of a
file, PyYAML reports the last line number of the file as the index where the error occurred.

When reading the file lines, we use that index to the get the relevant line.  If the index value is out
of range, the relevant line is lost for error reporting.

Subtract one from the index value to avoid the IndexError in this specific scenario. It is possible
to still get an IndexError, which will be handled as it is currently.

* Update existing tests and add new tests
2021-01-19 10:07:36 -05:00
30d93995dd Use a pty for local connections (#73023)
* Use a pty for local connections

Fixes #38696

Co-authored-by: James Cammarata <jimi@sngx.net>
2021-01-18 16:02:04 -05:00
d500e6ec45 doc: fix ansible_play_hosts description about failure (#73190)
The variable ansible_play_hosts actually does _not_ includes failed or unreachable hosts.

+label: docsite_pr
2021-01-18 15:24:29 -05:00
Jan
aae82ff560 Update documentation for "contains" parameter (#73107)
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-01-18 15:21:45 -05:00
73aa571305 Make sure to mention collection version for version_added as well. (#73270) 2021-01-18 14:53:10 -05:00
1e27d4052a fix inventory source parse error handling (#73160)
fixes #51025

added test cases
2021-01-18 09:33:51 -05:00
9d71bbd13e add changelog fragment for 73176 (#73259) 2021-01-15 16:26:53 -06:00
aa21804165 Added TLS security protocol for Powershell downloads (#73226)
##### SUMMARY
Added `[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12` to the Powershell scripts that use a file download. If not specified the script won't be allowed to download data from the mentioned URL's.


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2021-01-14 14:23:19 -08:00
1202dd000f Allow restricting config values to enumerated list (#73162)
* Allow restricting config values to enumerated list
* dont document internal entries
* also ignore private defs for ansible-config
* remove invalid value from tests
* added porting entry
2021-01-14 15:11:30 -05:00
88763c7347 update rstcheck and sphinx versions in contraints (#73176)
* update rstceck and sphinx versions in contraints
* fix test error
2021-01-14 13:50:44 -06:00
e9a1ff296e Fix block example line emphasis (#73238)
Signed-off-by: Adam Miller <admiller@redhat.com>
2021-01-14 14:40:31 -05:00
403a3b90b5 Fix list to dict example (#73213)
##### SUMMARY
<!--- Your description here -->
single_list must be transformed to a list of pairs before feeding it into dict()

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2021-01-14 14:15:55 -05:00
e2308ed6e3 ansible-galaxy - correct collections-path command line arg (#73193)
It should be plural to match other options and environment variables.
2021-01-14 14:13:01 -05:00
0c4de6839b Add integration tests to ansible-galaxy-collection for 'ansible-galaxy collection verify' (#73229) 2021-01-14 11:49:53 -05:00
df9cf368c0 Always mention the name of the deprecated plugin in routing deprecation messages (#73059) 2021-01-14 17:45:02 +01:00
df451636e7 facts - properly report virtualization facts for Linux guests on bhyve (#73204) 2021-01-14 10:53:03 -05:00
0e6c334115 pause - adjust warning when run in background (#73182)
When the pause module is run in the background and seconds parameter is provided,
do not warn.

* Add tests
* Fix existing tests
  The test wasn't failing when it should have.
2021-01-14 09:35:39 -05:00
7f0eb7ad79 [facts] Differentiate CentOS vs CentOS Stream (#73034)
Change:
- On CentOS Stream, make distribution_release be "Stream"
- On CentOS Core, it continues to be "Core"
- Implement custom distribution file parser for CentOS, so we can look
  for "CentOS Linux" and "CentOS Stream"
- Two new fixtures introduced (CentOS Linux 8.1 and CentOS Stream 8)
- Removed two dicts from `Distribution` class that were seemingly not
  used anywhere.

Test Plan:
- ci_complete
- New test fixtures

Tickets:
- Fixes #73027

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-01-13 17:54:04 -05:00
4164cb26f0 Remove obsolete tower plugin from ansible-test. 2021-01-13 12:37:21 -08:00
3e8c8cd536 Make test_adhoc succeed from within a git checkout
The test currently only expects the literal `ansible` followed
by a semver in the first output line of `ansible --version`.
When running from within a git checkout, additional information
like the currently checkout branch are attached, which lets
the test fail. This commit allows arbitrary information to
follow the semver.
2021-01-13 21:22:21 +01:00
6459fbb7bc Make test_prepare_multipart succeed on non Debian distros
`test_prepare_multipart` fails in non Debian environments since
Debian installations map the file ending `.key` to the MIME type
`application/pgp-keys`, which is not IANA conformant. This commit
explicitly sets the corresponding file type to
`application/octet-stream` and adjusts the expected serialized
result.
2021-01-13 21:21:33 +01:00
270385f949 Remove 'type: complex' from the example, and mention that it should be avoided. (#73171) 2021-01-13 14:01:32 -05:00
21f1811ddf Cleanup provisioning code in ansible-test. (#73207)
* Remove unused code in ansible-test.

* Remove obsolete endpoint logic from ansible-test.

* Remove obsolete region selection in ansible-test.

* Remove obsolete port logic in ansible-test.

* Clean up ansible-test remote providers.
2021-01-12 16:18:28 -08:00
d6670da1d7 Added clog missing for issue 70722 (#73175) 2021-01-12 12:09:59 -05:00
9de2da8a7e Add tests for merging and replacing vars from inventory sources (#73181) 2021-01-11 17:37:34 -05:00
be59caa59b iptables: Added set module/match_set support (#72984) 2021-01-11 16:32:53 -05:00
98726ad86c hostname module: advise 'use:systemd' for RHEL/EL/CentOS 7+ (#72444)
Closes: https://github.com/ansible/ansible/issues/72429

Co-authored-by: Brad Solomon <brsolomon@deloitte.com>
2021-01-11 21:10:26 +01:00
a7e834071c Add macOS 11 to CI (#72622)
* Fix connection_paramiko_ssh test for macOS 11
* Update Azure Pipelines config
* Add changelog
2021-01-11 12:20:47 -05:00
264e08f21a user - properly handle password and password lock when used together (#73016)
Do the right thing on Linux when password lock and a password hash are provided by writing
out the password hash prepended by the appropriate lock string rather than using -U and -L.
This is the correct way to set and lock the account in one command.

On BSD, run separate commands as appropriate since locking and setting the password cannot 
be done in a single action.

FreeBSD requires running several commands to get the account in the desired state. As a result,
the rc, output, and error from all commands need to be combined and evaluated so an accurate
and complete summary can be given at the end of module execution.

* Improve integration tests to cover this scenario.
* Break up user integration tests into smaller files
* Properly lock account when creating a new account and password is supplied

* Simplify rc collection in FreeBSD class
  Since the _handle_lock() method was added, the rc would be set to None, which could make
  task change reporting incorrect. My first attempt to solve this used a set and was a bit too
  complicated. Simplify it my comparing the rc from _handle_lock() and the current value of rc.

* Improve the Linux password hash and locking behavior
  If password lock and hash are provided, set the hash and lock the account by using a password
  hash since -L cannot be used with -p.

* Ensure -U and -L are not combined with -p since they are mutually exclusive to usermod.

* Clarify password_lock behavior.
2021-01-11 11:42:35 -05:00
cec5267cee Documentation: fix formatting (#73060)
Co-authored-by: Andrew Klychkov <andrew.klychkov@gmail.com>
2021-01-11 10:01:17 -05:00
8a202cae3e Update developing_collections.rst (#73142)
Fix typo - FQCN not FCQN.
2021-01-08 12:57:26 -06:00
ae74d871a7 Document install_python_apt option of apt_repository (#72959)
* Update lib/ansible/modules/apt_repository.py
* Remove unnecessary ignored sanity tests
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
Co-authored-by: Amin Vakil <info@aminvakil.com>
2021-01-08 11:30:23 -06:00
61f0d6b919 add note regarding datetime docs (#72976)
Adds a note pointing to the datetime documentation as to_datetime does not use the time library but instead uses datetime.
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2021-01-08 09:47:23 -06:00
d83200c530 Documentation change to the apt module to reference lock files (#73079)
This change references the suggested workaround in #25414.
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2021-01-08 09:44:42 -06:00
456e9b7a33 Update pip integration test to use venv on py3. 2021-01-07 20:12:39 -08:00
05ba49cbba ansible-test - No virtualenv install on Python 3
Tests should use the Python built-in ``venv`` module on Python 3 instead of the standalone ``virtualenv`` module.

On Python 2 the ``virtualenv`` module continues to be the only option.
The version installed is either the OS packaged version or the last release to support Python 2, which is version 16.7.10.
2021-01-07 20:12:39 -08:00
7e769d6dd3 Fix example with the backwards counting in the sequence lookup plugin. (#73081)
The old example failed with:
fatal: [localhost]: FAILED! => {"msg": "to count backwards make stride negative"}
I fixed this and placed a start parameter to consolidate with the rest of the examples provided.

Co-authored-by: Jorge Rua <jorua@redhat.com>
2021-01-07 16:34:05 -06:00
1b88234a3a Fix a typo in the documentation of ansible.builtin.apt (#73061) 2021-01-07 22:27:09 +01:00
b1ee1a285a Added NO_COLOR as config option (#73105) 2021-01-07 15:00:31 -05:00
995e76c6e3 Update windows_winrm.rst (#73101)
The standard Port for ansible winrm is set to 5986/HTTPS. 
To be able to use Kerberos, you need to set ansible_port: 5985/HTTP otherwiese you get error message or timeout.
HTTPS is not needed for environments with Kerberos, since kerberos has server identification built in to the protocoll.
FYI: HTTP traffic will by default also be encrypted when using kerberos
2021-01-07 14:55:32 -05:00
0936623901 update the docs requirements versions (#73108) 2021-01-07 13:40:01 -06:00
44ee04bd1f [dnf] Make "remove" filtering closer to dnf CLI (#73033)
Change:
- Internally, use dnf.subject.Subject#get_best_query for state: absent
- Add a bunch of tests for removing packages, given a bunch of different
  pkg specs (nv, nvr, nvra, wildcard, etc.)

Test Plan:
- New tests
- Local experiments with DNF API via PDB.

Tickets:
- Fixes #72809

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-01-07 11:32:06 -06:00
77942acefc Refactor ansible-test cryptography install code. 2021-01-07 09:04:33 -08:00
c8666f07d7 Add support for argument_specs attribute to RoleMetadata class (#73120) 2021-01-07 11:41:46 -05:00
0eb1e22cd9 Update azure pipelines container 2021-01-06 15:41:09 -08:00
c9f28c1735 Rewrite Docker scenario guide (#73069) 2021-01-06 13:57:14 -05:00
1d8760779c left a stray </div> by mistake (#73132)
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2021-01-06 12:13:24 -05:00
24e8ba7c9e Update the porting guide for a new ansible version (#73124) 2021-01-06 10:13:35 -06:00
25792d2388 galaxy: handle plus sign in user token appearing in role url (#73057)
Fixes: #45475

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-01-06 10:50:44 -05:00
5b4f0b3370 Declare support for Python 3.9 in the metadata
Co-authored-by: Rick Elrod <rick@elrod.me>
2021-01-05 20:48:08 -08:00
b96732fa6b [ansible-test] Add Fedora 33 support and drop F31
Change:
- Changes to make F33 work with current tests
- Add F33 to docker.txt
- Add F33 to AZP config

Test Plan:
- ci_complete

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-01-05 20:48:08 -08:00
0a3c5d9dcc remove doc survey banner (#73119) 2021-01-05 15:40:20 -06:00
de3844cba9 discourage hexdigits in password lookup (#73106)
* actually add new docs

* Update lib/ansible/plugins/lookup/password.py

Co-authored-by: Sandra McCann <samccann@redhat.com>
2021-01-05 15:03:27 -05:00
e0c75a6756 Replace the use of the function string.replace with the method str.replace (#68793)
* Replace the use of the function string.replace() with the method str.replace()
because that's what works for both Python 2 and 3.

* Cleanup the unused string import.

Added a changelog fragment.

* The documentation for os.write() seems a bit iffy, but in Python 3 we
definitely cannot pass it a string and we need to encode it into
bytes.

The Python documentation at
https://docs.python.org/3/howto/pyporting.html#text-versus-binary-data
says that this code will work in Python 2 as well.

Co-authored-by: Lloyd Parkes <lloyd@must-have-coffee.gen.nz>
2021-01-05 11:20:44 -05:00
a469a4455a Add ansible-galaxy-collection-scm tests for requirements.yml (#73029)
* Add ansible-galaxy-collection-scm tests for requirements.yml format

* Add a test for --no-deps

Fix assertion
2021-01-05 10:32:23 -05:00
20509b6507 [facts] fix version facts on FreeBSD RC/PRERELEASE (#73020)
Change:
- The FreeBSD release can contain -RC or -PRERELEASE in addition to
  -RELEASE, -STABLE, or -CURRENT.

Test Plan:
- Added new fixed from an RC version of TrueNAS which uses a -PRERELEASE
  version of FreeBSD.

Tickets:
- Fixes #72331

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-01-05 10:16:59 -05:00
003a9e890d 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
2021-01-04 15:53:56 -05:00
3074ede8a3 ExecutionPolicy default value is RemoteSigned (#72993)
* ExecutionPolicy default value is RemoteSigned

##### SUMMARY
In Windows setup steps, settings `ExecutionPolicy` is restored to value `Restricted`. But actually default value for Windows server is not `Restricted` but `RemoteSigned` ([source](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.1#default)).

I have got issue with `win_dsc` because `ExecutionPolicy` was `Restricted`.

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr

* Add changelog fragment

* Apply suggestions from code review

Co-authored-by: Sandra McCann <samccann@redhat.com>
2021-01-04 15:41:54 -05:00
418bad7ad4 type: sub-module -> submodule (#73087)
Updates the docs for the git module. Elsewhere in this file submodule is all one word, and it's all one word in git docs.
2021-01-04 12:03:21 -06:00
776274143f galaxy: Update example for git+file (#73053)
Use correct syntax for installation of role from
local git repository.

Fixes: #72217

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-01-04 12:01:54 -05:00
pva
42bc03f0f5 [get_url] skip checksum during --check (#66700)
Fix get_url failure in check mode (--check) when using the checksum
format <algorithm>:<url>.

Regression introduced in (#20532)

Fixes: #61369
2020-12-22 21:34:42 +05:30
aa56a2ff6a galaxy: Handle token as dict while loading using yaml (#70911)
Malformed galaxy_token file creates stacktrace.

Fixes: #70887

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-12-21 14:53:00 -05:00
932ba36160 ensure unsafe writes fallback (#70722)
* Ensure we actually fallback to unsafe_writes when set to true

 add integration test
 add fix for get_url not passing the parameter from args
2020-12-21 11:20:52 -05:00
202689b1c0 Update lookup.rst (#72831)
##### SUMMARY
Set correct indentation.


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2020-12-18 14:55:53 -05:00
938199e34a gather_facts - Add link to docs on how to configure facts modules (#72271)
* Add link to docs on how to configure facts modules

* Remove unrendered markup from examples

* Update link to relative reference
2020-12-18 12:25:18 -05:00
79ab1247b8 Fixed vault id in variable encryption example (#72626) 2020-12-18 12:16:38 -05:00
103decccac Add complex example of fileglob with loop (#72396)
* Add complex example of fileglob with loop

* Explain Python unpacking notation

* Add missing paren
2020-12-18 12:08:47 -05:00
97765f4ebd Role duplicates docs updates (#72666)
* Change example to use role params to represent the documented outcome. Fixes #68922

* Add notes about how vars vs role params affect variable scoping, and how lazy evaluation and role-deduplicating is affected. Fixes #72650

* link to term
2020-12-18 11:55:54 -05:00
b514200126 Add link to all module and plugin indexes (#72743)
* Add link to all module and plugin indexes.

* Use glob setting for toctree.

* Explicitly include new file.

* Move all_plugins one level up.

* Revert "Move all_plugins one level up."

This reverts commit bd47e82ead.

* Revert "Explicitly include new file."

This reverts commit 74ae50a734.

* Adjust .gitignore

* Revert "Revert "Explicitly include new file.""

This reverts commit f30d99c861.

* Fix docs make clean

Now that there's a static file in rst/collections, we have to be more
explicit about how we clean the generated files out of that directory.

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2020-12-18 11:55:31 -05:00
8fdb5ace01 Update WSL docs to mention sleep workaround (#72839)
Co-authored-by: Joseph Chambers <joe.chambers@lexisnexis.com>
2020-12-18 11:49:56 -05:00
c1dadfdadc Documentation: fix modules doc formatting (#72898) 2020-12-18 11:45:07 -05:00
389c7b7806 Documentation fix, /etc/apt/source.list from non-code block to code block (#72933)
/etc/apt/source.list
was sentence, not code-block. Therefore made it code-block
2020-12-18 11:41:38 -05:00
5ecfb19cad arg_spec - move validator lookup method to a function (#72667)
* arg_spec - move type checking lookup method to a function

* Change get_wanted_type name and behavior

Change the name to get_validator to bette describe what it is doing.

Change the interface to always return a value. This lines up with the behavior of get_*
functions always returning something or None and check_* functions raising an
Exception if something went wrong during the check.

* Add param to check_type_str()

Not meant to be a long term fix, but gets tests passing. More work is needed to figure
out how to solve this cleanly.

* Remove private attribute mapping types to validator

Since the function that needs it has moved to parameters.py, there is no need to have it as
a attribute of AnsibleModule.

Update tests that were referencing the private attribute.

* Use private method for 'str' type

To avoid having to put the string conversion warning behavior in the check_type_str() method,
use the private _check_type_str() method for 'str' type.

Import CHECK_ARGUMENT_TYPES_DISPATCHER for backwards compalitibility and store it as
a private attribute.

Revert changes to support plugins that are referencing serf._CHECK_ARGUMENT_TYPES_DISPATCHER.

* Add changelog

* Change function name to better reflect its... function

* Change dict name to better reflect its contents

CHECK_ARGUMENT_TYPES_DISPATCHER --> DEFAULT_TYPE_VALIDATORS

* Fix changelog
2020-12-17 17:15:00 -05:00
48803604cd systemd - do not overwrite unit name when searching (#72985)
* systemd - do not overwrite unit name when searching

PR #72702 introduced a bug that changed the unit name when splitting it up for the purpose
of searching for the unit. This only happens on unit file templates on systems that have a 5.8
or newer kernel and a version of systemd that does not contain a bugfix that causes systmed
to fail to parse dbus.

* Use facts rather than a manual probe to determine if systmed is present

* Remov unnecessary block

* Use vars files instead of set_fact

* Add tests for using a templated unit file

* Update changelog fragment

* Use template to get correct path to sleep binary
2020-12-17 15:29:22 -05:00
13bf04e95a Clarify include_role documentation to indicate play vs playbook (#73011)
* Clarify include_role documentation to indicate play vs playbook. Fixes #73006

* Additional clarifications
2020-12-17 14:28:16 -05:00
8e022ef00a import_playbook - change additional params to deprecation (#72987)
* import_playbook - change additional params to deprecation

I incorrectly recommended this be set as a warning when it should have been a deprecation.

* Fix deprecation sanity test to not required a collection name when not inside a collection
2020-12-17 14:14:58 -05:00
dbc2c996ab Allow key None to prevent errors with import test. 2020-12-17 09:04:06 -08:00
850a77f639 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).
2020-12-17 10:51:42 -05:00
5e03e322de Pass the top level dictionaries to combine_vars (#72979)
* Pass the top level dictionaries to combine_vars

combine_vars uses dict.update() to replace keys
2020-12-16 11:23:23 -05:00
6487a239c0 developing_inventory sample code: fix undefined var "results" if get_option(cache)=False (#72977)
if user_cache_setting == False, then the previous code didn't parse the inventory source
2020-12-16 10:51:58 -05:00
3274e02fd8 Update Azure Pipelines scripts and config. (#72986)
* Increase fetch depth to reduce the frequency of full test runs for out-of-date PRs.
* Update scripts to match those which will be used in collections.
2020-12-15 15:28:44 -08:00
37d09f2488 Update ansible-test pylint Python support. (#72972)
* Update ansible-test pylint Python support.

* Python 3.8 is now officially supported.
* Python 3.9 is now skipped with a warning.
2020-12-15 10:27:32 -08:00
7eee2454f6 Remove note on combining roles and collections (#72957) 2020-12-15 09:18:14 -06:00
8450858651 Remove inaccurate Vault documentation (#72938)
This is not functionality that exists.
2020-12-15 09:06:10 -06:00
0ba96d2be8 Compare removal and deprecation dates and versions in runtime metadata against current version and today (#72625)
* Check deprecation and removal versions w.r.t. current version.

* Check removal dates from tombstones w.r.t. today.

* Add changelog.
2020-12-15 09:05:38 -05:00
b0c78208fd Add test for ansible-galaxy collection install
Test installing a collection to a directory containing other collections without any metadata (#72971)
2020-12-15 08:59:28 -05:00
d22804c4fb saner path dir management (#72648)
* saner path dir management

   fixes #72628

   ensure we always store paths w/o a_c

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
2020-12-14 19:30:13 -05:00
5157a92139 Remove exit code from traps in tests
Having the trap exit with a specific code will override
the exit code that caused the trap to run, which could
mask errors
2020-12-14 09:16:34 -08:00
3a18ef7159 Change role argspec file used by ansible-doc (#72927)
* Change role argspec file used by ansible-doc

This changes the file used for role argument specs from meta/argument_specs.yml
to meta/main.yml. The argument specs are expected to be in that file under the
top-level entry of `argument_spec`.

* Switch to argument_specs
2020-12-14 12:05:40 -05:00
83fb24b923 iptables: Adding multiport module support (#72928) 2020-12-14 10:23:54 -05:00
0044091a05 Update yum/dnf module docs to include version comp (#72763)
* Update yum/dnf module docs to include version comp

Fixes #61234

Signed-off-by: Adam Miller <admiller@redhat.com>

* fix up docs syntax to sanity tests are happy

Signed-off-by: Adam Miller <admiller@redhat.com>
2020-12-11 10:31:19 -05:00
e7dee73774 Collection list site packages (#70173)
* ansible-galaxy collection list and verify now utilize collections in site-packages.

This is a short term fix for #70147.  The long term fix needs to handle
install (but that discussion is also bound up in how upgrade is going to
work and where things can get installed so it's deferred for 2.11.)

* Add test for ansible-galaxy collection list with site-packages

* Fix sanity issue

Co-authored-by: David Moreau Simard <moi@dmsimard.com>
Co-authored-by: Jordan Borean <jborean93@gmail.com>
2020-12-11 09:59:33 +10:00
0a60e5e341 Add a couple more tests to ansible-galaxy-collection (#72931)
* Test installing a dependency compatible with multiple collection requirements

Test downloading a collection without dependencies

* Move cleanup to the end of the test suite
2020-12-10 11:26:50 -05:00
a3b6485073 Fix reset_connection paramiko, winrm, psrp (#72688)
* Ensure we only reset the connection when one has been previously established. Fixes #65812

* Ensure psrp doesn't trace

* winrm too

* Indentation fix
2020-12-09 12:57:56 -06:00
36ab3d1189 Fix cryptography constraints in ansible-test. (#72914) 2020-12-09 10:46:05 -08:00
83764ad506 Fix async interpreter parsing (#72636)
* Fix async interpreter parsing. Fixes #70690

* Target localhost instead of remote host

* Don't forget inventory

* Address shellcheck issue
2020-12-09 11:41:45 -06:00
1b70260d5a Add implicit role_complete block instead of role._eor (#72208)
Co-authored-by: Matt Martz <matt@sivel.net>

Fixes #69848
2020-12-09 09:53:01 +01:00
252685092c Use _wrap_native_text only for builtin STRING_TYPE_FILTERS (#71801) 2020-12-09 09:48:32 +01:00
08cc6edc64 vault: Read stdin data as binary on python3 (#52229)
On python3 sys.stdin is an encoded file object that does not support
reading raw binary data. Use the supplied buffer object to do so.

Signed-off-by: Sven Wegener <sven.wegener@inovex.de>

Co-authored-by: Sven Wegener <sven.wegener@inovex.de>
2020-12-09 09:46:32 +01:00
e5ccd18be4 Wording changes to docs (#70082) 2020-12-08 16:46:34 -05:00
6098793315 add docs survey banner (#72907)
* add docs survey banner, with date
2020-12-08 15:09:35 -06:00
6bc1e9f5dd Address additional ansible_core rename issues (#72906)
* Update __requires__ to reference the correct ansible_core package name

* ansible-test updates to handle the correct egg_info for ansible_core
2020-12-08 12:22:55 -06:00
57c2cc7c77 correct the reST rendering of the R() note (#72896) 2020-12-08 16:46:09 +01:00
8f77e95765 Add alinux hostname module support (#72894) 2020-12-08 16:42:42 +01:00
bc35fbf5de Change apt-add-repository to add-apt-repository (#72893) 2020-12-08 16:40:51 +01:00
4e74270322 Replace "hash of the path" by "hash of the file" (#72880) 2020-12-08 16:32:48 +01:00
fe17cb6eba Fix fileglob parameter order bug (#72879) 2020-12-08 16:31:34 +01:00
e97f333532 Add missing endfor to vlan_parser example (#72872) 2020-12-08 16:25:56 +01:00
bc37976df2 Clarify mode behavior for modules that can set file permissions (#72837) 2020-12-08 16:11:36 +01:00
711064a073 Remove shippable.yml 2020-12-07 10:13:09 -08:00
be2c376ab8 Extract embedded function to RoleMixin method and add tests (#72754)
* Add changelog
* Simplify return
2020-12-07 13:07:23 -05:00
034e9b0252 unarchive - add include option (#40522)
This should allow users to extract specific files from an archive as
desired.

Fixes #16130, #27081.

* Rebase and make a few minor changes
* Add changelog
* Improve tests

- move to separate tasks file
- change assertions to check for exactly one file
- use remote_tmp_dir for output dir

* Make exclude and include mutually exclusive
* Don't remove files needed by other tasks
* Fix sanity tests
* Improve feature documentation
* Skip tests that use map() on CentOS 6
* Use fnmatch on include for zip archives
  This matches the behavior of exclude

Co-authored-by: Sam Doran <sdoran@redhat.com>
2020-12-07 12:49:41 -05:00
6608f3aab3 Update ansible roadmap (#72838)
* Update to the ansible package roadmap for 3.0.0

* Rename files for the ansible roadmap from 2.11 to 3.0

Co-authored-by: Sandra McCann <samccann@redhat.com>
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2020-12-04 19:50:01 -08:00
f569d80fde Improve deprecations (#72697)
* Remove space before comma in '... bla , use ...'

* 'why' is inserted in the middle of a sentence, between two commas.

* Make deprecations from base.yml show source ansible-core.

* Add changelog fragment.

* Improve some more 'why's.

* Add PR URL to fragment.
2020-12-04 14:50:32 -05:00
b464d18fd1 AnsibleModule.set_mode_if_different: handle symlink is in a sticky directory (#45198)
* file: add symlink is in a sticky directory tests
* file: handle symlink in a sticky directory

Co-Authored-By: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>

* Add changelog and fix unit test
The builtins import was removed since it was unused, but it is now needed.
2020-12-04 14:21:51 -05:00
5226ac5778 The implicit default for type=bool options is not 'false', but 'none' (#72699)
* The implicit default for type=bool options is not 'false', but 'none'.

* Fix modules, resp. add ignore.txt entries.
2020-12-04 12:13:14 -05:00
f94ba68d8f ansible-test sanity: fix UnicodeDecodeError for --python 2.7 --docker (#72623)
* Store target paths as unicode.

* Add changelog fragment.
2020-12-04 12:12:14 -05:00
221c50b57c Use AZP config for integration-aliases test.
No changelog entry since this test is limited to the ansible/ansible repo.
2020-12-03 15:35:58 -08:00
38f21557ba json_query: Add examples for starts_with and contains (#72821)
* Add a note about - data structure returned from register variables
needs to be parsed using ``to_json | from_json`` in order to
get correct result.
* Add examples for starts_with and contains

Fixes: https://github.com/ansible-collections/community.general/issues/320

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-12-03 14:52:00 -05:00
0a7fcd135c Docsite: update "Migrating Ansible content to a different collection" info (#72710)
* add a reminder about ignore-*.txt entries, fix formatting, add symlink removal note
* Update docs/docsite/rst/dev_guide/developing_collections.rst

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: David Moreau Simard <moi@dmsimard.com>
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2020-12-03 13:29:01 -06:00
10e59ef749 Documentation: fix modules doc formatting (#72788)
* Update lib/ansible/modules/apt_key.py

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2020-12-03 13:23:43 -06:00
08842cd6bb Fix Azure Pipelines change detection. (#72824) 2020-12-03 09:19:03 -08:00
2b24fae429 Replace exit with sys.exit in Galaxy CLI. 2020-12-03 08:32:01 -08:00
2701bb940a Remove myself from suse-team in BOTMETA (#72827) 2020-12-03 10:34:22 +01:00
9e7616b208 Fix yum_repository for more centos6 EOL fallout
Change:
- Use a version specific vars file to specify archive url for EPEL.

Test Plan:
- ci_complete

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-12-03 01:15:08 -08:00
f7adbec626 [devel] Fix CI schedule. 2020-12-02 20:49:10 -08:00
a788ea0132 systemd - account for templated unit files when searching for service (#72702)
Related to issue #71528 and PR #72337

Co-authored-by: Martin Polden <mpolden@mpolden.no>
2020-12-02 21:51:45 -05:00
d05b26115b update PyPI badge to ansible-core (#72813) 2020-12-02 18:26:54 -08:00
d567a553a9 update devel build badge for AZP (#72807) 2020-12-02 16:53:59 -08:00
3b88058b72 Bump centos6 image for pinned junit-xml dep
Signed-off-by: Rick Elrod <rick@elrod.me>
2020-12-02 14:02:32 -08:00
3a633b278d [devel] Azure Pipelines configuration. 2020-12-02 13:40:01 -08:00
a59825128d [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>
2020-12-02 12:17:05 -08:00
2aa3531b1b Docsite: update complex_data_manipulation and playbooks_advanced_syntax rst files to use FQCNs (#72539) 2020-12-02 10:29:49 -06:00
ebd8c101fd modules: fix documentation formatting (#72737) 2020-12-02 10:03:36 -06:00
478b2687ec Update the porting guide to include 2.10.4 (#72782) 2020-12-01 18:30:48 -06:00
a95213d2f5 Switch to hashlib.sha256() for ansible-test (#72411)
When FIPs mode is enable on centos-8, we are not able to load md5
functions.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2020-12-01 13:14:20 -05:00
79fb065d16 document that handler can not run include_role and import_role (#72744)
Warn the users until issue #20493 is fixed.
2020-12-01 10:15:46 -06:00
276ad4f8f5 added more specific info about user scope (#72680)
in ref of #72674
2020-12-01 16:25:15 +01:00
a223ea5185 distribution - handle NetBSD OS Family (#70799)
Fixes: #43739

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-12-01 10:01:25 -05:00
8a4afbf9f2 Autodecryption does not work with remote_src=yes (#56565)
This is in reference to the issue: https://github.com/ansible/ansible/issues/41130 (Cannot decrypt with copy module when remote_src: yes)

Autodecryption of the vaulted files does not work when we want to copy files with remote_src=yes.

Co-authored-by: ziaurrehman72 <ziaurrheman72@yahoo.com>
2020-12-01 14:27:08 +05:30
1db9588279 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
2020-11-30 16:49:33 -05:00
fa481e3316 Fix missing dashes in playbooks intro doc (#72746) 2020-11-30 16:19:40 -05:00
2eb9795543 Test pip fix 2020-11-30 12:02:26 -08:00
454ac6420e Update playbooks_filters_ipaddr.rst (#72705)
Fix the order of the arguments for ansible.netcommon.reduce_on_network. Pass the network as the argument and the list of IP addresses as the filter input.
2020-11-30 11:58:11 -06:00
74196577a3 added sample output for echo example (#72718) 2020-11-30 09:59:27 -05:00
0fa1cd88ce ansible-doc: replace DataLoader with from_yaml (#72686)
* Replace DataLoader with pure yaml
2020-11-23 13:32:03 -05:00
a57539f764 Update VMware module development (#72603)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-11-23 09:35:27 -05:00
ae08c6a639 Ensure Ansible's unique filter preserves order (#67856)
Fixes #63417
2020-11-23 08:55:18 +01:00
35022e13a8 Update intro_getting_started.rst (#72689)
Move the command output to immediately follow the example.
2020-11-20 14:35:19 -06:00
3add96909d Fix parsing of values when using an empty string as key (#57132) (#72545)
Signed-off-by: Yadnesh Kulkarni <ykulkarn@redhat.com>
2020-11-20 19:22:55 +01:00
18e5628b19 Slight tweak to galaxy source selection (#72685) 2020-11-20 07:54:43 +10:00
c36acc9eaa Add a versioning helper module 2020-11-19 20:53:23 +01:00
46198cf80a Add orig_exc context to error messages (#72677)
* Add orig_exc context to error messages. Fixes #68605

* Fix string formatting
2020-11-20 05:40:22 +10:00
fb092a82a1 ansible-galaxy - source deps from all servers and not just parent (#72576)
* ansible-galaxy - source deps from all servers and not just parent

* Added integration tests for this scenario
2020-11-20 04:54:40 +10:00
37f298f10e Move progress messages into _display_progress CM 2020-11-19 01:23:52 +01:00
f8ef34672b Provide better decryption errors for single vault values (#72362)
Fixes #72276
Fixes #72281
2020-11-18 14:25:32 -06:00
e889b1063f arg_spec - rework _check_arguments() (#72447)
* Move _syslog_facitily to __init__
  No good reason it should not be set for each object

* Move internal property setting to private method
* Create check_arguments() function
* Remove unused import
* Rename function to better match its behavior
  Change the behavior to return a set, either empty or populated, with unsupported keys.
  Accept legal_inputs as optional which will not required calling handle_aliases before calling
  get_unsupported_parameters().

* Add changelog
* Rework function behavior and documentation
  I realized I missed the original intent of this method when moving it to a function. It
  is meant to compared the parameter keys to legal inputs always, not compare
  parameter keys to argument spec keys, even though the argument spec keys should
  be a subset of legal inputs.

* Add tests
* Fix typo.
* Set internal properties when handling suboptions
2020-11-18 14:15:33 -05:00
1fbac24739 Update ansible-runner tests version and deps (#72197)
We could not find reason for the docutils install so trying out removing it.
Also bumping to latest version of ansible-runner

Skip all python2 versions because next ansible-runner drops it

Co-authored-by: Elijah DeLee <kdelee@redhat.com>
2020-11-18 11:00:04 -05:00
cf39d9de25 update team_azure membership (#72653)
* remove/ignore haroldwongms at his request
2020-11-17 15:20:45 -08:00
1937dd5e9c Update developing_plugins.rst (#72305)
##### SUMMARY
ansible_date_time returns utc time. datetime.utcnow() rather than datetime.now()

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2020-11-17 21:45:03 +01:00
570aed0913 ansible-doc role arg spec support (#72120)
* Support listing roles in text and JSON

* Change tests for unfrack'd playbook_dir var

These tests were using '/tmp' for testing the setting of the playbook_dir
var. Now that we unfrack that var, MacOS will change this to '/private/tmp'
causing the tests to fail. We can choose a path that does not exist (since
unfrack does not validate existence) so that we can guarantee unfracking
will not change the value.
2020-11-17 12:58:19 -05:00
07248e5ec1 avoid key errors on environment access (#72620) 2020-11-17 12:09:46 -05:00
ad4ddd8211 document what the name of a play is (#72633)
##### SUMMARY

Make clear that `ansible_play_name` is the name attribute from the play and not the file name of the playbook.

improves #57361

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2020-11-17 11:56:49 -05:00
d8baf4d38d Document and warn when max_fail and free are used (#72616)
Fixes #16666
2020-11-17 10:11:15 -05:00
13bc35e13c actual min changes needed for rhel8 (#72477)
* actual min changes needed for rhel8

 - specifiy releaserver as dnf/vars is ignored
2020-11-16 15:43:05 -05:00
6894ae7d1d Rename to ansible-core (#72594)
Change:
- Initial set of changes for renaming to ansible-core
- Includes changelog fragment changes from base -> core
- Does NOT include docs changes
- Modifies detection stuff in setup.py to support ansible<2.9 and ansible-base

Test Plan:
- ci_complete
2020-11-13 15:42:10 -06:00
452bc3af04 example of exponential backup (#72617) 2020-11-13 16:00:21 -05:00
85570e2dc0 Fix documented type of mode field in copy module (#72593)
* Fix type of mode field in copy module

* Remove module type checking from ignore.txt sanity checks

* Remove mode type

Co-authored-by: Matt Martz <matt@sivel.net>
2020-11-12 16:28:01 -05:00
bbef250c2b Fix super annoying Python 2.6 multiprocessing.Queue stack trace in CI (#72604)
* Fix super annoying Python 2.6 multiprocessing.Queue stack trace in CI

A bug exists in Python 2.6 that sometimes raises an exception during interpreter shutdown. We
encounter this frequently in our CI since we run tests on CentOS 6 as the control node, which
has Python 2.6.6 with this bug.

This PR adds a very minor sleep only on Python 2.6 which gets around this issue. I did lot of testing
using a standalon script I found that easily duplicated the issue to find the minimum sleep value
needed to avoid this issue.

CPython issue: https://bugs.python.org/issue4106
Fix in CPython: https://hg.python.org/cpython/rev/d316315a8781

* Use correct attribute
2020-11-12 14:39:08 -05:00
4b8cb6582b pause - do not hang if run in the background (#72065)
* 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.
2020-11-12 12:22:57 -05:00
aee7a3ed68 Fix FreeBSD HTTP Kerberos setup (#72595) 2020-11-12 13:40:59 +10:00
8c67432fc8 Update intro_installation.rst (#72586) 2020-11-11 10:44:50 -05:00
03a395cba4 Rollback pulp container to stabilise CI (#72580) 2020-11-11 17:09:16 +10:00
a521ea0a13 Tweak galaxy CI tests to bring stability (#72578) 2020-11-11 13:46:57 +10:00
44a38c9f33 add return documentation for unarchive. (#72546)
* add return documentation for unarchive, add fragment for changelog, apply suggestions from code review

Co-authored-by: Amin Vakil <info@aminvakil.com>
2020-11-10 16:27:39 -06:00
a5eb788578 Minor Edit: Fix typo in platform_index.rst (#72564)
Fix Dell OS 10 dellemc.os10.0s10 to dellemc.os10.os10 in platform_index.rst
2020-11-10 16:22:07 -06:00
ddad9930aa Clarify collection paths in docs (#72510)
* Clarify collection paths in docs, fix rst syntax, rephrase docs about using collection from folder/local git

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-10 16:19:43 -06:00
bdd0c48837 Added changelog for RHEL 7.9 (#72572) 2020-11-11 05:30:11 +10:00
4f0e2fff95 avoid fatal exception on invalid collection name (#72296)
* avoid fatal exception on invalid collection name used in ansible-doc filter
2020-11-10 11:46:15 -05:00
48c08f410c allow any type of unsafe data (#72547)
* allow any type of unsafe data

  dont limit to strings
2020-11-10 10:48:20 -05:00
e879f12fb9 Fix AIX networks facts when nestat is either missing or has incorrect permissions (#72516)
* Added check for none on netstat_path variable

* Added changelog
2020-11-10 10:07:28 -05:00
d451433e5d Add RHEL 7.9 - ci_complete (#72558) 2020-11-10 16:53:22 +10:00
fa2be89cd4 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.
2020-11-09 22:34:05 -08:00
f022dedd0a Fix container discovery for the acme test plugin. 2020-11-09 14:11:12 -08:00
aa4d53ccdf 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
2020-11-09 16:21:17 -05:00
de5858f48d Added caching mechanism for Galaxy API requests (#71904)
* Added caching mechanism for Galaxy API requests

* Add cache options and split up code

* Added unit tests

* Fix sanity test

* Use modified date and fix up caching for explicit servers

* Make sure credentials are not in cached server name

* Added test for getting updated cache version

* Changes from review
2020-11-10 06:50:32 +10:00
a1730af91f Ensure blockinfile correctly returns backupfile (#72544)
* Ensure blockinfile correctly returns backupfile

  Fixes #27626
  based on #27859

Co-authored-by: Giovanni Sciortino (@giovannisciortino)
2020-11-09 14:45:09 -05:00
e7bf0696ef [ansible-test] use newer container images (#72126)
Change:
- Bump default, ansible-base, distro containers
- We do NOT add fedora33 yet, because it doesn't work right on Shippable
  due to an old kernel. This will be added post-AZP.

Test Plan:
- CI

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-11-09 13:04:44 -06:00
c1da427a5e iptables: Reorder comment postition (#71496)
* Reorder comment postition

* Add comment unit test

* Fix unit test

* Fix unit test

* Add changelog

* Add paramaters which would be problematic without this fix

* Fix typo

* Fix unit test

* Fix unit test
2020-11-09 19:40:55 +01:00
11b7091c84 fix paramiko deps for freebsd/12.2
Signed-off-by: Rick Elrod <rick@elrod.me>
2020-11-09 12:09:53 -06:00
7a08efc546 update shippable for fbsd 12.2
Signed-off-by: Rick Elrod <rick@elrod.me>
2020-11-09 12:09:53 -06:00
3b379f372e [ansible-test] first attempt at freebsd 12.2
Change:
- Add freebsd/12.2 remote target

Test Plan:
- ci_complete

Tickets:
- Fixes #72366

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-11-09 12:09:53 -06:00
8eab113cb1 show keyword documentation in ansible-doc (#72476)
* show keyword documentation in ansible-doc

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-09 09:55:17 -05:00
96ad5b799e Emit warning when running on the controller with a Python older than 3.8 (#72467)
* Emit warning when running on the controller with a Python older than 3.8

* Add spaces

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

* and more spaces

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

* s/Py/Python/

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

* Add note to Control node requirements about Py3.8 requirement

* Add collection_name to deprecated call

* more spaces

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>

* Clarify that we are only packaging for py3.8+

Co-authored-by: Matt Clay <matt@mystile.com>
Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
2020-11-09 08:53:52 -06:00
09ad4baf5b Remove incidental_setup_ec2 test target (#72523) 2020-11-06 14:13:47 -05:00
0ed7bfc694 Fix task get_name to always prepend the role name (#72511)
* Fix 'role_name : tast_name' notation if task contains role name

* Add tests for notifying handler names which contain the role name

Co-authored-by: Thomas Wouters <thomaswouters@gmail.com>
2020-11-06 11:46:58 -05:00
c8590c7482 Various intentional tests (#72485)
* Add tests for argspec choices type=list

* Add explicit interpreter discovery tests to validate modules returning ansible_facts still set interp

* Add explicit tests for missing_required_lib

* Add explicit tests for recursive_diff

* ci_complete ci_coverage

* Update data to cover more code/tests

* ci_complete ci_coverage

* Add argspec tests for aliases, and no_log

* Forgotten file

* ci_complete ci_coverage

* Add argspec tests for type int

* ci_complete ci_coverage

* Remove incidental_k8s

* ci_complete ci_coverage

* fix missing newline

* Remove incidental_sts_assume_role

* ci_complete ci_coverage
2020-11-06 08:41:41 -06:00
599805e316 Introduce Ansible plugin in Jetbrains section of doc (#72465) 2020-11-05 16:08:43 -05:00
da1c1e8bb8 Add info on how to contribute to **community**-maintained collections as well. (#72494) 2020-11-05 16:07:45 -05:00
a5a0b8f0e7 Style guide edit to the tools page (#72506) 2020-11-05 15:28:34 -05:00
72302dd611 Replace some more FQCNs. 2020-11-05 12:19:08 -08:00
a2593b5e27 CLI - Specify jinja version in --version output 2020-11-05 11:37:55 -08:00
488b9d6c35 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
2020-11-05 11:17:46 -08:00
5fb6280672 Add verbose log for network action handler information 2020-11-05 11:11:22 -08:00
b33d7e2e29 Add changelog (#72502) 2020-11-05 12:50:44 -05:00
c7a4b39633 Adjust action groups to moved modules (#72428)
* Support docker and k8s action groups for moved modules in community.docker and community.kubevirt.

* Also support k8s action group for community.okd.

* Also add kubernetes.core.

* Adjust PR #.

* Fix changelog fragment.

* Remove community.okd.

* Revert "Remove community.okd."

This reverts commit 812b5aa6e2.
2020-11-05 10:13:51 +00:00
d8c637da37 [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>
2020-11-04 15:13:55 -05:00
5654de6fce Return error if cwd directory does not exist (#72390)
* Return warning or error if cwd directory does not exist, in AnsibleModule.run_command()
2020-11-04 14:33:39 -05:00
01d207a3e3 Improve argument spec documentation (#72335)
* Link to argument spec documentation from 'Creating a module'.

* Use items instead of sub-headings.

* Update deprecation information.

* Document conditional requirements.

* Document supports_check_mode and add_file_common_args.

* Add deprecation examples.

* Re-add word.

* Improve title.

* Fix RST formatting, add conditional dependency section starter.
2020-11-04 18:17:46 +01:00
569d937df8 Improve config.rst formatting (#72354)
* Indent Jinja2 directives.

* Show version_added and deprecations for ini settings and environment variables.

* Make default conditional, add choices. Copied from #55474.

* Add Ansible variables. Copied from #55474.

* Turn ini keys and environment variables into lists. Copied from #55474.

* Improve formatting. Copied from #55474.
2020-11-04 10:48:10 -06:00
7f86e0715c hint in doc of git module to abort on missing http password (#72164)
* hint in doc of git module to abort on missing http password

improves #69489

* fix syntax in doc of git module

Co-authored-by: Matt Martz <matt@sivel.net>

Co-authored-by: Matt Martz <matt@sivel.net>
2020-11-04 17:19:06 +01:00
dbe43e071e Docsite: update user_guide/playbooks_module_defaults (#72051)
* Docsite: update user_guide/playbooks_module_defaults, add name: lines and use FQCN consistently
2020-11-04 09:58:47 -06:00
880087748c Remove incidental tower integration tests (#72461)
* Add explicit test for dict repr in argspec

* Add explicit test for undefined repr

* ci_complete ci_coverage

* Skip old jinja2

* ci_complete ci_coverage

* Remove incidental_tower_receive

* ci_complete ci_coverage

* Remove incidental_tower_credential_type

* ci_complete ci_coverage

* Remove ignore entries

* ci_complete ci_coverage
2020-11-04 09:46:08 -06:00
8ada1bb447 docs: Transpose two words to correct a sentence. (#72329) 2020-11-04 09:40:39 -06:00
1a5d2938c6 Update playbooks_filters_ipaddr.rst (#72464)
Fix small code formatting issue - remove extra `:` before code-block.
2020-11-04 09:14:17 -06:00
1eae2bb890 Update Galaxy NG version used in CI (#72469) 2020-11-04 10:07:38 +10:00
d53c47940a Update the ansible-2.10 porting guide 2020-11-03 15:47:34 -08:00
d76f85208d clarify upstream release status of 2.10 (#72269)
* clarify upstream release status of 2.10

* wordsmith
2020-11-03 11:39:27 -05:00
da60525610 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.
2020-11-03 08:51:31 -05:00
79021df2e4 Restore ansible-test coverage config.
Reverts a portion of the changes made in https://github.com/ansible/ansible/pull/70028
2020-11-02 16:13:33 -08:00
6b30efa454 Fix fallout from #70028. 2020-11-02 15:04:41 -08:00
ccc63abc8e Remove incidental vmware tests (#72420)
* Add explicit tests for ansible.module_utils.common.network.is_mac

* Test missing ANSIBLE_CONFIG

* Add explicit inventory script tests

* Add explicit tests for _consume_options

* Adjust perms, remove extra file

* ci_complete ci_coverage

* remove incidental_inventory_vmware_vm_inventory

* ci_complete ci_coverage

* Remove incidental_script_inventory_vmware_inventory

* ci_complete ci_coverage

* Remove incidental_vmware_guest

* ci_complete ci_coverage

* Remove incidental_vmware_host_hyperthreading and incidental_vmware_prepare_tests

* ci_complete ci_coverage

* newline and comment about what the test is doing

* ci_complete ci_coverage
2020-11-02 17:00:17 -06:00
64a809d2b6 Improve ansible-test classifications for collections (#72353) 2020-11-02 10:44:51 -08:00
6543c7bc5d Remove incidental_cs_role_permission (#72380)
* Add explicit argspec tests for choices

* ci_complete ci_coverage

* Remove incidental_cs_role_permission

* ci_complete ci_coverage

* ci_complete ci_coverage
2020-11-02 10:35:13 -06:00
2ee5af514b Update pip tests to omit install dev extras to avoid dep issues (#72436) 2020-11-02 10:06:09 -06:00
2e4038f4d2 Fixed a typo in user_guide/playbooks_conditinals (#72427)
+label: docsite_pr
2020-11-02 10:04:57 -05:00
809d5fc398 ansible-test - skip installing PowerShell sanity test reqs if they are already installed (#72423) 2020-10-30 21:52:27 -04:00
4b673484f0 rethink wording (#70028)
* rethink wording
* removed unrequired requirement
* fix tests
* fixed versions
Co-authored-by: Sloane Hertel <shertel@redhat.com>
2020-10-30 17:13:12 -04:00
4fb336cef1 ansible-doc: export has_action when --json is used (#72359)
* ansible-doc: export has_action when --json is used.
* Remove docuri and now_data, which were not used resp. ignored in format_plugin_doc and the functions it calls anyway.
* Add function _combine_plugin_doc.
2020-10-30 10:51:54 -04:00
111589d999 Minor typo/style fixes (#72374) 2020-10-30 10:34:02 -04:00
cb94c0cc55 added timeout options to adhoc and console (#71230)
* added timeout options to adhoc and console

* added test

* fix typosesz

* fix conflict

* task_timeout

* fix timeout option, added extra vars to console

* actually use right cli switch .. DUH!

* added timeout to include 'valid' but ignored keys

* fix default

* fixes per review
2020-10-30 10:09:30 -04:00
96c1972439 find will give more specific reasons on skip (#68823)
* find will give more specific reasons on skip

 - added more error handling
 - use random path for test
2020-10-30 10:08:19 -04:00
fb09fd2a23 wait_for - ignore psutil related errors (#72401)
When enumerating connections with psutil, catch and ignore errors to avoid returning a stack trace.

Co-authored-by:  Matt Martz <matt@sivel.net>
2020-10-29 21:40:31 -04:00
e73a0b2460 Explicitly get the include task, and not assume it is the parent (#72378)
* Explicitly get the include task, and not assume it is the parent. Fixes #6571
2020-10-29 15:15:18 -04:00
a51a6f4a25 reboot - add reboot_command parameter (#69847)
Fixes #51359
* Update default search paths
* Fix returns for args and command, don't allow conversion
* Reorganize tests
* Fix test for Azure Pipelines
2020-10-28 12:10:59 -04:00
e05c62547b run playbook from collections (#67435)
* fixes for collection playbooks

 - add fqcn invocation, also handles extensions
 - bring import_playbook into new normal
 - avoid adding collection playbooks to adjacency
 - deal with extensions or lack of em
 - added tests
 - fix bugs with multiple playbooks supplied
 - unicode/bytes/native fixes
 - fix modulenotfound for < py3.7
 - tests
2020-10-28 11:46:39 -04:00
8f9cf456b0 url lookup - set default user agent (#72324)
* Add unit tests
* Add note about when default changed
2020-10-28 09:34:06 -04:00
4856ab0e68 Galaxy server update (#72286)
* Update galaxy server image used in CI

* Fix port and migration issue

* Add delete step, still need to deal with pagination

* Make cleanup more efficient

* Remove testing code
2020-10-28 09:17:40 +10:00
d6115887fa systemd - use list-unit-files rather than list-units (#72363)
list-unit-files will return all files on the system. list-units omits those
that are disabled.

Co-authored-by: Ken Dreyer <ktdreyer@ktdreyer.com>
2020-10-27 17:43:36 -04:00
7352457e7b hostname - add macOS (#54439)
* Add DarwinStrategy class and integration tests

macOS has three seprate hostname params that need to be set. One of those params, LocalHostName, has more stringent requirements than the other two, which accept special characters and spaces. Create a method to scrub the hostname to ensure it works well with the system requirements.

* Update documentation

* Account for virtualization type returned on Azure Pipelines

* Do not be dependent on order of self.name_types

Use the scrubbed name when the name type is LocalHostName
2020-10-27 17:30:54 -04:00
dd19c9f737 Update playbooks_tags.rst (#72351)
##### SUMMARY
Corrected the "Adding tags to blocks" example syntax. 


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2020-10-27 15:50:49 -04:00
c51438312a blockinfile - properly insert block when no trailing new line exists (#72350) 2020-10-27 10:34:09 -05:00
233e7beb5b Fix processing of add_file_common_args=True when argument_spec is not specified as kwarg. (#72334) 2020-10-27 10:25:18 -05:00
dee8a4a8f1 Use type 'path' for fact_caching_connection in jsonfile cache plugin (#72317) 2020-10-27 10:10:13 -05:00
b848fa0fc7 Update hostname test to skip containerd. 2020-10-26 14:05:38 -07:00
db84e2c989 systemd - fix issue with capbpf and newer kernel (#72337)
A bug existed in systemd 245 that did not properly handle unknown kernel
capabilities gracefully. This resulted in incomplete output when querying
for the service status. It is possible to get service status by other means.
This PR works around this issue by getting service status using other commands
in the event of a failure due to this bug.
2020-10-26 13:53:31 -04:00
2293b327c0 [ansible-test] Limit cryptography to <3.2 (#72342)
Change:
- Cryptography 3.2 drops support for OpenSSL 1.0.2. Some of our CI
  infrastructure still uses this version (FreeBSD, namely). For now,
  just add a constraint to use old cryptography.

Test Plan:
- CI

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-10-26 11:39:37 -05:00
8b07d46166 Add a toggle for the leading separator for keyed_groups (#60882)
* Add a toggle for the leading separator for keyed_groups if no prefix is given

* changelog

* Add tests for backward compatibility and the new toggle
2020-10-23 15:57:44 -04:00
0b2b82c0b6 Add changelog fragment for #71736. (#72323) 2020-10-23 14:34:31 -05:00
83909bfa22 Remove ansible-galaxy login (#72288)
* 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 and 2.11 porting guide entries

* remove dead code/config, update messages and porting guides
2020-10-23 09:11:45 -07:00
b6360dc5e0 VMware: scenario guide for vmware_tools connection plugin (#72080)
* VMware: scenario guide for vmware_tools connection plugin

Scenario doc to guide user about the usage of vmware_tools
using connection plugin.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

* review comments

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-10-23 10:44:12 -04:00
3c2e8b99be 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.
2020-10-22 18:45:03 -07:00
1489bf9190 Adds argspec tests for required, required_one_of and required_by (#72245)
* Improve variable names.

* Add test for required.

* Add test for required_one_of.

* Add test for required_by.
2020-10-22 14:05:59 -05:00
fe65144a4a vmware: Using env variable for custom SSL path (#72273)
When validate_certs is True and user has custom SSL
certificate path, user can use ``REQUESTS_CA_PATH``
in ``environment`` parameter of task to specify this path.

Fixes: https://github.com/ansible-collections/community.vmware/issues/49

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-10-22 14:48:26 -04:00
e64ba97e8a Fix the reversed order of return values (#72088)
* Fix the reversed order of return values

AnsibleModule.run_command returns a tuple of return code, stdout and stderr.
The module main function of the user module expects user.create_user to
return a tuple of return code, stdout and stderr.
Fix the locations where stdout and stderr got reversed.

* Fix another missed occurance

* Add changelog

* Fix further reversed order of return values occurrences

Followup to 72c3ba62c8:
Fix further reversed order of return values occurrences.
2020-10-22 20:02:53 +02:00
c20329a0f6 Update migrating_roles.rst (#72260)
Fix a typo in the sample spec file Source0 line
2020-10-20 13:19:45 -05:00
3ece57c01a remove ansibleFest banner (#72253) 2020-10-20 13:18:16 -05:00
69e510e767 [virt facts] recognize containerd as a container (#72210)
Change:
- containerd is now recognized as container tech

Test Plan:
- Tested with Docker inside Github Actions in a private repo:

        "ansible_virtualization_role": "guest",
        "ansible_virtualization_tech_guest": [
            "containerd",
            "container",
            "VirtualPC"
        ],
        "ansible_virtualization_tech_host": [],
        "ansible_virtualization_type": "containerd",

Tickets:
- Fixes #66304 because this is what docker containers show up as
  in Github Actions.

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-10-20 10:39:13 -05:00
afba5c2852 Miscellaneous fixes in user_guide/intro_inventory.rst docs (#72202)
* Fixing missing hosts entry under the group dict.

* Added missing 'vars:' key

* Reordering arguments for consistency with the format displayed by "ansible-playbook --help"

* Fixing contradictory text
2020-10-20 10:35:15 -05:00
02658d7bf8 k8s: Scenario guides (#72095)
* Start Kubernetes Scenario guides for users
* K8S inventory scenario guide

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-10-20 10:11:33 -04:00
d18901dd4a Update HTTP -> HTTPS (#72244)
Co-authored-by: Ronald Eddy Jr <ron@Ronalds-MacBook-Pro.local>
2020-10-19 15:57:20 -04:00
c9fa1d0e7e Fix race condition when creating async dir (#72069)
* Fix race condition when creating async dir

* Simplify exception wrapper

* Remove var used for testing
2020-10-19 15:05:19 -04:00
618d1a3871 Document security concern for users setting the system_tmpdirs shell plugin config (#72213) 2020-10-19 14:58:09 -04:00
be5fc4e642 Ensure we call action_loader.get with collection_list (#72206)
* Ensure we call action_loader.get with collection_list. Fixes #72170

* Add tests and changelog

* Remove grep, do assertion in playbook. ci_complete

* Skip old jinja2 versions

* ci_complete

* dedupe
2020-10-19 09:54:24 -05:00
9ddb1d76af [tests/dnf] work around dnf packaging issue (#72249)
Change:
- In this test we end up upgrading dnf (and python3-dnf) so that we can
  test its new logging behavior. However, the latest Fedora 32 dnf had a
  packaging issue which caused it to not pull in the latest
  python3-libdnf. This is fixed, but not synced out to mirrors yet.
  Fixing it in this test will get CI passing again in the meanwhile.

Test Plan:
- CI

Tickets:
- https://bugzilla.redhat.com/show_bug.cgi?id=1887502

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-10-19 09:52:33 -05:00
39d6c5ef7a fix simple typos (#72219) 2020-10-15 16:47:55 -05:00
5ec53f9db8 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>
2020-10-15 15:31:18 -04:00
a33cc191bd Update 2.11 Roadmap to include dates and planned work (#72222)
* Update 2.11 Roadmap to include dates and planned work

* remove comma
2020-10-15 13:52:51 -05:00
2ef4b7e07e Fix ansible-test Azure Pipelines container auth. 2020-10-14 12:35:11 -07:00
8465f285cc Update playbooks_strategies.rst (#72176)
beside the fact that naming the variable to specify the number of machines executed in *parallel* is named *serial* - the number of hosts chosen in this example is not optimal, either: 2x2 = 4; so - 3 hosts in 2 batches should clear things up a little
2020-10-14 12:26:16 -05:00
b18e462bbb Consistent Taxonomy (#72215)
Historically "these" have been called directives, attributes, and keywords. We've now settled on `keyword` (https://docs.ansible.com/ansible/latest/reference_appendices/playbooks_keywords.html). Update all documentation to reflect this term.
2020-10-14 12:16:30 -05:00
3b40c6f3b7 [config] coerce more to string when 'type: str' (#72172)
Change:
- When a plugin defines `type: str` on a parameter, treat more kinds of
  input as a string instead of whatever it is parsed as.

Test Plan:
- New unit tests
- CI

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-10-14 12:53:08 -04:00
6e7a40dd94 Update the porting guide for a new ansible version (#72211) 2020-10-13 12:36:23 -05:00
cdf62edc65 service_facts: return service state information on AIX (#72073)
* service_facts: return service state information on AIX

AIX uses the System Resource Controller (SRC) to manage services.
See https://www.ibm.com/support/knowledgecenter/ssw_aix_72/osmanagement/sysrescon.htm
Use lssrc command on AIX to return service state information.


Co-authored-by: dberg1 <dberg1@github.com>
2020-10-13 11:28:59 -04:00
caba47dd3f Add support for GSSAPI/Kerberos to urls.py (#72113)
* Add support for GSSAPI/Kerberos to urls.py

* Test out changes with the latest test container

* Get remote hosts working

* Fix up httptester_krb5_password reader

* Fix tests for opensuse and macOS

* Hopefully last lot of testing changes

* Dont do CBT on macOS

* Fixes from review
2020-10-13 14:16:07 +10:00
c4acd41d6e Ensure delegate vars calculation has correct loop context. Fixes #37132 (#71477) 2020-10-12 14:21:15 -05:00
5d811fc551 Remove incidental_win_psexec (#71953)
* Explicit coverage to remove incidental_win_psexec

* rc=1 failed

* ci_complete ci_coverage

* Test rc!=0 without failed and until

* ci_complete ci_coverage

* Remove incidental_win_psexec

* Reduce delay

* ci_complete ci_coverage
2020-10-12 14:16:13 -05:00
7c1dd1c7fb add link to jinja docs from templating section (#72205) 2020-10-12 13:52:24 -05:00
c084bc160c add details on how to get API token for Galaxy (#72203) 2020-10-12 13:47:41 -05:00
e673b8e4ec fix typo (foward -> forward) (#72182) 2020-10-11 11:05:08 +05:30
9382738f52 Update contributing_maintained_collections.rst (#72178)
##### SUMMARY
Adding Kubernetes.Core collection, editing vmware.vmware_rest a bit


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2020-10-09 16:12:45 -04:00
30a651bca3 Docsite: update user_guide/playbooks_async (#72115) 2020-10-09 10:50:58 -05:00
e119c2d2bf Add The Bullhorn to the community communication page (#72125)
Update documentation on communication channels for Ansible.
2020-10-09 10:49:53 -05:00
835752cc53 Update playbooks_vars_facts.rst (#72150)
Remove misleading typo, add a note on the mode of local facts

Co-authored-by: JensHeinrich <github.com/JensHeinrich>
2020-10-09 10:44:27 -05:00
af7fd0f79d doc: use FQCN for vmware_rest examples
Use the collection name + the module name for clarity.
2020-10-08 15:24:13 -04:00
bb2c96aacc Fix subversion_pacakges name (#72138) 2020-10-08 15:22:04 -04:00
5f76bd2af7 Support collection constraints in ansible-test.
This allows collections to specify requirements and constraints for packages that ansible-test has requirements or constraints for.
2020-10-08 12:20:19 -07:00
2f8dbf673e Remove incidental_zabbix_host (#72142)
* Add explicit apt tests for fnmatch and update_cache

* Add explicit apt_key tests for fetching key directly from url

* ci_complete ci_coverage

* Remove repo only by repo

* ci_complete ci_coverage

* Add apt cache update after apt_repository to show that the cache doesn't update

* ci_complete ci_coverage

* Add systemd tests for enabling and disabling a service

* ci_complete ci_coverage

* Remove incidental_zabbix_host

* ci_complete ci_coverage
2020-10-08 13:32:59 -05:00
cf0cd4b50b Remove incidental_aws_codebuild (#72140)
* Remove incidental_aws_codebuild

* ci_complete ci_coverage
2020-10-07 14:02:32 -05:00
102e429285 Add test to replace exclusive incidental_cloudformation coverage (#72137)
* Add intentional coverage for incidental_cloudformation

* Remove the incidental_cloudformation test target and the now unused supporting modules
2020-10-07 12:54:21 -04:00
c72e2ee675 import of the vmware_rest documentation (#72090)
Co-authored-by: Jill R <4121322+jillr@users.noreply.github.com>
2020-10-07 11:33:55 -04:00
1ae3683d0c Fix example to use correct shebang (#72129)
* Fix example to use correct shebang

* Fix other example modules as well

* Ignore shebang test
2020-10-07 10:07:27 -05:00
cfa41898c4 Add explicit coverage of argspec choices with strings that shadow YAML bools (#72122)
* Add explicit coverage of argspec choices with strings that shadow YAML bools

* ci_complete ci_coverage

* Remove incidental_ufw

* ci_complete ci_coverage
2020-10-06 16:00:28 -05:00
865113aa29 Update user module documentation (#72109)
Co-authored-by: ankitsagar <ankitsagar15@gmail.com>
2020-10-06 15:31:37 -04:00
50c8c87fe2 Add explicit coverage of suboptions=list without elements (#72108)
* Add explicit coverage of suboptions=list without elements

* ci_complete ci_coverage

* Remove incidental_vmware_guest_custom_attributes

* ci_complete ci_coverage
2020-10-06 13:15:02 -05:00
aff78f4cbc Fix various sanity errors in plugins (#71736)
* Fix various sanity errors in plugins.

* Revert callback_type -> type transform.

* Undo paramiko_ssh 'connection' change, since this discrepancy is hardcoded in the plugin loader.

* Standardize on name and type (for callbacks).

* Fix existing author entries.

* Add 'Unknown (!UNKNOWN)' as author when author is missing.

* These are actually parsed as integers in the code.

* Revert "Add 'Unknown (!UNKNOWN)' as author when author is missing."

This reverts commit 29d1438aca.
2020-10-06 12:37:16 -04:00
960e4c0809 Add intentional coverage for incidental_ec2_instance (#72028)
* Add a test suite for module_utils.common.dict_transformations

* ci_complete

ci_coverage

Add a wait_for test using delegate_to

* Remove incidental_ec2_instance

* Remove unused test support modules

* Requested changes

ci_complete

ci_coverage

* Oops, put everything back to test coverage again

ci_complete

ci_coverage

* Remove incidental_ec2_instance tests and supporting modules
2020-10-06 11:10:03 -05:00
9ffa84cc1c basic: Handle exception in default selector (#72101)
In Python 2.7, default selector raises IOError
instead of OSError. Fix handles this exception.

Fixes: #71704

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-10-06 11:25:51 -04:00
ebc91a9b93 [unarchive] work on older RHEL with group: <gid> (#72098)
Change:
- No longer fail due to old Fedora/RHEL and our failure to try to cast
  gids to integers before trying to pass them to getgrgid() before
  trying to use them.
- Add tests for user/mode for various unarchive formats.

Test Plan:
- New integration tests, ran against centos6 container

Tickets:
- Fixes #71903
2020-10-06 11:25:03 -04:00
a90e37d017 [virt facts] identify KubeVirt properly (#72092)
Change:
- Make KubeVirt be identified as such, and with a guest role.
- This is a breaking change, since playbooks could be relying on the
  incorrect behavior previously.

Test Plan:
- Issue author

Tickets:
- Fixes #72001

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-10-06 11:22:22 -04:00
0332046699 [ansible-test] attempt to work around podman (#72096)
Change:
- podman > 2 && < 2.2 does not support "images --format {{json .}}"
- podman also now outputs images JSON differently than docker
- Work around both of the above.

Test Plan:
- Tested with podman 2.0.6 in Fedora 31.

Signed-off-by: Rick Elrod <rick@elrod.me>
Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
2020-10-05 20:13:52 -05:00
460ba041c8 Add explicit coverage of required_together (#72107)
* Add explicit coverage of required_together

* ci_complete ci_coverage

* Remove incidental_hcloud_server

* Remove hcloud from shippable matrix

* ci_complete ci_coverage
2020-10-05 16:02:11 -05:00
7f1c32f5ce Rewrite _is_role and remove incidental_flatpak_remote (#72105)
* Build explicit list instead of complicated nested loop

* ci_complete ci_coverage

* Remove incidental_flatpak_remote

* ci_complete ci_coverage
2020-10-05 13:52:39 -05:00
3db08adbb1 Add optional attribute arg for min and max filters (#50909)
* Pass **kwargs to min and max filters

* Use the jinja2 filters if available

* Add unit tests

* Add examples to docs passing attribute
2020-10-05 10:40:37 -04:00
709484969c sysctl/openbsd fact fixes (#72070)
Change:
- Use `sysctl -n` for openbsd uptime information
- Allow `get_sysctl()` to account for multi-line sysctl settings
- Add unit tests for `get_sysctl()`

Test Plan:
- New unit tests

Tickets:
- Fixes #71968
- Refs #72025
- Refs #72067

Signed-off-by: Rick Elrod <rick@elrod.me>
Co-authored-by: Brian Coca <brian.coca+git@gmail.com>
Co-authored-by: Brian Coca <bcoca@ansible.com>
2020-10-02 18:36:31 -05:00
35809806d3 Remove incidental_timezone (#72063)
* Add explicit coverage for templated undefined with_items element

* ci_complete ci_coverage

* Remove incidental_timezone

* ci_complete ci_coverage
2020-10-02 16:56:31 -05:00
ab2b339dd6 More explicit argspec tests (#72064)
* Add more explicit coverage of argspec functionality

* fail_on_missing_params

* ci_complete ci_coverage

* Remove incidental_aws_step_functions_state_machine

* ci_complete ci_coverage

* Remove incidental_cs_service_offering

* ci_complete ci_coverage
2020-10-02 14:53:09 -05:00
a7170da851 user - allow local users with an expiry date to be created (#72022)
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.
2020-10-02 15:38:27 -04:00
bc98ebf29f installation docs - add tip pointing to pip docs (#71741) 2020-10-02 15:34:44 -04:00
cceba07114 VariableManager - add the 'vars' key before getting delegated variables (#71214)
* VariableManager - add the 'vars' key before getting delegated variables
2020-10-02 15:13:56 -04:00
fb03ac7019 Add libyaml info to version output, and restore git info (#71948)
* Add libyaml info to version, restore git functionality

* Add clog fragment

* Update tests to reflect new version output
2020-10-02 14:04:49 -05:00
d051e66b13 git - clarify behavior of dest parameter (#71950) 2020-10-02 14:41:33 -04:00
0e480d38dd uri status_code elements are type int (#72062) 2020-10-02 13:36:14 -05:00
2b79cd2c0f Fix typos (#72072) 2020-10-02 10:32:03 -04:00
1107aace1b Add deprecation collection name to plugin options (#71735)
* Add changelog fragment.

* Use correct field that's expected by lib/ansible/cli/__init__.py..

* Add basic unit tests.
2020-10-02 09:43:23 -04:00
3efc8b6de8 Docsite: update user_guide/playbooks_prompts (#72049) 2020-10-01 16:34:23 -04:00
c12fce3aa9 Docsite: update user_guide/playbooks_checkmode (#72052) 2020-10-01 16:33:24 -04:00
77840f886e Docsite: update user_guide/playbooks_debugger (#72053) 2020-10-01 16:32:03 -04:00
e68a638e7c WIP: OpenBSD: add uptime to gather_facts (#72025)
* OpenBSD: add uptime to gather_facts
2020-10-01 15:34:40 -04:00
eee13962e5 Minor typo in test_strategies.rst (#72060) 2020-10-01 14:34:23 -04:00
88a676246e Update porting_guide_2.8.rst (#72041)
##### SUMMARY
Removed translatable words from codeblocks as per https://github.com/ansible/ansible/issues/59449

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2020-10-01 11:53:02 +01:00
4187846fe7 Update my github username (#72050) 2020-10-01 11:48:59 +01:00
672df07a33 Bump httptester version (#72036) 2020-10-01 08:18:21 +10:00
09c2475368 Update the tests to work with new httptester container (#72013) 2020-10-01 06:38:44 +10:00
9081b22868 Remove incidental_vyos_static_route (#72024)
* Add explicit tests for required_together suboptions

* ci_complete ci_coverage

* Remove incidental_vyos_static_route

* ci_complete ci_coverage

* Add explicit coverage of suboptions required_if

* ci_complete ci_coverage

* Remove incidental_vyos_logging

* ci_complete ci_coverage
2020-09-30 15:38:12 -05:00
64d9ccb965 Reword strangely patronising introduction to loops (#72019) 2020-09-30 16:05:46 -04:00
f1c4a954d5 Close file descriptor of temporary file after building certificate chain (#71825)
* Close file descriptor of temporary file after building certificate chain.

* Add changelog fragment for PR71825
2020-09-30 20:43:24 +02:00
3af7425367 Clarify how package module works (#70345)
Module package is actually a proxy to a native package manager
modules (internally it delegates to the module that matches the
results of ansible_pkg_mgr).

Fixes #69371
2020-09-30 12:57:39 -04:00
ea119d3089 fix distribution fact for SLES4SAP (#71559)
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.
2020-09-30 10:52:41 -04:00
6f4aed5377 Remove incidental_nios_txt_record (#72009)
* Add explicit coverage of argspec type=dict

* Non string mapping failure

* ci_complete ci_coverage

* Remove incidental_nios_txt_record and associated files

* Don't forget the ignore.txt changes

* ci_complete ci_coverage
2020-09-30 08:56:27 -05:00
4197666179 Only apply the unroll wrapper once (#72003)
Co-authored-by: Matt Martz <matt@sivel.net>

Fixes #71920
2020-09-30 09:15:28 +02:00
8893a244b9 Validate plugin option type 'dict' / 'dictionary' (#71928)
* Validate option type 'dict' / 'dictionary'.

* Add changelog fragment.

* Change type of 'environment' to list.
2020-09-29 17:16:14 -04:00
a077bca5d5 ansible-test: improve version number validation, validate some semantic versioning properties (#71679)
* Validate removal versions.
* Validate that removal collection versions and version_added collection versions conform to semver spec.
* Validate removal version numbers in meta/runtime.yml.
* Stricter validation for isodates (f.ex. YYYY-M-D is not allowed).
* Improve error reporting.
* Validate removal collection versions.

Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
2020-09-29 13:33:45 -07:00
3c33618cf6 powershell - remove env var (#72010) 2020-09-30 06:24:31 +10:00
8f02819db0 Replace deprectated include with {import,include}_tasks in apt{,_repository,_key} integration tests (#71964)
* Replace deprectated include with import_tasks

* Fix
2020-09-29 11:35:59 -04:00
91a153434a Fix sorting of ignore.txt (#71930)
Mostly out of order from directory flattening
2020-09-29 11:10:23 -04:00
f2512f7931 Remove incidental_xml integration tests (#71917)
* Add explicit integration tests to cover incidental_xml coverage

* normalize diff

* More normalization

* diff without changed

* ci_complete ci_coverage

* nuke incidental_xml

* ci_complete ci_coverage
2020-09-29 08:39:44 -05:00
cbd3df369f Adding check to ensure 'container' get's added to guest_tech when appropriate (#71385) 2020-09-28 14:21:44 -05:00
94522b7c10 Fix typos (#71970) 2020-09-28 14:33:24 -04:00
74be7de361 Docsite: improve user_guide/playbooks_vars_facts (#71973)
* Docsite: improve user_guide/playbooks_vars_facts
2020-09-28 14:32:01 -04:00
8ae3998ecf Docsite: update user_guide/vault (#71975) 2020-09-28 14:29:34 -04:00
0645436acd Docsite: update user_guide/playbooks_filters (#71980) 2020-09-28 14:26:57 -04:00
0c3a9c7ae6 ansible-doc: show correct plugin name (#71966) 2020-09-28 10:40:33 -05:00
c5a161b2b0 Update faq.rst (#71982)
Added link to https://access.redhat.com/solutions/5295121 in third sentence
2020-09-28 11:07:03 -04:00
6a7e637c5f [tests] Make setup_docker clean up better (#71949)
Change:
- pip packages should get removed after, not try to add them again
- Try removing containerd.io package too

Test Plan:
- CI

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-09-25 18:07:38 -05:00
35b0fef536 Changes required for macOS 10.15 (#71841)
* Use default group of staff on macos to prevent sudo issues
* Install gnu-tar for macos in git and unarchive tests
* Enable timezone module to support py3 on macos
* If the virtualenv command is missing, try python -m virtualenv
* Install passlib for filter_core on macos
* Install paramiko via pip on macos for paramiko tests
* Normalize discovered python interpreter on macos
* Get pip tests passing, by ensuring we have wheel installed
* Create /etc/ansible for ca certs on mac, list lookup_url as destructive
* Fixups for CA certs
* Include macos
* Dynamically get cafile instead of hardcoding the path
2020-09-25 15:30:47 -04:00
ebff2154aa add badge for CII (#71944) 2020-09-25 13:28:53 -05:00
91b0dfb659 adds changelog for already-merged PR (#71947)
* adds changelog for already-merged PR

* Update changelogs/71921-raise-bytes-for-binary-test

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

* adds yaml extension, corrects placement

Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
Co-authored-by: Matt Clay <matt@mystile.com>
2020-09-25 14:14:17 -04:00
eed606e0e9 adds name lines to handler re-use examples (#71946)
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2020-09-25 12:46:45 -04:00
c1005147e0 doc: add vmware_rest_guidelines
Add the development guidelines for the vmware_rest collection.
2020-09-25 12:24:48 -04:00
27826827e9 updates intersphinx references for docs links (#71921)
* DOCS: updates intersphinx references for docs links
* TESTS: Raise the number of bytes scanned to determine if a file is binary. The newest ansible-2.10.inv file has its first null byte at position 2261. 4096 is still a cheap chunksize to read so it still makes sense to raise this.

Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2020-09-25 10:33:29 -05:00
4cb20dba97 Update index.rst (#71887)
* Update docs/docsite/rst/community/index.rst to include another link to the mailing lists list
2020-09-25 10:28:51 -05:00
c19af92be6 Docsite: improve user_guide/playbooks_variables (#71938)
* Docsite: improve user_guide/playbooks_variables
2020-09-25 09:48:33 -05:00
2fed63a930 Docsite: improve inventory-related pages (#71907)
* Update docs/docsite/rst/plugins/inventory.rst
2020-09-25 09:46:24 -05:00
ece0be30ab Move ansible.galaxy.collection module into package
This change preserves how all the external imports refer to this code
while allowing us to start cutting the spaghetti into more easily
maintainable pieces.

This is a start of the upcoming refactoring effort destined to
eliminate tight coupling, implicit data manipulation, god objects,
abstraction leaks and other code smells.

Essentially, `ansible.galaxy.collection` is going to be a package that
holds parts of the collection management code spread across loosely
coupled modules.

PR: #71931
2020-09-25 16:15:10 +02:00
92b66e3e31 CI provider fixes for ansible-test. (#71929)
* Make Azure Pipelines resource_prefix lowercase.

* Make classification of CI files consistent.

* Update package-data sanity test for AZP.
2020-09-24 17:34:07 -07:00
4f990e7615 dev_guide: Add Pygments Lexer examples (#71458)
* dev_guide: Add Pygments Lexer examples

Fixes: #51307

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

* adds ansible-output lexer, remmoves unsupported lexers

Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2020-09-24 15:00:17 -05:00
90134b0ac3 Ensure native jinja is off for non-native tests (#71914)
Even if native jinja is off by default now it is better to be
explicit and it will be prepared in case we changed that default.
2020-09-24 15:52:06 -04:00
9a39452a31 update the definition of changed (#71865)
* add nuance to the definition of changed, add notes to modules that return "changed" without changing state
2020-09-24 14:33:22 -05:00
5348e7bf61 test: cloudstack: Use test-container 1.4.0 (#71905) 2020-09-24 11:58:37 -07:00
a47eafa581 Update playbooks_reuse_roles.rst (#71880)
Change "vars_files" to "vars, files" under the Roles heading
2020-09-24 13:40:02 -05:00
25bfda8417 Docsite: improve user_guide/intro_inventory (#71859) 2020-09-24 13:34:41 -05:00
c3841b8440 Docsite: improve user_guide/playbooks_tags (#71858) 2020-09-24 13:33:03 -05:00
7a0a2f188b Docsite: improve user_guide/playbooks_reuse_roles (#71857)
* Docsite: improve user_guide/playbooks_reuse_roles

* fix
2020-09-24 13:29:28 -05:00
2655fc0c23 Docsite: update Migrating Ansible content to a different collection (#71854)
Co-authored-by: Felix Fontein <felix@fontein.de>
2020-09-24 14:19:04 -04:00
401be27053 Add example values and results for theory filters (#71908)
Add example values and results for theory filters
2020-09-24 12:18:17 -05:00
ed6fb2e3f6 Docsite: improve user_guide/intro_adhoc (#71909) 2020-09-24 12:16:15 -05:00
70e25dc158 clarify releases download for older releases only (#71892) 2020-09-24 09:57:16 -05:00
e358946b98 update install instructions for pip (#71891) 2020-09-24 09:56:27 -05:00
4aedd1b987 add new glossary terms for 2.10 (#71813)
* add new terms for 2.10
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2020-09-24 09:45:54 -05:00
d6063b7457 clarify FQCN use for playbooks (#71816)
* clarify FQCN use

* Apply suggestions from code review

Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>

Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2020-09-24 09:45:11 -05:00
31ddca4c0d [incidental_setup_docker] changes to upstream repo (#71897)
Change:
- The docker-ce.repo file for centos does not work on RHEL since it uses
  $releasever and on RHEL that is, e.g., "7Server".
- Instead, set up the repo manually.
- Additionally, the docker centos8 repo no longer has old versions, so
  we use the (only) version in the repo instead.

Test Plan:
- CI

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-09-23 18:31:18 -05:00
98d10cd6ee Fix conditional for the dnf nobest test (#71805) 2020-09-23 09:10:12 +02:00
5cd489af06 Let get_file_attributes() work without lsattr -v (#71845)
* Let get_file_attributes() work without `lsattr -v`

Change:
- module_utils's get_file_attributes() expects `lsattr -v` to work, but
  in some cases, it may not.
- The function now takes an optional include_version bool parameter,
  which removes this expectation.
- Places where we call get_file_attributes() without using the 'version'
  it returns, we now call it with include_version=False.

Test Plan:
- New unit tests

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-09-22 16:15:47 -05:00
5b27b307b9 Update intro_getting_started.rst (#71851)
Fixed the formatting on the remote user name override list.
2020-09-22 15:29:31 -05:00
3e9943bc5e Reduce ignored module sanity tests (#70319)
* Reorder test/sanity/ignore.txt to better see changes
* Remove extra empty line causing pass fail
* Apply suggestions made by Akasurde
* Minor fix in package_facts and remove two unnecessary ignores
* Fix subversion based on a suggestion made by felixfontein
* Apply suggestions made by felixfontein and Andersson007
* Fix subversion.py as suggested by felixfontein
* Minor reformatting in yum_repository description
* Reformat changelog
* Add key to apt_key, add deprecated changelog
* Add PR url to changelog
* Ignore paramater-type-not-in-doc in favour of adding key back to apt_key
* Fix apt_key
* Remove undocumented-paramater from apt_key ignore
* Ignore doc-choices-do-not-match-spec in package_facts
* Fix package_facts
* Fix filter option in setup module
2020-09-22 16:07:29 -04:00
606924a4b4 Update the porting guide for a new ansible version (#71863) 2020-09-22 13:52:08 -04:00
bf4e102d97 update version switcher for 2.10 release 2020-09-22 10:46:58 -07:00
0e5911d650 add cli parser documentation (#71497)
* with native network example, linux example
2020-09-22 11:54:24 -05:00
abfb7919dc [default callback] Show include_tasks task banner (#71821)
Change:
- In some cases (always with free strategy, sometimes with linear), the
  default callback would not show the task banner for include_tasks.
- This only affects the include_tasks task itself, not the tasks in the
  included file.

Test Plan:
- Updated default callback tests

Tickets:
- Fixes #71277

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-09-22 11:40:12 -04:00
a99212464c Remove incidental_consul tests (#71811)
* Add explicit intg tests for argspec functionality

* ci_complete ci_coverage

* Remove incidental_consul and incidental_setup_openssl

* ci_complete ci_coverage
2020-09-22 11:33:59 -04:00
00b22ab55e Provide more information in AnsibleUndefinedVariable (#71666)
* Provide more information in AnsibleUndefinedVariable

Fixes #55152
2020-09-22 09:38:53 -04:00
6984081111 Test changes to allow using "macos" test image (#71849)
* Add link to remote.sh from macos.sh
* Add skip/macos to tests that have skip/osx
2020-09-22 09:10:36 -04:00
782effbb89 Fix hostname test on docker.
The test is not supported when running in a container. It now recognizes both 'docker' and 'container' as virtualization types that should cause the test to be skipped.
2020-09-21 17:26:07 -07:00
17765cd4e8 Fix attribute testing in file integration test. (#71843)
The file test will no longer attempt to test attributes if `lsattr -vd` does not work on the system under test.
2020-09-21 13:49:07 -07:00
bcfead8e0f change duplicated label 2020-09-21 12:32:11 -07:00
7f62b4733d Update EXAMPLES in package_facts.py documentation (#71838)
this module is not limited to rpm , so remove rpm in tasks name
2020-09-21 12:14:00 -04:00
3db4be2c3b Docsite: improve user_guide/playbooks_reuse (#71834) 2020-09-21 10:31:07 -04:00
e6e9840717 Remove incidentals without coverage (#71788)
* Remove incidental_lookup_hashi_vault
* Remove incidental_connection_chroot
* Remove incidental_selinux
* Remove incidental_win_hosts
2020-09-17 16:57:28 -05:00
2d2c5d5ed7 setup - update docs for win setup fact_path (#71791) 2020-09-17 16:01:19 -04:00
d63d880383 Remove incidental_synchronize tests (#71776)
* Remove incidental_synchronize tests

* Update sanity ignore
2020-09-17 09:31:47 -05:00
05a45f63ff Docsite: misc fixes of playbooks_delegation (#71753) 2020-09-17 10:22:03 -04:00
aa1f0bd062 Docsite: fix playbooks_conditionals (#71754) 2020-09-17 10:21:28 -04:00
79dc6fa948 Docsite: fix user_guide/playbooks_blocks (#71769) 2020-09-17 10:20:22 -04:00
1cf42897d2 Docsite: fix user_guide/playbooks_handlers (#71770) 2020-09-17 10:19:24 -04:00
2c6661d4c1 Docsite: fix user_guide/playbooks_error_handling (#71771) 2020-09-17 10:18:21 -04:00
a204f5f955 Docsite: fix user_guide/playbooks_environment (#71772) 2020-09-17 10:17:05 -04:00
195c8b496e Add integration coverage to replace hash_vault and consul_session (#71775)
* Add integration coverage to replace hash_vault and consul_session

ci_complete
ci_coverage

* Remove errant list element
2020-09-16 16:40:26 -05:00
65cdb86c8a incidental_setup_openssl - Pin version of Python packages
A recent update to cffi that was yanked is still being installed on our
Mac OS X 10.11 test image since the version of pip there is very old and
does not ignore yanked packages.

Pin the version of pyOpenSSL and its dependencies to fix this and avoid
future spontaneous failures.
2020-09-16 08:49:16 -07:00
7a38c470ba [docs] add porting guide for DNF GPG validation (#71640)
* [docs] add porting guide for DNF GPG validation

Change:
- This was a breaking change (security fix), but I neglected to add a
  porting guide entry for it previously.

Tickets:
- Refs #71537
- Refs #71539
- Refs #71540
- Refs #71541

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

* changes from sivel

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-09-15 16:07:34 -04:00
760334303b vmware: Add docs for filters (#71670)
Add a scenario guide for filters in VMware documentation

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-09-15 16:06:37 -04:00
c36e939414 Fixed invalid urls inside guide_packet.rst and collections_using.rst (#71705)
* Fixed invalid urls inside guide_packet.rst and collections_using.rst

* Reverted fix for collections_using.rst
2020-09-15 16:05:27 -04:00
00ed5b1f2e Fix broken bullet list (#71728) 2020-09-15 16:04:07 -04:00
4bf61f0714 Fix typo in delveloping_plugins_network (#71737) 2020-09-15 16:03:08 -04:00
a80131a283 Docsite: misc fixes (#71697) 2020-09-15 16:01:49 -04:00
13ab9f5932 Docsite: improve playbooks_loops.rst (#71718) 2020-09-15 16:00:09 -04:00
fdf80690e4 [dnf] 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>
2020-09-15 11:36:18 -04:00
7048542199 Fix passing the connection timeout to connection plugins (#71722)
* Fix passing the connection timeout to connection plugins
2020-09-15 11:34:11 -04:00
5511c898cc Docsite: fix a typo in user_guide/index.rst (#71717) 2020-09-15 11:31:38 -04:00
173091e2e3 distro: Add support for Pardus distribution (#71663)
Fixes: #71636

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-09-15 09:47:24 -04:00
fc08c1f3c5 runas - create new SYSTEM token on become (#71714) 2020-09-15 05:39:23 +10:00
e813b0151c fix coverage output from synthetic packages (#71727)
* fix coverage output from synthetic packages

* synthetic packages (eg, implicit collection packages without `__init__.py`) were always created at runtime with empty string source, which was compiled to a code object and exec'd during the package load. When run with code coverage, it created a bogus coverage entry (since the `__synthetic__`-suffixed `__file__` entry didn't exist on disk).
* modified collection loader `get_code` to preserve the distinction between `None` (eg synthetic package) and empty string (eg empty `__init__.py`) values from `get_source`, and to return `None` when the source is `None`. This allows the package loader to skip `exec`ing things that truly have no source file on disk, thus not creating bogus coverage entries, while preserving behavior and coverage reporting for empty package inits that actually exist.

* add unit test
2020-09-14 09:14:23 -07:00
74a103d655 Remove em dash from the pytest configuration file
On some systems (tested with official Debian Buster-based Python 3.6
docker image), setting the LC_ALL environment variable to en_US.UTF-8
will trigger Python into switching its preferred encoding to ASCII.
If any python process tries to read a non-ASCII file in this scenario,
it will terminate with an error.

And this is exactly what happens to pytest when it tries to load its
configuration that ansible-test supplies because the configuration
contains an em dash.

In order to bypass this issue, we replaced the em dash with a regular
dash and things started working again.

An alternative solution would be to replace the en_US.UTF-8 locale with
something safer, but unfortunately, the en_US.UTF-8 is probably as safe
as it gets.
2020-09-14 09:02:48 -07:00
a10af345a9 don't set warn = True, it will be overwritten in the next line (#71682) 2020-09-12 02:58:09 -05:00
59a240cd31 Fix with_dict/with_list being passed incorrect type tests (#71699)
These tests were failing due to a variable passed being undefined
instead of being of an incorrect type which is the actual
intent of the tests.
2020-09-11 07:53:10 +02:00
7a0e545700 Add how to run unit test link in testing_units_modules doc (#71523)
* Add how to run unit test link in testing_units_modules
* Fix sanity test
2020-09-10 15:21:01 -05:00
1a06587f3b Fix typo in the documentation (#71701)
Fix typo in the documentation: casting instead of casing
2020-09-10 10:49:59 -05:00
11ba30183e Docs(lineinfile): Update link to python regex docs (#71688)
There was a link still pointing at the python2 documentation.
2020-09-10 10:19:26 -04:00
73bed95ead Docsite: add reference to Style guide (#71694) 2020-09-10 10:17:13 -04:00
daca3ade99 Allow list of filters for the setup module (#68551)
The setup module can now filter out multiple pattern by providing a list
to the filter parameter instead of just a string. Single string sill
works. Previous behaviour remains.

(cherry picked from commit b5c36dac483fdd74d6c570d77cc8f3e396720366)
2020-09-09 20:40:48 +02:00
b430f9b9aa Adds FAQ and other pointers for collections (#71606) 2020-09-09 13:16:26 -04:00
a34043c6be Changed all_modules references to list_of_collections in the documentation (#71656) 2020-09-09 11:43:40 -05:00
1ad0f666d5 Fix typo in documentation (#71652)
Fix typo on the page about unit testing modules,
2020-09-09 11:41:43 -05:00
9fcf1db871 Update the porting guide for 2.10.0b2 (#71677) 2020-09-09 08:37:56 -05:00
61f6aa55b6 Add semver support to the jinja2 version test (#71600) 2020-09-08 08:52:27 -05:00
b615789fcc psrp - fix hang when copying an empty file (#71649) 2020-09-05 14:57:15 +10:00
4d4e75ee05 Update to the ansible-2.10.0 pre-release schedule (#71647) 2020-09-04 20:26:43 -05:00
bbd4ec13f1 clarify that collection names use same requirements as namespaces (#71639) 2020-09-04 14:37:44 -05:00
2f240f5dd7 Add note on where inventory scripts moved to' (#71638) 2020-09-04 14:35:08 -05:00
48f12c14e9 AnsibleVaultEncryptedUnicode should be considered a string (#71609)
* AnsibleVaultEncryptedUnicode should be considered a string

* linting fix

* clog frag
2020-09-03 14:54:00 -05:00
7bfeed3e24 Docsite: replace Latin phrases to English (#71588)
Replace Latin phrases like "e.g." and "i.e." and "etc." with English phrases. 

* Update docs/docsite/rst/community/committer_guidelines.rst
* Update docs/docsite/rst/dev_guide/developing_modules_documenting.rst
* Update docs/docsite/rst/dev_guide/developing_program_flow_modules.rst
* Update docs/docsite/rst/dev_guide/module_lifecycle.rst
* Update docs/docsite/rst/user_guide/intro_inventory.rst
* Update docs/docsite/rst/user_guide/playbooks_loops.rst
* Update docs/docsite/rst/user_guide/playbooks_reuse.rst
* Update docs/docsite/rst/dev_guide/platforms/aws_guidelines.rst
* Update docs/docsite/rst/dev_guide/testing.rst
* Update docs/docsite/rst/dev_guide/testing_integration.rst
* Update docs/docsite/rst/porting_guides/porting_guide_2.5.rst
* Update docs/docsite/rst/reference_appendices/faq.rst
2020-09-03 14:47:57 -05:00
0cf4aabc55 Ensure we clean up if an exception kills strategy.run. Fixes #23958 (#71513) 2020-09-03 15:09:08 -04:00
d398a4b4f0 file: module should warn in check_mode when path and owner/group don't exist (#69640)
* file: module must fail in check_mode when path and owner/group don't exist
2020-09-03 09:11:50 -04:00
a3b954e5c9 Force template module to use non-native Jinja2 (#68560)
Fixes #46169
2020-09-03 09:01:34 +02:00
3d769f3a76 Add pause to avoid same mtime in test. 2020-09-02 15:35:08 -07:00
db98433e7a Use InventoryManager for inventory_hostnames lookup (#71573)
* Use InventoryManager for inventory_hostnames lookup. Fixes #17268

* Add test for using patterns

* s/it's/its/

* Allow bypassing parse_sources in InventoryManager

* Remove unneeded method call
2020-09-02 15:42:09 -05:00
05788c05d3 Remove incidental_postgresql_user tests 2020-09-02 13:14:04 -07:00
b518a5db14 add skeleton ansible 2.11 roadmap (#71566)
* add skeleton ansible roadmap to docs/docsite/rst/roadmap/COLLECTIONS_2_11.rst
2020-09-02 13:48:53 -05:00
96aee766f4 More docs updates to reflect collections ecosystem (#71597) 2020-09-02 13:50:12 -04:00
7f9258b024 update backport instructions for 2.11 (#71567)
* update backport instructions in docs/docsite/rst/community/development_process.rst

Co-authored-by: Matt Martz <matt@sivel.net>
2020-09-02 11:53:48 -05:00
64e2b9da3b [yum tests] add missing "always" block (#71564)
Change:
- So that if yum tests get re-run, we don't error out the second time.

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-09-02 11:35:20 -05:00
db519bc17c [tests] Bump container versions (#71518)
Change:
- This pulls in python 3.9.0rc1

Test Plan:
- CI, hopefully

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-09-02 11:20:55 -05:00
bfba0ffc45 Docsite: improve developing_modules_documenting.rst (#71590)
* Docsite: improve developing_modules_documenting.rst

* add necessary dots to returns descriptions
2020-09-02 09:26:42 -04:00
cda5854099 Docsite: improve spelling_word_choice.rst (#71592) 2020-09-02 09:24:53 -04:00
1882c60b04 Update the porting guide for ansible-2.10.0b1 (#71583) 2020-09-01 18:47:51 -04:00
0c50ee1abe [docs] Fix up porting guides for CVE revert (#71580)
Change:
- Fix up wording and do proper backports for porting guide entries.

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-09-01 17:25:58 -05:00
98febab975 Use new endpoint for Parallels based instances. 2020-09-01 13:20:20 -07:00
b694dbadfe User guide overhaul, Table of Contents (#71553) 2020-09-01 12:29:21 -04:00
29b20bd1b1 DOCS: Mentions ansible-base, adds collections pointers to Community and Dev Guides (#71480) 2020-09-01 12:25:37 -04:00
56423b1648 testing_sanity.rst: add argument for running in docker (#71223) 2020-09-01 12:00:13 -04:00
b9e2c4e37d Add tests for ignore functionality of collection build (#69345)
In order to test this piece of functionality, we create a dedicated
collection that contains files that should be ignored when building
the collection tarball.

After the collection is built, we make sure the produced tarball does
not contain any files that should be ignored.
2020-09-01 11:51:35 -04:00
159544610e get_url: Handle same SHA sum for downloaded files (#71435)
Fixes: #71420

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-09-01 09:55:08 -04:00
0f3b5bb4a6 [tests] fix fallout from dnf gpg fix (#71548)
Change:
- Missed needed gpg ignores

Test Plan:
- CI
- ci_complete

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-08-31 18:41:07 -05:00
785012321f Fix setup_paramiko test (#71547) 2020-08-31 15:39:41 -05:00
f75223d2c6 update install for 2.10 (#71543)
* update install for 2.10
2020-08-31 15:34:20 -05:00
215eb730e1 ansible-vault: Fix typo in help message (#71485) 2020-08-31 14:58:45 -05:00
ec3920cef1 Update intro_patterns.rst (#71542)
Call out the trailing comma when specifying a single host. Small snag that took me a while to notice.
2020-08-31 14:49:18 -05:00
bc6461432e Add --allow-disabled to sanity docs (#71524) 2020-08-31 10:46:03 -05:00
9bea33ffa3 [dnf] ensure packages are gpg-verified (#71537)
Change:
- By default the dnf API does not gpg-verify packages. This is a feature
  that is executed in its CLI code. It never made it into Ansible's
  usage of the API, so packages were previously not verified.
- This fixes CVE-2020-14365.

Test Plan:
- New integration tests

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-08-31 10:47:38 -04:00
d083307e36 Set global skipped result flag for looped tasks (#67847)
This allows for the skipped filter to be used on a registered looped
task results.

Fixes #16949
2020-08-28 08:01:26 +02:00
2bbcbe99fd Support macOS 10.15 for ansible-test --remote.
Use of this new version is experimental, so it is not enabled in CI yet.
2020-08-27 15:48:11 -07:00
d6fe849b2e add skeleton 2.11 base roadmap (#71478) 2020-08-27 16:45:20 -05:00
c586d436fa Feature freeze date has been merged with Ansible-2.10.0beta1 (#71494) 2020-08-27 15:55:55 -04:00
fbdfb85c20 Remove duplicate unit test (#71488)
test_dict_undefined_values is a duplicate of test_dict_undefined_values_is_defined.
It seems originally test_dict_undefined_values was supposed
to do what test_dict_undefined_values_bare does so it is safe to remove.
2020-08-27 15:55:30 -04:00
50f221c63e Fix incorrect msg in the results dict in loops (#71482) 2020-08-27 15:49:53 -04:00
a1a624b150 Normalize how None is handled in quote filter. Fixes #32174 (#71473) 2020-08-27 15:42:56 -04:00
addee0699e quick update to changelog instructins (#71492) 2020-08-27 11:05:35 -05:00
7127d37466 Remove "mode: preserve" option from documentation (#71486)
Remove "mode: preserve" option from documentation in doc fragments "FILE_COMMON_ARGUMENTS", as it was incorrectly included in the documentation for the `lineinfile`, `unarchive` and other file-related modules. 
The `copy` and `templates` modules documentation remains untouched and still contain "mode: preserve", as intended.
2020-08-27 10:37:04 -05:00
fdf5dd02b3 Updates for password hashing (#71120)
* Validate salt when using crypt. Respect salt_size in password lookup. Repair salt for bcrypt. Fixes #71107. Fixes #53750. Fixes #36129.

* Handle algorithms we don't know about, and make sure to return the salt

* Account for old passlib

* Add tests for salt constraints

* Add changelog fragment

* Add test for #36129
2020-08-26 14:54:38 -05:00
b6f10b9b52 update Network Advanced Topics for FQCN (#71325)
* update Network Advanced Topics for FQCN
2020-08-26 12:33:59 -05:00
f82a1e06d7 updates network plugin docs pages for 2.10 (#71467)
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2020-08-26 12:05:20 -04:00
1257b0a184 service: Add a note about ignored parameters (#71455)
Some parameters for systemd are ignored, add a note about such parameters in documentation.
Fixes: #23144

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-08-26 10:11:41 -05:00
9792d631b1 _check_failed_state: always use the current/nested state (#71347)
Fixes #71306
2020-08-26 07:07:34 +02:00
f5b6df14ab Fix ansible-test coverage traceback. (#71446)
* Add integration test for ansible-test coverage.

* Fix ansible-test coverage traceback.

* Fix coverage reporting on Python 2.6.
2020-08-25 21:23:44 -07:00
72a7cb4a2c powershell - fix quoting values (#71411)
* powershell - fix quoting values

* Add ignore for smart quote skip
2020-08-26 07:06:51 +10:00
8897d7e2ff powershell - fix nested CLIXML parser (#71412) 2020-08-26 07:06:19 +10:00
3c8744f0c1 Add link to Matt's blog (#71436)
nitzmahone's blog nicely explained why Windows is not supported
as Ansible controller. Link that in documentation so users can
read about it.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-08-25 10:09:07 -04:00
0b16c0a8c7 user_guide: Fix reuse role examples (#71440)
Fixes: #53919

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-08-25 10:08:17 -04:00
5c1594916a user_guide: Add an example for loop (#71441)
Explain how to use complex data in loop while converting
from with_together

Fixes: #47906

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-08-25 10:07:21 -04:00
985ba187b2 psrp - use native copy mechanism (#71409)
* psrp - use native copy mechanism

* Fix sanity issues

* Split the bugfix and deprecation into separate changelog fragments
2020-08-25 12:23:40 +10:00
d099591964 Update ansible-test remote endpoint handling. (#71413)
* Request ansible-core-ci resources by provider.
* Remove obsolete us-east-2 CI endpoint.
* Add new --remote-endpoint option.
* Add warning for --remote-aws-region option.
* Update service endpoints.
* Allow non-standard remote stages.
* Add changelog fragment.
2020-08-24 15:17:03 -07:00
a6537b59ab Modify wording to specify two ctl-d to end stdin input in ansible-vault (#69436)
* 51860 - Modify wording to specify two ctl-d to end stdin input in ansible-vault
* removes space to make line 160 chars
2020-08-24 15:08:16 -05:00
2b7461eb52 fix broken links due to master -> main branch rename (#71426) 2020-08-24 15:39:21 -04:00
6fedcaa3a6 added configurable dir for tree callback (#71348)
* added configurable dir for tree callback

 - allows usage in playbooks
 - also made errors more specific if bad dir is supplied
 - ensure we expand paths

* docfix
2020-08-24 13:00:15 -04:00
4317c2c80c Update uri.py (#67688)
Adds an example of creating workspaces in Log analytics Azure
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2020-08-22 11:10:44 -05:00
66e38bf499 docs: Remove examples using the ec2.py script (#69107)
This script is mostly unmaintained and relies on the deprecated and
unmaintained `boto` library. Featuring it prominently in the docs
leads to many new users using it instead of the supported `aws_ec2`
inventory plugin.
2020-08-21 14:50:09 -05:00
6c48c62f93 document securing editor for vault (#71404) 2020-08-21 13:42:53 -05:00
156b1c5245 Keep caution tape for older versions (#71400) 2020-08-21 12:30:43 -04:00
fb035da3b2 clarify inventory plugin user documentation (#71387) 2020-08-21 12:26:02 -04:00
3f3bcbf05e galaxy: Add examples for galaxy section in ansible.cfg (#70931)
Add example section for galaxy section in ansible.cfg

Fixes: #68402

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-08-21 12:17:18 -04:00
13ab73cd89 Docs: ansible_host can contain FQDN (#71186) 2020-08-21 12:14:18 -04:00
3e4377300b Explain duplicate checks includes tags and when (#68183)
##### SUMMARY
Per #67913, when comparing dependencies, Ansible takes into account parameters, tags and the when clause in determining whether a role is a duplicate or not.

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2020-08-21 11:49:43 -04:00
1425e3597b Allow meta tasks to use tags (#67508)
* Support tags for explicit meta tasks

Add --list-tasks tests for meta tags

Add breaking_changes changelog fragment and porting guide
2020-08-21 11:08:49 -04:00
59b80b9146 docs: Update Kubernetes Guide (#71372)
Fixes: #61681

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-08-21 10:37:03 -04:00
5498b0bb71 Documentation: improve dev_guide/testing_integration.rst (#71370) 2020-08-20 15:24:22 -04:00
e5bb7b1a16 Add skip_reason to meta task skips (#71355)
Change:
- Make them more consistent with other tasks.

Test Plan:
- CI, new test

Tickets:
- Refs #71009

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-08-20 13:48:10 -05:00
a479b003e8 Fix module links. (#71030) 2020-08-20 14:08:41 -04:00
80b8fde946 update fest link (#71376) 2020-08-20 09:40:51 -05:00
b82889eef5 Add note about integration tests for new modules to the dev guide (#71345) 2020-08-20 10:15:08 -04:00
705c666521 skydive.skydive was renamed to community.skydive (#71357) 2020-08-19 21:46:20 +01:00
74f88c56a5 quick fix to change main back to devel (#71342)
* quick fix to change main back to devel
* Update docs/docsite/rst/dev_guide/developing_collections.rst

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-08-19 15:26:12 -05:00
41d7d53573 base.yml: Fix typos (#71346) 2020-08-19 15:22:39 -05:00
9be8d723da Add Fest banner (#71360)
Adds Fest banner, with fixes; updates existing banners, adds links.
2020-08-19 15:19:53 -05:00
2675768e3d Make noop tasks implicit (#71344)
Signed-off-by: Rick Elrod <rick@elrod.me>
Co-authored-by: Rick Elrod <rick@elrod.me>
2020-08-19 13:10:54 -05:00
f8aa307659 add extra vars to inventory plugins (#70970)
* add extra vars to inventory plugins
* disable by default for backwards compat
* also allow extra vars for options
2020-08-19 12:56:28 -04:00
f7ade8e61c allow per conditonal item debugging (#70966)
* allow per conditonal item debugging
* offloaded a bit from _check_c
2020-08-19 12:55:17 -04:00
b87944926d Improve proposed fix for bare variables (#70687)
* Make proposed fix for bare variables clearer

* Add changelog fragment
2020-08-19 00:55:30 +02:00
ea58d7c233 Make it so callback plugins can act on implicit/explicit meta tasks (#71009)
Change:
- Now sends meta tasks to the task start callback
- Lets callback plugins opt-in to receiving implicit tasks

Test Plan:
- New integration tests

Tickets:
- Indirectly fixes #71007 by allowing custom callbacks with this data

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-08-18 16:56:48 -05:00
a1257d75aa network: Correct documentation (#71246)
ini-style inventory does not support Ansible Vault password.
This fixes network_best_practices_2.5 doc.
Fixes: #69039

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-08-18 15:34:25 -05:00
7f97a62d87 fix make webdocs warnings (#71340) 2020-08-18 15:05:50 -05:00
92cd35fdb1 Grammatically updated the README file (#71300) 2020-08-18 15:59:06 -04:00
4f993922c8 Add documentation about info/facts module development (#71250)
Fixes: #40151

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-08-18 15:56:43 -04:00
f79a7c5585 Update Network Getting Started for FQCN/collection world (#71188)
* pull out network roles, cleanup, update first playbook examples, update gather facts section, some inventory conversion to .yml, update inventory and roles, simplify the navigation titles, fix tocs, feedback comments
2020-08-18 14:14:32 -05:00
5073cfc8bc incorporate minimalism feedback on debugging page (#71272)
Co-authored-by: bobjohnsrh <50667510+bobjohnsrh@users.noreply.github.com>
2020-08-18 14:16:36 -04:00
4792d83e13 cron module defaults to current user, not root (#71337) 2020-08-18 14:02:11 -04:00
02ea80f6d7 tidies up vars page (#71339) 2020-08-18 14:01:03 -04:00
4d68efbe24 Writing style updates to Using Variables topic (#71194)
* updated topic title, underline length for headings, and incorporated peer feedback
2020-08-18 11:25:33 -05:00
180507c62b dev_guide: improve developing_collections.rst (#71332) 2020-08-18 12:07:27 -04:00
6d17736ef4 subelements: Clarify parameter docs (#71177)
skip_missing parameter in subelements lookup plugin is accepted from
inside the dictionary.

Fixes: #38182

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-08-18 12:03:28 -04:00
88bfc7977d Fix meta tasks used with --flush-cache (#71311)
* Remove incorrect code
2020-08-18 11:41:58 -04:00
4afc228108 hacking: replace use of "which" with "command -v" (#71278)
"command -v" is the POSIX compliant way to get the path to a command.
It returns the path to the command if it exists and exits with a
non-zero status when it does not, without any output. "which" is not
POSIX and it can have various different effects. With Zsh, it says
"python not found" on stdout.

See:
 - https://pubs.opengroup.org/onlinepubs/009695399/utilities/command.html

Signed-off-by: Vincent Bernat <vincent@bernat.ch>
2020-08-18 11:31:28 -04:00
f2f6c34632 Fix play stats when rescue block is a child block (#70922)
* check run state of current block only

* Add changelog and test

* Add test for issue 29047

* Fix for both tests

* blerg

* Change test messages

* fix tests

* Add multi-level block in rescue test case

* Add recursive rescue check and multi-level test

* Should probably run the new test

* ci_complete

* Merge new tests

* ci_complete
2020-08-18 11:20:55 +02:00
824cd4cbeb Update ansible european IRC channel (#71326)
Signed-off-by: Rémi VERCHERE <remi@verchere.fr>
2020-08-17 17:06:48 -05:00
1d1de2c6fd Update password.py (#71295)
List md5_crypt, bcrypt, sha256_crypt, sha512_crypt as hash schemes in the password plugin.
2020-08-17 16:00:47 -05:00
606604bb97 Add warning about copyright year change (#71251)
To simplify project administration and avoid any legal issues,
add a warning in the docs. This reflects - https://github.com/ansible/ansible/issues/45989#issuecomment-423635622 and fixes: #45989

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-08-17 15:44:06 -05:00
ecd3b52ad7 Writing style updates to Developing dynamic inventory topic (#71245)
* modified the writing style

* incorporated peer feedback
2020-08-17 14:16:19 -05:00
6289570234 epoch can be a float with strftime filter. Fixes #71257 (#71314) 2020-08-17 13:46:49 -05:00
9da880182b Allow the TOML inventory to dump unsafe. Fixes #71307 (#71309) 2020-08-17 13:46:13 -05:00
959af7d90b Don't do conflict check on sdist and egg_info (#71310)
* Don't do conflict check on sdist and egg_info. Fixes #71279

* Add changelog

* adjust changelog PR link

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

* add warning about bdist_wheel

Co-authored-by: Rick Elrod <rick@elrod.me>
2020-08-17 13:45:41 -05:00
ecea018506 Fix 404 links (#71256)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-08-17 13:52:45 -04:00
ee48e0b0ad Fix roadmap formatting. (#71275) 2020-08-17 13:50:22 -04:00
61b7f234bd Update auto-generated 2.10 porting guide in devel. (#71276) 2020-08-17 13:49:38 -04:00
a496b89d6f overview_architecture.rst: fix playbook example (#71303) 2020-08-17 13:44:05 -04:00
9296ee9329 developing_modules_in_groups.rst: add note about releasing (#71305) 2020-08-17 13:43:15 -04:00
eb8b3a8479 get_url - Allow checksum file to be local file:// url (#71205)
This would be a partial solution for #69364 in that the SHASUMS file can be downloaded and gpg verified but then used from the downloaded location to verify the get_url's file.
* Make checksum url parsing more explicit

Use urlsplit to test if the checksum string has a (currently tested and) supported url scheme.

* Fix whitespace
* Changelog fragment
* Added tests
* Fix typo in test setup
2020-08-17 12:21:15 -04:00
a1a50bb3cd systemd - supports new systemctl output message for chroot (#71197)
The message generated by systemctl has been updated in 9321e23c40, which requires a corresponding change in the systemd module.

In addition, this fixes the module when the SYSTEMD_OFFLINE environment variable is set.
2020-08-17 12:09:07 -04:00
5821128995 Allow callbacks from forks (#70501)
* POC for supporting callback events that come from the worker

* linting fixes. ci_complete

* fix up units. ci_complete

* Try moving the sentinel put higher. ci_complete

* safeguards. ci_complete

* Move queue killing to terminate

* LINTING. ci_complete

* Subclass Queue, to add helper send_callback method

* Just use _final_q instead of adding another queue and thread

* Revert a few changes

* Add helper for inserting a TaskResult into the _final_q

* Add changelog fragment

* Address rebase issue

* ci_complete

* Add test to assert async poll callback from fork

* Don't use full path

* ci_complete

* Use _results_lock as a context manager

* Add new generic lock decorator, and use it with send_callback
2020-08-17 10:51:01 -05:00
92d59a58c0 Fix code markups and add link to CVE (#71082) 2020-08-17 10:55:30 -04:00
d816a5966e Force an upgrade to a newer version of antsibull 2020-08-14 13:01:29 -07:00
99cac0b135 Fix expr regex for MacOSX compat
MacOSX seems to want bare `+` whereas GNU expr wants escaped `+` (`\+`)
to mean match one or more.  Use `\{1,\}` instead which will match one or
more on both MaxOSX and GNU-using systems.

Fixes #71053
2020-08-14 13:01:29 -07:00
22d2c97b81 Updates to docs build for new antsibull CLI
* --ansible-base-cache renamed to --ansible-base-source
* _acd_version in the .deps file has been renamed to _ansible_version
2020-08-14 13:01:29 -07:00
e507c127e5 Move 2.10.0rc1 release date a few days forward. (#71270)
At yesterday's meeting it was decided to have ansible-2.10.0 depend on
ansible-base-2.10.1 so that we can get several fixes for ansible-base's
routing (including adding the gluster.gluster collection).
ansible-base-2.10.1 will release on September 8th.  So we will plan on
releasing ansible-2.10.0rc1 on the 10th.

https://meetbot.fedoraproject.org/ansible-community/2020-08-12/ansible_community_meeting.2020-08-12-18.00.html
2020-08-13 17:21:36 -05:00
4f0bd5de38 a few writing style updates (#71212) 2020-08-13 10:53:29 -05:00
9f72ff80e3 Redirect gluster modules to gluster.gluster. (#71240) 2020-08-12 23:23:27 -07:00
553ccedcd3 Update release page for ansible and ansible-base (#71229)
* [docs] 2.7 is EOL, add 2.10 which is almost out
- Remove 2.7 support from the maintenance schedule
- Add 2.10 which is in RC and will be out soon enough.
Signed-off-by: Rick Elrod <rick@elrod.me>

* Update docs/docsite/rst/reference_appendices/release_and_maintenance.rst, fix table and separate ansible-base from ansible, fix rstcheck errors, clean up sections, explain the two packages
Co-authored-by: Sandra McCann <samccann@redhat.com>
Co-authored-by: Rick Elrod <rick@elrod.me>
2020-08-12 15:51:38 -05:00
ae3b8eec12 Adds fest link (#71241)
* adds two possible links to AnsibleFest - pick one

* selected preferred text

Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2020-08-12 16:44:56 -04:00
336c176ebc Fix cron file regression (#71207) 2020-08-12 14:04:29 -05:00
888be697cb Revert "Change default file permissions so they are not world readable (#70221)" (#71231)
* Revert "Change default file permissions so they are not world readable (#70221)"

This reverts commit 5260527c4a.

* Revert "Fix warning for new default permissions when mode is not specified (#70976)"

This reverts commit dc79528cc6.
2020-08-12 12:29:04 -05:00
19589db10c Fix references to Ansible Collections Overview (#71227) 2020-08-12 12:06:22 -04:00
c59472715a Add support for non-yaml EXAMPLES (#71184)
* Add support for non-yaml EXAMPLES

* Make pattern raw string

* fmt tag should be the first non-whitespace line

* Add changelog fragment
2020-08-12 09:17:45 -05:00
847152c798 Enable auto-closing needs_collection_redirect issues/PRs (#71179) 2020-08-12 08:57:03 +02:00
7635d23cee Fix netconf validate capability check (#71195)
*  Use ``:validate`` string to check if the netconf
   server supports validate capability as per netconf RFC
2020-08-12 09:17:54 +05:30
dd048a5197 add FQCN to M() references (#70530)
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
2020-08-11 10:57:11 -04:00
b66d66027e Skip literal_eval for string filters results in native jinja. (#70988)
Fixes #70831
2020-08-11 10:19:49 +02:00
7195788ffe updates per writing style (#70978)
* updated to follow IBM and Ansible style guides
* modified heading underlines
* incorporated peer review feedback
2020-08-10 17:39:34 -05:00
0a7ab396c7 filters: minor doc fix (#71178)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-08-10 16:32:15 -04:00
edac065bd2 toml: Clarify about inventory examples (#71180)
Add a note in toml inventory plugin about three different
inventory examples.

Fixes: #67003

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-08-10 16:31:26 -04:00
172230d7b8 update Ansible-maintained platform guides with FQCN (#70369)
* update platform guides with FQCN
* implemented feedback
* fix remainin fqcn
* Update docs/docsite/rst/network/user_guide/platform_netconf_enabled.rst
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2020-08-10 15:09:35 -05:00
ae1291004e Make sure that apache2-webdav related packages get upgraded (#71187) 2020-08-10 13:10:20 -04:00
f4388de14d add another resource module example (#71162)
* Update docs/docsite/rst/network/user_guide/network_resource_modules.rst
Co-authored-by: Nilashish Chakraborty <nilashishchakraborty8@gmail.com>
2020-08-10 11:18:43 -05:00
e72e12aa27 docs: 'ansible_play_hosts' lists active hosts, not limited by serial (#71116)
ansible_play_batch lists the currently targeted host(s) in the serial/batch, while
ansible_play_hosts lists all the hosts which will be targeted by the play.
2020-08-10 09:42:45 -05:00
80ad1a17df Remove incidental_lvg target (#71174)
Change:
- This no longer has any incidental coverage.

Test Plan:
- Coverage report

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-08-10 00:34:34 -05:00
f46b124d65 start of 'data manipulation' examples (#46979)
Co-authored-by: Klaus Frank <agowa338@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-08-10 10:18:41 +05:30
4f54fb8d43 Remove incidental azure tests (#71164)
Change:
- All incidental coverage from these tests has moved to intentional
  coverage.

Test Plan:
- CI

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-08-08 00:56:53 -05:00
501f30df45 password: Add example to generate random string (#71144)
Password lookup can be used to generate random string
with desired length. This is useful in various scenarios.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-08-08 08:42:14 +05:30
3f22f79e73 Ensure -k is set to delegated hosts without a pass (#71136)
* Ensure -k is set to delegated hosts without a pass

* Fix up some broken tests

* Update task_executor.py

one possible fix, the other is updating winrm to normalize on 'password' like the other connection plugins

* Add alias for winrm and fix incorrect assumption

* Make sure aliases are used for keyword options

* Conditionally run test if sshpass is present, fix sanity

Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
2020-08-08 09:06:32 +10:00
5f8b45a70e Updating Getting Started with Resources section #68962 (#71102)
* Updating Getting Started with Resources section #68962
* Add links, including Workshops URL #68962
2020-08-07 16:09:19 -05:00
7c60dadb9a Updates to Integration tests to pass against Alpine (#70946)
* Start of alpine testing

* More updates

* Add forgotten file

* remove debug

* Add alpine3

* equal

* group 4

* group 4

* group 5

* Try to decrease test length

* libuser only available in testing

* Remove debug

* Make loops target work on hosts without gnu date

* Enable alpine testing

* ci_complete

* Don't specify uid for creating test user

* ci_complete

* Re-sort docker completion

* use newer container image

* ci_complete

* fix indentation

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

Co-authored-by: Matt Clay <matt@mystile.com>
2020-08-07 14:28:10 -05:00
56748a8060 remove network for 2.10 base porting guide (#71158) 2020-08-07 14:27:01 -05:00
abe4a1d533 remove network section from base porting guide (#71157) 2020-08-07 14:26:49 -05:00
410b6a7109 Update integration tests to support rpmfluff-0.6 (#71155) 2020-08-07 14:09:09 -05:00
050841324c ansible-test: bump acme test container version to 2.0.0 (#71097) 2020-08-07 09:34:52 -07:00
0a9638ce4b Update the porting guide for ansible-2.10.0a8 (#71141) 2020-08-07 12:22:02 -04:00
2f77606aa1 Add CVE reference to changelog for PR 70762 (#71151) 2020-08-07 10:55:09 -05:00
37a7485ac8 Fix version comparison for determining what ansible to build against
* The version comparison for determining what ansible package to build
  docs against was comparing the version number for ansible-base but it
  needed to check the version number for ansible instead

* add a comment about some bad logic than needs to be fixed after 2.10.0
2020-08-07 07:59:59 -07:00
6ac4439a6a Drop "rhui-" prefix from RHEL repositories in AMI (#71130)
The repository names seem to have changed and no longer have the "rhui-" prefix
2020-08-06 16:07:35 -05:00
6bf1dd428b Update 70762 changelog to use security_fixes (#71124) 2020-08-06 14:58:56 -05:00
fb9c9570d5 Fixes due to branch being renamed (#71115)
The ansible collection repository correctly renamed their default branch from `master` to `main`, which has caused a number for broken urls. This PR fixes those urls.
2020-08-06 14:14:27 -05:00
cb9336ab6d Docs: Fix typo (#71119)
Fix typo
2020-08-06 14:12:33 -05:00
fbfc0f99eb Make changelog tool be more strict about suffixes (#70909)
* Bump antsibull-changelog version.

* Flag all dotfiles, except .keep and .gitkeep.

* Enable ignoring other fragment extensions.
2020-08-06 10:49:39 -05:00
4e55b93613 virt facts: allow guest/host to have >1 virt tech (#70832)
Change:
- Allow systems to declare multiple virt techs. For example if a system
  is both a docker container, but virtualized on KVM, show both. If a
  system is set up to run virtualbox and KVM VMs, show both.

- This is done by introducing new facts keys:
  - virtualization_tech_guest
  - virtualization_tech_host

- Backwards compatibility is preserved by keeping track of the previous
  return-points and refusing to update those keys after we would have
  returned, but now returning them at the end, so that the new keys can
  accumulate their data.

Test Plan:
- Local
- CI

Tickets:
- Refs #66304
- Refs #17151
- Refs #17058
- Probably others

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-08-06 09:45:37 -05:00
fc83055425 Fix changelog fragment type. (#70902) 2020-08-05 15:32:31 -04:00
fb144c4414 Update ansible doc formats (#71070)
* Fix tty_ify bugs and refactor

* Move tty_ify() and supporting attributes to the DocCLI class as that's
  the only thing using it.
* Add unittest for the code.
* Fix a bug where the substitution macros can be detected when they are
  a part of another word.
* Add support for L(), R(), and HORIZONTALLINE which were added to the
  website docs many years ago.

* Update test/units/cli/test_doc.py

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

Co-authored-by: Matt Clay <matt@mystile.com>
2020-08-05 10:53:25 -07:00
662d34b9a7 add jinja2 global to reserved names (#71088)
* add jinja2 global to reserved names

  also allow expansion by additional context provided from caller

  fixes #41955

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-08-05 10:43:31 -04:00
504ef607f3 Misc typo fixes (#71089) 2020-08-05 10:16:44 +05:30
aab9beccf7 Remove ANSIBLE_COLLECTIONS_PATHS dep warning (#71094) 2020-08-05 07:38:35 +10:00
f9af27c631 dont clobber facts in loop (#71032)
* dont clobber facts in loop

	fixes #71031
2020-08-04 15:41:42 -04:00
72d3d44163 add note to uninstall older versions of ansible for pip (#71023)
* add note to uninstall older versions of ansible for pip

* combine with the other PR
2020-08-04 13:39:24 -05:00
0d7c144ce4 Allow macOS ACLs to work for unpriv -> unpriv (#70785)
Change:
- Use `chmod +a` in the fallback chain to allow MacOS to use ACLs to
  allow an unprivileged user to become an unprivileged user.

Test Plan:
- CI, new tests

Tickets:
- Fixes #70648

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-08-04 14:32:48 -04:00
79f7104556 Update platform_index.rst (#70927) 2020-08-04 14:31:37 -04:00
0055673c70 VMware: Inventory scenario guide for hostnames (#71055)
Added a scenario guide for ``hostnames`` parameter
for vmware_vm_inventory.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-08-04 14:30:33 -04:00
4e27569347 Add more include and yaml parsing tests (#70506)
These additional tests should provide coverage for features currently tested by the postgres incidental tests.
2020-08-04 11:24:52 -07:00
cdcf0aa42a Intentional coverage, incidental_azure_rm_resource (#71052)
Change:
- Adds some intentional coverage around PluginLoader for cases that
  incidental_azure_rm_resource covered.
- Specifically, modules starting with an underscore, and starting with
  an underscore but a symlink.

Test Plan:
- CI

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-08-04 12:53:31 -05:00
8af3079640 Add intentional coverage for incidental_lvg (#71043)
Change:
- Add hardware_facts test target which manually sets up some LVM devices
  and tests facts against them.

Test Plan:
- New integration tests

Tickets:
- Refs #71041 and #71042 both of which I discovered during this

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-08-04 12:52:38 -05:00
810a9a5593 find: Allow reading whole file for contains regex (#71083)
Change:
- Add a parameter `read_whole_file` which allows for reading the whole
  file when doing a `contains` regex search.
- This allows for (for example) matching a pattern at the very end of
  a file.

Test Plan:
- New integration tests

Tickets:
- Fixes #63378

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-08-04 12:49:45 -05:00
5ca3aec3c4 native types: properly handle Undefined in nested data (#68432) 2020-08-04 19:06:07 +02:00
3bec27dc34 Allow cache_timeout=0 to reach inv. cache plugins (#70977)
Change:
- Previously, `cache_timeout=0` was seen as falsey and not passed along
  to cache plugins as an option. Now only "nulley" values are not sent.

Test Plan:
- New integration tests

Tickets:
- Fixes #70702

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-08-04 11:54:28 -05:00
a9eb8b0488 Add some documentation for the format of meta/runtime.yml (#71035)
* Document the format of meta/runtime.yml

* Document multiple Ansible versions

Clarify difference between deprecation and tombstone fields

* add note
2020-08-04 11:25:08 -04:00
f6b3b4b430 ansible-galaxy - fix download for subdirs in SCM (#71005) 2020-08-04 11:10:00 -04:00
4bd7580dd7 Fix fortimanager httpapi redirect (#71073)
* The fortimanager httpapi plugin is in fortinet.fortimanager, not in fortinet.fortios.

* Add changelog fragment.
2020-08-04 05:42:46 +01:00
86b6c4bbb6 fix collection package root location under pytest >=6.0.0 (#70963) 2020-08-03 17:31:32 -07:00
b53e7f8720 Fix ansible-test self-test change classification.
Changes to sanity and unit tests now trigger the ansible-test self-test integration tests.

No changelog entry since this only affects tests for ansible itself and not collections.
2020-08-03 15:24:54 -07:00
7f62a9d7b5 Make cache adjudicator's flush call plugin flush (#70987)
Change:
- Previously CachePluginAdjudicator#flush only removed entries from the
  cache backend that it knew about by using them earlier. Now it calls
  the underlying plugin's flush() method.

Test Plan:
- New unit tests

Tickets:
- Fixes #68770

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-08-03 17:16:15 -05:00
8313cc8fb1 Warning banner should only show on /devel/ docs, not on pages with 'devel' in their titles (#70849)
* banner should not be placed on pages with 'devel' in their titles

* Update docs/docsite/_themes/sphinx_rtd_theme/ansible_banner.html

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>

* Only match paths at the beginning

Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
Co-authored-by: Sviatoslav Sydorenko <webknjaz@redhat.com>
2020-08-03 16:56:55 -04:00
11a31e99e6 added note about fakeroot (#71018)
see #70895
2020-08-03 16:36:26 -04:00
a0523e5b8a Update documentation of httpapi's handle_httperror method for clarity (#70991) 2020-08-03 16:35:00 -04:00
4f4436c124 updates changelog types; some updates for easier translation (#71027)
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
2020-08-03 13:46:41 -04:00
e10902d744 Add the ansible_2_10 intersphinx reference. (#71028)
There are links from the scenario guides to collections but collections
docs aren't built in testing or locally when we're on the devel branch.
Due to that we need to make sure those references resolve to the
production docsite.  We can use intersphinx to make sure that happens.

* The test for binary files wasn't reading enough of the file.

Checking for null bytes in the first 1024 bytes failed to diagnose the
ansible_2_10.inv file as binary
2020-08-03 12:31:36 -05:00
a6725d6e2a docs: Add a note about package requirements for fact gathering (#70796)
Fixes: #26148

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-08-03 12:09:40 -05:00
864573a38d Document common return values with examples (#71046)
* adding return value examples
* shift to console code blocks
* cleaning up whitespace and shortening invocation example
* reordering diff section
2020-08-03 11:51:58 -05:00
991714b9d1 copy - redact 'content' from invocation in check mode (#71033)
* sanitize copy module invocation secrets in check mode
2020-08-03 11:41:45 -04:00
9850915bd6 Update intro_getting_started.rst (#71039)
Added two additional learning resources in the See also: section- forgot closing backticks
2020-08-03 10:35:36 -05:00
74c14c6743 Strip spaces in module names in explicit actions (#71040)
* Strip spaces in module names in explicit actions

Change:
- When an action is called like "action: copy foo=bar", strip spaces
  around the action name.
- This allows "action: copy        foo=bar" to work as expected.

Test Plan:
- New integration tests

Tickets:
- Fixes #62136

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-08-03 11:30:45 -04:00
701c638757 Document string tests a bit more (#71049)
- Explain how `regex` differs from `match` and `search`.
- Document `multiline` and `ignorecase`.

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-08-03 10:19:20 -05:00
0c855dc70b Guide users to use ansible-runner (#71063)
Update the docs to guide users to use `ansible-runner` instead of using Python API directly. In many use cases, executing Ansible playbooks are sufficient. In those use cases, `ansible-runner` is easier and much stable to use comparing with Python API, but there is no mention of it.
2020-08-03 10:15:37 -05:00
6160e82bf2 Update network integration auth timeout (#71057)
*  Incase of network integration test for connection local
   test the paramiko_ssh auth_timeout is the value of timeout
   under defaults section which is 10 seconds.
*  For slower connection 10sec timout value result in authentication
   timeout error hence increase the timeout value to 90 seconds
2020-08-03 19:28:30 +05:30
96aa81e8ff Remove incidental_azure_rm_mariadbserver tests (#71037)
Change:
- Remove incidental test which has no remaining incidental coverage.

Test Plan:
- CI

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-08-01 15:34:35 -05:00
54bee7152b Update network platform guides with FQCN (#70699)
* fqcn all the docs things!
2020-07-31 15:57:57 -05:00
61b36c6f30 Porting guides for ansible-base 2.10 and ansible 2.10 (#70891)
* Fix changelog link title.

* Rename Ansible 2.10 and 2.11 porting guides to Ansible-base porting guides.

* Add stub for automatically generated 2.10 porting guide.

* Move things that should not be in the ansible-base porting guide to the ansible porting guide.

* Apply changes to base porting guides.

* Add remark that ansible-base is mainly for developers.

* Ansible Base -> Ansible-base

* Fix link in base porting guide.

* Add generated porting guide.

* Use same header signs as antsibull-changelog's RST builder.

* Update generated porting guide.
2020-07-31 15:28:18 -05:00
698efb8981 'Foreport' changes to 2.10 porting guide from stable-2.10 to devel. (#71024)
Without this, this change would get lost when backporting #70891, or would make backporting a lot harder.
2020-07-31 12:53:23 -05:00
5019335660 Document how to upgrade to ansible with pip (#70768)
Fixes #70348
2020-07-31 13:13:54 -04:00
75e8da0950 hacking: fix announce script version parsing (#71008)
Change:
- Fix a bug where rc/beta versions throw off the "is this an
  ansible-base release"? check.

Test Plan:
- Used it for 2.10.0rc4

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-07-30 21:28:43 -05:00
f99f96ceb6 Fix unstable unarchive test (#71004)
* Add mode to copy tasks
* Fix unreliable test by ignoring errors
2020-07-30 19:25:45 -04:00
58145dff9c document how to migrate between collections (#70243)
* document how to migrate between collections
* Apply suggestions from code review

Co-authored-by: John R Barker <john@johnrbarker.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
2020-07-30 15:51:53 -05:00
9879da8e23 DOCS: add 2.10 collections roadmap (#70975)
* draft of 2.10 collections roadmap

* incorporates feedback from felixfontein

* gundalow and samccann feedback, fix link

Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2020-07-30 16:26:03 -04:00
bf7276a4e8 Emit proper error for x in y when y is undefined (#70990)
Fixes #70984
2020-07-30 15:57:01 -04:00
d62dffafb3 Add latest rc from ansible-base (#70974)
* Add latest rc from ansible-base
2020-07-30 14:56:56 -05:00
8c48366f1c Document to_json will convert to ASCII strings by default (#70954)
... as reported in issue #68702
2020-07-30 14:45:40 -05:00
e28b20d729 remove github link from plugins (#70951) 2020-07-30 14:43:07 -05:00
ac5f3f8bef unarchive - Check 'fut_gid' against 'run_gid' in addition to supplemental groups (#65666)
Add integration tests for unarchiving as unprivileged user
Break tasks into separate files for easier reading and maintenance

Create a user by specifying a default group of 'staff' for macOS.

The user module does not actually remove the user directory on macOS,
so explicitly remove it.

Put the removal tasks in an always block to ensure they always run

Co-authored-by: Philip Douglass <philip.douglass@amadeus.com>
Co-authored-by: Sam Doran <sdoran@redhat.com>
2020-07-30 15:28:05 -04:00
e139739ab3 iptables: Add a note about ipv6-icmp (#70915)
ipv6-icmp ping is valid protocol and adding note about
it in protocol parameter.

Fixes: #70905

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-07-30 14:16:43 -05:00
54e2ae79e7 fix downloading collections in git repos and tar.gz artifacts (#70524)
* Fix downloading tar files

* Fix downloading SCM collections

* changelog
2020-07-30 13:55:29 -04:00
e6bf202738 linux facts - return proper broadcast address (#64528)
* linux facts - return proper broadcast address

Check that the value being returned is actually a broadcast address

* Add tests

* Cleanup tests
2020-07-30 19:40:14 +02:00
c4f442ed5a facts - fix incorrect time for some date_time_facts (#70665)
The iso8601_micro and iso8601 facts incorrectly called now.utcnow(), resulting
in a new timestamp at the time it was called, not a conversion of the previously
stored timestamp.

Correct this by capturing the UTC timestamp once then calculating the local
time using the UTC offset of the current system.

* Use time.time() for getting the current time
* Convert from that stored epoch timestamp to local and UTC times
* Used existing timestamp for epoch time
* Add unit tests that validate the formate of the return value rather than an exact value since mocking time and timezone is non-trivial
2020-07-30 11:39:58 -04:00
2e0097ada3 Fix ansible-test relative import analysis. 2020-07-30 08:05:28 -07:00
fcea87926f Support manjaro arm in hostname module (#69861) 2020-07-30 13:52:19 +05:30
dc79528cc6 Fix warning for new default permissions when mode is not specified (#70976)
Follow up to #70221
Related to #67794
CVE-2020-1736

When set_mode_if_different() is called with mode of 'None', ensure we issue
a warning about the change in default permissions.

Add integration tests to ensure the warning works properly.

* Fix tests
- actually use custom module 🤦‍♂️
- verify file permission on created files
- use remote_tmp_dir so we're ready for split controller
- improve test module so we can skip the call to set_fs_attributes_if_different()
- fix tests for CentOS 6
2020-07-30 00:05:29 -04:00
14dc4de424 Update docs for --tags default, and add some tests (#70939)
Change:
- Clarify that not passing `--tags` will cause `ansible_run_tags` to
  default to `["all"]`.
- Add some extra coverage around `ansible_run_tags`

Test Plan:
- New integration and unit tests

Tickets:
- Fixes #69619

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-07-29 17:16:57 -05:00
b1cb2553af ansible-galaxy - fix fallback for AH searches (#70957) 2020-07-30 07:28:43 +10:00
7f0c84ea15 Update module debugging docs (#70847)
- Combine remote and local debugging instructions.
- Update the example code to match current AnsiballZ structure and behavior
- Change reference name and update references
- Clarify how PYTHON path is modified
- Also add note about other remote debugging tools.

Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2020-07-29 12:14:49 -04:00
a24f51d9e5 package - use existing list of package manages from facts (#70920) 2020-07-29 12:08:11 -04:00
73a9ad9aea ansiballz - remove deprecated excommunicate command (#70921) 2020-07-29 12:05:12 -04:00
20a7476064 git: verify, only use --raw when we need it (#70900)
Change:
- Allow older git to verify tags again
- Enable verification tests everywhere, even if most of them only work
  on newer git. Some of them work on older git and they test the --raw
  parameter.

Test Plan:
- Re-enabled subset of git tests

Tickets:
- Fixes #64469

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-07-29 10:45:51 -05:00
f9c3c6cba6 Allow changed/failed mgmt on strategy actions (#70919)
* Allow changed/failed mgmt on strategy actions
2020-07-29 10:44:46 -04:00
37e9d2278a Fix a typo in "restart mysql" example (#70950)
Fix a typo in "restart mysql" example task. It's missing a space between "state:" and "restarted".
2020-07-29 11:46:16 +05:30
69e5c6c14a Update network_best_practices_2.5.rst (#70962)
Fix a small typo in the playbook tasks sample section
2020-07-29 11:41:18 +05:30
748ba96610 How to use rst :ref: for modules in collections (#70567) 2020-07-28 17:40:16 -05:00
3a8ac62596 Cap pytest version to avoid relative import issue. 2020-07-28 14:51:39 -07:00
787e6108e0 Document galaxy install from local clones (#70941) 2020-07-28 14:05:28 -04:00
5c8520fbd9 Fix verbosity for var_templating test (#70943)
* Fix verbosity for var_templating test

Display the subtests

* fix specificity and set ANSIBLE_BECOME_ALLOW_SAME_USER

Co-authored-by: Matt Martz <matt@sivel.net>

Co-authored-by: Matt Martz <matt@sivel.net>
2020-07-28 12:02:43 -05:00
c19a10e13a RHEV virt facts: Detect vdsmd in addition to vdsm (#70901)
Change:
- Look for the `vdsmd` process in addition to `vdsm` as before.

Tickets:
- Fixes #66147

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-07-28 11:35:34 -04:00
7d32129efb [dnf] 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>
2020-07-28 11:23:55 -04:00
ae42d5ebdc remove jose-delarosa - new job (#70884) 2020-07-28 11:12:03 -04:00
8fb8f1b2a0 fix changelog link (#70883) 2020-07-28 11:11:15 -04:00
7e2cc7db12 validate-modules: fix version_added validation for top-level, fix error codes (#70869)
* Also validate top-level version_added.

* Fix error code.

* Produce same version_added validation error in schema than in code (and stop returning it twice).

* Return correct error codes for invalid version_added for options and return values.

* Add changelog.

* Fix forgotten closing braket.

* Accept 'historical' for some top-level version_added.
2020-07-28 10:10:35 -05:00
45c2eb6c0a lineinfile - fix broken exception handling (#70846)
* prevent (ExceptionType) is not subscriptable errors
* tweak error message and use text conversion
* add to_text import
2020-07-28 10:30:32 -04:00
be4be926c4 subversion Give subversion module a validate_certs option (#70890)
* Give subversion module a validate_certs option

Change:
- Add `validate_certs` option to subversion module. Defaults to off for
  backwards compatibility.

Tickets:
- Fixes #22599

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

* Update changelogs/fragments/22599_svn_validate_certs.yml

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>

* test verify_certs codepaths

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

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-07-27 14:18:54 -04:00
4cc4cebc97 reboot - fix Void Linux (#70704)
Add entry for appropriate commands for Void Linux
2020-07-27 09:39:36 -04:00
9d2982549d dnf: Add nobest option (#70318)
* dnf: Add nobest option

* dnf: Fix indent, add nobest specifically to dnf not yum

* Add changelog for dnf: add nobest option

* dnf: Add nobest to yumdnf module argument_spec

* dnf: remove nobest from module paramaters in yumdnf.py

* dnf: Add test for nobest option

* dnf: Cleanup packages in nobest test at last

* dnf: Cleanup manually added repos in nobest test at last

* dnf: Remove dnf-plugins-core as well in nobest test

* dnf: Change nobest release version to 2.11

* Change changelog number according to change in PR number

* Change changelog number according to change in PR number
2020-07-27 12:02:07 +02:00
205eda335f [ansible_builtin_runtime.yml] fix text[fs]m typo (#70893)
Change:
- textsfm -> textfsm

Test Plan:
- Out-of-band ansible_builtin_runtime.yml checker script

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-07-25 17:44:43 -05:00
1223ce656a reset logging to INFO (#70878)
- due to CVE-2019-14846
 - also added comments and test to avoid 'oportunistic' reversion
2020-07-24 15:53:17 -04:00
9c12f20f27 Update the number of contributors in README: 5000+ (#70880) 2020-07-24 21:48:23 +02:00
953aa26286 Get serial number of NVMe device without sg_inq (#70284)
* Get serial number of NVMe device without sg_inq

* Add changlelog for #70284

* Use get_file_content() to get serial number from a file
2020-07-24 00:35:10 -05:00
8b96caf712 Update ansible-base test container to 1.5.0. (#70856) 2020-07-23 20:49:57 -05:00
21ac550828 virtualization facts: check /dev/kvm as a fallback (#70829)
Change:
- On Linux, there are situations where a host might be a KVM host but
  not have the kernel module enabled (it might be compiled in instead).
  In these cases, /dev/kvm will still exist, and rather than reporting
  NA, we should report that the host is a KVM host.

Test Plan:
- Local

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-07-23 19:50:04 -05:00
5e1a968983 Do not add connection vars to the output results (#70853)
* Do not add connection vars to the output results

* Also revert the delgated scenario JIC

* Added regression test
2020-07-24 09:53:08 +10:00
7a42d27462 Proper example for splitext filter in docs (#70494)
* Update playbooks_filters.rst with a clear example of how to extract its 2 tokens. 

Co-authored-by: Sloane Hertel <shertel@redhat.com>
2020-07-23 15:07:55 -05:00
20bb915092 Refactor Python API examples and docs
PR #70446: it's a follow-up for #70445.

It includes a merge of `examples/scripts/uptime.py` and a similar
code snippet from `docs/docsite/rst/dev_guide/developing_api.rst`.

This patch also changes the docs RST file to include contents of
the example file instead of holding a copy of a similar code.
2020-07-23 18:24:02 +02:00
4c0af6c808 fix internal cases of actions calling unqualified module names (#70818)
* fix internal cases of actions calling unqualified module names

* add porting_guide entry
* misc other fixes around action/module resolution broken by redirection

ci_complete

* Update docs/docsite/rst/porting_guides/porting_guide_2.10.rst

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

* Update docs/docsite/rst/porting_guides/porting_guide_2.10.rst

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

* address review feedback

* pep8

* unit test fixes

* win fixes

* gather_facts fix module args ignores

* docs sanity

* pep8

* fix timeout test

* fix win name rewrites

Co-authored-by: Rick Elrod <rick@elrod.me>
2020-07-23 09:02:57 -07:00
b28d59124b WIP: add collections as an intersphinx link (#70826)
* adds collections as a ref for intersphinx

* no need for intersphinx

Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2020-07-23 08:44:05 -07:00
e439194c8c basic: Add name of aliases in error message (#69427)
With this patch, user will be notified with available aliases
of arg parameter.

Fixes: #58752

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-07-23 16:02:18 +05:30
5260527c4a Change default file permissions so they are not world readable (#70221)
* Change default file permissions so they are not world readable

CVE-2020-1736

Set the default permissions for files we create with atomic_move() to 0o0660. Track
which files we create that did not exist and warn if the module supports 'mode'
and it was not specified and the module did not call set_mode_if_different(). This allows the user to take action and specify a mode rather than using the defaults.

A code audit is needed to find all instances of modules that call atomic_move()
but do not call set_mode_if_different(). The findings need to be documented in
a changelog since we are not warning. Warning in those instances would be frustrating
to the user since they have no way to change the module code.

- use a set for storing list of created files
- just check the argument spac and params rather than using another property
- improve the warning message to include the default permissions
2020-07-22 17:05:38 -04:00
bf98f031f3 Sanitize URI module keys with no_log values (#70762)
* Add sanitize_keys() to module_utils.

* More robust tests

* Revert 69653 change

* Allow list or dict

* fix pep8

* Sanitize lists within dict values

* words

* First pass at uri module

* Fix insane sanity tests

* fix integration tests

* Add changelog

* Remove unit test introduced in 69653

* Add ignore_keys param

* Sanitize all-the-things

* Ignore '_ansible*' keys

* cleanup

* Use module.no_log_values

* Avoid deep recursion issues by using deferred removal structure.

* Nit cleanups

* Add doc blurb

* spelling

* ci_complete
2020-07-22 14:49:37 -05:00
1733253297 Modification of 'Adding modules and plugins locally' topic (#70659)
* Remediated the topic to comply with IBM style guide and minimalism practices
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2020-07-22 11:59:18 -05:00
34f18a97f4 Add ansible-releases@redhat.com to announce template (#70812)
Signed-off-by: Rick Elrod <rick@elrod.me>
2020-07-22 11:08:32 -05:00
84adaba6f5 Allow hostvars delegation (#70331)
* ensure hostvars are available on delegation
* also inventory_hostname must point to current host and not delegated one
* fix get_connection since it was still mixing original host vars and delegated ones
* also return connection vars for delegation and non delegation alike
* add test to ensure we have expected usage when directly assigning for non delegated host
2020-07-22 11:13:57 -04:00
06a4fc2833 Document existing ansi_re sequences and add ESC[m (#70683)
* Document existing ansi_re sequences and add `ESC[m`

* Add changelog
2020-07-22 08:56:21 -04:00
b7ee07215d Update Molecule support contact (#70797)
As Molecule started to use https://github.com/ansible-community/molecule/discussions we need to update documentation before retiring
the molecule-users mailing list.
2020-07-22 11:53:52 +01:00
481cd30129 runtime: aws_netapp_cvs_filesystems (#70781) 2020-07-22 11:15:48 +01:00
8cccede0d4 basic: use PollSelector implementation (#70352)
Some platform such as ESXi does not implement EpollSelector,
which is selected by DefaultSelector. Use SelectSelector which is
based upon 'select' implementation. This works perfectly with
a platform like VMware ESXi.

Fixes: #70238

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-07-22 09:18:21 +05:30
96b74d3e0b Ensure single vaulted values aren't counted as sequences. Fixes #70784 (#70786) 2020-07-21 16:48:35 -05:00
2a7df5e07b add note for write permission on rst files (#70766)
* add note for write permission on rst files
* Update docs/docsite/rst/community/documentation_contributions.rst

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2020-07-21 16:00:47 -05:00
24e5d3a51c fix rstcheck problem and gitignore collections dir (#70764) 2020-07-21 15:59:56 -05:00
97cd1a4b82 Modernize GitHub pull-request template (#70787)
Change:
- Remove "New Module Pull Request" since we're not taking new modules in
  ansible/ansible
- Add "Tests Pull Request" to use for things like adding coverage that
  aren't bugfixes.

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-07-21 15:06:27 -05:00
0ead4306a8 user - Create home and parent directories only when requested (#70600)
The home user and the parents directories should only be created when
create_home == True
2020-07-21 15:50:44 -04:00
5ce47646ad cron - Allow non-ascii (UTF-8) chars in cron file paths and jobs (#70426)
* Encode/Decode files in UTF-8
* Use helper function in ansible
* Add an integration test
* Use emoji in test data.
* add changelog
* Also support non-ascii chars in filepath and add tests about this.
* Also use non-ascii chars in replaced text and ensure not to break cron syntax.
* rename self.existing to self.n_existing
* rename crontab.existing to crontab.n_existing
2020-07-21 15:00:21 -04:00
4f96f9826c distribution: Add support for DragonFly (#70748)
partially fixes #43739

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-07-21 13:47:11 -04:00
1e0d83524c runtime os_image_facts is now called os_image_info (#70776) 2020-07-21 11:45:26 -04:00
8188bce0ff Redirect restored modules to community.general. (#70769) 2020-07-21 07:46:03 +01:00
69472a5f8d Refactor _fixup_perms2 to remove way-nested logic (#70701)
Change:
- Refactoring to make it harder to get wrong and easier to read.
- Generalize become_unprivileged tests and fix some that never worked
  but also never failed.

Test Plan:
- CI, new units/integration tests

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-07-20 18:46:47 -05:00
707e8b6e0c ansible_builtin_runtime.yml fixes (#70767)
* Correct name is modules, not mso: https://github.com/CiscoDevNet/ansible-mso/blob/master/plugins/doc_fragments/modules.py

* The port_ went missing.

https://github.com/CiscoDevNet/ansible-aci/blob/master/plugins/modules/aci_interface_policy_port_channel.py
https://github.com/ansible/ansible/blob/stable-2.9/lib/ansible/modules/network/aci/aci_interface_policy_port_channel.py

https://github.com/CiscoDevNet/ansible-aci/blob/master/plugins/modules/aci_interface_policy_port_security.py
https://github.com/ansible/ansible/blob/stable-2.9/lib/ansible/modules/network/aci/aci_interface_policy_port_security.py

* Fix typo.
2020-07-20 15:38:50 -07:00
eb06488e1d Remove preview status from TOML inventory (#70770) 2020-07-20 17:47:29 -04:00
1e3989c9f7 Need to return any error code from running antsibull-docs (#70763)
This way we fail early if there's a problem
2020-07-20 14:05:01 -07:00
59513ae673 Fix incorrect statement to set a variable for a playbook (#70712)
Fixes #70638
2020-07-20 13:45:40 -05:00
92e16c2838 Few fixes for reference_appendices/faq.html (#70719)
* Format using `` instead of `, add line breaks for long lines, rephrase or remove useless text.
Move some text.

* Add clearer version of OpenSSh is affected by SCP bug

* Review some pages using ansible doc writing guide.
2020-07-20 13:43:39 -05:00
fb3db170cc Make Sources, Plugins sections easier to read (#70652)
Re-wrote the Inventory Sources section and also the next section to have shorter, clearer sentences with a more active voice.
2020-07-20 13:30:06 -05:00
f9bb5c9c5a dellemc related module name changes (#70749)
* dellemc related module name changes

* Addressing review comments
2020-07-20 18:53:24 +01:00
54b002e1ac Guard against allowing ansible to ansible-base upgrades (#70529)
* Guard against allowing ansible to ansible-base upgrades

* newline

* use alias

* Add an explicit line detailing this is a 1 time thing

* period

* Read __version__ and __author__ rather than import, update working, and add ability to skip conflict checks

* Remove commented code

* Re introduce removed changes from rebase

* Just use open

* Nuke unused import
2020-07-20 11:57:43 -05:00
77d0effcc5 Fix missing quoting for remote_tmp in second mkdir of shell module. Issue #69577 (#69578)
* Fix missing quoting for remote_tmp in second mkdir of shell module. Issue #69577

* adding changelog

* fixing typo in changelog entry

* adding test case

Adding test case written by bmillemayhias.

* using $HOME instead of ~

* fixing commit measage

* Update 69578-shell-remote_tmp-quoting.yaml

Co-authored-by: Brian Kohles <me@briankohles.com>
2020-07-20 11:25:29 -05:00
84b4387702 debconf: add a note about no_log usage (#70738)
debconf module exposes sensitive information to logs, console.
Add a note to user about using no_log=True to hide such
information from console.

Fixes: #32386

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-07-20 21:08:13 +05:30
633c2d0522 Fix misleading documentation for naming blocks (#68458)
From what I have observed it is the block itself that doesn't support the name attribute rather than the tasks inside the block.

* Update docs/docsite/rst/user_guide/playbooks_blocks.rst

Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2020-07-20 09:48:53 -05:00
2811d9486f Update default from True to False for CONDITIONAL_BARE_VARS (#70709)
ci_complete
2020-07-20 09:29:31 -05:00
c1402ddee0 validate_modules: added missing single quote (#70744)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-07-20 09:26:17 -05:00
cf217178c7 Followup to #70610: fix ansible_builtin_runtime.yml redirects to wrong collections (#70725)
* Followup to #70610: fix redirects to wrong collections

* gcp module_utils is in community.general.

* dellos10_* modules are in dellemc_networking.os10, not dellemc.os10.

* intersight_facts was renamed to intersight_info in cisco.intersight in version 1.0.7.

* Fix more dellos10 redirects.
2020-07-19 20:16:52 -05:00
8915f262b4 misc typo fixes (#70736)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-07-19 18:51:29 -05:00
f90aa5599f Don't treat empty excludes as a match. Fixes #70640 (#70710) 2020-07-17 17:34:24 -04:00
566c5e6ce1 Handle Slackware OS version strings containing a plus (“+”) (#68142)
A couple of years ago Slackware -current began using a plus (“+”) at the end of the distribution version string to indicate a future version work-in-progress.

Rearrange distribution_files unit tests to easily support more tests
  - add conftest with common fixtures 
  - use parametrize for testing multiple scenarios

* Add changelog
* Add unit tests for Slackware distribution parsing
* Use correct fixtures for Slackware
Data comes from /etc/slackware-version

Co-authored-by: Sam Doran <sdoran@redhat.com>
Co-authored-by: <Eduard Rozenberg <eduardr@pobox.com>>
2020-07-17 16:39:26 -04:00
154efd97f2 win async - use full path for powershell (#70703) 2020-07-18 06:08:29 +10:00
9dda393d70 Collections docs generation (#59761)
* Build documentation for Ansible-2.10 (formerly known as ACD).

Builds plugin docs from collections whose source is on galaxy

The new command downloads collections from galaxy, then finds the
plugins inside of them to get the documentation for those plugins.

* Update the python syntax checks
  * docs builds can now require python 3.6+.

* Move plugin formatter code out to an external tool, antsibull-docs.
  Collection owners want to be able to extract docs for their own
  websites as well.
* The jinja2 filters, tests, and other support code have moved to antsibull
* Remove document_plugins as that has now been integrated into antsibull-docs

* Cleanup and bugfix to other build script code:
  * The Commands class needed to have its metaclass set for abstractmethod
    to work correctly
  * Fix lint issues in some command plugins

* Add the docs/docsite/rst/collections to .gitignore as
  everything in that directory will be generated so we don't want any of
  it saved in the git repository
* gitignore the build dir and remove edit docs link on module pages

* Add docs/rst/collections as a directory to remove on make clean
* Split the collections docs from the main docs

* remove version and edit on github
* remove version banner for just collections
* clarify examples need collection keyword defined

* Remove references to plugin documentation locations that no longer exist.
  * Perhaps the pages in plugins/*.rst should be deprecated
    altogether and their content moved?
  * If not, perhaps we want to rephrase and link into the collection
    documentation?
  * Or perhaps we want to link to the plugins which are present in
    collections/ansible/builtin?

* Remove PYTHONPATH from the build-ansible calls
  One of the design goals of the build-ansible.py script was for it to
  automatically set its library path to include the checkout of ansible
  and the library of code to implement itself.  Because it automatically
  includes the checkout of ansible, we don't need to set PYTHONPATH in
  the Makefile any longer.

* Create a command to only build ansible-base plugin docs
  * When building docs for devel, only build the ansible-base docs for
    now.  This is because antsibull needs support for building a "devel
    tree" of docs.  This can be changed once that is implemented
  * When building docs for the sanity tests, only build the ansible-base
    plugin docs for now.  Those are the docs which are in this repo so
    that seems appropriate for now.
2020-07-17 13:07:35 -07:00
ca5197f784 package_facts - correct package parsing for apk (#70668)
* remove atoms, use rsplit instead of regex
2020-07-17 11:03:49 -04:00
c616e54a6e refactor Python module_utils locator (#70610)
* refactor Python module_utils locator

* no longer recursive
* embed special-case module code internally
* share common code between collections/not cases
* fixes #70134
* properly support subpackage redirection
* adds support for FQCN redirect targets used by migration (expands to FQ Python name)
* add tests

* add changelog
2020-07-16 17:57:47 -07:00
b479adddce move firewalld to ansible.posix (#70692)
Signed-off-by: Adam Miller <admiller@redhat.com>
2020-07-16 15:16:09 -05:00
58d24584c0 Pipe lookup plugin usage example documentation fix (#70679) 2020-07-16 13:52:14 -04:00
8c213c9334 template connection variables accessed directly before using (#70657)
* template variables accessed directly when using them instead of FieldAttributes
2020-07-16 11:21:39 -04:00
055871cbb8 api: time.clock compatible code (#70650)
time.clock is removed in Python 3.8. Add time.clock
compatible code.

Fixes: #70649

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-07-16 12:24:22 +05:30
4a735adc21 fix typo in changelog (#70673)
Signed-off-by: Rick Elrod <rick@elrod.me>
2020-07-15 18:45:44 -05:00
08b20c9c08 Fix spelling errors. (#70664) 2020-07-16 01:43:22 +02:00
9d27d7c8b1 ansible_runner test - Add constraints (#70667)
A recent updated to psutil, which is a dependency of ansible-runner, fails
to install on older versions of pip.

Commit with the breaking change:

  135628639b
2020-07-15 18:22:44 -04:00
8455bc6838 Some more coverage for csvfile (#70661)
* Some more coverage for csvfile

Change:
- Add a few tests

Test Plan:
- CI, new tests

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-07-15 14:44:52 -05:00
02c63ec285 update roadmap rc1 date (#70662) 2020-07-15 11:47:36 -07:00
112aa574f5 dont recommend copy content in template (#70658)
* remove content ref in template

  fixes #63484
2020-07-15 13:16:56 -05:00
57b548598c add alpine apk package manager to package_facts [wip] (#70587)
* add alpine apk package manager to package_facts
2020-07-15 12:40:25 -04:00
e1a33a6a84 inventory_hostnames lookup plugin -> 100% coverage (#70628)
Change:
- Add tests to get inventory_hostnames up to 100% coverage.

Test Plan:
- CI

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-07-15 11:31:48 -05:00
01e30993fd Get subelements lookup plugin coverage to 100% (#70634)
Change:
- Add a bunch of tests to bump coverage to 100%

Test Plan:
- CI, new tests

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-07-15 11:00:57 -05:00
db354c0300 Docs: User guide overhaul, part 5 (#70307) 2020-07-14 17:00:44 -04:00
f1f782fc37 partial update of community docs to reflect collections transition (#70488) 2020-07-14 15:47:18 -04:00
692e5de05e bot: remove from team (#70637) 2020-07-14 12:06:54 -05:00
fe86a93482 Add a new date_time fact to provide DST timezone
PR #70449
2020-07-14 18:22:51 +02:00
e22e103cdf winrm - Added kinit_args to control the args for kinit calls (#70624) 2020-07-14 12:05:11 -04:00
a77dbf0866 Allow single vault encrypted values to be used directly as module parameters. Fixes #68275 (#70607) 2020-07-14 11:56:26 -04:00
375c6b4ae4 docs: update date format in removed_at_date (#70597)
removed_at_date requires YYYY-MM-DD format.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-07-14 11:43:25 -04:00
0690b68bd3 Support datetime.date object in module result (#70595)
* Support datetime.date object in module result

Fixes #70583

* change blank lines for pep8 sanity test
2020-07-14 11:42:40 -04:00
40591d5fbb Document tags are not supported with task meta. (#70590)
fixes #70338
2020-07-14 11:38:15 -04:00
8d160b1881 Remove remaining examples of 1.1.1.1 (#70552)
* Remove remaining examples of 1.1.1.1

* Update ec2_group.py
2020-07-14 11:19:59 -04:00
1e02a201a6 Fix ansible-test virtualenv management. 2020-07-14 01:26:06 -07:00
09f02980a4 Update ansible-test change detection for plugins. 2020-07-13 18:28:59 -07:00
d372ce2c5d Get m_u.facts.utils coverage up to 100% (#70614)
* Get m_u.facts.utils coverage up to 100%

Change:
- Add tests to 'gathering_facts' integration target to get
  module_utils.facts.utils coverage up to 100%.
- This also clears incidental coverage from incidental_selinux.

Test Plan:
- CI

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-07-13 16:52:56 -07:00
918388b85f Fix building Ansible dist w/ setuptools>=48,<49.1 (#70525)
* Fix building Ansible dist w/ setuptools>=48,<49.1

This change addresses the deprecation of the use of stdlib
`distutils`. It's a short-term hotfix for the problem and we'll
need to consider dropping the use of `distutils` from our `setup.py`.

Refs:
* https://github.com/ansible/ansible/issues/70456
* https://github.com/pypa/setuptools/issues/2230
* https://github.com/pypa/setuptools/commit/bd110264

Co-Authored-By: Jason R. Coombs <jaraco@jaraco.com>

* Add a change note for PR #70525

Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>
2020-07-13 17:16:26 -04:00
20209c508f docs: update module development docs (#70594)
Update module development docs for flattened modules directory.

Fixes: #70261 (at least partially)

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-07-13 14:41:59 -05:00
38ccfb4a3e updated requirements file for docs build (#70609) 2020-07-13 15:35:08 -04:00
c410311f55 Clarify that index_var is 0 indexed (#70548)
A little further down the page is another index, ansible_loop.index, which shares a similar description but is 1 indexed.
Its zero indexed twin has a 0 suffix.

``ansible_loop.index``      The current iteration of the loop. (1 indexed)
``ansible_loop.index0``     The current iteration of the loop. (0 indexed)

To remove ambiguity around the usage of index_var, explicitly mention that this variable is 0 indexed.
2020-07-13 14:15:44 -05:00
f4ea43c4a0 Update windows_winrm.rst (#70306)
gcc also needed to be installed alongside python-devel, krb5-devel, krb5-libs, and krb5-workstation.
2020-07-13 13:43:39 -05:00
d16018fe72 Add intentional coverage for an async_wrapper case (#70593)
Change:
- Test async_wrapper when the module it runs has stderr output

Test Plan:
- CI
- Looked at coverage report and saw green for a few lines that weren't
  previously green.

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-07-13 11:58:14 -05:00
e5649ca3e8 pipe: update docs for Popen with shell=True usage (#70596)
pipe lookup plugin uses Popen with shell=True intentionally.
This is considered a security issue if user input is not validated.
Updated docs to reflect this information for the user. Also, added
Bandit B602 documentation link for further reading.

Fixes: #70159

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-07-13 21:40:52 +05:30
adcdee9bb0 remove 'alternatives' from COMMAND_WARNINGS config (#70577)
Change:
- This line causes the deprecation to make no grammatical sense. Nuking
  it.

Test Plan:
- My eyes

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-07-10 21:46:54 -05:00
d5480572c8 varnames: add tests, fix exception grammar (#70573)
Change:
- Add integration tests for various cases
- Fix wrong use of "its" in an exception thrown in varnames when it
  throws an AnsibleError, given a term of the wrong type.

Test Plan:
- new tests, CI

Tickets:
- Fixes #70546

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-07-10 21:04:02 -05:00
df45dcdae0 Add integration tests for test plugins. (#70576) 2020-07-10 18:48:51 -07:00
cf89ca8a03 Make filter type errors 'loop friendly' (#70417)
- ensure we preserve the typeerror part of the exception so loop defereed error handling
 can postpone those caused by undefined variables until the when check is done.
 - fix tests to comply with the 'new normal'

 - human_to_bytes and others can issue TypeError not only on 'non string'
 but also bad string that is not convertable.

Co-authored-by: Sloane Hertel <shertel@redhat.com>

Co-authored-by: Sloane Hertel <shertel@redhat.com>
2020-07-10 18:49:57 -04:00
24dcaf8974 plugin loader: return collection name; ansible-doc: handle ansible.builtin correctly (#70026)
* Determine collection in plugin loader.

* Fix test.

* Use PluginPathContext objects in PluginLoader._plugin_path_cache instead of tuples.
2020-07-11 00:24:08 +02:00
1b4fd23ba6 csvfile: use parse_kv() for args, add tests (#70550)
Change:
- Use parse_kv() for parsing in the csvfile lookup plugin. This allows
  us to handle multi-word search keys and filenames. Previously, the
  plugin split on space and so none of these things worked as expected.
- Add integration tests for csvfile, testing a plethora of weird cases.

Test Plan:
- New integration tests, CI

Tickets:
- Fixes #70545

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-07-10 16:21:03 -05:00
f4c89eab23 ansible-doc: include collection name in text output (#70401)
* ansible-doc: include collection name in text output

* Be more careful to not accidentally pass ansible.builtin for user-supplied modules.
2020-07-10 22:52:47 +02:00
edcd1a1a70 Doc: fix examples of changelog entries. (#70551) 2020-07-10 16:17:03 -04:00
8789d7968d try to capture better winrm/put_file error (#70508)
* try to capture better winrm/put_file error

fixes #70361

* Update lib/ansible/plugins/connection/winrm.py

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
Co-authored-by: Matt Davis <nitzmahone@users.noreply.github.com>
2020-07-10 15:37:52 -04:00
b285f4c675 Updated infini* redirects to transition to infinidat collection (#70565) 2020-07-10 20:04:21 +01:00
1ec32dd2ec Revert "Disable Hetzner Cloud tests (#70558)" (#70563)
This reverts commit bd100a8649.
2020-07-10 14:53:37 -04:00
bd100a8649 Disable Hetzner Cloud tests (#70558)
They are failing and Hetzner is working on a fix
2020-07-10 13:30:31 -04:00
9c40b1b2ff Replace filename with file in apt_key (#70492)
* Replace filename with file from apt_key check

  one is internal variable, the other is actual parameter used and required for parameter check.
2020-07-10 12:42:49 -04:00
9fbd65958d hostname: hostnamectl check -> SystemdStrategy (#70532)
Change:
- Move hostnamectl check out of GenericStrategy because it was incorrect
  for everything except the SystemdStrategy which is where it belongs.
- Add some initial tests for the hostname module, though we are limited
  by the fact that we can't do much testing with it in containers.

Test Plan:
- new hostname integration tests

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

Co-authored-by: Sam Doran <sdoran@redhat.com>
2020-07-09 20:04:23 -05:00
b149a89e07 Migrating MySQL to community.mysql (#70523)
* Migrating MySQL to community.mysql

* Removed aliases to fix yaml linting

Co-authored-by: Ben Mildren <bmildren@digitalocean.com>
2020-07-09 15:48:43 -04:00
bbd8f15a58 Correct name of fileglob lookup integration test. 2020-07-09 12:28:06 -07:00
71c378e139 Fix decrypt argument in assemble module (#70465)
* Do not pass decrypt parameter to assemble module

* Add integration tests where decrypt=True

* Add changelog #70465
2020-07-09 15:24:12 -04:00
28fda23284 command warnings: don't send the param from action (#70531)
Change:
- Followup to #70504. We need to not pass the 'warn' parameter from the
  action plugin either, unless it's True. Otherwise, even though it
  defaults to false, we always show the deprecation.

Test Plan:
- Local

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-07-09 14:13:10 -04:00
f7db428375 update documentation link to python 3 (#70509)
update the docs link for strftime on the filters page to point to the python3 docs
2020-07-09 11:58:39 -05:00
64c2cb273f Document that subversion module requires subversion (#70537) 2020-07-09 11:56:44 -05:00
c4fd5bee00 Speedup modify module (#70475)
* speed up modify_module

* Remove debugging

* ci_complete

* Simplify generic_visit, alias to visit, eliminate some attr lookups

* ci_complete

* Add changelog fragment
2020-07-09 10:22:26 -05:00
b0d9deeae3 Fix ansible-test error in community.aws (#70507)
* Fix ansible-test error in community.aws

* Add changelog entry for fix

* Change check from None to string_types

* Update changelogs/fragments/70507-validate-null-author.yaml

clarify wording "or a list of strings"

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/schema.py

clarify wording - single string or not specified valid

Co-authored-by: Felix Fontein <felix@fontein.de>

* Do not fail but return None when given outside list

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-07-08 15:17:12 -05:00
8aca464b8b Make sure ansible_become treated as a boolean (#70484)
* Make sure ansible_become treated as a boolean
2020-07-08 14:53:38 -04:00
7525503512 fix netbox inventory plugin name to redirect (#70458)
Co-authored-by: akira <akira6592@example.com>
2020-07-08 11:15:46 +05:30
e1ba7dc52a Update AWS Integration test docmentation (#70454) 2020-07-08 08:01:37 +05:30
f3ef4ed076 Remove some constants.py deprecated items (#70466)
Change:
- Remove mk_boolean
- Remove BECOME_METHODS
- Remove get_config

Test Plan:
- CI, removed mk_boolean unit tests

Tickets:
- Fixes #69678

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-07-07 18:41:19 -05:00
41414ed475 Deprecate command warnings feature (#70504)
Change:
- The command warnings feature which suggests that users use modules
  instead of certain commands is now deprecated. Its `warn` paramater
  and `COMMAND_WARNINGS` configuration options are also deprecated.
  Their use will become an error in version 2.13.

Test Plan:
- CI

Signed-off-by: Rick Elrod <rick@elrod.me>
Co-authored-by: Sam Doran <sdoran@redhat.com>
2020-07-07 18:40:38 -05:00
707458cc8c Make netbsd virtualization facts more specific (#70467)
Change:
Our handling of NetBSD virtualization facts led to facts that were just
plain incorrect. One example is reporting Xen even when the system is
running on something completely different (like KVM).

As stated by the reporter of #69352, NetBSD has a better sysctl setting
to use for this information, machdep.hypervisor.

This PR does the following:

- Try to use machdep.hypervisor sysctl value if the other sysctl values
  we check don't end up with enough information to be useful
- Only look for /dev/xencons and assume Xen if nothing else works
  (Really this should probably return 'unknown' since the file exists on
  non-Xen systems and is not very useful).
- Add a few more patterns (Xen matches and also Hyper-V) to
  VirtualSysctlDetectionMixin#detect_virt_product.

This change is slightly breaking:
- If the first two attempts at using sysctl worked before,
  (machdep.dmi.system-product and machdep.dmi.system-vendor), they will
  continue to work.
- For cases when those values didn't work, previously the existence of
  /dev/xencons was checked, and if found, we reported 'xen' (even on
  non-Xen systems when the file existed). After this PR, we try the
  machdep.hypervisor sysctl key before still falling back to
  /dev/xencons. This means that in some cases, we might go from
  (wrongly) saying "xen" to giving a more accurate value such as "kvm"
  or "Hyper-V".

Test Plan:
- Tested with local NetBSD VM and got 'kvm' instead of 'xen' back.

Tickets:
- Fixes #69352

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-07-07 17:28:13 -05:00
fb7740ae3b Update hacking/shippable docs.
The `--all` option downloads more than is needed for analyzing code coverage.
2020-07-07 10:22:45 -07:00
688cd8657b Fix string/bytestring comparsion in m_u.basic (#70439)
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>
2020-07-07 11:48:05 -04:00
f5037314e3 sanity: remove ansible-bad-function (#70431)
* Updated docs and ignore.txt
* Replaced with correct function calls

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-07-07 11:46:28 -04:00
535fde3c0f DigitalOcean content has been moved to community.digitalocean. (#70483) 2020-07-07 13:42:09 +01:00
5b03267a1f Add ansible-doc tests for documentation containing YAML anchors (#70436)
Co-authored-by: Tadej Borovšak <tadej.borovsak@xlab.si>
2020-07-07 08:33:55 -04:00
1a542e9824 migrating ProxySQL to community.proxysql (#70490)
* migrating ProxySQL to community.proxysql

* Removed remaining ProxySQL ref to community.general

Co-authored-by: Ben Mildren <bmildren@digitalocean.com>
2020-07-07 12:32:12 +01:00
bd1378405b Small documentation fixes (#70480)
* Add type for options in the sample module shown in Developing Modules, as this is required to have the tests being
green
* Remove duplicated strings: the same sentence is in "Python tips" and "Module security", keeping the
latter.
2020-07-06 12:53:10 -05:00
9164b96774 ansible-doc man formatter: fail with better error message when description isn't there (#70046)
* ansible-doc man formatter: do not crash when description isn't there.
* Change to report a better error message when description is not there.
* Add test.
2020-07-06 13:29:03 -04:00
7d7f15fc9b apt - make errors more transparent (#70099)
Include error from apt Python library in module error output

Co-authored-by: Andreas Schleifer <aschleifer@bigpoint.net>
2020-07-06 12:20:09 -04:00
73139df36c botmeta: exoscale migrated to ngine_io.exoscale (#70095)
* botmeta: exoscale migrated to ngine_io.exoscale

* botmeta: exoscale: add missing migrations

* Update lib/ansible/config/ansible_builtin_runtime.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-07-03 10:15:41 +01:00
1787a3dbf5 botmeta: vultr migrated to ngine_io.vultr (#68916) 2020-07-03 09:49:35 +01:00
8cb1272ca4 botmeta: cloudstack migrated to ngine_io.cloudstack (#68917)
* botmeta: cloudstack migrated to ngine_io.cloudstack

* also update file references

* cloudstack: botmeta: added missing migrated_to
2020-07-03 09:47:22 +01:00
8d97c8c222 Fix the internal Python API usage examples
Previous version initialized the `TaskQueueManager` after calling
`Play.load()` while advertising a way to inject a custom library
location path. This caused the tasks loader not to find any custom
modules because it was triggered before the path was actually added
to the module loader.

This patch changes the order of the operations to ensure that the
customized `context.CLIARGS` actually influences things.

Resolves https://github.com/ansible/ansible/issues/69758.
2020-07-03 10:44:54 +02:00
0198ceebe4 botmeta: cloudscale: add missing migrations (#70447) 2020-07-03 10:15:33 +05:30
82e5d03bdb Suggest ansible ad-hoc command while developing module (#70308)
If a local module has no documentation, the doc command will fail without any hints of what is wrong. Add another way to confirm the presence of a local module.
* Update docs/docsite/rst/dev_guide/developing_locally.rst

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-07-02 17:23:37 -05:00
4f0ec5a9a0 Suppress warning for user directory in ansible-inventory (#65344)
When user uses home directory in --playbook-dir option
of ansible-inventory command, it warns user about this.
This PR suppress the warning message for user's home directory usage
in ansible-inventory command.

Fixes: #65262

Signed-off-by: Satyajit Bulage <sbulage@redhat.com>
2020-07-02 16:22:21 -04:00
b4184aa50e ssh connection - use get_option() rather than _play_context (#70438)
The ssh_args were sometimes not correctly applied to the connection
when using _play_context. Use get_option() instead to ensure the
correct ssh_args are always applied.
2020-07-02 15:04:58 -04:00
47c809aca1 label PRs to ansible_builtin_runtime.yml (#70442) 2020-07-02 19:42:33 +01:00
4e41e37aa7 Fix flatten null perserve versionadded (#70435) 2020-07-02 13:28:39 -05:00
1be78dbfc5 Updated bundled libraries (#70418)
Change:
- Update bundled six to 1.13 (last with py2.6 support)
- Make it pass lint
- Fix check to allow skipping over compat __init__.py files we authored
- Fix check to allow files that can't be updated for some reason

Test Plan:
- ansible-test sanity --docker
- CI

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-07-02 12:39:00 -05:00
c600f8df58 All cloudscale.ch modules are moved to a collection (#70358) 2020-07-02 17:44:28 +01:00
aa59c23aed update platform table with links to collections (#70373) 2020-07-02 10:20:11 -05:00
9eb904ea61 Add documentation for ipaddr filters (#70343) 2020-07-02 11:17:46 -04:00
7c90a2d2a6 Update playbooks.rst (#70317) 2020-07-02 11:11:09 -04:00
46ad3c1162 Update pull.py (#70393) 2020-07-02 10:59:01 -04:00
36d7ba1408 Fixed TypeError instancemethod expecting at least 2 arguments (#69463)
* Fixed TypeError instancemethod expecting at least 2 arguments

* added changlelog for 69463
2020-07-02 00:01:31 -04:00
7a15a3a109 fix flatten handling of nulls/nones (#70141)
* fix flatten loop control issue (break -> continue)

fix issue #69012

(cherry picked from commit 2127be5ec5)

* fixed null break bug and added option to include

 fixes #69012
 fixes #69013

Co-authored-by: pseudocoder <borisovano@users.noreply.github.com>
Co-authored-by: David Shrewsbury <Shrews@users.noreply.github.com>
2020-07-01 18:52:03 -04:00
626df08d9d Fix a small typo in cache plugin description @ config/base.yml
PR #70420
2020-07-01 23:24:59 +02:00
ce570691e7 Test against galaxy_ng (#70303)
* Test against galaxy_ng

* Switch container image

* Remove redundant |default

* Re-enable

* Update image

* Update wording

* Don't use pulp as the container name
2020-07-01 16:20:03 -04:00
5d3d097de3 more correct info about role main.yml (#70326)
fixes #40496
2020-07-01 16:16:21 -04:00
c89f3cda9e incorporate minimalism feedback on filters page (#70366)
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2020-07-01 16:15:32 -04:00
5709173c32 with_sequence: example using vars (#69369)
Added an example for using vars in with_sequence.

Fixes: #68836

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-07-01 16:12:48 -04:00
1f1d6e5aec Use the first galaxy server supporting v1 for roles (#70375)
* Use the first galaxy server supporting v1 for roles. Fixes #65440

* Add changelog fragment

* This is best effort, fall back to original behavior if something bad happens
2020-07-01 14:58:35 -05:00
91aea92c62 Add ability to fallback to chgrp remote_tmp and its files. (#68627)
* Add ability to fallback to chgrp remote_tmp and its files.

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-07-01 15:16:56 -04:00
b9e38e8b55 misc collection metadata fixes (#70403)
* misc collection metadata fixes

* parse collection meta with libyaml if available
* require only Mapping for validation
* add explanatory text for _meta_yml_to_dict

* ignore custom pylint rule

* this code shouldn't import a bunch of stuff from ansible, since it's run under the import sanity test
2020-07-01 14:09:21 -04:00
f7078c1f8f Throw a prettier error in m_u.basic syslog (#70312)
Change:
- In certain situations, such as when the input string contains null
  bytes (\0), syslog.syslog will throw a TypeError. Handle that and
  fail_json instead.

Test Plan:
- New test
- ansible-test --docker centos[68] (for py2 and py3 respectively)

Tickets:
- Refs #70269

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-07-01 09:28:48 -05:00
a1ac595d42 Minor grammatical fix (#70405)
'you' -> 'your'
2020-07-01 10:47:08 +05:30
40ce448657 ansible-test - do not validate blacklisted ps modules (#70376)
* ansible-test - do not validate blacklisted ps modules

* Update changelogs/fragments/validate-modules-ps-doc-blacklist.yaml

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

Co-authored-by: Matt Clay <matt@mystile.com>
2020-07-01 07:59:53 +10:00
a8ae8f4d72 setup: Handle CIFS share with backward slash (#70006)
CIFS can be mounted using backward slash as well in /etc/fstab like

\\Windows\share /data/ cifs credentials=/root/.creds 0 0

Handle this condition while gather mount information in Linux.

Fixes: #48813

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-06-30 16:09:35 -04:00
8324db7cb5 Add new option for YUM4/DNF repositories (#70042)
Documentation reference:
  https://dnf.readthedocs.io/en/stable/conf_ref.html

Co-authored-by: Estelle Poulin <dev@inspiredby.es>
2020-06-30 15:48:36 -04:00
eeb153287b Fix some missing migrates from network.common to mellanox.onyx (#70394)
Signed-off-by: Samer Deeb <samerd@mellanox.com>
2020-06-30 20:47:31 +01:00
5e4f708241 ansible-doc: avoid problems with YAML anchors when formatting man page (#70045)
* Avoid problems with YAML anchors when formatting man page.

* Add changelog.
2020-06-30 15:33:44 -04:00
74bedab8a9 known_hosts: update documentation (#70342)
* Update documentation as per sanity tests
* Added example about custom SSH port in example section

Fixes: #29236

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-06-30 12:03:31 -04:00
3c64ac2264 Clean up symlink cache during 'make clean' (#70350)
Make building across versions, renamed modules can result in no such
file errors by the install.
2020-06-30 11:44:10 -04:00
24915b2ccf Fix ansible_builtin_runtime.yml w.r.t. c.g and c.n (#70322)
* Fix module_utils for community.general.
* Fix module_utils for community.network.
* Add forgotten entry for community.general.
2020-06-30 11:22:23 -04:00
4997063b4a apt - add fail_on_autoremove option to avoid unintended package removals (#70056)
* Ensure not to remove existing packages while installing apt packages.
* Make all lines shorter than 160 characters
* Allow removing packages only when upgrading.
* Add integration tests
2020-06-30 09:53:14 -04:00
b05e00e99a Fix delegate_facts with interpreter not being set (#70293)
Fixes #70168

ci_complete

Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
Co-authored-by: Matt Clay <matt@mystile.com>
2020-06-30 15:49:09 +02:00
30e70f4b63 Handle post_validate templating errors and fix tests (#70240)
* Handle unexpected templating errors

* Fixes #70050

Fix up tests that weren't running and add tests for graceful templating error handling
2020-06-30 09:31:58 -04:00
cc2cee6980 Fix -vvvvv unicode error in executor.module_common (#70368)
Change:
- Fix a UnicodeDecodeError in executor.module_common that could get
  triggered with -vvvvv.

Test Plan:
- `ansible-test integration --docker centos7 module_utils -vvvvv`
  This would show the error previously, and no loner does after this
  patch.

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-06-29 18:02:03 -05:00
70bb2b33ca Improve error message when ssh client is not found on the host (#70122)
* Add changlelog
2020-06-29 17:26:19 -04:00
e396715d7b git - add single_branch option (#28465)
In some usecases, we want to be able to clone a single branch
of a repository, without using --depth (which implies --single-branch).

* Use branch name when available
  -  update description of parameter
  - consolidate branch or tag checking for easy reuse

* Add changelog
* Use static task imports rather than dynamic includes
* Add integration tests for single_branch
* Account for older versions of git
* Minor tweak to warnings

Co-authored-by: Laurent Coustet <laurent.coustet@clarisys.fr>
Co-authored-by: Sam Doran <sdoran@redhat.com>
2020-06-29 15:40:54 -04:00
5a28b2b86c Add steps for how to create changelog.rst for a collection (#70262)
* Update docs/docsite/rst/dev_guide/developing_collections.rst
* add steps to create changelogs, add sentence about not using the tool
* add note for rerunning the command

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-06-29 14:22:31 -05:00
2d59e548f6 Improve ansible-galaxy STDOUT messages for collections (#70040)
- Fix issue #70010
- Add installation successful message
- This feature targets "collection" sub-command and does not affect "role" sub-command

Signed-off-by: Hideki Saito <saito@fgrep.org>
2020-06-29 15:18:30 -04:00
e4f48c920c Docs: mention about Ansible workshops (#70353)
Lightbulb is deprecated in favor of https://ansible.github.io/workshops/
Update links accordingly.
Fixes: #70296

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-06-29 14:06:04 -05:00
dc6f4b6502 Fix bullet points in intro_getting_started.rst. (#70365)
The layout was jumbled due to issues with whitespace.
2020-06-29 14:05:05 -05:00
689cfd1983 Top-level deprecation of plugin did not get collection_name added when deprecating by version (#70344)
* Top-level deprecation of plugin did not get collection_name added when deprecating by version.

* Add changelog fragment.
2020-06-29 11:58:54 -07:00
83f6e4850b document FQCN for M() and :seealso: in DOCUMENTATION blocks (#70245)
* document FQCN for M() in DOCUMENTATION blocks

* add note about c
2020-06-29 11:16:59 -05:00
e39a9bf583 Add support for Parrot Linux, a Debian derivate (#69158)
Co-authored-by: black <invalid>
2020-06-29 20:22:44 +05:30
c3fc2d27d9 pause - fix curses.setupterm() error (#47851)
* [Bugfix] curses.setupterm() error

When run playbook in celery task, curses.setupterm()  will be failed

```
  File "<frozen importlib._bootstrap>", line 675, in _load
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
  File "/Users/guang/.virtualenvs/ansible/lib/python3.6/site-packages/ansible/plugins/action/pause.py", line 45, in <module>
    curses.setupterm()
TypeError: argument must be an int, or have a fileno() method.

```

* Add changelog

Co-authored-by: Sam Doran <sdoran@redhat.com>
2020-06-29 10:37:40 -04:00
b491f776b9 doc: avoid mix of single and double quotes (#70115)
Avoid mix of single and double quotes in the `ternary`, this way
we can copy/past the example without any surprise.
2020-06-29 09:16:20 -05:00
ca90c138f4 Reap still running threads after timeout
This is an improvement to #49921 which reaps threads after the timeout
expires instead of letting them continue to take up resources.
2020-06-27 08:30:48 -07:00
d6fb42d1c5 Add integration tests for basic.py _set_cwd.
These tests verify that AnsibleModule can be instantiated when cwd does not exist or is unreadable.
2020-06-26 16:40:52 -07:00
3479803520 Changed from dellemc_networking to dellemc (#70299) 2020-06-26 08:48:08 +01:00
7fdd8fcfcb pip tests, use py2 compat sampleproject fork (#70313)
Change:
- sampleproject has gone py3 only. Use a py2 compatible fork.

Test Plan:
- CI

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-06-25 22:38:17 -05:00
5833af9e2a Add description of collections and become_exe keywords (#68055)
* Add description of collections keyword
* Update based on feedback.
- Add link to become plugins.
- Add note about how the collections keyword works with roles.
2020-06-25 18:49:57 -05:00
0cd07eb3fd hash filter - fail when unsupported type is passed as an argument (#70292)
Fixes #70258
2020-06-25 14:55:21 -05:00
b019029bf3 Add intentional unit tests for basic._set_cwd and common.dict_merge (#70283)
* Add unit tests for basic._set_cwd

* incidental coverage for dict_merge

* add test for async stderr inclusion
2020-06-25 14:45:13 -05:00
29169ae847 stat: Handle colon in filename (#70259)
Handle colon appearing in filename while parsing the mimetype and charset
using file command.

Fixes: #70256

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-06-25 14:21:50 -05:00
3c9be97e16 fix runtime.yml splunk.enterprise_security -> splunk.es (#70305)
Signed-off-by: Adam Miller <admiller@redhat.com>
2020-06-25 18:34:11 +01:00
45e0f74702 display: use stdout for column width (#70199)
stdout may differ from stdin so it should be used to determine the column
width, especially since it is the target file descriptor.
2020-06-25 12:57:24 +05:30
3fe48ecba2 Add collection path in CLI version info (#68633)
This will provide user default path of collection

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-06-25 01:58:56 -04:00
74494a1908 Code cleanup for ansible-test coverage support. 2020-06-24 17:39:35 -07:00
8d92df4537 Test netconf plugins in ansible-doc sanity test. 2020-06-24 15:53:32 -07:00
a3c1ea886f Revert commits related to delegated facts changes (#70272)
* Revert "Fix storing delegate_to facts (#70231)"

This reverts commit 88bb76f248.

* Revert "Fix storing local task_vars facts for the retry (#70171)"

This reverts commit eaf6086eea.
2020-06-24 15:36:51 -04:00
2531d54880 Throw AnsibleError instead of OSError, py3.9 crypt (#70246)
Change:
- On Python 3.9, `crypt.crypt` will throw instead of returning `None`
  when the algorithm isn't supported. So we catch that and handle it
  the same way we handled the algorithm not being supported on 3.8: by
  throwing AnsibleError.

Test Plan:
- CI for <=3.8.
- Local for 3.9b3:
  ansible -m debug -a "msg=\"{{ 'changeme' | password_hash('bcrypt') }}\"" localhost

  Before:
  localhost | FAILED! => {
      "msg": "Unexpected failure during module execution.",
      "stdout": ""
  }

  After:
  localhost | FAILED! => {
      "msg": "crypt.crypt does not support 'bcrypt' algorithm"
  }

Tickets:
- Fixes #69930

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-06-24 13:50:28 -05:00
ebd20ddca6 Include changelogs/changelog.yaml in distribution. (#70260) 2020-06-24 11:38:20 -05:00
262f93e22c Code cleanup in the import sanity test. 2020-06-23 23:09:00 -07:00
dd07bdf22d Fix galaxy role info bug to support multiple roles (#70148)
* Add changelog fragment
* Update changelog
2020-06-23 16:57:25 -04:00
4885ebad27 default_callback: Move 'check_mode_markers' in doc_fragments (#70228)
Callback plugin dense, yaml, and debug implement 'check_mode_markers'
so moving documentation to default callback doc_fragments.

Fixes: https://github.com/ansible-collections/community.general/issues/565

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-06-23 16:26:09 -04:00
70c59423fc Pin ansible-test requirements for RHEL.
The `packaging` and `pyparsing` packages are now installed by `ansible-test` during provisioning of RHEL instances to match the downstream vendored versions.
2020-06-23 11:52:25 -07:00
0073ab5fa6 Nuke strategy.SharedPluginLoaderObj, depr. 2.11 (#70235)
* Nuke strategy.SharedPluginLoaderObj, depr. 2.11

Change:
- Nuke SharedPluginLoaderObj class
- Update tests (which seemingly didn't use it anyway)
- Changelog

Test Plan:
CI, grep

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

* Nuke from ignore.txt

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-06-23 13:09:26 -04:00
7ef6b174e8 Migrate onyx modules from community.network to mellanox.onyx (#70213)
Signed-off-by: Samer Deeb <samerd@mellanox.com>
2020-06-23 17:21:56 +01:00
7584e145a9 Nuke _get_item() from callback, deprecated 2.11 (#70233)
Change:
- Remove _get_item() alias as it has been deprecated
- Update tests
- Remove relevant sanity curtailment
- Add changelog

Test Plan:
CI, grep

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-06-23 12:03:27 -04:00
88bb76f248 Fix storing delegate_to facts (#70231)
* Fix storing delegate_to facts
2020-06-23 12:02:16 -04:00
c9edb35652 Nuke systemd module user option, 2.11 deprecation (#70211)
Change:
Remove all references to the 'user' param in systemd module.

Test Plan:
CI and grep.

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-06-23 11:55:01 -04:00
9cfc76a221 Nuke with_ squashing, deprecated for 2.11 (#70209)
Change:
Removes with_* loop squashing and tests for 2.11

Test Plan:
CI, and grepped for with_items in package manager integration targets.
There might be some test cases in collections which need to stop testing
this behavior.

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-06-23 11:53:25 -04:00
40a42de081 async_status: Update documentation (#70196)
Fixes: #38164

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-06-23 11:45:54 -04:00
4b358c6641 Update config.yml (#70154)
typos & branding
* Update .github/ISSUE_TEMPLATE/config.yml

Co-authored-by: Rick Elrod <rick@elrod.me>
2020-06-23 11:17:33 -04:00
fa48678a08 Rename pylint plugin and add tests. (#70225)
* Renamed custom pylint plugin for unwanted names.
* Add integration tests for sanity test failures.
2020-06-22 20:25:35 -07:00
4816bb4f43 More boilerplate fixes. (#70224)
* Fix boilerplate in hacking dir.
* Fix boilerplate in docs dir.
* Fix boilerplate in integration tests.
* Fix boilerplate in examples.
2020-06-22 19:05:30 -07:00
234994fc07 Fix boilerplate in setup.py and lib/ansible/ dir. 2020-06-22 16:29:16 -07:00
1fedb95e4b Use libc wcwidth to calculate print width in display (#66214)
* Use libc wcwidth to calculate print width in display. Fixes #63105

* Remove errantly added blank lines

* Fixes

* Move setlocale, adjust tests to work around py2 oddity with characters following null

* Don't change cli stub

* emojis

* Remove to_text call

* Special accounting for deletions

* Add initialization function, expand tests, ensure fallback to len

* get_text_width requires text, ensure banner deals with it

* Handle setlocale errors

* Move variable decrement

* Remove unused import
2020-06-22 16:57:01 -05:00
26e8c07f32 Remove incidental_lookup_rabbitmq test.
It is no longer contributing unique code coverage.
2020-06-22 14:33:03 -07:00
98a0995fd0 Clean up unit test boilerplate. 2020-06-22 14:20:33 -07:00
4a0f42923b adds japanese translation as a version-switcher option (#70214)
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2020-06-22 16:25:44 -04:00
eaf6086eea Fix storing local task_vars facts for the retry (#70171)
* Fix storing local task_vars facts for the retry

Fixes #70168
2020-06-22 10:07:47 -04:00
b2d6db7916 Rebalance CI groups to avoid macOS timeouts (#70126) 2020-06-19 16:40:51 -04:00
5885ed4455 remove gendered example (#70117)
Changed example to not assume things about names and genders
2020-06-19 14:35:03 -05:00
da868d9d60 docs: Add note about ansible-doc (#70162)
ansible-doc can only parse Python modules, added a note about
this is developer guide; Fixes: #69109
2020-06-19 14:28:02 -05:00
0ef75f65d9 Fix broken link in AWS Guide (#70153)
Point to collection rather than ansible/ansible for example.
2020-06-19 14:18:55 -05:00
647c6cd289 updates to ansible-maintained collections guidelines (#70178) 2020-06-19 14:04:19 -05:00
86606d3ca7 Disable ansible-galaxy-collection test (#70177)
It it currently failing
2020-06-19 14:20:06 -04:00
8ad46870a4 Update note about AWS collection test requirements in docs (#70176) 2020-06-19 13:40:19 -04:00
598c40beb3 Fix up the redirection of the win setup module (#70158) 2020-06-19 09:27:02 -07:00
8b24a4c5ed Fix up the redirection of the win setup module (#70158) 2020-06-19 09:24:35 -07:00
fd882e0e18 Get test data file directly in rebalance script (#70107)
Rather than looking through tests.json to find the data file, look for it explicitly
within a given target to avoid problems processing data in tests.json.
2020-06-19 09:57:50 -04:00
bc05415109 Only pass kwargs to our string checker not callable checkers (#70151)
Since only check_type_str() accepts extra param, only pass to our checker and
do not pass kwargs to custom checkers.

* Add unit tests
2020-06-19 09:52:05 -04:00
87406890cf find: Specify elements type in paths (#70139)
Fixes: #35990

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-06-19 06:56:02 +05:30
bccf6b85f2 Change comprehension to list() in plugin loader. 2020-06-18 12:29:52 -07:00
89afb60999 Fix transport defs in test connection plugins. 2020-06-18 11:50:51 -07:00
c67efe0bd1 Avoid unnecessary comprehensions. 2020-06-18 11:50:31 -07:00
9bbde9d085 Avoid file module false positive in newer pylint. 2020-06-18 11:36:44 -07:00
1a0d8a51cd Fix yamllint sanity test line numbers.
Parse errors from libyaml now compensate for the offset of the documentation within a module.
2020-06-18 10:03:21 -07:00
0ed5b77377 Detect failure in always block after rescue (#70094)
* Detect failure in always block after rescue

Fixes #70000

ci_complete

* Add more tests
2020-06-18 11:03:36 -05:00
33e25504ac redirecting the conjur lookup plugin to correct collection (#70106) 2020-06-18 07:38:15 +01:00
feb163e0de Improve consistency of ansible-test pylint results. (#70132)
* Disable too-many-ancestors pylint check.

This check was only enabled for ansible-test code.

In some cases this check counts 1 more ancestor in python 3.7+ than under python 3.6, making the check inconsistent and unsuitable for use in ansible-test.

* Disable additional pylint checks:

- import-error
- no-name-in-module

These checks were only enabled for ansible-test code.

These checks provide inconsistent results since they are dependent on available imports, which vary between environments.

It may be practical to enable these checks in the future if changes are made to ensure a consistent test environment for pylint.
2020-06-17 17:03:41 -07:00
e3f3b4002e Clean up ansible-test pylint configs. (#70129)
* Sort disabled pylint codes in config.
* Fix comments in pylint config.
* Add comments to pylint config.
* Prepare to sort pylint config.
* Fix pylint config indentation.
* Sort pylint good/bad names in config.
* Add changelog fragment.
2020-06-17 15:06:04 -07:00
fa1fb2d13b Test ansible-galaxy against pulp/pulp_ansible (#69605)
* Test galaxy cli against pulp

* linting fix

* Renames and small fixes

* Better handling for resetting pulp

* Clean up some things, add a comment

* I can't spell

* Bump fallaxy, use alternate pulp image

* Only reset pulp when we're are executing against pulp

* Update for updated pulp container

* Update some comments with correct URLs and typos

* Linting fix

* Pin pulp-fedora31 to a digest

* Address review comments for documentation
2020-06-17 16:06:07 -05:00
cc071cdea6 Bump devel to 2.11.0 (#70121)
Signed-off-by: Rick Elrod <rick@elrod.me>
2020-06-17 14:22:38 -05:00
8152d8bc1a Disabled inconsistent pylint checks. 2020-06-17 10:10:17 -07:00
0133757d44 Add an author exception for OpenStack Ansible SIG
The current author line wants to match a github author id. But
some people, including the OpenStack project, do not use github,
and additionally do not claim individual ownership but instead
group ownership.

Since there are already a couple of hard-coded examples in the
regex, just add one more. Alternately we could come up with some
mechanism to indicate that the author is purposely not listing
a github id, but that seems a bit heavywight.
2020-06-17 08:21:14 -07:00
29c6aae2fc try to load unqualified plugins from whitelist (#70086)
* try to load unqualified plugins from whitelist

* necessary for backcompat loading of unqualified collectionized callback plugins redirected from <= 2.9 core
* also added de-duping from actual loaded name

* add tests

* add warning test

* group test script entries by topic

* shorten warning text grep because wrapping is dumb

* fix adhoc callback loading behavior

* collections pass over whitelist wasn't respecting `_run_additional_callbacks`
* adds regression tests for same

* avoid `grep -L` in tests since it breaks the world
2020-06-16 17:17:38 -07:00
598786e16d Update ansible-test default test containers.
The main change is the upgrade to Python 3.9.0b3.
2020-06-16 16:50:04 -07:00
3dd324b837 disable slow/unstable hetzner incidental tests (#70103)
* disable slow/unstable hetzner incidental tests

* zap disabled tests

* verified no incidental coverage loss
2020-06-16 16:30:56 -07:00
d295b81920 Improve stability of postgresql tests. 2020-06-16 16:29:25 -07:00
fc448ea54f Clarify blockinfile docs for insertafter/insertbefore (#69396)
* Clarify blockinfile docs for insertafter/insertbefore

It's not clear from the docs that these options take effect
only when no marker lines are found in the document.

* Add changelog fragment
2020-06-16 14:48:08 -04:00
7ef0fd1c08 document return values of file module (#69560)
* document return values of file module
* Clarify whether path or dest input is used as dest output in file module

Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2020-06-16 13:45:43 -05:00
ccf90a62c3 Enhance documentation around add_host bypassing the play host loop (#69692)
Signed-off-by: Vincent Bernat <vincent@bernat.ch>
2020-06-16 14:35:03 -04:00
0faec62354 Remove temporary migration hack from CI scripts. 2020-06-16 11:25:39 -07:00
5f30f4e524 Use default network in Google Cloud Platform Guide (#68846)
* Update guide_gce.rst
The given example is not working as a SSH connection is not possible because of #59573. Instead, in this tutorial the default network should be used which allows SSH connections in most cases.

Co-authored-by: Sandra McCann <samccann@redhat.com>
2020-06-16 13:15:11 -05:00
f69b1846f9 Add pyparsing constraint to ansible-test.
The upcoming pyparsing 3 release will require Python 3.5 or later, see:

https://github.com/pypa/packaging/issues/313

Unfortunately pip 8.x and earlier versions do not support python version requirements, which is why this constraint is needed.
2020-06-16 10:38:16 -07:00
c9c8cd34b2 added documentation for R() (#69832)
* Updated docs/docsite/rst/dev_guide/developing_modules_documenting.rst, added documentation for R()
* added link to how to add anchors, anchor, and clarification on when to use each option

Co-authored-by: John R Barker <john@johnrbarker.com>
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2020-06-16 11:50:50 -05:00
923655642b mentions minimum required boto versions (#68124)
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2020-06-16 12:32:44 -04:00
fb9740db4c Specify numeric range can contain a stride (#68952)
Updated the range creation example to show that you can also specify a stride value when creating a hostname by numeric range.
2020-06-16 11:31:00 -05:00
c2eb1eadb2 Removed danowar2k from Wiki and now removing myself from botmeta (#70037) 2020-06-16 11:09:41 -04:00
9c753341e2 Porting guide: transfer entries to collection changelogs (#70064)
* Remove community.crypto parts from porting guide.
* Remove community.general parts from porting guide.
* Removed 'modules removed' section, since this is better suited for a general entry on the collection split.
2020-06-16 10:04:32 -05:00
d1dcd5bcb3 remove new Windows modules not present in 2.9 (#70087) 2020-06-16 18:50:19 +10:00
de63cba7e8 transparent downstream vendoring (#69850)
* builtin downstream vendoring support

* allows downstream packagers to install packages to `ansible/_vendor` that will automatically be added to head of sys.path during `ansible` package load
* tests

* sort conflicting package names in warning text

* sanity fixes

* skip unnecessary comparison
2020-06-15 16:22:25 -07:00
7641d32f8e Fix ansible-test import sanity test issues. (#70084) 2020-06-15 15:09:15 -07:00
d45cb01b84 ansible-galaxy - fix collection installation with trailing slashes (#70016)
If we fail to find a member when extracting a directory, try adding a trailing
slash to the member name. In certain cases, the member in the tarfile will
contain a trailing slash but the file name in FILES.json will never contain
the trailing slash.

If unable to find the member, handle the KeyError and print a nicer error.

Also check if a directory exists before creating it since it may have been
extracted from the archive.

Fixes #70009

* Add unit tests
* Use loop for trying to get members
2020-06-15 17:36:07 -04:00
2609482975 How to contribute to Ansible maintained collections (#69202)
contributor info with HTML table
2020-06-15 15:38:42 -05:00
80410f292b Fix missing allow_date=False. 2020-06-15 11:18:51 -07:00
9c92c96918 Updating 2.10 roadmap with adjusted beta release date (#70077)
Co-authored-by: James Cammarata <jimi@cube.sngx.net>
2020-06-15 19:10:51 +01:00
16796a6170 enable collections module_utils subpkg tests (#69957)
* fixed by collection loader rewrite, just needed to be reenabled
2020-06-15 09:34:25 -07:00
843751a00d yum/dnf: check type of elements in a name (#70072) 2020-06-15 11:01:42 -04:00
8a88b845ce Fix aci_intf_policy_* redirects. (#70051) 2020-06-15 13:05:47 +01:00
0617514176 Boolean error: fix deprecation date sanity check. (#70047) 2020-06-13 09:05:40 -04:00
5b3719805e Update ansible-test test containers. 2020-06-12 09:19:18 -07:00
2fa65eb5e1 validate-modules: allow YAML dates in module documentation and meta/runtime.yml. (#70025) 2020-06-12 15:36:38 +01:00
37785255f2 validate ansible-base's and collections runtime.yml (#69742)
* Validate ansible-base & collection's runtime.yml

Add new test `runtime-metadata`

* Schema validation of file
* Error if a a legacy meta/routing.yml exist in a collection
* removal_date OR removal_version

* Add tombstone validation.

* Allow both ISO 8601 date strings and datetime.date objects (from YAML dates).

* Address review comments.

* Add metadata to test collection.

* Add requirements file.

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Matt Clay <matt@mystile.com>
2020-06-12 15:34:34 +01:00
9f49db1f99 Avoid use of deprecated junit-xml method. 2020-06-12 00:47:07 -07:00
26f318d277 Ignore return code from antsibull_changelog lint. 2020-06-11 19:27:40 -07:00
4c9d9dbb56 fix discovery on loop with delegation (#70013)
* fix discovery on loop with delegation

fixes #69963
2020-06-11 18:04:17 -04:00
8ffaed00f8 Add Azure Pipelines support to ansible-test. 2020-06-11 14:57:42 -07:00
524257a7b0 Document the ability to deprecate by date (#69833)
* Document the ability to deprecate by date
* deprecated_in and deprecated_by_date are mutually exclusive
2020-06-11 15:28:24 -05:00
f5df702b55 Fix Include_vars example (#69966)
* Remove incorrect var in first_found docs
* Fix include_vars example using lookup
2020-06-11 15:24:52 -05:00
8c3eb7ae4a fix configurable pipelining (#69920)
* fix configurable pipelining

Co-authored-by: Sloane Hertel <shertel@redhat.com>
2020-06-11 16:17:58 -04:00
4a4a11d282 Add mccabe complexity testing (#64623)
* Add mccabe complexity testing

* Make mccabe complexity an optional error

* Add mccabe to new sanity pylint requirements

* Add a changelog fragment.

Co-authored-by: Matt Clay <matt@mystile.com>
2020-06-11 13:02:06 -07:00
0ae4dac65a Fix copy module file perms with remote_src (#69993)
When using 'remote_src: yes' and 'mode: preserve', the code handling
the file modes has to be handled on the remote node because it's
the one that has access to the source files. This means that the
copy module itself must handle this, rather than the copy action
plugin (which is where all that logic exists). The copy module
handles this when we copy a single file over. But when it is a
directory as the src parameter value, the mode of the files
beneath it are not considered. Subdirectories are copied with
shutil.copytree() which will preserve permissions automatically.
Individual files are copied with shutil.copyfile() which does NOT
preserve permissions. We need to add some calls to shutil.copymode()
to correct that.

Note: This *always* retains individial file permissions. Specifying
a 'mode' other than 'preserve' when giving a source directory for
the 'src' param does not make sense so will be ignored in that case
only.

Fixes #69783

* Add changelog and test
2020-06-11 15:18:59 -04:00
2251b239a3 Fix changelog sanity test config detection. 2020-06-11 11:57:58 -07:00
1d63b6f4f8 updated requirements file for docs build (#70020) 2020-06-11 14:47:17 -04:00
47d14a33bd config: singular ANSIBLE_COLLECTIONS_PATH (#70007)
* config: singular ANSIBLE_COLLECTIONS_PATH

Every other *_PATH setting in ansible is singular, and the traditional
$PATH variable is also singular despite containing a list of
directories.  Let's be consistent both internally and with POSIX
tradition.

* update all ANSIBLE_COLLECTIONS_PATHS env references to be singular

* deprecate plural ANSIBLE_COLLECTIONS_PATHS setting
2020-06-11 11:40:13 -07:00
a114da80ee Use antsibull-changelog instead of packaged changelog generator (#69313)
Replace the ansible-base changelog linting and generation tool with antsibull-changelog and make it available for linting collections. Previously changelog linting was limited to ansible-base.
2020-06-11 11:21:21 -07:00
851e8e18b2 clarifies that vars can begin with _, with a warning (#69749)
Co-authored-by: Sayee <57951841+sayee-jadhav@users.noreply.github.com>

Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
Co-authored-by: Sayee <57951841+sayee-jadhav@users.noreply.github.com>
2020-06-11 14:16:41 -04:00
8d93ba9120 Plugin/module docs: parse return values, add collection names in them (version_added_collection), and format them nicely in ansible-doc (#69796)
* Tag return value docs if they are a dict (and not str/None).

* Try to parse return docs as YAML.

* Properly dump return values in ansible-doc.

* Adjust plugin formatter.

* Add changelog fragment.

* Don't add 'default' for return values.

* Fix plugin_formatter.

* Only try to parse return docs if they are still a string.

* Add tests.

* Warn if RETURN cannot be parsed.

* Adjust tests. Also test for warning.

* if -> elif (otherwise EXAMPLE will be parsed too).

* Always parse return documentation, and fail if it is invalid YAML.

* Polishing.

* Mostly re-enable ansible-doc tests.

Listing from the local collection seems to be somewhat broken. I assume this
is why the test was disabled.

* Lint and make tests work with Python 2.

* Keep FQCNs in plugins (not modules), i.e. restore previous state.
2020-06-11 11:03:43 -07:00
f509a22f9d add changelog categories, update CVE fragments to use security_fix category (#69968)
* use security_fix category in changelogs for CVEs

* these fragments do not say CVE but are security fixes

Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2020-06-11 10:24:01 -07:00
9d6b0f2b03 Support removed_at_date in ansible-doc (#70002)
* Support removed_at_date in ansible-doc

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

Changes:
  * ansible-doc does not support `removed_at_date` and assumes that
    deprecated dict will either have `removed_in` or `version`. This
    results in ansible-doc (and hence "sanity --test=ansible-doc")
    failing for modules having only `removed_at_date`.

  * This patch adds support for `removed_at_date` and also gives it
    precedence over `removed_in` or `version`.

* Add tests and changelog

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2020-06-11 13:18:18 -04:00
4869874337 ansible-test: vcenter initialize group/vmware (#70011)
Ensure the vcenter provider initialize the `module_defaults` of all
the vmware modules, not just `vmware_guest`.
The VMware CI relies on this for the authentication of the different
VMware modules.

The commit adjust `incidental_vmware_prepare_tests/tasks/init_vcsim.yml`.
The test-suite uses a copy of `vmware_guest` that is not in the
`group/vmware` group. As a result, we need to manually pass the
authentification parameter.
2020-06-11 12:21:44 -04:00
ebb22655e4 implemented 'prefix' for file based cache (#69872)
* implemented 'prefix' for file based cache

Co-authored-by: s-hertel <shertel@redhat.com>
2020-06-11 10:40:25 -04:00
ad37218200 Update my github username (#70005) 2020-06-11 14:29:01 +01:00
6c2be04b6f Intercept code-smell tests using subprocess.
Some code-smell sanity tests for ansible-base use subprocess to invoke ansible commands.
Intercept these commands to make sure the correct script and python version are used.
2020-06-10 16:07:47 -07:00
d30fc6c0b3 galaxy - preserve symlinks on build/install (#69959)
* galaxy - preserve symlinks on build/install

* Handle directory symlinks

* py2 compat change

* Updated changelog fragment
2020-06-11 06:46:42 +10:00
a58fcde3a0 Use common ps sanity requirements file (#69992)
* Use common pssanity requirements file

* Fix up sanity ignore
2020-06-11 06:38:17 +10:00
d7c03e9fdb Update testing collections to mention ansible-base versions (#69805)
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2020-06-10 16:22:01 -04:00
37e7191304 added more ways to config new options in url (#69950)
* added more ways to config new options in url
2020-06-10 15:48:20 -04:00
3815ed67d5 ansible-galaxy - Fix role info when role is not installed (#69924)
* ansible-galaxy - Fix role info when role is not installed

Only report the role not found if in offline mode, otherwise query the galaxy API
to get role information.

Fixes #69867

* Improve error message when role is not found in Ansible Galaxy
2020-06-10 15:36:24 -04:00
32c392e622 Raise Warning when import_playbook receives additional parameters (#64156)
* Extra whitespace around imported playbook filename are stripped.
* Corrected call for display.deprecated
* Changed warning type & added test
* Added auto verification of raised warning
* More accurate warning message
2020-06-10 13:22:40 -04:00
ac20466375 Do not keep empty blocks after tag filtering (#69987)
This prevents PlayIterator having to go through empty blocks
that were created in filter_tagged_tasks. This should
be a performance improvement for playbooks that mostly skip
tasks with tags.

ci_complete
2020-06-10 12:12:11 -05:00
a5679d4dd1 Additional ansible-test sanity adjustments. (#69974)
* Fix ansible-test check_pyyaml usage.
* Avoid unnecessary pip commands.
* Avoid pointless pip check.
* Only install ansible-test requirements as needed.
2020-06-10 09:39:25 -07:00
dc9c1d202b Fix ansible-test pip filter on Fedora 32.
The original version works on CentOS 8 but not Fedora 32.
2020-06-10 09:37:01 -07:00
aff6b1ff21 Address linting errors in default callback (#69989) 2020-06-10 11:30:50 -05:00
026bf4a9a8 do we really need update vars from pc? (#69952)
* don't we really need update vars from pc
2020-06-10 08:39:47 -04:00
805dff4129 fixed missing default (#69972)
* fixed missing default

 also deprecated so new options wont have to go through this
2020-06-10 08:35:36 -04:00
f1ab7cf0c6 Validate-modules: adjust test to fixes in #69977 (#69978) 2020-06-10 18:02:01 +10:00
15f07e7a6c Fix up schema for collection deprecation (#69977)
* Fix up schema for collection deprecation

* Fix up modules using wrong name

* Another fix
2020-06-10 16:33:08 +10:00
a81dd4f06a Update ansible-test default containers. (#69819)
* Move ansible-test completion code.

* Fix a few type hints.

* Change docker completion based on context.

Collections now use version 2.0 of the default-test-container.
This is an updated version of the earlier 1.x default-test-container with ansible-base and cloud specific requirements removed.

Testing of ansible-base now uses version 1.0 of a new ansible-base-test-container.
This container is similar to the earlier 1.x default-test-container, but with unnecessary duplication of requirements across Python versions removed.

Collections which have tests that depend on requirements no longer present in the default test container should specify them in their test requirements files:

* tests/integration/requirements.txt
* tests/unit/requirements.txt

* Bump test container versions

Co-authored-by: Jordan Borean <jborean93@gmail.com>
2020-06-09 15:40:56 -07:00
51f6d129cb support hard coded module_defaults.yml groups for collections (#69919)
* Only allow groups which were hardcoded in module_defaults.yml

only load action groups from the collection if module_defaults contains a potential group for the action

* Fix tests using modules that override those whitelisted in lib/ansible/config/module_defaults.yml

Third party modules should not be using group/ - use the action name instead

* add externalized module_defaults tests

add the missing group and collections

ci_complete

Co-authored-by: Matt Davis <mrd@redhat.com>

* changelog

ci_complete

* Fix import in tests

ci_complete

* Update with requested changes

ci_complete

* don't traceback since we don't validate the contents of module_defaults

ci_complete

Co-authored-by: Matt Davis <mrd@redhat.com>
2020-06-09 15:38:57 -07:00
a862ff2d43 Deprecation revisited (#69926)
* Allow to specify collection_name separately for deprecation.

* Use new functionality in Ansible.

* Use new functionality in tests.

* Update tagging/untagging functions.

* Update pylint deprecated sanity test.

* Update validate-modules. Missing are basic checks for version_added (validate semantic version format for collections).

* Improve version validation. Re-add version_added validation.

* Make sure collection names are added to return docs before schema validation.

* Extra checks to avoid crashes on bad data.

* Make C# module utils code work, and update/extend tests.

* Add changelog fragment.

* Stop extracting collection name from potentially tagged versions/dates.

* Simplify C# code.

* Update Windows modules docs.

* Forgot semicolons.
2020-06-09 15:21:19 -07:00
7bff3d312f Split out and install sanity test requirements. (#69971)
* Split out sanity test requirements.

* Run each --venv test separately.

This provides verification that the requirements for each test are properly specified.

* Use a separate requirements file per sanity test.

* Skip setuptools/cryptography setup for sanity.

* Eliminate pyyaml missing warning.

* Eliminate more pip noise.

* Fix conflicting generate_pip_install commands.

* Add changelog fragment.
2020-06-09 13:38:36 -07:00
ce199ef0e1 Add intg test to repro #36045 (add_host traceback) (#69912)
* Add intg test to repro #36045 (add_host traceback)

* fix raw_params usage in add_host

Co-authored-by: Adrian Likins <alikins@redhat.com>
2020-06-09 15:25:56 -04:00
03f8bf46c3 Update ansible-test integration tests. (#69970)
* Extend ansible-test collection test.

It now runs `rstcheck` and `empty-init` tests.

* Add galaxy.yml to test collections.
2020-06-09 11:16:48 -07:00
6065638e00 Display parameter name in string conversion warning (#57145)
Add prefix to error message for nested options. This is helpful if a subelement key has the same name as a top level key.
2020-06-09 13:05:53 -04:00
a64418c2b3 avoid constant checking controlpersist (#69910)
* avoid constant checking controlpersist
2020-06-09 11:59:38 -04:00
c41a160951 Update test images to version 1.16.0 (#66771) 2020-06-09 10:08:31 -04:00
5a7f2f9d5d Add platform guide for FRR (#69773)
* Add platform guide for FRR

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Add entry in index

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2020-06-09 10:22:30 +05:30
bfff95393c Add custom globals to the environment, and not per template (#69278)
* Add custom globals to the environment, and not per template

* Add changelog fragment
2020-06-08 16:30:40 -05:00
9667f221a5 Make AnsibleVaultEncryptedUnicode work more like a string (#67823)
* Make AnsibleVaultEncryptedUnicode work more like a string. Fixes #24425

* Remove debugging

* Wrap some things

* Reduce diff

* data should always result in text

* add tests

* Don't just copy and paste, kids

* Add eq and ne back

* Go full UserString copy/paste

* Various version related fixes

* Remove trailing newline

* py2v3

* Add a test that can evaluate whether a variable is vault encrypted

* map was introduces in jinja2 2.7

* moar jinja

* type fix

Co-Authored-By: Sam Doran <sdoran@redhat.com>

* Remove duplicate __hash__

* Fix typo

* Add changelog fragment

* ci_complete

Co-authored-by: Sam Doran <sdoran@redhat.com>
2020-06-08 16:30:14 -05:00
8dd0356719 Update bundled version of distro from 1.4.0 to 1.5.0 (#69709)
Includes changes we made in our version that were merged upstream

ci_complete
2020-06-08 16:34:37 -04:00
86f1cba3a6 Minor cleanup for ansible-test integration test. 2020-06-08 11:06:23 -07:00
c1c6f61a18 Auto unroll generators produced by jinja filters (#68014)
* Auto unroll generators produced by jinja filters

* Unroll for native in finalize

* Fix indentation

Co-authored-by: Sam Doran <sdoran@redhat.com>

* Add changelog fragment

* ci_complete

* Always unroll regardless of jinja2

* ci_complete

Co-authored-by: Sam Doran <sdoran@redhat.com>
2020-06-08 12:58:03 -05:00
840d3a9dd7 ansible-doc: properly handle suboptions (#69795)
* Specifically handle suboptions, contains, etc in ansible-doc.
2020-06-08 11:51:33 -04:00
ff98ecc4d0 Update developing_modules_best_practices.rst (#69937)
##### SUMMARY
wrong module path for module_utils.basic in developing_modules_best_practices.rst
2020-06-08 13:28:17 +05:30
3e566768c1 Fix broken validate-modules. 2020-06-06 11:00:10 -07:00
06efc41fb0 Reduce pip output noise in ansible-test. (#69925) 2020-06-05 18:25:48 -07:00
1a0c309629 Remove CentOS on Power from CI. 2020-06-05 18:24:41 -07:00
5194965a24 Revert "Revert "fixes f5 modules specific redirects (#69865)""
This reverts commit a69c23fd5b.
2020-06-05 16:52:51 -07:00
f733517e6e Support dates in metadata in import sanity test.
No changelog entry since this feature and the associated bug have not been included in a release.
2020-06-05 14:46:08 -07:00
4882471bc9 fix unvault lookup name in example (#69913) 2020-06-05 16:42:13 -04:00
112251c7f4 Bump fallaxy version (#69917) 2020-06-06 06:00:57 +10:00
984216f52e various deprecation, display, warning, error fixes for collections redirection (#69822)
* various deprecation, display, warning, error fixes

* Update lib/ansible/utils/display.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update lib/ansible/utils/display.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update lib/ansible/utils/display.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* cleanup, test fixes

* add collection name to deprecated() calls

* clean up redirect entries from uncommitted tests

* fix dep warning/error header text to match previous

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-06-05 00:28:40 -07:00
d79b23910a fix sys.modules cleanup and blacklist behavior (#69898)
* fix sys.modules cleanup and blacklist behavior

* fix map-as-generator py2/py3 issue
* clear path_importer_cache between runs

* sanity fix

* don't be stupid with moving target generators
2020-06-04 19:02:23 -07:00
efe103cdff Make add_host be idempotent/show changed status (#69897)
Change:
- The `add_host` action now shows an accurate change status.

Test Plan:
- Added a plethora of integration tests.

Tickets:
Fixes #69881

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-06-04 21:01:56 -05:00
062e780a68 starting metadata sunset (#69454)
* starting metadata sunset

 - purged metadata from any requirements
 - fix indent in generic handler for yaml content (whey metadata display was off)
 - make more resilient against bad formed docs
 - removed all metadata from docs template
 - remove metadata from schemas
 - removed mdata tests and from unrelated tests

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Rick Elrod <rick@elrod.me>
2020-06-04 21:01:46 -04:00
f5718a354c lineinfile - Add alternative backrefs example to docs (#69844)
* lineinfile - Add alternative backrefs example to docs

* Add changelog
2020-06-04 16:13:42 -05:00
2dbd5dc2ae ansible-test: do not accept empty string as valid version number (#69816)
* Work around strange behavior of StrictVersion and SemanticVersion constructors that they accept an falsy value.

* Do not accept empty strings as versions.
2020-06-04 13:25:05 -07:00
3b00c161dc Re-add documentation for yum "install_repoquery" (#69871)
Change:
- This was removed in 2014 in 122a7021bc.
- The option still exists and is enabled by default and can lead to user
  confusion when people aren't expecting packages (or updated
  dependencies for it) to get installed and they do.
- Add the option documentation back with a few notes to make it clear what
  is happening.

Test Plan:
N/A, no code change, just documentation

Tickets:
- Refs #69497

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

* Fix sanity errors

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-06-04 15:45:22 -04:00
b69e5c55f4 Only show one deprecation warning if version and date are both defined. (#69808)
This prefers date to version on the basis that date will have been added
in 2.10, and version retained for 2.9 compatibility
2020-06-04 12:42:43 -07:00
66bd385f6f Fix documentation for the assemble modules remote_src property. (#69845) 2020-06-04 15:30:45 -04:00
a02960f506 Remove AIX from test matrix 2020-06-04 10:07:12 -07:00
646536643f Use fqcr from command module invocation using shell module (#69790)
* Use fqcr from command module invocation using shell module

Fixes https://github.com/ansible/ansible/issues/69788

Use fully qualified collection reference while invoking
command module from shell module

* Fox review comment
2020-06-04 10:00:11 -07:00
247e43b252 Fix IncludedFile equality check (#69524)
In the case of a free style strategy, it is possible to end up with
multiple hosts trying to include from the same role, however the tasks
being included may be different with the use of tasks_from.  Previously
if you had two hosts that were included the same role when the
process_include_results function tries to determine if a included needs
to be run on a specific host, it would end up merging two different
tasks into which ever one was processed first.

This change updates the equality check to also check if the task uuid
associated with the IncludedFile is the same. The previous check only
checked if the task's parent uuid was the same. This breaks down when
both includes have the same parent.

    - hosts: all
      strategy: free
      gather_facts: false
      tasks:
        - include_role:
            name: random_sleep
        - block:
          - name: set a fact (1)
            include_role:
              name: set_a_fact
              tasks_from: fact1.yml
          - name: set a fact (2)
            include_role:
              name: set_a_fact
              tasks_from: fact2.yml
        - name: include didn't run
          fail:
            msg: >
              set_a_fact didn't run
              fact1: {{ fact1 | default('not defined')}}
              fact2: {{ fact2 | default('not defined') }}"
          when: (fact1 is not defined or fact2 is not defined)

Closes #69521
2020-06-04 10:41:46 -05:00
53b95b865f __eq__ should be redefined if __hash__ is defined. 2020-06-03 21:57:21 -07:00
4ecf22db9a Revert "fixes f5 modules specific redirects (#69865)"
This reverts commit 16f5dbf985.
2020-06-03 19:41:04 -07:00
7b632788aa Add Power back to test matrix 2020-06-03 16:31:27 -07:00
7e5a39d1d3 Add AIX back to test matrix 2020-06-03 16:31:03 -07:00
16f5dbf985 fixes f5 modules specific redirects (#69865)
* fixes f5 modules specific redirects

* adds removed entry
2020-06-03 21:58:27 +01:00
22da903e9c return changed for group_by (#32057)
* return changed for group_by

* added tests and fixed 'early registeration'
2020-06-03 12:46:40 -04:00
2d394382cf Reap collections changelog fragments - 6 (#69491) 2020-06-02 11:39:46 -05:00
00ead98595 systemd: should fail in check_mode when service not found on host (#68136)
* systemd: should fail in check_mode when service not found on host
2020-06-02 11:52:12 -04:00
6a4455ff54 Update plugin_formatter to understand tagged version_added (#69797)
* Update version_added handling for plugin_formatter w.r.t. #69680.

* Update hacking/build_library/build_ansible/command_plugins/plugin_formatter.py

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-06-02 08:07:34 -07:00
d757995bb6 service_facts: Update documentation about service status (#69757)
Update documentation about undocumented service status provided
by systemd

Fixes: #69752

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-06-02 11:07:02 -04:00
598e3392a9 Discover Flatcar Linux properly for hostname (#69627)
To avoid issues with Flatcar Container Linux being unable to be found,
detect Flatcar distro name especially for hostname, just like CoreOS
Container Linux was supported.

See also https://github.com/ansible/ansible/issues/69516
2020-06-02 18:41:53 +05:30
d7f61cbc28 Update 2.10 roadmap dates (#69771) 2020-06-01 13:36:14 -05:00
e10e5fc4ad only ever catch ImportError (#69792)
ModuleNotFoundError is a subclass of ImportError but only exists in
Python 3.6 or newer. Instead of doing hacks to be able to catch that on
older Pythons, just always only catch ImportError, which will also catch
ModuleNotFoundError on Python 3.6 or later
2020-06-01 09:01:38 -07:00
80f09efd03 do not return the body even if it failed (#69706)
* do not return the body even if it failed

* add some tests for this and rebase

* import test task

* ignore_errors when fails

Co-authored-by: Jack Zhang <jack.zhang@aspiraconnect.com>
2020-06-01 09:55:38 -04:00
723a904f4e Handle disabled service units (#69349)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-06-01 09:40:52 -04:00
2abaf320d7 [ansiballz] ensure that '' is not in sys.path (#69342)
Change:
On OpenBSD when using pipelining, we do not set cwd which results in a
permissions fatal. Ensure that `''` - cwd - is not in `sys.path`.

Test Plan:
Tested against local OpenBSD VM

Tickets:
Fixes #69320

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-06-01 03:43:20 -05:00
79ab798427 Enable logging using setup_loggers() API in dnf-4.2.17-6 or later
- Fixed issue #28061
- https://bugzilla.redhat.com/show_bug.cgi?id=1788212

Signed-off-by: Hideki Saito <saito@fgrep.org>
2020-05-30 20:37:27 -05:00
b1b79be08b Fix return value interpretation of PluginLoader.find_plugin_with_context(). (#69772) 2020-05-29 17:17:28 -07:00
3ec18ccb77 Allow announce script to work for base and older (#69768)
Change:
- Generalize the announce script changes from 4dd0f4127

Test Plan:
Harcoded 'hashes' to [] and then:
- Ran with --version 2.9.9 --version 2.10.0.dev1
- Ran with --version 2.9.9
- Ran with --version 2.10.1

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-05-29 16:20:30 -05:00
61a1fe1d7d Fix network_cli test to use a trap for cleanup (#69762)
Signed-off-by: Rick Elrod <rick@elrod.me>
2020-05-29 15:45:33 -05:00
53f9822e75 make plugins loader Python 3.5 compatible again (#69754)
ModuleNotFoundError was only introduced in Python 3.6
2020-05-29 12:37:52 -07:00
ee1625f906 Remove Power from test matrix (#69767)
We are having failures due to floating IPs not being cleaned
up and hitting the account limit of 50
2020-05-29 15:03:20 -04:00
3606dcfe65 Ensure --version works with non-ascii project path (#66624)
Fixes #66617
2020-05-29 14:42:44 -04:00
1dd8247fba Add SLES to user_guide/playbook_conditionals.yml (#69262) 2020-05-29 13:39:49 -04:00
bfc510a0f8 Update other_tools_and_programs.rst (#69499) 2020-05-29 13:38:06 -04:00
e40889e711 Add support to install collections from git repositories (#69154)
* Enable installing collections from git repositories

* Add tests for installing individual and multiple collections from git repositories

* Test to make sure recursive dependencies with different syntax are deduplicated

* Add documentation

* add a changelog

* Skip Python 2.6

* Only fail if no collections are located in a git repository

Add support for a 'type' key for collections in requirement.yml files.
Update the changelog and document the supported keys and allowed values for the type.

Add a note that the collection(s) in the repo must contain a galaxy.yml

* Add a warning about embedding credentials in SCM URLs

* Update with review suggestions

* suppress sanity compile failure for Python 2.6
2020-05-29 13:33:32 -04:00
225ae65b0f Make Python path warning say what it means to say (#69669) 2020-05-29 13:15:11 -04:00
c3dff34c15 Add entries for missing network modules (#69760)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2020-05-29 10:11:45 -07:00
925199511e Add JetBrains platform tools (#69478) 2020-05-29 12:09:26 -05:00
c884c5fddf add pointer to namespace and collection name restrictions (#69761) 2020-05-29 11:58:15 -05:00
3a4e227efa remove build errors including guess (#69711)
* remove build errors including guess

* fixed shippable errors
2020-05-29 11:56:49 -05:00
f110bcd59e Turn on linkchecker in sphinx for documentation (#69590)
* add make linkcheckerdocs as option to verify external links

* add back anchor checks

* spacing nit

* fix shippable issue

* Update docs/docsite/rst/conf.py

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
2020-05-29 11:48:53 -05:00
0b82d4499e ansible-test ansible-doc sanity test: also run with --json parameter (#69288) 2020-05-29 08:52:29 -07:00
4794b98f2a Fix version_added test (#69756)
* Fix version_added test for changes in #69680.

* Fix error message.
2020-05-29 08:25:14 -07:00
8e19ab178a connection plugins: try config, then play_context (#69751)
Change:
Rather than only using config, have base connection plugins fall back to
play_context.

Test Plan:
- Tested ansible-connection logic against an IOS device
- Tested -k against a VM
- CI

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-05-29 10:00:21 -05:00
eea84b6fdd routing.yml: update collections (#69699)
* routing.yml: update collections

routing.yml had gotten out of sync since `migrate.py` was run.
Update based on where files are today (more updates are needed)
Also validate routing.yml's schema

* Update lib/ansible/config/routing.yml

Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>

* rename scripts

* docker_service

* updated ansible_builtin_runtime schema

* Correct schema for plugin_router and import_redirect

* Correct schema for plugin_router and import_redirect

* validation moved to #69742

* netap, slxos, checkpoint

* test moved to separate PR

* even more

Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
2020-05-29 14:25:39 +01:00
7b3d9cbcb8 distribution: Added support for openEuler OS (#69324)
Detect os_family for openEuler OS as 'RedHat', instead of 'openEuler'.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-05-29 12:43:16 +05:30
f81f5da20e Ansible.Basic added generic fragment merger for module options (#69719) 2020-05-29 16:11:38 +10:00
40f21dfd3c Version source tagging (automatic and manual) for version_added and deprecation versions (#69680)
* Track collection for version_added.
Validate *all* version numbers in validate-modules.
For tagged version numbers (i.e. version_added), consider source collection to chose validation.

* Make tagging/untagging functions more flexible.

* Tag all versions in doc fragments.

* Tag all deprecation versions issued by code.

* Make Display.deprecated() understand tagged versions.

* Extend validation to enforce tagged version numbers.

* Tag versions in tests.

* Lint and fix test.

* Mention collection name in collection loader's deprecation/removal messages.

* Fix error IDs.

* Handle tagged dates in Display.deprecated().

* Also require that removed_at_date and deprecated_aliases.date are tagged.

* Also automatically tag/untag removed_at_date; fix sanity module removal version check.

* Improve error message when invalid version number is used (like '2.14' in collections).
2020-05-28 22:46:16 -07:00
f5f3ba7ab5 ansible-test - fix up relative util import for powershell validate-modules (#69753)
* ansible-test - fix up relative util import for powershell validate-modules

* Use different tactic for generic group

* Use python 2 and 3
2020-05-29 14:31:59 +10:00
31bf3a5622 Deprecate module in collection: allow removal date in documentation, make validate-modules ensure version and date match (#69727)
* Allow to deprecate module by date in documentation.

* Make sure deprecation date/version match between module docs and meta/runtime.yml.

* Unrelated fix: don't compare deprecated module version to Ansible's version in collection.

* Allow documentation's removal version to be something else than fixed list of Ansible versions for collections.

* Linting.

* Allow to deprecate plugin options by date.

* Add changelog fragment for deprecation by date (also covers #68177).
2020-05-28 14:20:52 -07:00
061c6c7c6f Prevent losing error info by including both loop and cond error msgs (#68485)
Fixes #66529
2020-05-28 17:13:39 -04:00
1e01ac413b Improve the changelog-how-to documentation. (#69268)
* Improve the changelog-how-to documentation:
* remove repetitions
* mention starting with lowercase
* update the link to examples, remove an irrelevant link
* change win_ example to apt_repository
* add info about collections
2020-05-28 15:56:26 -05:00
0894ea1b1d Adding nested variable example (#69518)
* Adding nested variable example to lib/ansible/plugins/lookup/vars.py
Co-authored-by: Matt Martz <matt@sivel.net>
2020-05-28 15:48:52 -05:00
323d2adfcc Fix example format in Ansible modules (#69509)
* Fix example format in several Ansible modules
* Update lib/ansible/modules/fail.py
* Update lib/ansible/modules/pip.py

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-05-28 15:42:26 -05:00
d0a25f004c note that environment is not good for secrets (#69618)
* note that environment is not good for secrets
* Update docs/docsite/rst/user_guide/playbooks_environment.rst
Co-authored-by: Sam Doran <sdoran@redhat.com>
2020-05-28 15:24:32 -05:00
412af6ae91 Fix docs return formatting. (#69632)
Gets rid of the unknown field names in the return data.
Allows the plugin return docs to format under the new docs pipeline.
* Expect that package_facts will pass return-syntax-error now.
2020-05-28 15:23:30 -05:00
21b65257bf Fix spacing for playbook collections example. (#69688) 2020-05-28 15:21:50 -05:00
09f86c1410 docs: communications update (#69687)
* add some more info on IRC support channels to docs
2020-05-28 15:12:24 -05:00
0ce404c4d9 Update intro_inventory.rst (#69718)
Vars in inventory are merged in ASCII order. Change docs to reflect that.
2020-05-28 15:06:17 -05:00
59f2174c8b Doc: playbook keywords are reserved names too (#69585) 2020-05-28 10:32:28 -05:00
187de7a8aa Updated CLI help for 'ansible-galaxy' for 'collection' subcommand (#69458)
* Added YAML header line and link to existing github issue
2020-05-28 10:38:48 -04:00
4dd0f41270 Update announce script for ansible-base (#69735)
Change:
- s/Ansible/ansible-base/
- Update URLs

Test Plan:
- Hope for the best. (No real way to test this until release day because
  there are no files on releases.a.c for it to hash right now. A staging
  releng environment would fix this.)

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-05-27 23:04:42 -05:00
d7618712fd blockinfile - fix line end regression (#69734)
PR #66461 introduced a regression that resulted in an in correct block in the file
if the block to be inserted did not end with a line separator. Fix this bug and add
tests to cover this scenario.
2020-05-27 16:54:38 -04:00
65c57a7f5b Update default-test-container to version 1.14. 2020-05-27 11:31:38 -07:00
e5cc12a64f blockinfile - Preserve line endings (#66461)
Fixes #64966
* Fix "TypeError: splitlines() takes no keyword arguments" on Python2.7
* Add changelog fragment
* Don't use `grep -P` for BSD/macOS compatibility
* Fix sanity checks complaining about test fixtures with mixed line endings
* Update changelogs/fragments/66461-blockinfile_preserve_line_endings.yaml
2020-05-27 11:05:07 -04:00
8b6c02fc69 Make connection plugins use password from config (#69670)
Change:
Rather than connection plugins directly accessing play_context and pulling
the password from there, have them pull it from the config system, and
have TaskExecutor store it there for now.

Internally, it still routes through play_context for now, but this is
the first step away from that.

Test Plan:
- Local test with `ansible -c ssh`
- grep -R play_context.pass lib/ansible/plugins/connection/
- CI

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-05-27 09:59:55 -05:00
564907d8ac distribution: Refactor test_distribution_version testcases (#69300) 2020-05-27 14:01:31 +05:30
cb8f645e0f Allow to deprecate / remove plugins by version. (#69712) 2020-05-26 18:43:40 -07:00
304c3e57e8 [ssh] Add new sshpass_prompt option (#68874)
Change:
Allows the user to configure sshpass (1.06+) to look for a different
substring than the default "assword" that it comes with.

Test Plan:
Set a custom ssh password prompt on a VM with PAM and tried connecting to
it. Without `ansible_sshpass_prompt` set in inventory: experienced hang.
With `ansible_sshpass_prompt` in inventory: connected successfully.

Tried setting `ansible_sshpass_prompt` with an older `sshpass` in PATH
and got a loud error, as expected.

Tickets:
Fixes #34722, fixes #54743, refs #11565.

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-05-26 19:58:31 -05:00
ea04e0048d Allow to deprecate options and aliases by date (#68177)
* Allow to deprecate options and aliases by date instead of only by version.

* Update display.deprecate().

* Adjust behavior to conform to tested behavior, extend tests, and improve C# style.

* Parse date and fail on invalid date.

This is mainly to make sure that people start using invalid dates, and we eventually have a mess to clean up.

* C# code: improve validation and update/extend tests.

* Make sure that deprecate() is not called with both date and version.

* Forgot to remove no longer necessary formatting.

* Adjust order of warnings in C# code.

* Adjust unrelated test.

* Fix grammar (and make that test pass).

* Don't parse date, and adjust message to be same as in #67684.

* Sanity tests: disable date in past test.

* Validate-modules: validate ISO 8601 date format.

* Validate-modules: switch schema declaration for deprecated_aliases to improve error messages for invalid dates.

* Use DateTime instead of string for date deprecation.

* Validate that date in deprecated_aliases is actually a DateTime.

* Fix tests.

* Fix rebasing error.

* Adjust error codes for pylint, and add removed_at_date and deprecated_aliases.date checks to validate-modules.

* Make deprecation date in the past error codes optional.

* Make sure not both version and date are specified for AnsibleModule.deprecate() calls.

* Stop using Python 3.7+ API.

* Make sure errors are actually reported. Re-add 'ansible-' prefix.

* Avoid crashing when 'name' isn't there.

* Linting.

* Update lib/ansible/module_utils/csharp/Ansible.Basic.cs

Co-authored-by: Jordan Borean <jborean93@gmail.com>

* Adjust test to latest change.

* Prefer date over version if both end up in Display.deprecated().

Co-authored-by: Jordan Borean <jborean93@gmail.com>
2020-05-26 20:23:56 -04:00
341a6be78d fix debian control file copypaste fail (#69715)
Signed-off-by: Rick Elrod <rick@elrod.me>
2020-05-26 18:42:40 -05:00
1ed5b587c8 More fixes for debian ansible-base builds (#69714)
Change:
Fix files that got missed in 04ec72160

Test Plan:
Local Ubuntu 20.04 VM

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-05-26 18:13:33 -05:00
fa81cc6a0c fix delegated loading when path is not a directory (#69713)
* find_module can't pop ImportError- we need to just translate to `None` since this is a normal condition with files on sys.path (eg `/usr/lib/python36.zip`)
* added test
2020-05-26 15:55:17 -07:00
5fc01c0a1d Use a custom build container on Shippable. (#69660)
* Use a custom build container on Shippable.

This supports key generation before git_sync, to avoid issues with pre-migration PRs.

If the node pool is switched to another version, a matching build container should be built and used.

* Don't kill our own custom container.
2020-05-26 14:05:46 -07:00
c987c0c8a1 provides per host/plugin world readable temp opt (#69393)
fixes #46174
2020-05-26 15:29:37 -04:00
4aff87770e [yum] Make package removal confirmation strict (#69592)
* [yum] Make package removal confirmation strict

Change:
After removing packages, the yum module does a final check to ensure the
packages are really installed. The check would include packages that
were RPM `Provides:` values of another package.

This means that, for example, if a third-party kernel RPM spec had
`Provides: kernel` in it, removing the stock kernel would be successful
but the check to see if it was really removed would fail and cause
Ansible to report a failure.

Test Plan:
Tested on local CentOS 7 VM with kernel from elrepo which is known to
`Provides: kernel`.

Tickets:
Fixes #69237
Refs #35672
Refs #40723

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-05-26 14:47:39 -04:00
f7dfa817ae collection routing (#67684)
* `meta/` directory in collections
* runtime metadata for redirection/deprecation/removal of plugin loads
* a compatibility layer to keep existing content working on ansible-base + collections
* a Python import redirection layer to keep collections-hosted (and otherwise moved) content importable by things that don't know better
* supported Ansible version validation on collection loads
2020-05-26 09:42:06 -07:00
fdfa6fec75 Module Find returns empty list when setting path to "/" and depth to 1 (#69650)
* Fix bug on find module when path is / and depth 1.
2020-05-26 12:30:59 -04:00
dae3ba71a8 Add FQCN mappings for network facts modules (#69601)
* Add FQCN mappings for network facts modules

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Add unit tests

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* update entry for ironware

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2020-05-22 23:20:21 +05:30
fe9696be52 Fix ansible -K become_pass regression (#69629)
* Fix `ansible -K` become_pass regression

Change:
- This fixes a breaking change introduced in
  2165f9ac40

Test Plan:
- Local VM for now, with plans to add an integration test for -K going
  forward.

Tickets:
Refs #69244
2020-05-22 09:34:26 -04:00
de3f7c7739 fix delegated interpreter discovery (#69604)
* fix delegated interpeter
* allow returning fact if it is 'the right host'
* added note for future fix/efficiency
 as it stands we rerun discovery for the delegated host
unless its saving facts to itself
 * fixed test lacking delegate_to mock
2020-05-22 09:31:34 -04:00
dc63b36501 Spelling: dependant -> dependent (#69661) 2020-05-22 11:24:25 +05:30
a4072ad0e9 Split regular and handler results into their own queues (#69498)
When mixed with the free strategy (or any custom strategy that does not behave in
a lock-step manner), the linear methodology of _wait_on_handler_results may cause
race conditions with regular task result processing if the strategy uses
_process_pending_results directly. This patch addresses that by splitting the queues
used for results and adding a flag to _process_pending_results to determine which
queue to check.

Fixes #69457
2020-05-21 15:55:08 -05:00
cd8920af99 file - return 'state': 'absent' when a file does not exist (#66503)
This was changed in ansible/ansible#51350.
2020-05-21 16:35:45 -04:00
e0f25a2b1f Strip no log values from module response keys. Fixes #68400 (#69653) 2020-05-21 16:17:57 -04:00
cfd301a586 Restore CentOS on Power in CI. 2020-05-21 13:15:01 -07:00
eb5147e57b intersight_info and intersight_facts routed to cisco.intersight (#69648)
Co-authored-by: “dsoper2” <“dsoper@cisco.com”>
2020-05-21 15:28:22 -04:00
1ee70fc272 ansible.utils.vars.isidentifier improvements (#58278)
ci_complete
2020-05-21 19:54:40 +02:00
9281148b62 correctly merge multiple facts results (#68987)
* correctly merge multiple facts results

  fixes #68532
2020-05-20 18:53:37 -04:00
fe941a4045 Pin Docker version at 19.03.1 2020-05-20 15:10:41 -07:00
8fe812b212 Remove conflicting plugin from test/support/ dir. (#69628) 2020-05-20 14:52:26 -07:00
b748edea45 Add multipart/form-data functionality (#69376)
* Add multipart/form-data functionality

* Fix some linting issues

* Fix error message

* Allow filename to be provided with content

* Add integration test

* Update examples

* General improvements to multipart handling

* Use prepare_multipart for galaxy collection publish

* Properly account for py2 vs py3, ensuring no max header length

* Address test assumptions

* Add unit tests

* Add changelog

* Ensure to use CRLF instead of NL

* Ignore line-endings in fixture

* Consolidate code, add comment

* Bump fallaxy container version

* ci_complete
2020-05-20 15:44:01 -05:00
08da8f49b8 Remove AIX from CI. 2020-05-20 12:37:21 -07:00
ecd986006e Properly handle unicode in safe_eval (#68576)
* Properly handle unicode in safe_eval

Fixes #66943

* Update lib/ansible/template/safe_eval.py

Co-authored-by: Sam Doran <sdoran@redhat.com>
2020-05-20 12:08:50 -04:00
889da811d7 Pin docker-ce-cli version in tests (#69620)
Installing docker-ce has a dependency of docker-ce-cli. If the version of docker-ci-cli is not specified, it installs the latest version.
2020-05-20 11:38:01 -04:00
9780d3db18 Remove "keywords" field in DOCUMENTATION.
This doesn't seem to be used by config although it came in with the
config PR.  It's not displayed in docs.  Removing it as this is the only
place where it's present.
2020-05-19 22:36:53 -07:00
06ecdaa7b1 comment heavy playbook (#68981)
* create examples/play.yml


Co-authored-by: flowerysong <junk+github@flowerysong.com>
2020-05-19 17:27:08 -04:00
df4e83deda added 'task timeout' feature (#69284)
* added 'task timeout' feature


Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-05-19 17:20:08 -04:00
ac533403e3 Google gcp_*_facts modules were symlinks to gcp_*_info modules in 2.9. (#69566)
Since it doesn't make sense to have extra copies of the _info modules in community.general only so that the _facts
symlinks are not in google.cloud, let's simply redirect the _facts modules to their google.cloud _info counterpart.

See also ansible-collections/community.general#351.
2020-05-19 10:40:48 -05:00
f01de15d25 ansible-galaxy - remove warning during collection install (#69541)
* ansible-galaxy - remove warning during collection install

If existing collections do not contain a MANIFEST.json, which is common
for collections under development that were not installed from Ansible
Galaxy, fall back to inspecting galaxy.yml rather than displaying a
warning.

A warning will still be displayed in neither a MANIFEST.json nor
galaxy.yml are present.

* Update unit tests
2020-05-19 10:31:49 -05:00
dd4219184b Update openstack module redirections (#69562)
The openstack related modules moved to the openstack cloud
collection. Update the target pointers.
2020-05-19 10:00:04 -04:00
43acd61901 ansible-test local change detection: use --base-branch if specified (#69508) 2020-05-18 13:18:31 -07:00
ecea15c508 Unify ansible-galaxy install -r (#67843)
* Unify ansible-galaxy install -r

* Minor nit fixes for docs

* Re-align warnings

* Fix up integration test

* Fix up test where no roles/collections were in file
2020-05-19 05:09:42 +10:00
01e7915b0a Remove obsolete incidental_azure_rm_webapp test. 2020-05-15 22:23:17 -07:00
86743292ec Remove incorrect function args in unarchive. 2020-05-15 18:31:43 -07:00
04ec72160a Fixes for building ansible-base .debs, using py3 (#69534)
Change:
- Changes for ansible -> ansible base
- Bump to py3 for 2.10 PPA release

Test Plan:
- Local VM; Jenkins after merge.

Tickets:
- Refs #57342

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-05-15 20:30:08 -05:00
3dedf95dbd Remove RPM packaging infrastructure (#69554)
Change:
- Nuke `make rpm` and friends from Makefile
- Nuke packaging/rpm

We are no longer going to be pushing RPMs to releases.ansible.com
post-2.10, so this is no longer necessary for us, and users should
prefer RPMs from their distro instead.

Test Plan:
Grepped the Makefile for all of: /rpm/i, /mock/i, /fedora/i

Tickets:
Refs #69539

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-05-15 20:29:05 -05:00
c495c92a6e Code cleanup in ansible-test. 2020-05-15 18:17:11 -07:00
ed4fd9be67 Code cleanup in ansible-inventory. 2020-05-15 18:02:18 -07:00
159d79995c Freeze pycodestyle in ansible-test. 2020-05-15 16:38:50 -07:00
e7c2eb519b Add Shippable request signing to ansible-test. (#69526) 2020-05-15 15:38:02 -07:00
6fffb0607b WIP: Docs: User guide overhaul, part 4 (#69266)
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2020-05-15 16:18:07 -04:00
b8469d5c7a lineinfile - Use ANSIBLE_REMOTE_TMP for temporary file (#69543) 2020-05-15 15:52:17 -04:00
34db57a47f introduce fact "ansible_processor_nproc": number of usable vcpus (#66569)
This fact reflects the number of usable vcpus (which might be different
from ansible_processor_vcpus, e.g., in containers with limits). See
also #51504.

* Add fixture data and update unit tests

Co-authored-by: Sam Doran <sdoran@redhat.com>
2020-05-15 09:38:56 -04:00
d63a71e3f8 typofix - globbing instead of globing. (#69515)
Fix typo introduced in PR #69087
2020-05-15 13:23:35 +05:30
83381cd912 Update the default-test-container in ansible-test.
The updated container includes fewer requirements now that the collection migration has completed.

Collections which encounter test issues with this new container should update their test requirements files to include the necessary requirements.
2020-05-14 21:24:58 -07:00
d0484fbf74 Cleanup for Python 3.9 and pycodestyle compat. 2020-05-14 21:06:16 -07:00
d8e0aadc0d Update ansible-test support for CI providers.
Refactored CI provider code to simplify multiple provider support and addition of new providers.
2020-05-14 17:08:30 -07:00
ca6da5ad63 Remove obsolete incidental test. 2020-05-14 17:02:11 -07:00
9d8cf1ed21 Add path for yum on IBM i to PKG_MGRS (#69484)
* Add path for yum on IBM i to PKG_MGRS

On IBM i, yum is installed under the `/QOpenSys/pkgs` prefix, see:
https://bitbucket.org/ibmi/opensource/src/master/docs/yum/#markdown-header-must-know-usage-notes-read-this-after-you-install

* Add changelog fragment
2020-05-14 19:09:09 -04:00
2165f9ac40 fix delegation vars usage (debug still shows inventory_hostname) (#69244)
* fix delegation vars usage and reporting

 - just pass delegated host vars + task vars to plugins
   and avoid poluting with original host vars
 - updated tests
2020-05-14 16:36:13 -04:00
dfa2863dee Remove FIXME where no change is needed (#69466)
* Added exception

* Added changelog fragment

* Remove FIXME comment

* Edit changelog fragment
2020-05-14 15:44:33 -04:00
9767d592a8 Add resource_from_fqcr utility function. (#68474) 2020-05-14 13:50:29 -04:00
55e29a1464 ansible-galaxy - fall back to galaxy.yml when listing collections (#68925)
Fallback to galaxy.yml for listing collections that don't have a FILES.json or MANIFEST.json

Co-authored-by: Sam Doran <sdoran@redhat.com>
2020-05-14 12:28:08 -04:00
343ffaa18b better error for "ansible-galaxy collection verify" if there's no MANIFEST.json (#67498)
* Add a better error for "ansible-galaxy verify" if the MANIFEST.json has been deleted from the installed collection or if the collection hasn't been installed via normal means

* Fix unit tests for the remote collection

If there's something wrong with the local collection's version it will fail before the remote collection is sought

* Add a test for the new error msg

* Prevent the duplicate warning

Mock the new isfile call where needed

* Update lib/ansible/galaxy/collection.py

Co-Authored-By: Martin Krizek <martin.krizek@gmail.com>

Co-authored-by: Martin Krizek <martin.krizek@gmail.com>
2020-05-14 12:25:19 -04:00
25c5388fde Update compile skip; all release and docs build scripts require 3.6+ 2020-05-14 09:14:37 -07:00
efff35a7cd Remove unused imports in the porting_guide command plugin 2020-05-14 09:14:37 -07:00
26704b915b Turn pathlib paths into strs
Some APIs do not take a pathlib.  They need to have a string
representation of a path.  Transform the default path to a str
so those APIs will work with the default value.
2020-05-14 09:14:37 -07:00
957ad8e769 Fix the command plugin to use the ABCMeta metaclass
The abstract* decorators don't have any effect unless the class has an
ABCMeta metaclass.
2020-05-14 09:14:37 -07:00
a3c400d0ce Remove outdated docs and unneeded import from change_detection build file 2020-05-14 09:14:37 -07:00
f200487414 Fix filedescriptor out of range in select() when running commands (#65058)
* Fix filedescriptor out of range in select() when running commands

* Simplify the run_command() code

Now that we're using selectors in run_command(), we can simplify some of
the code.

* Use fileobj.read() instead of os.read()
* No longer use get_buffer_size() as we can just slurp all of the data
  instead.

Also use a simpler conditional check of whether the selector map is
empty

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2020-05-14 11:46:34 -04:00
87d9b49de2 Fix listing of colleciton plugins with symlinks (#69305)
* Fix listing of colleciton plugins with symlinks
2020-05-14 11:45:02 -04:00
c13b040e67 systemd: set scope default to "system" (#67006)
- Make "system" default scope for systemd
- Remove extra None checks since there is now a default
2020-05-14 11:36:47 -04:00
cedfe34619 added unvault lookup plugin (#69087)
* added unvault lookup plugin
2020-05-14 11:19:19 -04:00
4c4406b2df Flatten the directory hierarchy of modules (#68966)
* Flatten the directory hierarchy of modules

* Update ignore.txt, flatten units

* Update imports

* Completely flatten the modules directory

* Update sanity ignore

* Fix some sanity test ignores

* Fix relative import

* Fix docs builds without category

* ci_complete

* Clean up docs. ci_complete

* Adjust needs/file alias

* ci_complete

* fix hardcoded ping module paths

Co-authored-by: Matt Davis <mrd@redhat.com>
2020-05-13 19:14:53 -07:00
c43f275c7e added missing headers + note (#69500) 2020-05-13 17:12:48 -04:00
0e15375ffe Add deprecated removed_in_version and deprecated_aliases version tests (#66920) 2020-05-13 13:58:09 -07:00
f0b6f76bc6 only show_vars when showing vars (#69365)
* only show_vars when showing vars

avoid processing function params that can be very expensive
and might not be used at all in called function.

fixes #69357

* Update changelogs/fragments/69357_optimize_inventory_graph_wo_vars.yml

Co-authored-by: Sloane Hertel <shertel@redhat.com>

Co-authored-by: Sloane Hertel <shertel@redhat.com>
2020-05-13 15:03:30 -04:00
3b3c811be5 Separate the galaxy lib from the cli (#69473)
The galaxy lib knew about the cli args in context.  This shouldn't be
the case as it makes it hard to use the lib in other contexts.  Moved
the context knowledge into cli/galaxy.py.
2020-05-13 13:13:30 -04:00
0aa76503dc avoid fatal tb on bad fqcn callback name (#69440) 2020-05-13 12:02:31 -04:00
eb3e4b3a7b cyberark appears to have renamed their collection
Trying to build docs for Ansible-2.10 and ran into error #69475
in ansible-doc.  To work around that I need to get a newer cyberark
collection which fixes the issues.  Unfortunately, it looks like the
cyberark team has renamed their collection from bizdev to pas is not
responding to issues on github.  I'm putting in this PR for them to
get this updated before 2.10 so that the modules will work out of the
box.
2020-05-13 07:54:02 -07:00
6086ea62ee Remove deprecation for TRANSFORM_INVALID_GROUP_CHARS (#66650)
Fixes #61889
2020-05-13 10:16:32 -04:00
cdaf7da11a Restore AIX testing. 2020-05-12 15:05:47 -07:00
cc4c38ef7c Revert "Restore AIX testing."
This reverts commit b23b28170b.
2020-05-12 13:39:11 -07:00
b23b28170b Restore AIX testing. 2020-05-12 11:01:58 -07:00
776f4840fc fix ansible-test units to work(ish) under podman (#69462)
* ignore the missing `Networks` key, issue a warning that network disconnection won't function
2020-05-12 10:46:22 -07:00
aa36b02ede Fix fileglob plugin with non-existent subdirectory (#69451)
Since Ansible 2.9.8, if the fileglob plugin is passed a path containing
a subdirectory of a non-existent directory, it will fail. For example:

lookup('fileglob', '/'): ok
lookup('fileglob', '/foo'): (non-existent): ok
lookup('fileglob', '/foo/bar'): (non-existent): FAIL

The exact error depends on Python 2 or 3, but here is the error on
Python 2:

    AttributeError: 'NoneType' object has no attribute 'endswith'

And on Python 3:

    TypeError: expected str, bytes or os.PathLike object, not NoneType

This change fixes the issue by skipping paths that are falsey before
passing them to os.path.join().

Fixes: #69450
2020-05-12 09:12:21 -04:00
01258580b9 Fix formatting in docs for --become-method (#68152)
The default value isn't displayed currently: <https://docs.ansible.com/ansible/latest/cli/ansible.html#cmdoption-ansible-become-method>

+label: docsite_pr
2020-05-12 04:06:24 -04:00
9645304da3 Validate args for includes in handlers too (#57537) 2020-05-12 09:35:58 +02:00
eb40ecc843 Check for correct version of systemd Python library (#60692)
Fix issue where some versions of systemd don't have journal.sendv
2020-05-12 11:01:08 +05:30
b309c14265 Remove aix and power from test matrix.
Services providing both are currently down.
2020-05-11 15:53:52 -07:00
96f504cd11 added missing clog for 58461 2020-05-11 15:09:24 -07:00
e70f5cc132 vmware: example should use FQCN (#69351)
For instance, you should use `community.vmware.vmware_guest` instead of just
`vmware_guest`.

This way, the examples don't depend on the `collections` directive of the
playbook.

Co-authored-by: Sandra McCann <samccann@redhat.com>
2020-05-11 16:27:20 -04:00
cd8dd4a272 Fix galaxy publish sha256 value format. (#67942)
* Fix galaxy publish sha256 value format.

The multipart/form content used for the body
of the POST to /api/automation-hub/v3/collections
was missing a newline before the line with the value
of the sha256.

automation-hub/galaxy/django skips the field entirely in
that case and automation-hub code will use None for default
to indicate that no sha256 is provided (an available option).

Fixes ansible/galaxy-dev#246

* Add changelog fragment

Co-authored-by: Matt Martz <matt@sivel.net>
2020-05-11 12:52:38 -05:00
5b9418c06c Fix SemanticVersion comparison (#69395)
* Fix SemanticVersion comparison.

* Complete tests for _Alpha and _Numeric comparators.

* Linting, and add comment.
2020-05-11 11:58:15 -05:00
de59b17c7f Add Fedora 32 to CI (#69222)
Change:
Adds Fedora 32 to shippable and alters tests slightly for new Fedora.

Test Plan:
CI

Tickets:
Fixes #69230

Co-authored-by: Matt Clay <matt@mystile.com>
2020-05-08 18:59:43 -05:00
98fbd1b72f lint
Signed-off-by: Rick Elrod <rick@elrod.me>
2020-05-07 21:44:13 -05:00
96c56b119d Add a script for adding backport references
Change:
- Add a place for adding backport-related scripts in the future
- Add a script for adding backport references

Test Plan:
- Used it for this latest batch of PR reference-adding.

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-05-07 21:44:13 -05:00
9579113941 Remove some no-op code from InventoryManager
Change:
- Remove some no-op code
- Split up a somewhat complex line into two lines
- Nuke an incorrect comment

Test Plan:
CI

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-05-07 21:42:48 -05:00
c62ff861d3 git: don't import get_module_path (#69378)
The module don't use the `get_module_path()` function. No need to import
it.
2020-05-07 16:07:41 -04:00
04b22a6b35 Change example ControlPath to be short and unique (#69347)
Use %C as the ControlPath setting in the example config file. The old setting used %h and %r tokens, which break ansible for a few use cases, including packer provisioning, where hostname is always 127.0.0.1. %C is a hash of local host, remote host, username and port.
2020-05-07 14:52:42 -05:00
bc1364952b changing $HOME to $HOSTNAME in Synopsis (#69273)
$HOME variable does work with command module. This may be a bug. $HOSTNAME never works. Changing the example to use $HOSTNAME in the Synopsis of command module documentation page.
2020-05-07 14:39:16 -05:00
e28e86a428 hostname: PopOS support (#69295)
Added support for PopOS in hostname module.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-05-07 15:36:14 -04:00
084587913a validate-modules: deprecated modules in collections (#68646)
* validate-modules: deprecated modules in collections

In Collections a module is marked as deprecated via meta/routing.yml

Use this file, rather than the leading `_` as part of the deprecated
test.

* Correct variable

* review comments

* indentation

* Read routing.yml only once

* pep8

* Apply suggestions from code review

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

* review: remove duplicated conditional

Co-authored-by: Matt Clay <matt@mystile.com>
2020-05-07 08:11:46 +01:00
366f808683 Correct debugging modules documentation (#69245) 2020-05-06 12:20:47 -05:00
d039eb9317 add punctuation marks to comments (#68882) 2020-05-06 13:14:06 -04:00
39b3942048 Remove left hand side slicing
Left hand side slicing is confusing and slower but maybe more memory
efficient in some circumstances.  There is one case where it adds to
code safety: when it's used to substitute a different list in place of a
slice of the original list and the original list could have been bound
to a different variable in some other code.  (The most likely case of
this is when it's a global variable and some other code might import
that variable name).

Because of the confusion factor we think it should only be used for the
safety case or where it's been benchmarked and shown to have some sort
of documentatble improvement.  At the moment, only one piece of code
falls into those categories so this PR removes all the other instances
of left hand side slicing.
2020-05-06 09:56:40 -07:00
852906fe7f Make description of removes option of command module clearer (hopefully) (#68097)
* Improves description of removes option in command module

Co-authored-by: Eric L <android@lavar.de>
2020-05-06 11:47:52 -05:00
4e72ce805d Order my dicts (#58000)
* use orderdict for yaml dictionaries

* clog

* SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

* allow user to toggle odict off

* removed config, since requored to load config

* remove unused import

* Update changelogs/fragments/yaml_orderd_mappings.yml

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

* Update lib/ansible/parsing/yaml/objects.py

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

* Update lib/ansible/parsing/yaml/objects.py

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

Co-authored-by: Matt Clay <matt@mystile.com>
2020-05-06 11:05:37 -04:00
34458f3569 Update inventory caching documentation (#69100) 2020-05-05 15:10:57 -05:00
f6860a7a89 generator inventory plugin: remove "strict" from example (#69178)
This "strict" option appears to be unused. It's probably a copy-paste error from the constructed plugin.
2020-05-05 15:09:31 -05:00
47da0f7a4f restore jsonfile cache plugin (#69337)
* restore jsonfile

* update botmeta for jsonfile restoration
2020-05-05 10:50:39 -07:00
d446a4f70d yum: avoid running non-yum modules via the action (#69296)
If the system's detected package manager is not yum or dnf it should
refuse to run without an explicit backend, instead of running the
non-yum module.
2020-05-05 11:48:54 -05:00
794d269a4d Distribution: Add PopOS as Debian OS_FAMILY (#69294)
PopOS is a Debian based OS distribution, added support to detect
ansible_os_family as 'debian' instead of 'Pop!_OS'

Fixes: #69286

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-05-05 11:43:28 -05:00
947fa3bad3 ansible-test validate-modules: don't allow arbitrary lists and dicts for 'default', 'sample' and 'example' (#69287)
* Don't allow arbitrary lists and dicts for 'default', 'sample' and 'example'.

* Add changelog.

* Make compile with Python 2.
2020-05-05 11:38:10 -05:00
049800c063 Fix metadata defaults
* Metadata defaults were not being set if only a few fields were missing.

* ansible-doc with no documentation and no status in metadata should
  return empty, just like if there was no documentation and no metadata
  at all.
2020-05-05 09:06:52 -07:00
6d8cfcf539 Addressed FIXME's in hurd.py (Extracted functionality and exit early) (#69226)
* Addressed FIXME's in hurd.py

* Added changelog fragment

* Fix function order

* Added self reference

* Changed to 'is None'
2020-05-05 10:47:25 -05:00
8d43d79191 galaxy: Handle empty roles and collections (#69199)
Galaxy collection install command raised indexError,
when requirements.yml contains empty roles and collections.

This fix handles empty roles and/or empty collections.

Fixes: #68186

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-05-05 10:34:04 -05:00
9d48884e36 Fix support for Kali Linux detection (#69194)
* Fix support for Kali Linux detection

* Add test for Kali Linux detection

* Improve path matching with "in list"

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

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-05-05 10:31:32 -05:00
70219df905 Address FIXME's in sysctl.py (#69175)
* Address FIXME's in sysctl.py

* Added changelog fragment

* Updated check

* Update conditions

* if not instead of is None

* Restore and delete FIXME comments
2020-05-05 10:25:46 -05:00
cdad594b16 plugin_formatter: sys.exit does not take a file argument (#68016)
Cleanup of leftover from bcdfdc0cc3.

sys.exit does not take any named argument.
2020-05-05 08:38:23 +05:30
1a5bbfbe01 Fix name of utility "nologin" (#69207)
The utility is `nologin`, not 'no login'. Fix this on the page about Become. In the example further down below it is spelled correctly.
2020-05-04 17:40:44 -05:00
c52121f4c9 Clarification for Ansible and BSD Introduction (#69275)
Bug: https://github.com/ansible/ansible/issues/69274
2020-05-04 16:16:41 -05:00
46fea92125 Add note in inventory guide saying group names follow variable name guidelines. (#69285) 2020-05-04 16:09:44 -05:00
eab4f9afc4 docs: Small grammar improvement in the community guide (#69304)
The comma should not be included as it is not joining two independent
clauses.
2020-05-04 16:06:23 -05:00
5e74ada06b fix expires usage sentence flow (#69306) 2020-05-04 16:04:08 -05:00
44a4538280 add FQCN for migrated filters (#69321) 2020-05-04 16:02:13 -05:00
caa263e2cf Document how to migrate a standalone role to a collection (#68687)
Adds docs for role developers/owners in the collections ecosystem
2020-05-04 15:59:54 -05:00
7e0794085e add links to new docsites (#69310) 2020-05-04 14:59:09 -05:00
722d89478b Remove Ansible.Service from routing (#69317) 2020-05-05 05:50:08 +10:00
bbdf77a59f preserve json parsing error (#58461)
* preserve json parsing error
* added test
2020-05-01 15:03:07 -04:00
23ab8f37df fix a-doc listing plugins and add tests (#68600)
* add docs listing tests
* added collection module docs test
* always safe_load
* force 'type consistency' for uniquing paths
* bytified
* use our json encoder

Co-Authored-By: Matt Clay <matt@mystile.com>
2020-04-30 17:20:56 -04:00
a67d5dbcb7 Add example setting for collections_paths parameter to examples/ansible.cfg (#69018)
Signed-off-by: Hideki Saito <saito@fgrep.org>
2020-04-30 14:29:50 -05:00
1142faa213 Do not pass file mode during recursive copy on symlink files. (#69011)
* Do not pass file mode during recursive copy on symlink files.

The 'file' module cannot deal with mode=preserve. Do not pass that
mode to the module when 'preserve' is used.

* Fix changelog fragment filename
2020-04-30 14:22:16 -05:00
1cf26896c5 Default ansible-test provisioning to us-east-1.
Previously windows instances on Shippable would be automatically directed to us-east-2.
2020-04-30 11:04:37 -07:00
dba17aeb13 dnf allowerasing (#48319)
Add the ability to pass allowerasing to alter the dnf transaction
behavior.

Fixes #24161

This is effectively a port of the original pull request from
poettler-ric who has since abandoned the PR

    https://github.com/ansible/ansible/pull/34111

Signed-off-by: Adam Miller <admiller@redhat.com>
2020-04-30 09:33:05 +02:00
1c5c89baa6 Add RHEL 8.2 to CI
Change:
RHEL 8.2 GA was released this week, test it in CI instead of 8.1.

Test Plan:
CI

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-04-29 20:51:28 -05:00
eb65a01598 Enable dnf integration tests on CentOS 8
Change:
We were only testing dnf on RHEL previously.
Test on CentOS 8 as well.

Test Plan:
Ran locally in docker.

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-04-29 20:51:28 -05:00
f6cfcba346 [dnf] Make behavior/errors compatible for new DNF
Change:
Extend the logic for custom error handling in the dnf module, so that on
newer DNF (such as DNF that ships with modern Fedora 31 container
images, and ships with RHEL 8.2) we report errors consistently with
older DNF.

Test Plan:
Ran dnf integration tests against an old Fedora 31 container image and a
brand new Fedora 32 container image; tess passed on both.

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-04-29 20:51:28 -05:00
b437236633 Redirect inventory script links (#69143)
With inventory script migrated to their respective collection,
redirect links in documentation to their respective collection
location.

Fixes: #69139

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-04-29 16:05:39 -04:00
bc41dd4514 Handle non-ascii paths during role installation. Fixes #69133 (#69213) 2020-04-28 15:33:44 -05:00
babac66f9c Be strict about what is a boolean for keywords (#67625)
* be strict about what is a boolean for keywords

 - found and fixed typo in test , 'yes' != 'yes.'
2020-04-28 13:55:26 -04:00
7714f691eb wait_for simplehttpserver to come up online
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-04-28 09:43:07 -07:00
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
2020-04-28 10:47:11 -05:00
91bb5af688 Update ansible-galaxy to handle role requirements (#68288)
* Update galaxy role object to handle requirements

Co-Authored-By: Sandra McCann <samccann@redhat.com>
2020-04-28 10:42:57 -04:00
d42151e676 Removed redundant conditional in paramiko_ssh.py (#69164)
* Removed redundant conditional

* Added changelog fragment

* Removed trailing whitespace
2020-04-28 10:36:22 -04:00
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().
2020-04-28 15:31:48 +05:30
53cf6c60cb ROADMAP - s/ansible/ansible-base/g (#69071) 2020-04-28 10:44:20 +01:00
f66c65e241 Remove tomaszkiewicz from ansibullbot notifications (#69197) 2020-04-27 12:39:59 -04:00
9217aeeac1 Revert "Fix missing persistent connection messages (#68496)" (#69147)
This reverts commit 5f6427b1fc.
as it breaks netconf connection. This will be a temporary measure
for unlocking CI until a proper fix is shipped.
2020-04-27 11:58:57 +02:00
91d02e1c1f constructed inventory plugin: correct example (#69165)
Fixed 'intersect' filter name in constructed inventory plugin example.
2020-04-27 12:04:51 +05:30
a050d892d8 Remove obsolete vcenter setup from ansible-test. 2020-04-26 19:56:40 -07:00
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>
2020-04-24 18:26:42 -05:00
d7da1d9bd0 Fix ansible-test coverage constraints. 2020-04-24 10:52:21 -07:00
572fe9e480 Adjust Openstack Inventory script path (#69058) 2020-04-24 11:15:51 +05:30
e8d3358427 Ignore GPG key checks on test repo
Disable GPG key checks when installing packages from the test repo.
2020-04-23 14:48:55 -07:00
e663391e77 Fix yum test case on ppc64le
This patch covers a few changes to get the yum test case working on ppc64le
CentOS.  Specifically we needed to enable the EPEL repository on CentOS
as well as ensure some of the architecture-specific tasks use the right
set of binaries during their test.
2020-04-23 14:48:30 -07:00
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>
2020-04-23 15:45:35 -04:00
42cc3fa923 collection build should ignore .git files (#68750) 2020-04-23 15:27:19 -04:00
3f47610d94 Don't crash ansible-vault create when no arguments (#68667)
* Don't crash ansible-vault create when no arguments

* Add changelog entry
2020-04-23 15:15:25 -04:00
813ea48fcf Bring back more objects that were exposes in _text (#69090) 2020-04-24 04:56:59 +10:00
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
2020-04-23 18:13:30 +02:00
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
2020-04-23 10:36:14 -05:00
85bb804cda Revert "Cap cryptography version for macOS openssl test (#69083)" (#69126)
This reverts commit 1e08bb7a6f.
2020-04-23 08:49:09 -05:00
8b30360ca9 fixed handling of releasever for all known scenarios (#69057)
Signed-off-by: Adam Miller <admiller@redhat.com>
2020-04-23 09:02:00 +02:00
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>
2020-04-22 17:20:12 -05:00
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>
2020-04-22 13:58:08 -05:00
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>
2020-04-22 11:56:35 -05:00
1e08bb7a6f Cap cryptography version for macOS openssl test (#69083)
Change:
New `cryptography` statically links an openssl that is too new for macOS
10.11, so limit to an older cryptography for now.

Test Plan:
Ran the test with `--remote osx/10.11` and it passed.

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-04-21 15:13:46 -05:00
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>
2020-04-21 11:42:52 -07:00
5a3ca0ae5f Fix ansible-test delegation from pip install. 2020-04-21 09:48:16 -07:00
d17a44b0c5 Add new arches/OSes for binary_modules tests (#69052) 2020-04-21 00:52:23 -07:00
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.
2020-04-21 09:39:17 +02:00
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.
2020-04-21 09:36:35 +02:00
122743ae30 Update ansible-test handling of delegation paths. (#69056) 2020-04-20 22:04:25 -07:00
a8a61829b8 Enable passing tests on power. 2020-04-20 10:07:54 -07:00
fd8b874273 Update docs, pointing to an existing chapter. (#69026)
The chapter that described more information about become to an unprivileged user has moved. This commit points to an existing chapter

Relates to #69021
2020-04-18 07:52:29 -05:00
648b3d43d3 [copy] Add some test coverage for check_mode (#68895)
Change:
Adds some missing coverage for the copy module when `check_mode: True`.

Test Plan:
Ran test with --coverage and looked at the resulting report.

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-04-17 16:09:32 -05:00
561725bace corrected comment (#69006) 2020-04-17 16:07:26 -05:00
44a471f6ba Enable service integration tests for FreeBSD (#68980)
* Enable service integration tests for FreeBSD

Change:
Adds necessary rc file for freebsd, and gets tests passing for it.

Test Plan:
Ran test with `--remote freebsd/12.1` and `--remote freebsd/11.1`. Both
passed.

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

* Update test/integration/targets/service/tasks/rc_setup.yml

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

* fix up comment

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

Co-authored-by: Matt Clay <matt@mystile.com>
2020-04-17 10:41:08 -07:00
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
2020-04-17 09:51:05 -04:00
acdc9eb76d native types: literal_eval all the things (#68938)
With https://github.com/pallets/jinja/pull/1190 merged our short-circuit
is no longer valid (has it ever been?) as now data like ' True ' may go
through our ansible_native_concat function as opposed to going through
intermediate call to Jinja2's native_concat before. Now we need to always
send data through literal_eval to ensure native types are returned.
2020-04-17 14:59:52 +02:00
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>
2020-04-17 10:57:41 +05:30
79fff7da69 Expose to_<str> as a public function (#68965)
* Expose to_<str> as a public function

* Fix sanity checks

* Move docstring to start of util
2020-04-17 07:54:00 +10:00
e4ea6a15b0 import where? (#68943) 2020-04-16 17:41:23 -04:00
ac509d489b Revert "stricter permissions on atomic_move when creating new file (#68970)" (#68983)
This reverts commit 566f2467f6.
2020-04-16 12:52:15 -04:00
566f2467f6 stricter permissions on atomic_move when creating new file (#68970)
fixes #67794
  updated some tests that expected previous defaults
  CVE-2020-1736
2020-04-16 09:06:18 -04:00
de6b047fc3 Add variable for DEFAULT_NO_TARGET_SYSLOG (#68971)
* Add variable for DEFAULT_NO_TARGET_SYSLOG

* Added version_added to new var
2020-04-16 20:25:09 +10:00
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
2020-04-16 20:24:23 +10:00
77a916e763 Add more integration tests. (#68972) 2020-04-16 00:53:08 -07:00
cce6153cd1 Remove unused functions (#68969) 2020-04-16 13:01:20 +10:00
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>
2020-04-15 16:22:17 -07:00
abb807e5dd Extend dev guide for collection testing and collection hacking (#68899)
* Make clear which BOTMETA.yml is meant (some collections also have one), fix itemization, document /rebuild and /rebuild_failed, add section on how to test collections with ansible-test, update supported versions for compile tests, add a section on hacking collections, implement feedback. 

* Update docs/docsite/rst/dev_guide/developing_collections.rst

Co-Authored-By: Felix Fontein <felix@fontein.de>
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2020-04-15 15:51:19 -05:00
6493a190f6 docs: Update inventory script paths (#68905)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-04-15 16:29:55 -04:00
c7997a77d2 VMware: Document vm properties (#68552)
VMware vm inventory uses configuration properties, rather than
relying on external documents, point user to this document.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-04-15 16:26:58 -04:00
d60b17082e small fix to install command as no longer needs -p by default (#68947) 2020-04-15 16:23:37 -04:00
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
2020-04-15 15:26:45 -04:00
d3d301e776 Adjust openssl_certificate* module names (ansible-collections/community.crypto#7) (#68719) 2020-04-14 16:52:44 -05:00
f8a9d86388 Fix routing entry to patch. (#68537) 2020-04-14 16:49:35 -05:00
7d51706278 Revert "Switch network incidental tests to VyOS 1.1.7-R2."
This reverts commit 7d5177d6a0.
2020-04-14 12:18:23 -07:00
f11b1454bb prepare for future ansibot collection changes (#68944) 2020-04-14 13:11:05 -04:00
ff1ba39c8a Prevent templating unused variables for {%include%} (#68749)
Fixes #68699
2020-04-14 10:27:02 +02:00
7d5177d6a0 Switch network incidental tests to VyOS 1.1.7-R2.
The previous version being used, VyOS 1.1.8, is currently unavailable in AWS.
2020-04-14 01:12:48 -07:00
eaf648e600 Use context manager in yum module. (#65376) 2020-04-14 09:21:22 +02:00
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
2020-04-13 17:16:29 -04:00
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
2020-04-13 11:53:05 -05:00
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>
2020-04-13 10:21:10 -04:00
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.
2020-04-10 12:17:55 -05:00
25650cb592 Updating routing data for gcp_kms_* filters (#68807)
gcp_kms_encrypt and gcp_kms_decrypt located in
google.cloud collection and not in community.general collection

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-04-10 16:25:17 +01:00
3b5ba22f52 Fixes #68121: Move kubectl plugin migration to proper place. (#68122) 2020-04-10 16:24:52 +01:00
cba90feabf moving zabbix modules to a dedicated collection (#68190) 2020-04-10 16:24:20 +01:00
a095172130 Fix ansible-test --docker without tests dir. 2020-04-09 18:12:21 -07:00
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
2020-04-09 13:27:58 -05:00
a681810b2f doc: variable precedence: "override", not "overwrite" (#68698) 2020-04-09 11:55:53 -04:00
0f8937f2ed basic: Update required library message (#68657)
Updated missing_required_lib API message.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-04-09 11:49:04 -04:00
780067e6a1 url_windows - Add not around no redirection for auth headers (#68791) 2020-04-09 11:46:54 -04:00
43270332e7 true and false commands have to be quoted (#68761)
otherwise they will be parsed as bool instead of string by YAML.
2020-04-09 10:22:43 -05:00
4e3068dd5e reroute zabbix to its dedicated collection (#68806)
Refs https://github.com/ansible-collections/community.general/pull/11
Refs https://github.com/ansible-collections/community.zabbix/pull/1

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-04-09 10:12:00 -05:00
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>
2020-04-09 02:53:34 -07:00
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>
2020-04-09 00:26:59 -07:00
6f8a1d083e patch is in ansible.posix part deux (#68796) 2020-04-09 07:14:01 +01:00
9b43a57916 Add some missing dmi facts when we use dmidecode (#68756)
On OSes where we fall back to dmidecode (freebsd and linux currently),
add some missing fields that dmidecode provides when it is able.

Closes #59317.

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-04-09 00:33:11 -05:00
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.
2020-04-08 21:09:52 -07:00
a513a62536 Remove cgroup_perf_recap_graph.py, since that callback no longer exists here (#68779) 2020-04-08 14:04:53 -05:00
c9c1146cc8 dnf: remove un-needed function (#68482) 2020-04-08 20:36:28 +02:00
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
2020-04-08 14:28:51 -04:00
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
2020-04-08 11:36:38 -05:00
4f8e98d322 Update changelogs/fragments/allow-fail-json-msg-to-be-positional.yaml
Co-Authored-By: Matt Martz <matt@sivel.net>
2020-04-08 07:56:11 -07:00
e0e7713fd8 Fix yaml in changelog 2020-04-08 07:56:11 -07:00
184f540056 Add some more unittests for fail_json
Test that order of msg as a keyword arg doesn't matter
2020-04-08 07:56:11 -07:00
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')
2020-04-08 07:56:11 -07:00
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.
2020-04-08 01:15:49 -07:00
d4d2c95819 Update team_openstack in botmeta (#68679)
* Update team_openstack in botmeta

* Also add an ignore for Shrews
2020-04-07 16:47:26 -05:00
598ead965d Dev guide: add notes about different image types for integration and unit/sanity tests (#68663)
* Dev guide: add notes about different image types for integration and unit/sanity tests
* Update docs/docsite/rst/dev_guide/testing_integration.rst

Co-authored-by: Matt Clay <matt@mystile.com>
2020-04-07 09:17:44 -05:00
13aef3c2e5 Add --docker-terminate flag to ansible-test (#68688)
* Add --docker-terminate flag to ansible-test

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-04-06 20:38:29 -05:00
4916be24fd [git] make force=True apply to git fetches (#68691)
Fixes #67972

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-04-06 15:25:24 -05:00
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
2020-04-06 15:09:00 -05:00
318d5606c1 doc: explain default "required" value for argument_spec (#68678) 2020-04-06 16:07:30 -04:00
16e07fe5b5 Fix grammar error in docfile (#68707) 2020-04-06 16:03:17 -04:00
f50df67517 coverage for lookup_list (#68683)
* coverage for lookup_list

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-04-06 13:39:18 -05:00
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>
2020-04-06 11:18:48 -05:00
f921b1e3bd asa_facts (#68076) 2020-04-06 19:32:54 +05:30
e2b2de5827 Update BOTMETA for networking (#68639)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2020-04-06 15:22:26 +05:30
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
2020-04-03 10:19:01 -04:00
40d9650f20 Migrate apt_repo to community.general. Fixes #68637 (#68641) 2020-04-02 11:06:12 -05:00
ae1cd27b57 WebRequest - Fix use_proxy: no on module options (#68603)
* WebRequest - Fix use_proxy: no on module options

* Fix up changelog fragment
2020-04-02 07:17:50 +10:00
e785bdaa5b Un-migrate url_windows doc fragment (#68602)
* Un-migrate url_windows doc fragment

* Removed from routing file
2020-04-02 05:20:49 +10:00
f5178f9705 Reap collections changelog fragments - 5 (#68618)
* Reap collections changelog fragments - 5

* One more
2020-04-01 12:52:53 -05:00
f206af7a3a chocolatey botmeta and routing changes (#68598) 2020-04-01 10:23:07 +01:00
6db66bcadd Add relative module_util support for powershell (#68321)
* Add relative module_util support for powershell

* Added ansible-test classification support
2020-04-01 09:01:18 +10:00
a20a527014 ansible-galaxy - Fix tar path traversal issue during install - CVE-2020-10691 (#68596) 2020-04-01 06:39:02 +10:00
8c044b846d add collection plugin listing to ansible-doc (#68522)
- listing from collections
 - able to filter by namespace or collection
 - masks dupes just as normal collection loading does
2020-03-31 15:25:20 -04:00
a3d6b6bc48 Add pacman support to package_facts (#66596)
* Add pacman support
2020-03-31 13:03:54 -04:00
541384e7b7 coverage for lookup_config (#68566)
Signed-off-by: Rick Elrod <rick@elrod.me>
2020-03-31 09:57:50 -05:00
2b4ca69bc2 Add notifications to BOTMETA.yml. 2020-03-30 16:07:27 -07:00
7323d5dd0d Fix references to old egg-info directory. 2020-03-30 13:56:43 -07:00
d8d7a30ea6 Reap collections changelog fragments - 4 (#68570)
* Reap collections changelog fragments - 4

* Reap collections changelog fragments - 4
2020-03-30 14:57:37 -05:00
2c294d0cbf Reap collections changelog fragments - 3 (#68567) 2020-03-30 14:28:50 -05:00
af27d1a5ad Reap collections changelog fragments - 2 (#68565) 2020-03-30 14:06:08 -05:00
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
2020-03-30 11:47:53 -05:00
5f6427b1fc Fix missing persistent connection messages (#68496)
* Be more proactive about returning module messages

* Move message display to a function, and replace handling already in shutdown()
2020-03-30 11:26:33 -04:00
0fb5593abf Add initial ansible-test tests for collections. (#68533) 2020-03-29 09:04:27 -07:00
735885d57c Fix ansible-test requirements installation. 2020-03-29 08:46:25 -07:00
c888035e02 Update Ubuntu 18.04 test container to 1.13. (#68534) 2020-03-28 17:35:21 -07:00
bd9e31fcb0 Add a custom policy for hackers using ansible-test (#68535)
Signed-off-by: Rick Elrod <rick@elrod.me>
2020-03-28 17:07:29 -05:00
7777189954 Revert "ansilbe-doc list collections plugins (#67928)"
This reverts commit 0f5a63f1b9.
2020-03-28 11:21:08 -07:00
0f5a63f1b9 ansilbe-doc list collections plugins (#67928)
Now -l and -F will list plugins from discover-able collections
2020-03-27 22:19:49 -04:00
1570098e86 fallback to uid when no uname (#68466)
* fallback to uid when no uname

 fixes #68007

Co-Authored-By: Matt Clay <matt@mystile.com>
2020-03-27 22:09:51 -04:00
835ad75a0a add test coverage for core filters (#68518)
Also remove now-useless exception handling.
2020-03-27 17:18:27 -07:00
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
2020-03-27 17:10:38 -07:00
53a3d1ffdb Fix ansible-test change detection traceback. 2020-03-27 15:56:02 -07:00
d8b5c11a63 Report error for coverage 5+ in ansible-test. 2020-03-27 12:29:02 -07:00
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.
2020-03-27 12:24:08 -07:00
6a7e438012 Fix code coverage in tests.
Code coverage < 5 must be used.

ci_coverage
2020-03-26 22:41:12 -07:00
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>
2020-03-26 18:18:56 -05:00
2af76f16be Unify yaml style in unarchive tests to be dict-style (refs #68272) (#68477)
Signed-off-by: Rick Elrod <rick@elrod.me>
2020-03-26 18:02:17 -05:00
cfc9b4a1e2 Add Kubernetes Working Group to Communicating guide. (#68028) 2020-03-26 15:56:35 -04:00
01269f57a7 Rename AWS collections (#68476)
Both AWS collections have been renamed due to restrictions on the
ansible collections namespace.  Update botmeta and routing.yml for
the new paths.
2020-03-26 15:25:55 -04:00
db01053d6a Remove reference to core Ansible (#68462) 2020-03-26 15:22:36 -04:00
4fc10186b9 Move coding guidelines links to readme. (#68479) 2020-03-26 15:19:01 -04:00
5945415398 fix using inventory and cache plugins in a collection (#56469)
* Allow custom inventory plugins and cache plugins

If _load_name is not set correctly the cache plugin can't load the documentation (which is also the arg spec)

Fix the existing inventory plugin in the collections tests

Add integration tests for using a cache plugin in a collection

* Set the attribute on the instance instead of the class

Deprecate importing custom CacheModules directly - they should use the cache_loader
2020-03-26 12:05:46 -04:00
2268a37d4d Rename package to ansible-base 2020-03-26 08:12:17 -07:00
c61f141bbc Remove obsolete Makefile targets and logic. 2020-03-25 19:23:50 -07:00
206896e9b2 Cleanup refs to deleted files/dirs. (#68480)
* Remove deleted contrib dir from MANIFEST.in

* Update package-data sanity test.

Remove deleted files and directories.

* Remove aws_config dirs.
2020-03-25 19:10:27 -07:00
0bf7a08eb6 Remove hacking/aws_config
AWS hacking config has been moved to the AWS CI terminator repo, and is no
longer required in base.
https://github.com/mattclay/aws-terminator/pull/91
2020-03-25 18:47:34 -07:00
9139c1f81d consistently call tests tests, not filters (#68170)
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2020-03-25 21:31:29 -04:00
0651e1c25f Add some more test coverage for unarchive (#68272)
* Add some more test coverage for unarchive

This moves over (and slightly extends) coverage which was found in
incidental_flatpak_remote.

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

* add a group for testing too, user creation does not mean group creation on all platforms

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

* update the test group assert

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

* Fix style

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

* block/always

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-03-25 16:23:55 -05:00
11e678b1b0 coverage for filter/urls.py, including fallback to custom implementations (#68412)
Signed-off-by: Rick Elrod <rick@elrod.me>
2020-03-25 16:23:14 -05:00
01638e0ea2 [mathstuff] Get coverage into the 90% range (#68395)
Signed-off-by: Rick Elrod <rick@elrod.me>
2020-03-25 15:33:37 -05:00
913ee9119a Fix list formatting in Getting Started (#68153) 2020-03-25 15:29:09 -04:00
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
2020-03-25 15:24:04 -04:00
f633772942 Update documenation contributions to reflect that some docs are in collections now (#68264) 2020-03-25 14:04:53 -05:00
0d379d4205 Explain module docs loss for devel (#68369) 2020-03-25 13:55:05 -05:00
969e209a48 docs(windows_setup): +choco install openssh (#68408)
Also show most basic way of installing OpenSSH via Chocolatey
2020-03-25 13:53:54 -05:00
ddef49bb7f correctly escape parameters with dashes (#68281) 2020-03-25 14:49:05 -04:00
601065cb7a Remove old example playbooks dir. (#68409)
The content was relocated nearly 7 years ago.
2020-03-25 14:15:57 -04:00
89cec7c298 Remove MODULE_GUIDELINES.md (#68410)
The guidelines were moved to the docs site over 2 years ago.
2020-03-25 13:14:48 -05:00
8042d226e4 fix make webdocs warnings (#68411) 2020-03-25 13:13:56 -05:00
7ec0d59c30 windows - add docs for UNC path in PSModulePath error (#68421) 2020-03-25 14:09:32 -04:00
02e36fbfc2 fix broken link in developing collections (#68442) 2020-03-25 13:07:03 -05:00
d52d02f8aa reclassify fact_path to avoid local relative path (#67652)
should fix following when setting windows path in ansible.cfg:

  {"ansible_facts": {}, "changed": false, "failed_modules": {"setup": {"changed": false, "failed": true, "msg": "Get-AnsibleParam: Parameter 'fact_path' has an invalid path '/home/myname/ansible/test/C:\\users\\vagrant\\facts.d\\' specified."}}, "msg": "The following modules failed to execute: setup\n"}
2020-03-25 11:58:58 -04:00
ecd66a6a6e Action module xross coll (#68080)
* added test to verify xrs collection action/module

* added to runme

* sanity fixes

* corrected name

* avoid windoez
2020-03-25 11:57:53 -04:00
6acaf9fa95 route filters themselves, not their files (#68429) 2020-03-25 11:55:57 -04:00
c067beecda disable bot notification spam (#68460)
* disable bot notification spam

* add new key to botmeta sanity
2020-03-25 11:45:53 -04:00
e12cea2c7c ansible-test - fix up powershell module_util analysis for collections (#68422) 2020-03-24 23:44:50 -07:00
48bef155fd Ignore test files in new package-data sanity test (#68452) 2020-03-25 10:57:14 +10:00
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
2020-03-25 08:32:43 +10:00
28f8b89760 add readme to test/support (#68450)
Signed-off-by: Rick Elrod <rick@elrod.me>
2020-03-24 17:15:01 -05:00
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>
2020-03-25 08:08:23 +10:00
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
2020-03-24 15:46:56 -04:00
97e5179745 Test installing a .deb that has deps, from a URL (#68332)
Improve coverage of the apt module and remove some incidental
coverage from incidental_lookup_rabbitmq.

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-03-24 13:59:42 -05:00
433c98eae0 Ensure we have enough values to split (#56802)
Avoid raising an exception if pkgstr does not complains with expected
value.
2020-03-24 10:46:58 -04:00
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.
2020-03-24 12:03:31 +01:00
967e05bb23 DOC fix: typo in group addressing syntax (#67994) 2020-03-24 09:03:08 +01:00
3d6807f098 Reference directory_mode from mode description (#68202) 2020-03-24 09:00:27 +01:00
4083514d3e Fix typo and styling FAQ docs (#68212) 2020-03-24 09:00:03 +01:00
fb2a7ce923 Testing: Move from ibmcloud to ibmps 2020-03-23 23:00:06 -07:00
8d8c73729f Merge pull request #67093 from sivel/acd-content-dir
Add content dir where Ansible will look for the content provided by ACD
2020-03-23 23:30:40 +01:00
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>
2020-03-23 15:28:53 -07:00
36fc5840b7 hacking - Add script to easily rebalance Shippable groups (#67976)
* hacking - Add script to easily rebalance Shippable groups

* Fix py26 compile issue

* Add option to automatically change test target aliases
2020-03-24 08:14:09 +10:00
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
2020-03-23 16:04:07 -05:00
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>
2020-03-23 13:07:33 -07:00
f1b3e8364e Fix ansible-test PATH handling. 2020-03-23 13:06:03 -07:00
9765a80bd4 Fix ansible-test coverage analysis option usage. (#68406)
* Fix ansible-test coverage analysis option usage.

The `--input-dir` option for `coverage analyze targets generate` was being ignored.

No changelog entry since this feature has not yet been released.

* Move coverage config to fix type annotations.

Declaring the types before referencing them makes sure they're recognized by tools such as PyCharm.
2020-03-23 13:05:29 -07:00
d049888a92 Update Shippable hacking scripts default branch. 2020-03-23 13:04:56 -07:00
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
2020-03-23 14:47:58 -05:00
6369591b11 Update 2.10 roadmap (#68081) 2020-03-23 13:33:44 -05:00
2d93cebb72 Update pip install instructions (#68316)
* Update pip install instructions

* Remove a few words

* We are not maintaining RPMs on releases.ansible.com any longer
2020-03-23 12:34:23 -05:00
7c9889a72b validate-modules - fix ps module delegate type inspection 2020-03-23 11:14:21 -05:00
70827c7923 Fix ansible-test import analysis warning.
Fix overlooked in https://github.com/ansible/ansible/pull/68372/
2020-03-23 11:14:21 -05:00
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.
2020-03-23 11:14:21 -05:00
707eea3afa Add new options to hacking/shippable/incidental.py (#68384)
* Add `--plugin-path` option to `incidental.py`.

* Report on plugins with no test target.

* Add `--verbose` option to script.
2020-03-23 11:14:21 -05:00
649f657f91 Fix coverage script to handle ongoing runs (#68380)
* Fix get_recent_coverage_runs.py to handle ongoing runs

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

* Color code test status to make it easier to see at a glance

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

* fix lint

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-03-23 11:14:21 -05:00
82516a424e Fix hacking/shippable/incidental.py source search. 2020-03-23 11:14:21 -05:00
5a1b59adf9 Rename tests (#68356)
* Rename `tests` test to match plugin type.

* Rename `test_infra` test to avoid confusion.

This test target is not a test for test plugins.

* Rename `vars_prompt` test to avoid confusion.

* Update sanity ignores.
2020-03-23 11:14:21 -05:00
cf75e3f526 Fix ansible-test import analysis for collections. (#68352)
* Fix ansible-test import analysis for collections.

* Ignore plugins/module_utils/__init__.py
2020-03-23 11:14:21 -05:00
6fde9b3a23 Fix shebang sanity test module identification. 2020-03-23 11:14:21 -05:00
aaf575f0b2 Internally redirect win modules to collection name (#68317)
* Internally redirect win modules to collection name

* Added comment for how this should be fixed in a subsystem plugin

* add collection plugins for base tests
2020-03-23 11:14:21 -05:00
2c7f8bf586 Fix ansible-test windows-integration module refs. 2020-03-23 11:14:21 -05:00
a63dd92a45 Clean up network test config. 2020-03-23 11:14:21 -05:00
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>
2020-03-23 11:14:21 -05:00
41f6c73be0 Update ansible-test network test provisioning. (#68220)
* Update network provisioning defaults.

* Update network test requirements.
2020-03-23 11:14:21 -05:00
5159457ba1 Fix ansible-test unit test requirements.
Requirements were incorrectly added to ansible-test in https://github.com/ansible/ansible/pull/61813

These requirements should have been placed into `test/units/requirements.txt` instead.
Now that the relevant content has been migrated out of the repository, the requirements are no longer necessary there either.

No changelog entry for this change since the original changes were not included in any release and also lacked a changelog entry.
2020-03-23 11:14:21 -05:00
2dd9c479dc Remove unnecessary unit test requirements. 2020-03-23 11:14:21 -05:00
815a36d7a9 Fix sanity test ignores. 2020-03-23 11:14:21 -05:00
7e8dae5790 Remove unused unit test files. 2020-03-23 11:14:21 -05:00
9126ac53e3 Add dynamic and static include tests. (#68200)
* Add dynamic and static include tests.

* Update task names for junit output.
2020-03-23 11:14:21 -05:00
d87d96077f Add script for getting URLs of coverage runs
Signed-off-by: Rick Elrod <rick@elrod.me>
2020-03-23 11:14:21 -05:00
f18f480a3c Add hacking/shippable/incidental.py script. (#68182)
* Add hacking/shippable/incidental.py script.

* Add README.md.
2020-03-23 11:14:21 -05:00
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.
2020-03-23 11:14:21 -05:00
787089cba2 First attempt at making the shippable downloader recurse to pull parent results of reruns (#68154)
* First attempt at making the shippable downloader recurse to pull parent results of reruns

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

* Update message for previous run download.

Co-authored-by: Matt Clay <matt@mystile.com>
2020-03-23 11:14:21 -05:00
09614d90ac Consolidate Windows tests to one group. 2020-03-23 11:14:21 -05:00
27ce6dbc1f Remove test support option from ansible-test.
This option was added to facilitate migration and is no longer needed.
2020-03-23 11:14:21 -05:00
fb3e6d6b00 Remove unused Shippable scripts. 2020-03-23 11:14:21 -05:00
50442f9fdd Fix ansible-test handling of no Python coverage. 2020-03-23 11:14:21 -05:00
99e136e153 Remove out-of-date test constraint on paramiko.
ci_complete
2020-03-23 11:14:21 -05:00
26c45b2c2f Fix docker_swarm inventory integration tests (#68126)
* copy plugins.inventory.docker_swarm in to test/support

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

* Copy over functions from module_utils.docker.common and nuke the import

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-03-23 11:14:21 -05:00
5e28323f32 Fix incidental test stability. (#68125) 2020-03-23 11:14:21 -05:00
69543b47c9 fix last 7 docs errors on post-migration test runs (#68115)
* address toc-tree-glob-pattern-no-match errors

* address Include-file-not-found error

* address 2.10 porting guide errors, add warning to page

* updates individual plugin type pages

* Add ignores.

Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
Co-authored-by: Matt Clay <matt@mystile.com>
2020-03-23 11:14:21 -05:00
4cecacb915 Update Shippable test matrix. (#68117)
* Update Shippable test matrix.

* Remove unit test groups.

* Remove extra windows groups.
2020-03-23 11:14:21 -05:00
930d89dd5e core promotions 2020-03-23 11:14:21 -05:00
e0e57b4beb migration final cleanup 2020-03-23 11:14:21 -05:00
c788ee69d9 Migrated to wti.remote 2020-03-23 11:14:21 -05:00
cc2feea51b Migrated to vyos.vyos 2020-03-23 11:14:21 -05:00
d101834d28 Migrated to ibm.qradar 2020-03-23 11:14:21 -05:00
40714dfca9 Migrated to openvswitch.openvswitch 2020-03-23 11:14:21 -05:00
ab914b9ab6 Migrated to azure.azcollection 2020-03-23 11:14:21 -05:00
fe0f4750e1 Migrated to purestorage.flashblade 2020-03-23 11:14:21 -05:00
d9920706d7 Migrated to purestorage.flasharray 2020-03-23 11:14:21 -05:00
7449ec1546 Migrated to google.cloud 2020-03-23 11:14:21 -05:00
fb696bf66b Migrated to cyberark.bizdev 2020-03-23 11:14:21 -05:00
b82d084e90 Migrated to skydive.skydive 2020-03-23 11:14:21 -05:00
dd5a8dec21 Migrated to hetzner.hcloud 2020-03-23 11:14:21 -05:00
36a545553e Migrated to dellemc_networking.os6 2020-03-23 11:14:21 -05:00
bc40fe0b6f Migrated to dellemc_networking.os9 2020-03-23 11:14:21 -05:00
0b633b3703 Migrated to dellemc_networking.os10 2020-03-23 11:14:21 -05:00
d1f86d7151 Migrated to ovirt.ovirt 2020-03-23 11:14:21 -05:00
02541a15b2 Migrated to awx.awx 2020-03-23 11:14:21 -05:00
35063de590 Migrated to junipernetworks.junos 2020-03-23 11:14:21 -05:00
0c8d6f0805 Migrated to splunk.enterprise_security 2020-03-23 11:14:21 -05:00
8ee0187388 Migrated to openstack.cloud 2020-03-23 11:14:21 -05:00
6ce86295c0 Migrated to f5networks.f5_modules 2020-03-23 11:14:21 -05:00
675129ae19 Migrated to cisco.ucs 2020-03-23 11:14:21 -05:00
3149db0869 Migrated to cisco.nxos 2020-03-23 11:14:21 -05:00
ae8fb5e371 Migrated to cisco.mso 2020-03-23 11:14:21 -05:00
8a3f3e41f8 Migrated to cisco.meraki 2020-03-23 11:14:21 -05:00
5aa37733c3 Migrated to cisco.iosxr 2020-03-23 11:14:21 -05:00
7e04b5ba8b Migrated to cisco.ios 2020-03-23 11:14:21 -05:00
8a2e2e8af2 Migrated to cisco.intersight 2020-03-23 11:14:21 -05:00
ab5a3b4305 Migrated to cisco.asa 2020-03-23 11:14:21 -05:00
3f1cea89fb Migrated to cisco.aci 2020-03-23 11:14:21 -05:00
14b0ab63ac Migrated to arista.eos 2020-03-23 11:14:21 -05:00
6da1ec1d8c Migrated to check_point.mgmt 2020-03-23 11:14:21 -05:00
f0cf2c159b Migrated to netapp.ontap 2020-03-23 11:14:21 -05:00
cae9d633b0 Migrated to netapp.elementsw 2020-03-23 11:14:21 -05:00
0a9205b7c0 Migrated to netapp.aws 2020-03-23 11:14:21 -05:00
bdd82adf61 Migrated to netbox.netbox 2020-03-23 11:14:21 -05:00
0743e733bb Migrated to theforeman.foreman 2020-03-23 11:14:21 -05:00
09d8d46983 Migrated to fortinet.fortios 2020-03-23 11:14:21 -05:00
48d4e9370e Migrated to ansible.windows 2020-03-23 11:14:21 -05:00
829eb0f1d1 Migrated to ansible.posix 2020-03-23 11:14:21 -05:00
9a7a574ffc Migrated to ansible.netcommon 2020-03-23 11:14:21 -05:00
6d910034a0 Migrated to ansible.amazon 2020-03-23 11:14:21 -05:00
8f7e9f73ce Migrated to servicenow.servicenow 2020-03-23 11:14:21 -05:00
3c9bb5e442 Migrated to community.azure 2020-03-23 11:14:21 -05:00
bb3494356a Migrated to community.windows 2020-03-23 11:14:21 -05:00
40218535ee Migrated to community.vmware 2020-03-23 11:14:21 -05:00
f8c4936c10 Migrated to community.vmware_rest 2020-03-23 11:14:21 -05:00
46b865c7d6 Migrated to community.mongo 2020-03-23 11:14:21 -05:00
0ed8af9021 Migrated to community.crypto 2020-03-23 11:14:21 -05:00
fb6bc5058a Migrated to community.kubernetes 2020-03-23 11:14:21 -05:00
43f47d553e Migrated to community.grafana 2020-03-23 11:14:21 -05:00
4e488d8435 Migrated to community.general 2020-03-23 11:14:21 -05:00
58e8a91f4d Migrated to community.amazon 2020-03-23 11:14:21 -05:00
32bf1b8115 Migrated to frr.frr 2020-03-23 11:14:21 -05:00
38c652712c Migrated to containers.podman 2020-03-23 11:14:21 -05:00
13bd868f59 Added routing file 2020-03-23 11:14:21 -05:00
3a267cb2f6 Mark migrated remote 2020-03-23 11:14:21 -05:00
f9db761748 Mark migrated vyos 2020-03-23 11:14:21 -05:00
3ac3b43ef3 Mark migrated openvswitch 2020-03-23 11:14:21 -05:00
4bc38cf845 Mark migrated azcollection 2020-03-23 11:14:21 -05:00
8c9af7f760 Mark migrated flashblade 2020-03-23 11:14:21 -05:00
7c7ad4930d Mark migrated flasharray 2020-03-23 11:14:21 -05:00
65cc7ae3b3 Mark migrated cloud 2020-03-23 11:14:21 -05:00
1a00aacce2 Mark migrated bizdev 2020-03-23 11:14:21 -05:00
cf97d471dc Mark migrated skydive 2020-03-23 11:14:21 -05:00
0656a6fb2d Mark migrated hcloud 2020-03-23 11:14:21 -05:00
b1b8a5172e Mark migrated os6 2020-03-23 11:14:21 -05:00
e9f9930783 Mark migrated os9 2020-03-23 11:14:21 -05:00
a0530306ab Mark migrated os10 2020-03-23 11:14:21 -05:00
29d4513c5a Mark migrated ovirt 2020-03-23 11:14:21 -05:00
8434b55d2a Mark migrated awx 2020-03-23 11:14:21 -05:00
be982042cc Mark migrated junos 2020-03-23 11:14:21 -05:00
1d736b01bc Mark migrated cloud 2020-03-23 11:14:21 -05:00
3cf7db206b Mark migrated f5_modules 2020-03-23 11:14:21 -05:00
23b70690df Mark migrated ucs 2020-03-23 11:14:21 -05:00
d374925529 Mark migrated nxos 2020-03-23 11:14:21 -05:00
1d85b0d46f Mark migrated mso 2020-03-23 11:14:21 -05:00
330b15d8ea Mark migrated meraki 2020-03-23 11:14:21 -05:00
b8d382acf5 Mark migrated iosxr 2020-03-23 11:14:21 -05:00
99abf93a22 Mark migrated ios 2020-03-23 11:14:21 -05:00
35f3f306e1 Mark migrated intersight 2020-03-23 11:14:21 -05:00
d9f55acdd5 Mark migrated asa 2020-03-23 11:14:21 -05:00
2176b36b6f Mark migrated aci 2020-03-23 11:14:21 -05:00
708d3a7639 Mark migrated eos 2020-03-23 11:14:21 -05:00
128eff1e23 Mark migrated mgmt 2020-03-23 11:14:21 -05:00
cb396e8e43 Mark migrated ontap 2020-03-23 11:14:21 -05:00
5fea0ad10d Mark migrated elementsw 2020-03-23 11:14:21 -05:00
59289b0c26 Mark migrated aws 2020-03-23 11:14:21 -05:00
9764b658ce Mark migrated netbox 2020-03-23 11:14:21 -05:00
6c7c0ebe7d Mark migrated foreman 2020-03-23 11:14:21 -05:00
e7f03a436f Mark migrated fortios 2020-03-23 11:14:21 -05:00
cf8d4cec50 Mark migrated windows 2020-03-23 11:14:21 -05:00
a14be5560f Mark migrated posix 2020-03-23 11:14:21 -05:00
24eabf2fb9 Mark migrated netcommon 2020-03-23 11:14:21 -05:00
a20c36a304 Mark migrated amazon 2020-03-23 11:14:21 -05:00
da5e24e389 Mark migrated azure 2020-03-23 11:14:21 -05:00
daf3daf2db Mark migrated windows 2020-03-23 11:14:21 -05:00
a7d1e5934d Mark migrated vmware 2020-03-23 11:14:21 -05:00
6c0fdede6b Mark migrated vmware_rest 2020-03-23 11:14:21 -05:00
7a961ef0cc Mark migrated mongo 2020-03-23 11:14:21 -05:00
a9ae99106b Mark migrated crypto 2020-03-23 11:14:21 -05:00
37fd05b11d Mark migrated kubernetes 2020-03-23 11:14:21 -05:00
210e197b4b Mark migrated grafana 2020-03-23 11:14:21 -05:00
a2a1fde328 Mark migrated general 2020-03-23 11:14:21 -05:00
8b3f1dd5c3 Mark migrated amazon 2020-03-23 11:14:21 -05:00
f275bf0c10 Mark migrated frr 2020-03-23 11:14:21 -05:00
bb7359390a Mark migrated podman 2020-03-23 11:14:21 -05:00
e8103cd3d1 Mark migrated init 2020-03-23 11:14:21 -05:00
4e8b240b8b Intersphinx (#68090)
* try to route 2.9 porting guide links to 2.9 module docs

* refreshed existing .inv files

* better URL

* new .inv file for version-specific links

* adds targets for version-specific docs

* fixes 2.5 porting guide refs

* fixes 2.8 porting guide refs

* fixes 2.7 porting guide refs

* fixes links on ACI guide

* adds .inv files for versions 2.5 through 2.8

Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2020-03-06 14:16:35 -08:00
d7b7ed6ba6 Remove assemble from incidental tests.
The module and action plugin are now remaining in base.
2020-03-06 13:02:54 -08:00
21dfec6c4f make test_raw use setUp instead of global definitions
Signed-off-by: Rick Elrod <rick@elrod.me>
2020-03-06 09:34:21 -08:00
2c0be65f44 Relocate netbox module_utils unit tests. (#68056)
* Relocate netbox module_utils unit tests.

This puts them where migration expects them.

* Update sanity ignores.
2020-03-05 16:01:55 -08:00
65edd5e37f Split test_connection into individual files
Signed-off-by: Rick Elrod <rick@elrod.me>
2020-03-05 14:08:38 -08:00
f9a038cbd4 win - Allow FQCN for win_command and win_shell 2020-03-05 12:14:58 -08:00
35996e57ab Add missing test support plugin. 2020-03-04 22:35:12 -08:00
46fdbbdd18 Split test_play_context_make_become_cmd into files (#68026)
* Split test_play_context_make_become_cmd into files

For NWO migration. Split the become module assertions into distinct test
files and functions. For now, this is done naively - there is probably
room to abstract these tests out and remove some of the duplication
later on.

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

* use default_exe variable instead of hardcoding /bin/bash

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

* Move become plugin tests to their proper directory and rename them accordingly

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

* Fix up fixtures and imports.

* Remove stray file.

Co-authored-by: Matt Clay <matt@mystile.com>
2020-03-04 22:26:04 -08:00
f963c8ca3d Update no-unwanted-files sanity test.
This prepares for an additional path to be present after migration.
2020-03-04 14:03:35 -08:00
b26ceb57ce Remove file exists check from botmeta sanity test.
Many of the paths in botmeta will no longer exist after migration, making this check pointless.
2020-03-04 14:03:09 -08:00
4fb7e62003 Include more test support plugins. (#68015)
* Include more test support plugins.

Also add missing module_utils `__init__.py` files.

* Update sanity ignores.
2020-03-04 12:20:02 -08:00
a51266ba85 Skip removed windows CI groups after migration. 2020-03-04 12:08:05 -08:00
8339704831 Create a dedicated windows-minimal test target. (#67987)
* Create a dedicated windows-minimal test target.

The windows-minimal target is a copy of the win_ping test, taking the place of that test as the windows minimal test run on multiple python versions.

It includes a private copy of the win_ping module so it will work after migration.

This will keep tests passing during the migration prep process.

* Update sanity ignores.
2020-03-03 18:36:37 -08:00
3508e1197e Update test matrix to prepare for migration. (#67983)
* Split fallaxy tests into their own group.

This keeps expected pass/fail tests separate during migration prep.

* Move network tests down in matrix.

This will help keep pass/fail tests grouped together during migration prep.

* Group all incidental tests together.

This will keep pass/fail tests separate leading up to migration.
2020-03-03 16:23:48 -08:00
f4b923a29b Automatically enable test plugins after migration. 2020-03-03 16:23:27 -08:00
1a8fdaadc7 Fix powershell coverage path rewriting.
This applies the same rewrite logic to PowerShell coverage as is used for Python coverage.
2020-03-03 14:07:29 -08:00
d61332b50e O365 connector_card import from dict_transformations
Update office_365_connector_card.py to import snake_dict_to_camel_dict
from common.dict_transformations instead of ec2, to eliminate collection
dependency on AWS collection.
2020-03-02 14:02:46 -08:00
90dc0e904e Revert "Temporarily remove AIX from CI."
This reverts commit ce0fc4005c.
2020-03-02 12:00:12 -08:00
b241c021b7 Set fallaxy tests as a smoketest 2020-03-02 11:59:38 -08:00
7c493577ba Unit test cleanup to assist with migration. (#67920)
* Move linode unit tests to match module layout.

* Fix location of netapp module_utils unit tests.

* Update sanity ignores.
2020-03-02 10:40:34 -08:00
3383dc8c02 Disable automerge 2020-03-02 09:16:43 -08:00
d4581aca96 Update nxos_l2_interfaces merged test (#67918)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2020-03-02 21:44:10 +05:30
7307339a7e NX-OS ACLs module (#67558)
* Added nxos_acls module

* Adding tests

* Added integration tests

* Integration tests update

* Updated documentation

* Replaced state changes

* Added warning detection

* Added port-protocol mapping

* Added change

* Merge update changes

* Completed integration tests, rtt

* Added unit tests

* Linting

Added metaclass info

* Changed port protocol to str

* Fixed shippable errors, added examples

* Fixed type error, updated examples
2020-03-02 16:49:28 +05:30
4ef7bd4c79 ovirt: update botmeta deprecated (#67826)
* ovirt: update botmeta deprecated

* correct deprecate option

* remove duplication

* add removed_module

* add removed_module to external_provider

* add imports and metaclass

* update misc ovirt

* update sanity tests to have correct misc ovirt name

Signed-off-by: mnecas <necas.marty@gmail.com>

* remove unnecessary sanity ignore
2020-03-02 10:18:35 +00:00
48fffe167d ovirt_vm: remove deprecated warning (#67922)
* ovirt_vm: remove deprecated warning of boot params

* update docs
2020-03-02 04:45:25 -05:00
4e43bd3a4f fix nxos_l2 resource tests (#67916) 2020-03-02 15:05:26 +05:30
29978d027b Update default test container to version 1.12. 2020-03-02 00:06:47 -08:00
637d1f19d5 Skip lookup tests on Python 2.6.
Lookups are only executed on the controller and Python 2.6 is no longer supported on the controller.
2020-03-02 00:06:18 -08:00
64782dd815 Split unit tests into 3 groups. (#67917) 2020-03-01 22:57:48 -08:00
97d2d4512f Separated ps module_util test targets, added WebRequest tests (#67914)
* Separated ps module_util test targets, added WebRequest tests

* Simplify header test
2020-03-02 16:12:08 +10:00
c66ee7e994 Split C# module utils to their own test target (#67910)
* Split C# module utils to their own test target

* Fix up outstanding sanity ignores
2020-03-02 15:16:31 +10:00
f3ddf1bc95 NX-OS ACL interfaces module (#67505)
* Rebase

* Completed integration tests

* Added unit tests

* Added warning detection

* Updated tests

* Completed tests

* Linting

Linting II

YAML Lint

Linting

* Updated review changes

* Updated examples, fixed reviews

* Added failure condition

* Resolved merge conflict
2020-03-02 09:52:32 +05:30
42eba3ce25 Increase unit test timeout. 2020-03-01 19:22:56 -08:00
ebb255f0d3 Add Python 3.9 to ansible-test.
ci_complete
ci_coverage
2020-03-01 17:42:06 -08:00
e0875f2aef Skip ios_acls unit test on Python 3.5. 2020-03-01 14:07:37 -08:00
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>
2020-03-02 08:02:38 +10:00
64a2864158 Fix ansible-test constraints for AWS. 2020-03-01 14:01:25 -08:00
8446553953 Fix ACI unit test on Python 3.8+ 2020-03-01 13:59:58 -08:00
c06f442409 Fix ansible-test import sanity test venv setup. 2020-03-01 13:59:24 -08:00
bcddf2bda9 Increase unit test coverage timeout. 2020-03-01 13:59:09 -08:00
ac8f1ad4e2 Fix AttributeError in ce_lacp on Python 3.9. 2020-03-01 13:58:42 -08:00
gp
44d8ce9b31 Remove redundant check for pyopenssl (#67901) 2020-03-01 21:32:49 +01:00
99e657162f Fix ansible-test module_utils analysis. 2020-03-01 12:29:54 -08:00
40dc851f7e Skip mongodb tests on all centos versions.
The tests were already skipped for versions 6 and 7, and are not passing on version 8.
2020-03-01 10:33:42 -08:00
0c0b3f054b Remove invalid skip aliases in tests. 2020-03-01 10:32:01 -08:00
3558651d39 nxos_lldp_interfaces resource module (#67802)
* Added nxos_lldp_interfaces module

* Linting

* Added RTT, resolved shippable errors

* Added new states

* New states edit

* Updated states

* Updated tests

* Show all interfaces in facts

* Test changes

* Added unit tests

* Linting

* Handled portchannel failing condition
2020-03-01 20:52:25 +05:30
4b718ed58b The different MongoDB test setups collide. (#67895)
ci_complete
2020-03-01 15:26:04 +01:00
b3381704e3 Misc documentation fixes (#67863)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-03-01 10:44:53 +01:00
8f9f8ec594 VyOS: firewall_interfaces module added (#67254)
* firewall_interfaces module added

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* sanity fixes

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* sanity fixes

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* delete opr updated

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* tests updated

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* comments incorporated

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* ci failure fix

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>
2020-03-01 11:02:22 +05:30
7765870421 NXOS: Manually Configurable Route-Target (#52650)
* Renamed auto evpn test

* Made sure that the current module is idempotent with additional tests

* Added tests for route-target import function

* Added tests for route-target export function

* Added tests for route-target both function

* PEP8 syntax fix

* Added route-target import & export function

* Added required 'version_added: "2.8"' in the documentation

* Updated documentation of new route-target options

* Added a test to make sure that in case of `state=absent` on the vrf
level the route-target options are ignored.

* Specified that the route-target options are ignored in case of
`state=absent'.

* Updated the doc to the correct format (using 'C()')

* Changed the VRF Route Target Syntax

Instead of using three different params (route_target_import,
route_target_export, route_target_both) the module uses now only one
param (route_targets) and the direction is specified for each of the
route targets.

Example:
route_targets:
[{rt: '...', direction: '{import|export|both}', state: '...'}]

* Updated Description and Examples to reflect new params

* Updated "version_added"

* pep8 fixes

* If rt['direction'] is not definied, we assume default 'both' and run
the same routine

* Added test with default direction for route-targets

* Documentation fixes
2020-03-01 10:39:04 +05:30
db2d5b09ef ldap_attr: fix small bug (using wrong variable) (#67887)
Changed self.name to name in ldap_attr module
2020-03-01 09:17:44 +05:30
70fc69c852 Fix vcenter requirements. 2020-02-29 13:49:26 -08:00
9dacbea5ef Update BOTMETA.yml migrated_to for Netbox components (#67586)
* Update BOTMETA.yml to show they have been migrated to netbox_community.ansible_modules

* Update BOTMETA.yml to proper format

* Expanded from dir to each module migrated_to

* Fixed test issues

* Updated to new FQCN
2020-02-29 16:43:29 +00:00
0bb2d67562 add new module mongodb_info (#67846)
* add new module mongodb_info

* fix doc and examples

* add GPL info

* use LooseVersion in the function doc string
2020-02-29 15:37:52 +01:00
35fd86c6bc acme_* modules: adjust documentation to reference RFCs 8737 and 8738 instead of the drafts (#67881)
* Adjust documentation to reference RFCs 8737 and 8738 instead of the drafts.

* More references.
2020-02-29 14:20:14 +01:00
ce0fc4005c Temporarily remove AIX from CI. 2020-02-28 21:07:47 -08:00
7c8b046b5f Fourth batch of incidental integration tests. (#67873)
* Copy in incidental posix tests.

* Update incidental test aliases.

* Update target names.

* Add support plugins.

* Fix paths.

* Update ignores.

* Update integration-aliases sanity test.

* Add incidental tests to CI.
2020-02-28 20:37:50 -08:00
04666c9fa1 Clean up unit tests to assist with migration. (#67875)
* Split out cache plugin unit tests.

* Rename unit tests to match code under test.

* Relocate unit test code to match code under test.

* Another rename.

* Update sanity ignores.
2020-02-28 20:29:41 -08:00
3c9747ba2f Remove unused json import (#67876)
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2020-02-28 21:31:52 -05:00
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>
2020-02-28 20:33:30 -05:00
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
2020-02-29 08:59:09 +10:00
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
2020-02-28 17:56:21 -05:00
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>
2020-02-28 23:17:03 +01:00
7a42354021 Switch to using FreeBSD 12.1 (#67659) 2020-02-28 17:12:55 -05:00
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
2020-02-28 23:05:53 +01:00
09fb563317 fix docker_login doc example (#67852) 2020-02-28 15:37:50 -05:00
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
2020-02-28 12:32:14 -05:00
b84dc2f2a6 Add integration test for regex_search filter. 2020-02-28 08:38:50 -08:00
9392912608 Resource module for IOS ACL (#66629)
* fix ios_acl
2020-02-28 22:06:38 +05:30
32a76f0aa1 Add 'OperationAborted' to the list of S3 error codes where we'll retry (#67811) 2020-02-28 11:26:26 -05:00
dbd86be2d6 Update vmware_guest_info.py (#67853)
forgotten doc replacement of vmware_guest_facts to vmware_guest_info
2020-02-28 21:23:35 +05:30
b437167671 line indentation issue in postgresql_set (#67859)
Fixed indentation issue with the `register` for the example task in postgresql_set module.
2020-02-28 21:22:30 +05:30
ed37efb217 "Fix" test_get_bin_path by changing mock order (#67730)
pytest-mock 2.0.0, when run locally, gets grumpy when os.path.exists is
messed with and then another method is patched afterwards. Likely
something in the pytest-mock chain uses os.path.exists internally, and
since pytest-mock prohibits context-specific patching, there's not a
good solution. For now, just patch os.path.exists last.

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-02-28 10:39:27 -05:00
735ea43aeb hostname Add cloudlinuxserver value to hostname.py (#66911) 2020-02-28 10:26:07 -05:00
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
2020-02-28 10:19:47 -05:00
4c0eb4396b Resource module for IOS static routes (#64632)
* ios_static_routes
2020-02-28 18:29:17 +05:30
6629b9feef Resource module for IOS ACL_Interfaces (#66746)
* acl_interfaces
2020-02-28 16:29:18 +05:30
08fc9f63b6 Add x509_crl_info module (#67539)
* Add x509_crl_info module.

* Apply suggestions from code review

Co-Authored-By: Andrew Klychkov <aaklychkov@mail.ru>

Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
2020-02-28 08:00:47 +01:00
21475aa83b Test system users and groups. 2020-02-27 21:45:18 -08:00
b6c2056ea2 mongodb_user: fix doc formatting (#67763)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-02-28 09:04:27 +05:30
0cd22abe8c mongodb: Fix documentation (#67806)
* Added correct datatypes of parameter
* Fixed doc formatting

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-02-28 08:51:06 +05:30
8e31a2fe40 Add lookup_dict integration test. (#67836)
* Add lookup_dict integration test.

* Skip test on python 2.6.
2020-02-27 18:45:37 -08:00
2a920cf228 Fix flake8 errors for checkpoint modules (#67827)
We caught these in our checkpoint.checkpoint collection testing.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2020-02-27 21:15:32 -05:00
f735fd672a Third batch of incidental integration tests. (#67830)
* Copy in incidental windows tests.

* Update incidental test aliases.

* Add support plugins.

* Update target references.

* Update sanity ignores.

* Update integration-aliases test.

* Add to CI.
2020-02-27 16:05:47 -08:00
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>
2020-02-27 15:26:20 -07:00
75b088d6a9 Remove extra Ansible in network automation section header (#67828) 2020-02-27 15:28:34 -06:00
92571e5448 Update blockinfile.py to change dest: to path: (#67824) 2020-02-27 16:13:25 -05:00
d7546ba336 Fix PostgreSQL tests for newer FreeBSD versions (#67658)
Use PostgreSQL 9.5 on FreeBSD 12.0, and PostgreSQL 11 on FreeBSD 12.1 and 11.3 due to the Python packages having a dependency on that version of PostgreSQL and automatically uninstalling PostgreSQL 9.5.

* Use separate PostgreSQL versions for 12.0 and 12.1
2020-02-27 15:01:15 -05:00
cfe96b2092 add module cloudformation_exports (#67349)
* add module cloudformation_exports

* add RETURN, add aliases group, clean up yaml

* update return value. uncomment security_token. remove cloudformation shortcut

* fix typo

* try to delete test stack

* rename stack

* add cleanup and assert. try to set stack name with variable

* create s3 bucket instead

* set bucket name

* add tests, remove unsed key and import, add iam role, add to module_defaults

* import exceptions, fix assert syntax

* fix assert

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

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

* fix export name

* renamed module

Co-authored-by: Jill R <4121322+jillr@users.noreply.github.com>
2020-02-27 11:39:59 -07:00
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
2020-02-27 10:44:20 -07:00
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
2020-02-27 13:51:23 +00:00
ed306c7991 influxdb: Fix documentation (#67807)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-02-27 13:43:16 +01:00
08821709ef Fix invalid botmeta entries (#67785)
Correct paths
Remove trailing whitespace
2020-02-27 11:49:45 +00:00
3405ee1c01 Add iosxr_static_routes RM (#65181)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2020-02-27 14:31:00 +05:30
9afe87139a Add win_psrepository_info module (#67594)
* Add win_psrepository_info module

* Change return type

* Add tests for win_psrepository_info
2020-02-27 16:05:37 +10:00
10feb24870 mongodb_shard: fix doc formatting (#67750) 2020-02-27 08:04:12 +05:30
d5c17118ed s3_bucket - cleanup and test stabilisation. (#66778)
* AnsibleAWSModule related cleanup - s3_bucket

* Add extra information to s3_bucket timeout failures, it's possible the comparisons are doing something weird...

* Move Bucket Encryption boto support logic into the pre-flight checks

* Use the built in required_by logic

* Rework s3_bucket integration tests

* Add a retry around put_bucket_encryption

s3_client.put_bucket_encryption is occasionally dropped on the floor
by Amazon add some logic to retry s3_client.put_bucket_encryption call

* Catch OperationAborted and retry, it is caused by a conflicting change
still being in progress.   (For example an Encryption setting applying)

* Make sure we don't explode if the botocore version's too old

* Review tweaks
2020-02-26 16:54:39 -07:00
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
2020-02-26 16:51:04 -07:00
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
2020-02-26 15:40:17 -08:00
5550fc442b Mark aws_acm unstable and connection_aws_ssm disabled (#67787)
* Mark aws_acm and connection_aws_ssm unstable

CI failures in https://app.shippable.com/github/ansible/ansible/runs/160867/133/tests
and https://app.shippable.com/github/ansible/ansible/runs/160867/129/tests

* Disabling concection_aws_ssm, it's repeatedly failing on this PR
https://app.shippable.com/github/ansible/ansible/runs/160888/133/tests
2020-02-26 14:56:05 -08:00
357ae7ec0e Remove unused import from frr cli plugin (#67790)
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2020-02-26 16:48:07 -05:00
dd53c104d7 postgresql_info: move subscription info to corresponding database dict (#67772) 2020-02-26 22:25:16 +01:00
b68e55da26 Remove test/legacy/ directory. (#67786)
* Remove `test/legacy/` directory.

* Remove references to `test/legacy/` directory.

* Update the remaining valid legacy reference.

* Remove outdated legacy references.
2020-02-26 11:48:30 -08:00
a6f24f8aa9 Migrate ovirt to collection - add botmeta (#67729)
* Add ovirt migrated_to to botmeta

* list all ovirt modules

* remove .idea

* remove links
2020-02-26 18:35:22 +00:00
d8c5c6eb9d Add Switchport mode support in newly introduced *_l2_interfaces resource module (#67456)
* fixes 65032
2020-02-26 23:49:00 +05:30
a18d3257e9 Add more bot notifications for test related paths. 2020-02-26 08:50:03 -08:00
a1f26af712 ec2_instance - update tests related to termination protection (#65035)
* ec2_instance - update tests related to termination protection

* add more test cases for termination protection
2020-02-26 11:08:49 -05:00
a4da73e961 misc typo fixes (#67775)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-02-26 10:58:39 -05:00
9c221e2bfa Remove unused import from test_eos_static_routes.py (#67776)
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2020-02-26 09:27:40 -05:00
829a29ef18 Fix to be support for zabbix 4.4 or more and python3 (#67693)
add fragments file
2020-02-26 07:48:29 -05:00
305789144a Fix to remove unnecessary duplicate line (#67761) 2020-02-26 07:48:15 -05:00
e3591223a0 Second batch of incidental integration tests. (#67765)
* Update incidental test aliases.

* Rewrite target references for renamed targets.

* Add incidental tests to CI.

* Update sanity tests for incidental cloud tests.

* Initial copy of incidental tests.

* Copy contrib files into test.

* Update paths in test.

* Add support plugins.

* Update plugin to work around missing deps.

* Update sanity ignores.

* Fix matrix entries.

* Remove debug echo.
2020-02-25 23:18:50 -08:00
a19ae28326 Test the delay option in wait_for_connection. 2020-02-25 19:27:18 -08:00
6e1a59174a Clean up CONDITIONAL_BARE_VARS warning. Fixes #67735 (#67751) 2020-02-25 16:36:01 -06:00
370f788731 adhoc: Load callbacks before sending v2_playbook_on_start (#67673) 2020-02-25 17:00:08 -05:00
4c016e64dd Update 'server' doc in nsupdate module to avoid DNS names (#67597) 2020-02-25 16:07:55 -05:00
e9f22a2269 win_dns_record: Improve examples documentation (#67744) 2020-02-25 16:03:03 -05:00
1b5c69deef mysql_info: remove irrelevant comment (#67753) 2020-02-25 16:00:41 -05:00
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.
2020-02-25 13:48:26 -07:00
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>
2020-02-25 13:30:45 -07:00
f0159b8870 postgresql_info: add getting publication statistics (#67614)
* postgresql_info: add getting publication statistics

* add changelog

* fix

* fix server_version check
2020-02-25 20:58:23 +01:00
b9a315a2c0 mysql_db: add dump_extra_args parameter (#67747)
* mysql_db: add dump_extra_args parameter

* add changelog fragment
2020-02-25 20:48:32 +01:00
848aa06cac Remove unused variables in collection API (#67724)
Remove unused variables in _download_file API

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-02-25 12:30:53 -05:00
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
2020-02-25 10:42:31 -05:00
b950d18912 Add an example of specifying a specific commit hash. (#67722) 2020-02-25 10:40:12 -05:00
9ea5bb3364 strip spaces for each value in host list lists (#67701) 2020-02-25 09:16:27 -05:00
726d6455d8 eos static_routes module added (#65480)
* Adding files for RM static_routes

* Added Integration tests

* Added Unit testcases

* Addressed review comments

* corrected lint errors

* corrected documentation errors

* Lint errors

* corrected test/sanity

* corrected documentation for deprecation

* corrected case sensitivity

* Again Documentation eroor

* Lint errors again

* corrected deprecated module in ignoretxt

* added new gethered,rendered,parsed state checks to unit test

* New code broke the old flow-fixed

* Lint errs

* Added check for running_config

* Add rtt testcase

* Fixed unit tcs

* lint errors

* lint errors

* Modified replaced operation behavior

* updated documentation and tests for delete opration

* fixed shippable errors

* review comments and flake8 error fix

* syntax errors fixed
2020-02-25 07:50:27 -05:00
6f0924a892 Remove unnecessary indent (#67728)
total_size fact is populated if schema is not specified in
postgresql_user_obj_stat_info module.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-02-25 14:12:56 +05:30
4e571248a9 First batch of incidental integration tests. (#67717)
* Initial copy of incidental network tests.

* Update incidental test aliases.

* Add incidental tests to CI.

* Rewrite module references in tests.

This should not be necessary once module redirection is supported.

* Rewrite target references for renamed targets.

* Add support collections for incidental tests.

* Add ignores for test support code.

* Remove echo used for debugging.
2020-02-24 17:31:14 -08:00
81ffc315a4 Remove unused imports for iosxr_acls (#67711)
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2020-02-24 17:47:35 -05:00
8fbec3cdeb add download tarball option (#67548) 2020-02-24 16:30:34 -06:00
fc69f63cec Remove unused imports in eos_modules unittest (#67709)
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2020-02-24 16:37:19 -05:00
bfea5cfca0 Remove unused imports from vyos_firewall_global (#67710)
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2020-02-24 15:26:42 -05:00
d317cc71c7 s3_bucket: accept NetApp StorageGRID create_bucket response. (#67462) 2020-02-24 13:00:38 -07:00
c5ec0fcb34 Setup documentation - windows custom fact variable name (#67690) 2020-02-24 14:58:18 -05:00
4b382b78d0 ovirt_vm: add cpu_pinning example (#67612) 2020-02-24 14:41:50 -05:00
6c70959131 Update example requirements file docs (#67626)
Use "name" when possible rather than "src" to make the examples
of roles and collections in a single requirements files more
coherenant. Fundamentally, roles and collections are completely different.
But we can make the requiremets file easier to read by unifying the
format as much as possible.
2020-02-24 14:37:10 -05:00
e2f1b57299 adds missing alias to win_regedit documentation (#67662) 2020-02-24 14:35:21 -05:00
75191c1484 fixes link, makes intrapage TOC local (#67664) 2020-02-24 14:29:22 -05:00
febbb66d71 Change package_license to accept_license (#67676) 2020-02-24 14:28:11 -05:00
a173ce9630 change intelligence_pack to intelligence_packs (#67686) 2020-02-24 14:25:23 -05:00
f520238d60 Migrate a batch of AWS modules to AnsibleAWSModule (1) (#67191)
* Move various Amazon modules over to AnsibleAWSModule

* Remove HAS_BOTO3 logic, it's handled by AnsibleAWSModule

* Simplify argument_spec handling ec2_argument_spec is automatically added by AnsibleAWSModule

* Cleanup boto3 error handling using fail_json_aws

* Migrate simple cases from boto3_conn to module.client()

* Migrate batch modules over to module.client()

* Migrate EFS module over to module.client()

* Comment cleanup

* Use deprecated_aliases in argument_spec rather than custom code

* Cleanup unused imports

* Make use of module.region

* Deprecate batch.AWSConnection it's now dead code
2020-02-24 14:01:14 -05:00
7b792e0a53 Skip lookup_hashi_vault test for Python 2.6 (#67657) 2020-02-24 14:00:59 -05:00
96244c4cde Make AWS test plugin to refer to the aws-permissions-for-integration-tests (#67665)
Make AWS test plugin to refer to the aws-permissions-for-integration-tests section of the AWS devel docs now that we have them, rather than suggesting to flag down specific users.
2020-02-24 11:56:58 -07:00
bd26b6c0b4 updated single quote handling to not strip and error on odd number (#67500)
Fixes #67274
2020-02-24 13:45:19 -05:00
eab914426b Specify display width and no color in test_execute_list_collection_no_valid_paths (#67680)
This ensures the test passes regardless of the test environment.
Previously, it would pass in some environments but fail locally
in other environments, due to the width being calculated as
different or support for color not being consistently detected.

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-02-24 13:43:32 -05:00
32a71221e8 Fix wakeonlan test for newer FreeBSD (#67656) 2020-02-24 13:40:59 -05:00
9b91068e23 Remove unused DCI script 2020-02-24 09:41:37 -08:00
d283126c31 eos_acls : Add eos acls resource module (#66308)
* Adding files for RM static_routes

* Added Integration tests

* Added Unit testcases

* Addressed review comments

* corrected lint errors

* corrected documentation errors

* Lint errors

* corrected test/sanity

* corrected documentation for deprecation

* corrected case sensitivity

* Again Documentation eroor

* Lint errors again

* corrected deprecated module in ignoretxt

* added new gethered,rendered,parsed state checks to unit test

* New code broke the old flow-fixed

* Lint errs

* Added check for running_config

* eos_acls resource module added

* Corrected errors

* corrected documentation errors

* corrected typo

* Testcases in progress

* Integration tests in progress

* Integration tests

* Added Intergration tcs

* Corrected pylint errors

* Resolving issues due to rebase

* Corrected Typo

* more pylint errors

* more pylint errors

* more pylint errors

* Documentation

* Documentation

* More lint errors

* Fixed Indentation

* Indentation issues - not getting fixed

* Indentation issues - not getting fixed

* Added rtt testcase

* Corrected whitespaces

* addressed review comments

* moved integration tests to common - to support eapi tests

* modification for merge update

* indentation errors

* added line key

* Fixing shippable errors

* fixing doc errors

* fixing doc errors

* fixing doc errors

* fixing doc errors

* fixing indentation

* modified replaced operation

* rebase issue fixed

* Corrected typo

* review comments and flake8 error fixed
2020-02-24 12:27:11 -05:00
74e948e6e4 Fix flake8 errors with eos_acl_interfaces (#67695)
Theses were exposed by our collections testing.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2020-02-24 09:47:43 -05:00
059a193dff lib/ansible/plugins/inventory/ini.py: added spacing for error message (#67361)
Signed-off-by: James McClune <falcon78921@users.noreply.github.com>
2020-02-24 09:26:48 -05:00
fc05c50b7f VyOS: firewall global module added (#66800)
* firewall global module

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* sanity fixed

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* test updated

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* sanity fixes

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* group member handling updated

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* comments incorporated

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>
2020-02-24 09:03:02 -05:00
b818436c5f Add iosxr_acls RM (#66207)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2020-02-24 18:34:27 +05:30
3acd8f6f7f Fix to - nxos_lag_interfaces not idempotent (#67359)
* Added fix for bug # 54400

* Adding files for RM static_routes

* Added Integration tests

* Revert "Added fix for bug # 54400"

This reverts commit bf42db4269.

* Revert "Adding files for RM static_routes"

This reverts commit dafdd92d43.

* Revert "Added Integration tests"

This reverts commit 129dc87682.

* Adding files for RM static_routes

* Added Integration tests

* Corrected lint errors

* Added fix for bug # 54400

* Revert "Added fix for bug # 54400"

This reverts commit bf42db4269.

* Revert "Adding files for RM static_routes"

This reverts commit dafdd92d43.

* Revert "Added Integration tests"

This reverts commit 129dc87682.

* Fix to #67169

* corrected rebase spillover

* indentation errors fixed

* modified integration testcase
2020-02-24 07:57:11 -05:00
f292f21d86 Fixes nxos_l2_interfaces module traceback if allowed vlans are not preconfigured (#67457)
* fixes 67455

* fix review
2020-02-24 17:44:21 +05:30
0d72d2d4d2 ovirt_vm: correct numa nodes (#67611)
* init commit

* update docs

* update numa function name

* correct whitespaces
2020-02-24 04:20:46 -05:00
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>
2020-02-24 11:08:14 +05:30
2dadc259d3 Split hcloud tests into two CI groups. (#67683)
* Split hcloud tests into two CI groups.

This will hopefully resolve CI failures when running with code coverage.

* Fix smoketest logic.
2020-02-23 21:17:03 -08:00
4a885072af Split vyos tests to avoid timeouts with coverage. 2020-02-23 20:43:05 -08:00
a64b562071 Fix up network testing on Shippable. (#67678)
This prepares for code coverage collection for initial setup of incidental test coverage.
2020-02-23 18:37:26 -08:00
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.
2020-02-22 17:35:18 +01:00
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>
2020-02-22 21:46:18 +05:30
482885e0c8 Fix network setup for collections in ansible-test. 2020-02-21 18:31:40 -08:00
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
2020-02-21 17:01:09 -05:00
542d1b98ff Support private test plugins in ansible-test. (#67660)
* Support private test plugins in ansible-test.

This feature is exclusively used for testing Ansible itself and is not available to collections.

Content in the newly supported directories will be added in follow-up PRs.

* Add new directory to path classification.

* Support new paths in shebang test.

* Add new directory to manifest.
2020-02-21 13:34:21 -08:00
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
2020-02-21 12:55:12 -05:00
d74ed41a4c AnsibleAWSModule add 'region' method (#66988)
* Add get_aws_region to module_utils.ec2 and region to AnsibleAWSModule

* Add example use

* Add changelog
2020-02-21 11:58:02 -05:00
34800fe027 Test: Bump Tower version to latest release 2020-02-21 08:34:54 -08:00
f70dc261cc fix(scaleway): use jsonify for application/json content-type only (#66957)
* fix(scaleway): use jsonify for application/json content-type

* add changelog
2020-02-21 17:14:22 +01:00
600d6278f9 eos : Add resource module eos_acl_interfaces (#67137)
* Added fix for bug # 54400

* Adding files for RM static_routes

* Added Integration tests

* Revert "Added fix for bug # 54400"

This reverts commit bf42db4269.

* Revert "Adding files for RM static_routes"

This reverts commit dafdd92d43.

* Revert "Added Integration tests"

This reverts commit 129dc87682.

* Adding files for RM static_routes

* Added Integration tests

* Corrected lint errors

* Added fix for bug # 54400

* Revert "Added fix for bug # 54400"

This reverts commit bf42db4269.

* Revert "Adding files for RM static_routes"

This reverts commit dafdd92d43.

* Revert "Added Integration tests"

This reverts commit 129dc87682.

* acl_interfaces

* acl_interfaces in progress

* Adding unit testcases

* Addresses Paul's review comments

* worked on shippable errors

* indentation errors

* Modified unit tests

* indent issues

* indent issues

* eos specfic changes

* making the integration tcs skip the zuul run

* addressed review comments

* added required:True documentaiton
2020-02-21 10:05:16 -05:00
195ded6527 Update AWS modules that use to implicitly retry on NotFound errors (#67369)
* Update AWS modules that expect to retry on exception codes that match the regex '^\w+.NotFound'

Modules should intentionally define any extra error codes

Use a waiter for ec2_vpc_igw after creating an internet gateway instead of retrying on InvalidInternetGatewayID.NotFound
2020-02-21 08:17:24 -05:00
ad8df69b58 docs/docsite/rst/: fix typos (#67645) 2020-02-21 10:57:07 +00:00
244277addd dev_guide/developing_modules_best_practices.rst: fix typo (#67639) 2020-02-21 10:56:35 +00:00
05a3192eb7 user_guide/intro_adhoc.rst: fix typo (#67644) 2020-02-21 10:56:25 +00:00
907c98ebcd /docs/docsite/rst/dev_guide: fix typos (#67643) 2020-02-21 10:56:12 +00:00
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.
2020-02-21 11:54:45 +01:00
61f2ae1c26 Fix runas as collection become plugin (#67638) 2020-02-21 19:23:53 +10:00
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
2020-02-20 17:15:27 -07:00
9c6495d4d4 elb_target / elb_target_info : Integration test fixups (#61256)
* Update AWS policy to enable management of TargetGroups

* elb_target: (integration tests) migrate to using module_defaults

* elb_target: (integration tests) lookup the AMI by name rather than hard coding AMI IDs

* elb_target_info: (integration tests) finish rename of integration test role

* elb_target: (integration tests) rename various resources to consistently use {{ resource_prefix }}

* elb_target_info: (integration tests) Migrate to using module_defaults

* elb_target_info: (integration tests) Lookup AMI by name rather than hard coding AMI IDs

* Apply suggestions from code review

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

* elb_target: (integration tests) Remove the 'unsupported' alias

* Try bumping up the timeout

* Rules don't permit 'shippable' (resource_prefix uses this when run in shippable)

* Try bumping up more timeouts :/

* Avoid double evaluation of target_health assertion

* Simplify target_type usage a little (rather than constantly performing a lookup)

* mark elb_target tests 'unstable' for now, they're slow

Co-authored-by: Jill R <4121322+jillr@users.noreply.github.com>
2020-02-20 17:13:09 -07:00
65646179f1 Fix become for network_cli in collections. 2020-02-20 15:13:39 -08:00
854925b072 Add changelog 2020-02-20 17:44:40 -05:00
1c15a485c2 Allow SSH synchronization between Docker containers 2020-02-20 17:44:40 -05:00
fb87f6f502 Purestorage content migration botmeta (#67189)
* Adding content migration for purestorage flasharray modules

* Adding content migration for purestorage flashblade modules
2020-02-20 14:12:12 -05:00
574033cebb Spelling fix, win_chocolatey_facts.py (#67617)
Spelling fix - "path" not "pth"
2020-02-20 11:33:42 -06:00
cffead4631 Do not error if collection specified null dependencies (#67575) 2020-02-20 11:23:23 -05:00
2de4e55650 Remove unused import for six in ipaddr filter (#67595)
This was caught in our ansible.netcommon collection testing.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2020-02-20 10:58:47 -05:00
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
2020-02-20 09:35:41 -05:00
0dc08f6b97 postgresql_info: add subscription info (#67464)
* postgresql_info: add subscription info

* add changelog
2020-02-20 09:59:45 +01:00
23995fef48 Add create_option to disk definitions (#62357)
Add create_option parameter to disk definitions to control whether disks
are created from the base image or are new disks being added to the VMs.
Currently, custom images with data disks defined in the image cannot be
used to launch VMs unless data disk definitions are excluded.  This
prevents the data disks from being modified/extended (like selecting a
different SKU or making the data disks bigger).  Exposing this option
allows VMSS VMs to be created with base images that have data disks
while extending their definitions.

Addresses #61804
2020-02-20 02:19:48 -05:00
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
2020-02-20 14:32:21 +10:00
b54e64bbc9 Remove unused import for iosxr acl_interfaces (#67587)
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2020-02-19 20:10:25 -05:00
ec967bce76 Fix typo with devel warning config option (#67590) 2020-02-19 18:24:05 -05:00
c520d70bf4 Templating: make sure only one variable results are cached (#67429)
* Make sure only one variable results are cached.

* Add changelog.

* Add test.
2020-02-19 18:04:01 -05:00
c61c0f7ad5 Add warning when running devel (#67502)
* Add warning when running devel. Addresses #67362

* Add config entry to disable devel warning, so it doesn't impact CI

* Update warning about using devel
2020-02-19 15:17:42 -06:00
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>
2020-02-19 15:42:46 -05:00
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>
2020-02-19 13:54:34 -05:00
a8d72a9923 Adding nanvault to Other Tools list (#67583)
##### SUMMARY
Adding nanvault - a standalone tool to encrypt and decrypt files in the Ansible Vault format, featuring UNIX-style composability.


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2020-02-19 18:31:09 +00:00
a409100205 Update win_dsc.py (#67563) 2020-02-19 13:28:14 -05:00
887263c315 fix indents of EOS Platform Options (#67564) 2020-02-19 13:26:49 -05:00
19f6fc68d4 Relocate Shippable tools. (#67556)
* Move Shippable tools to hacking directory.

These limits the `test/utils/shippable/` directory to scripts required for CI.

* Fix `test/utils/shippable/` file classification.

* Update package-data sanity test.
2020-02-19 09:55:34 -08:00
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.
2020-02-19 12:26:42 -05:00
29ca9d2d4d openssl_* modules: improve test robustness (#67568)
* Run Ed25519 and Ed448 tests for openssl_csr and openssl_certificate only if key generation succeeded.
* Make openssl_privatekey tests more robust: allow special key generation tests to fail with 'algorithm not supported' on FreeBSD.
2020-02-19 12:24:46 -05:00
e867535a57 regex_replace multiline support (#65051)
* document multiline parameter for regex_replace
* add changelog fragment
* tests for regex_replace_multiline
2020-02-19 12:19:40 -05:00
b3db41e6d8 Fix hacking policy (#67579) 2020-02-19 12:05:43 -05:00
6d97943c82 New module ec2_tag_info - fetch the tags from EC2 objects (#66839)
* New module ec2_tag_info - fetch the tags from EC2 objects

* Add ec2_tag_info to group/aws

* Add basic test case
2020-02-19 11:31:54 -05:00
4844adff9a Collection developer guide - BOTMETA (#67538)
* Docs: Improve how to migrate and create collections
* Update docs/docsite/rst/dev_guide/developing_collections.rst

Co-Authored-By: Alicia Cozine <879121+acozine@users.noreply.github.com>
2020-02-19 10:11:38 -06:00
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
2020-02-19 19:12:27 +05:30
faa9533734 Specify priority for VMs in Azure VM scale sets (#65226)
Adds support to create VMSS with low-priority VMs through a new optional
parameter. The default is to create a VMSS with Regular priority VMs.
https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-use-low-priority
for details.
2020-02-19 05:18:50 -05:00
a7197a4320 zabbix: new module zabbix_host_events_info (#56162) 2020-02-19 10:22:59 +01:00
9d8bd225af postgresql_subscription: remove stat (#67470) 2020-02-19 09:34:20 +01:00
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
2020-02-19 01:56:40 -05:00
cceb517aff IOS: Add voice vlan to ios_l2_interfaces (#67211)
* Add voice vlan to ios_l2_interfaces

* Fixed pep8 issues, added voice vlan to tests, updated module docs
2020-02-19 12:23:59 +05:30
e632d93371 Add iosxr_acl_interfaces RM (#66936)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2020-02-19 11:40:45 +05:30
493dda94e9 Remove unused imports for vyos (#67550)
These flake8 errors would caught in our collection testing.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2020-02-18 17:49:49 -05:00
d7059881a2 win_credential - fix wildcard name (#67549) 2020-02-19 07:43:04 +10:00
650c3c5df3 doc fragment needs proper types (#67545) 2020-02-18 16:40:00 -05:00
de5c18af7c openssl_* / x509_* modules: refactoring (#67540)
* Move common code to module_utils.

* Unify get_relative_time_option.
2020-02-18 22:23:50 +01:00
b8f0cfc38a Move scaleway_s3 tests to the legacy directory.
These tests rely on the AWS S3 modules, but will not be migrated along with those modules into an AWS collection.

Since these tests will not reside in a collection alongside the modules under test they are being moved to the legacy tests directory.

The legacy tests directory will soon be migrated to a separate repository.
2020-02-18 13:02:51 -08:00
13a949e345 Update digital_ocean_droplet.py (#65251) 2020-02-18 15:09:28 -05:00
704e7a5055 Rename callback_retry_task_name test.
Avoid confusion with other `callback_` prefixed tests.
2020-02-18 11:16:37 -08:00
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
2020-02-18 13:12:10 -05:00
214bf8dc0b Fix KeyError for iSCSI parameters (#67463)
The required parameters for the LUN mapping for destination LUN is
address, port and iqn. However if the user doesn't pass parameters
like  CHAP authentication parameters, we will get KeyError. The patch
fixes the same.
2020-02-18 12:56:15 -05:00
0f56ac018b Add x509_crl module (#63435)
* Add x509_crl module.

* Add integration tests.

* Fix some errors.

* Fix inversion.

* Compare name instead of tpye.

* Fix fail_json() calls.

* Work around rename of serial_number attribute for cryptography 1.4.

* Don't die for non-cert loading errors.

* One more.

* Fix function call.

* Fixed/improved descriptions.

* Don't read issuer from certificate file.

* Allow to ignore timestamps.

* Default value for revocation_date.

* Update tests.

* Mention ignore_timestamps in update docs.

* Support privatekey_content, and require some options only if state is present.

* Allow to pass certificate in directly.

* Add tests.

* Fix required_if.

* Forgot to encode content.

* Forgot to adjust type.

* Allow to return CRL's content directly.

* return_crl_content -> return_content (as in #65400).

* Fix elements.

* Fix messages.

* Use required_one_of and mutually_exclusive instead of doing the checks by hand.

* Fix format.

* Skip tests on AIX.

* Fix typo.
2020-02-18 17:14:13 +01:00
de230d04a3 Fixed documentation for elb_target_group module to match the code logic. (#66689) 2020-02-18 09:56:37 -06:00
2a36ade26f Update win_service example in win_nssm (#67530)
`user` should be `username` for use in `win_service`, see https://docs.ansible.com/ansible/latest/modules/win_service_module.html#parameter-username
2020-02-18 09:50:43 -06:00
3ccda78145 pause - add missing interpreter line (#67134) 2020-02-18 10:46:29 -05:00
1bdbbd2784 Attempt to rebalance the aws tests (#67523) 2020-02-18 08:57:42 -05:00
9eb7709c61 Vyos static route module added (#62193)
* Vyos static route module added

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* sanity fixes

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* empty config traceback fix

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* sanity check fix

* model specific changes and SI test cases updated

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* new state changes and SI test cases updated

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* sanity fixes

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* UT cases added

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* replaced operation fix

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* review comments incorporated

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* shippable fix

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* sanity fix

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* delete opr updated

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* comments incorporated

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>
2020-02-18 07:32:26 -05:00
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>
2020-02-18 13:00:16 +01:00
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'"
2020-02-18 12:14:20 +01:00
5a7c58b2be postgresql_info module: fix broken link (#67517) 2020-02-18 14:22:41 +05:30
ca57871954 openssl_* modules: prevent crash on fingerprint determination in FIPS mode (#67515)
* openssl_* modules: prevent crash on fingerprint determination in FIPS mode.

* Add changelog.
2020-02-18 09:43:22 +01:00
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>
2020-02-18 09:18:59 +01:00
70b9bdbce6 Fix links in Postgresql modules (#67511)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-02-18 13:18:16 +05:30
7dcf32294b Update URLs in documentation (#67376)
Partially fixes: #67357

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-02-18 09:00:30 +05:30
6b111e46ba Win tests - prepare for collection migration in tests (#67506) 2020-02-18 10:29:30 +10:00
bb70c0b996 [doc] Set consistent return codes for modules (#67444)
Set consistent possible return codes for these similar two modules.
2020-02-17 17:50:52 -06:00
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
2020-02-18 08:43:17 +10:00
a60feeb3c1 Specify lowercase only for Galaxy namespaces (#67485)
* specify lowercase only for galaxy namespaces
* doh... include meta file
2020-02-17 15:26:47 -06:00
b5b23efdcc Add SimpleUpdate command (#65074)
* add SimpleUpdate command

* add AllowableValues check for Targets property
2020-02-17 21:19:47 +00:00
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.
2020-02-17 16:16:14 -05:00
343de73f2d Rebalance Windows groups for devel run (#67496) 2020-02-18 07:10:12 +10:00
640e9c7722 Restore AIX tests in CI. 2020-02-17 13:05:28 -08:00
b0abc1f5f6 Fix bug in iam_role - _list_policies was not returning anything (#67495) 2020-02-17 15:43:26 -05:00
82ca00e4fe Update windows_faq.rst (#67482)
Steers users around the error:  Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/xmltodict.py'
Consider using the `--user` option or check the permissions. -->
2020-02-17 13:38:46 -06:00
423a900791 Clarify b64encode with Python 2 (#67488) 2020-02-17 13:31:03 -06:00
36ed3321fd Disable failing zabbix_user test. (#67487)
* Disable zabbix_user test on aix.

* Disable failing zabbix_user test.
2020-02-17 11:11:13 -08:00
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>
2020-02-17 13:16:09 -05:00
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>
2020-02-17 11:19:57 -06:00
39fef58bea Add note that devel branch should not be used in real environments (#67483) 2020-02-17 10:53:16 -06:00
62cc120dce Add support for networks to hcloud inventory (#67453) 2020-02-17 13:39:37 +00:00
e76630c4e4 VyOS: firewall_rules module added (#65680)
* firewall_rules module added

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* state fact gathering code

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* facts and operation code added

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* unit tests added

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* sanity fixes

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* sanity fixes

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* sanity fixes

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* delete opr updated

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>
2020-02-17 08:08:08 -05:00
eff51c0122 Fix proxysql module cursor_class (#67339)
* Fix proxysql module cursor class

* Adding changelog file

* adding extension to changelog file
2020-02-17 13:55:44 +01:00
38f26ffcc7 win_domain_object_info: new module (#67450)
* win_domain_object_info: new module

* Added basic integration tests
2020-02-17 18:22:11 +10:00
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
2020-02-17 15:35:54 +10:00
e3d5dc0ed0 win_domain_controller: Added domain_log_path (#67448) 2020-02-17 07:25:22 +10:00
Ali
4733af3376 Added support for GitHub Enterprise to github_deploy_key module (#59564) 2020-02-16 17:33:06 +00:00
569f0cf808 azure_rm_rg_info: fix KeyError: 'ansible_facts' (#66729)
* azure_rm_rg_info: fix KeyError: 'ansible_facts'

Fix facts for using old azure_rm_resourcegroup_facts, closes #66727

* fix intendation
2020-02-16 17:03:31 +01:00
ff0576802f Support changing fetch_url settings for Rendeck modules (#66357) 2020-02-16 15:07:36 +01:00
274a07e7c7 Add module ipwcli_dns.py to manage DNS records on Ericsson IPWorks (#67135)
* Create ipwcli_dns.py

* add newline at the end

* Update after review and support AAAA

* Update lib/ansible/modules/net_tools/ipwcli_dns.py

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

* add integration tests and change param user to username

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-02-16 15:05:44 +01:00
31a6a37329 Add integration tests for the mas module (#67442)
* Add integration tests for the mas module

See https://github.com/ansible/ansible/pull/19768.

* Implement review feedback
2020-02-15 22:57:58 +01:00
a43f76cbf9 Add mas module for installing applications via the Mac App Store (#19768)
* Add `mas` module for installing applications via the Mac App Store

Currently, only the `install` command is available, and you must provide IDs
when installing applications.

* mas module: Update metadata

Brings the metadata in line with the current style.

* mas module: General refactor, support more states

- `check_mode` is now fully supported
- Support for states `absent` and `latest` (using `mas uninstall` and `mas upgrade`)
- Support for a list of apps to manage
- Remove return value as other packaging modules don’t support it either
- Return msg with details on the changes on success
- Code was refactored to be easier to read and maintain

* mas module: Add upgrade_all option

* mas module: Fix linting errors

* mas module: Implement review feedback

Co-authored-by: Lukas Bestle <account-github@lukasbestle.com>
2020-02-15 19:44:20 +00:00
807f4ea658 Don't send JOIN and PART commands if channel is not set (#62334)
Currently, the irc module is sending JOIN and PART commands even if the channel
key is not set in the irc module. This causes the module to send JOIN and PART
commands to the #None channel. This module can send PRIVMSGs to either a
channel or a list of nicks, so sending JOIN and PART doesn't make sense in
cases where channel is undefined. The same goes for the TOPIC command, which is
used to set a topic for channels.

This patch ensures that the JOIN, PART and TOPIC commands are only sent if the
channel is defined.
2020-02-15 12:39:28 -05:00
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
2020-02-15 12:39:05 -05:00
eaf879a7a7 Fix uptimerobot stacktrace on decode (#66244)
* Fix uptimerobot stacktrace on decode

`req.read()` always returns bytes whereas the json module expects
strings.

I don't know how this worked before.

* Use `module_utils._text.to_native` instead of decode
2020-02-15 11:10:23 -05:00
11483921f2 Added additional error handling inside the hcloud.py inventory plugin… (#66381)
* Added additional error handling inside the hcloud.py inventory plugin. Otherwise, errors may happen, if the HCloud API is not able to correctly identify the server image.

* Corrected the previous commit to not check for None on variables that are always set. Additionally, used image.description if image.name was not set, instead of the previously added default string.
2020-02-15 11:09:18 -05:00
a753ff7cbf Fix packet dynamic inventory "Slug" issue. (#63916)
* Fixed 'slug' bug in packet_net.py that was caused by a breaking change in the Packet API.

* Removed some debugging and comments I had left.

* Missed a spot!
2020-02-15 14:58:44 +00:00
5aa60a5fa7 ovirt: don't ignore instance_cpus parameter (#64366) 2020-02-15 14:57:19 +00:00
e1a815381a Thresholds need to be passed for the log alert type (#64851)
* Thresholds need to be passed for the log alert type

* removed whitespace from linting error
2020-02-15 14:56:16 +00:00
95d4908987 Fix packet.net dynamic inventory projects limit. (#64889)
* Added parameters to list more than 10 projects per run

* Fix slug issue due to packet api change. Same as https://github.com/ansible/ansible/pull/63916
2020-02-15 14:55:40 +00:00
f978b6c789 Use https for Ansible Slack icon. (#65625) 2020-02-15 14:53:18 +00:00
8647d0a873 Removing a cron file when the 'name' parameter is specified is now allowed (#57471). Added integration tests to validate new behavior. (#65640)
Also added user input validation to return a clear error when deleting an environment variables without specifying a name.
2020-02-15 14:52:36 +00:00
fe6848badd sefcontext: fix fatal failure for socket file type (#65690)
fix #65689
2020-02-15 14:51:06 +00:00
9541377a20 Port keycloak to python3 (#66452) 2020-02-15 14:44:18 +00:00
6b017db05b support rabbitmq 3.8.x in version check (#66855)
* support rabbitmq 3.8.x in version check

* Removed extraneous white space
2020-02-15 14:42:32 +00:00
b1de5d43fc openssh_keypair and openssl_privatekey: add regenerate option (#67038)
* Add regenerate option to openssh_keypair and openssl_privatekey.

* Add changelog.
2020-02-15 14:39:36 +00:00
55cb8c5388 docker_login: fix permissions for ~/.docker/config.json (#67353)
* Fix permissions for ~/.docker/config.json.

* Add changelog, remove debug output.
2020-02-15 14:38:58 +00:00
25181e1b70 mongodb_user: Ensure to close database connection (closes #59353) (#65665) 2020-02-15 09:10:27 -05:00
c9b38bd74e ec2_snapshot and ec2_snapshot_info test suite (#65896)
* ec2_snapshot and ec2_snapshot_info test suite

* Add a fact to make tests easier to follow.
Test all return values, and add missing RETURN docs to module.
2020-02-15 13:21:23 +00:00
c2ad25020b removed the multiline if condition as it seems unnecessary and also prevents the warning message (#66543)
* removed "this_dns_name" variable comparision with empty string.  #66537

* removed the imultiline if condition as it seems unnecessary.  #66537
2020-02-15 13:19:17 +00:00
717b7fee9f Update redis module to support memory size units (#66975) 2020-02-15 13:15:12 +00:00
24ce97a49b open_iscsi: Set default port as string (#67270) 2020-02-15 13:06:16 +00:00
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
2020-02-15 13:03:53 +00:00
a4f5c2e993 Post reports to newer Foreman API endpoint (#64955)
The `/api/v2/reports` endpoint has been deprecated a long time ago and should
no longer be used. This changes to callback to use the correct API
endpoint and paramerter.
2020-02-15 13:01:27 +00:00
435bd91d2e Add new command ClearSessions (#65600)
* Add ClearSessions command to clear all active sessions.

* Delete trailing whitespaces
2020-02-15 13:00:55 +00:00
f21ee7f685 cloudformation - use mutually_exclusive for on_create_failure and disable_rollback (#65629)
* cloudformation - use mutually_exclusive for on_create_failure and disable_rollback

* cloudformation - remove unit test test_disable_rollback_and_on_failure_defined
2020-02-15 13:00:36 +00:00
be1459af0f use proxy settings for Redfish requests (#65998) 2020-02-15 12:58:27 +00:00
9edcda7ef7 Refactor iam_role to bring down the complexity score (#66027)
* Simplify BotoCore- / Client- Error try/except loops where we don't need different behaviour

* Refactor IAM Role manipulation to reduce complexity scores

* Missing permissions

* Add retry decorator by default

* compare_attached_role_policies is dead code, remove it
2020-02-15 12:57:52 +00:00
d0443909ff Zabbix: add integration test for zabbix_user module (#66418)
* add integration test for zabbix_user module

* Fix syntax mistake

* remove unsupported languages ​​from integration test
2020-02-15 12:57:17 +00:00
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
2020-02-15 12:57:02 +00:00
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
2020-02-15 12:56:39 +00:00
d2f4d305ee Zabbix host tags & macros integration tests + zbx server version increase (#66997)
* bumped zabbix integration tests to be run against current LTS 4.4

* macros and tags tests for zabbix host + naming changes due to switch to zabbix 4.4
2020-02-15 12:55:48 +00:00
fe2a8cb145 do not loop through chassis in manage_indicator_led() (#66044) 2020-02-15 12:49:18 +00:00
936bd83614 Fix duplicate log entries (and add item support for failures) (#66098) 2020-02-15 12:48:05 +00:00
ad2428c176 fix hashi_vault lookup generates warning at LDAP authenticate #52131 (#67251) 2020-02-15 12:46:44 +00:00
c36f03b3e1 Add AWSRetry decorator to ec2_vpc_nacl (#67204)
* Add AWSRetry decorator to ec2_vpc_nacl

* Also add a decorator to ec2_vpc_nacl_info to catch things like API rate limit errors.

* add double-removal integration tests to make sure things don't get too slow

* Fixup retry usage for _info

* Simplify changed logic when modifying a NACL

* tweak error message
2020-02-15 12:42:02 +00:00
bcd145c111 vultr: Fix retry max delay param ignored (#67437)
* vultr: Fix retry max delay param not taken

* add changelog
2020-02-15 12:40:03 +00:00
a5af649a73 foreman: ansible_ssh_host should consider ip, ipv4, ipv6 (#67401) 2020-02-15 10:05:08 +00:00
ffead3b1c0 migration data for checkpoint collection (#67194)
* migration data for checkpoint collection

* Adding files instead of dirs
2020-02-15 10:01:24 +00:00
23e81f9907 google migration data (#67327) 2020-02-15 10:00:33 +00:00
8f6bce9134 Migrate Meraki modules to collections (#66396)
* Add documentation for ansible-test with collections

* Declare Meraki modules moved to collection

I have moved the Meraki modules to a collection at Galaxy called `cisco.meraki`. If additional changes are needed for this declaration please let me know.

* Remove changes to collection and specify each module for BOTMETA

* Remove duplicate anchors maybe

* Remove anchor references
2020-02-15 09:57:16 +00:00
2ab80a4388 migration data for fortios collection (#67193)
* migration data for fortios collection

* Adding all files to BOTMETA instead of dirs
2020-02-15 09:51:46 +00:00
0760a7ec08 Fix for shared snapshot parameter (#60250)
* Fix for shared snapshot parameter

Fixing this bug:
`Unknown parameter in input: "IsShared", must be one of: DBInstanceIdentifier, DBSnapshotIdentifier, SnapshotType, Filters, MaxRecords, Marker, IncludeShared, IncludePublic, DbiResourceId`

* Updated documentation for shared snapshots

Tags can't get accessed for shared snapshots

* fixed indentation

* added test for shared snapshot

* fixed isPublic parameter to correct IncludePublic parameter

Co-authored-by: Oliver Kastler <oliver@realestate.co.nz>
2020-02-14 19:05:40 -07:00
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
2020-02-14 19:51:48 -05:00
5ea26b6e5a Added nameAlias field (#67150)
* Added nameAlias field to all the supported ACI modules

* Changed nameAlias to name_alias

* Review changes
2020-02-15 01:50:37 +01:00
98c1fc9d3a add a testing section to collections dev guide (#67370)
Signed-off-by: Adam Miller <admiller@redhat.com>
2020-02-14 16:57:24 -06:00
9b28f1f5d9 Fix incorrect "Could not match supplied host pattern" warning (#66764) (#67432) 2020-02-14 15:50:52 -06:00
c45d193af4 Rename some integration tests.
This avoids confusion with tests named `inventory_*` which do not test inventory plugins.

Tests for inventory scripts are now prefixed with `script_inventory_`.
2020-02-14 13:34:26 -08:00
1d370bd189 VMware: vcenter_folder nested folder absent fix (#65283)
- no longer try to create folder which exists.
- correctly remove nested folders with absent.
2020-02-14 16:18:34 -05:00
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>
2020-02-14 16:07:10 -05:00
33d5c68887 Add newline in description of win_file.state (#67427) 2020-02-14 15:30:35 -05:00
ed4fccb308 Fix typo (#67433) 2020-02-14 15:22:58 -05:00
210e799375 UCS Emulator link to Doc Fragment use cs.co domain (#67434) 2020-02-14 15:20:17 -05:00
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
2020-02-14 14:00:00 -06:00
Bas
f35293c052 Update YAMLSyntax.rst with yamllint (#66622)
* Update YAMLSyntax.rst with yamllint

Co-authored-by: Sandra McCann <samccann@redhat.com>
2020-02-14 12:18:13 -05:00
68620ced7f vmware_host_firewall_manager: avoid ansible.netcommon dep (#67386)
We use `ansible.module_utils.compat.ipaddress()` just for trivial IP
validations that are not critical. This module will be ship in the
`ansible.netcommon` collection. If we continue this way, it means
the futur `community.vmware` will carry this extra dependency for
limited benefit.

This commit introduce a new `is_ipaddress()` that provide similar
feature.
2020-02-14 22:05:29 +05:30
3fce39d610 Update azure_rm_aks.py (#66900) 2020-02-14 11:19:44 -05:00
b763d79b75 Updated description of examples to avoid confusion (#67192) 2020-02-14 11:16:29 -05:00
0680a91418 Updating broken link for UCS module (#67396) 2020-02-14 11:15:20 -05:00
69e31a440c Updating UCS Platform Emulator Link (#67400) 2020-02-14 11:13:00 -05:00
0485ce9d12 docs: fix path to roles' meta/main.yml file (#67408) 2020-02-14 11:10:33 -05:00
b625b430f1 Add (more) explicit references to Jinja2 docs in conditionals doc (#61814)
Co-authored-by: Sandra McCann <samccann@redhat.com>
2020-02-14 10:53:14 -05:00
6cc326dcf1 VMware: Update VMware module defaults (#66486)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-02-14 10:00:08 -05:00
46205594c2 Fix typos in EC2 VPCE module docs (#67426) 2020-02-14 20:28:25 +05:30
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>
2020-02-14 08:57:04 -06:00
1b9b551b61 Explicitly chose an AZ for cloudformation and ec2_vol tests (#67425)
us-east-1e is sometimes picked at random, and has no support for
t3/m5 instance types, which breaks some tests.

Because availability_zones is returned in a consistent (sorted) order,
we should at least get either consistent success or consistent failure.
2020-02-14 09:39:59 -05:00
0c597f4434 vmware_guest_register_operation/test: no deprecated mod (#67411)
Don't use `vmware_guest_facts` to collect the Guest information. The
module is deprecated and replaced by `vmware_guest_info`.
2020-02-14 11:17:15 +05:30
5ca7a9ea26 Fix tracebacks with search_obj_in_list (#67389)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2020-02-14 09:46:59 +05:30
c1d8bdb87a FortiAnalyzer Network Manager Hotfix (#62919)
* Hotfix for FortiAnalyzer HTTPAPI Plugin in response to connection issues introduced in Ansible 2.9.

* Changed _connect behavior per Mr. Case.

Co-authored-by: Luke Weighall <lweighall@users.noreply.github.com>
Co-authored-by: Nathaniel Case <this.is@nathanielca.se>
2020-02-13 19:36:48 -05:00
4881af2e7e galaxy - Fix collection install dep resolver for bad versions (#67405)
* Also make sure version is a string and not an int/float
2020-02-13 17:23:17 -05:00
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
2020-02-13 16:59:00 -05:00
1a450400ff add migrated_to for tower to awx.awx (#67233) 2020-02-13 21:35:11 +00:00
69eec1c98f elb_target_group - try to handle target_type default when state is absent (#65201)
* try to handle default when state is absent

* remove default target_type

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

Co-authored-by: Mark Chappell <mchappel@redhat.com>
2020-02-13 15:49:24 -05:00
a2c620819f Remove a host from a play after meta: end_host (#66851)
* Remove a host from a play after meta: end_host

* Fix changelog
2020-02-13 15:35:00 -05:00
da1bed8932 Moving ACI support to aciguru (#67348) 2020-02-13 19:36:35 +01:00
b9bd2c25ca Test: Bump TOWER_VERSION to supported version (#67378)
* Revert "Remove Tower module tests from CI. (#67368)"

This reverts commit b041d96762.

* Test: Bump TOWER_VERSION to 3.6.2
2020-02-13 10:13:05 -08:00
f4b821a4da Update Maintainer List for team_tower (#67387)
* Update maintainer list for team_tower

* Add John Westcott IV to the list
2020-02-13 18:03:28 +00:00
77c19daefa Fix creating IP specific firewall rules with Python 2 2020-02-13 12:32:42 -05:00
3b3db88a72 Update vmware_guest.py (#67380)
Incorrect value in example
2020-02-13 12:25:23 -05:00
f49f14e8c7 Revert "Revert "Temporarily remove AIX from test matrix."" (#67382)
This reverts commit 772071cc08.
2020-02-13 08:30:27 -05:00
ed863b377b win_package: add missing porting guide entries (#67374) 2020-02-13 16:59:44 +10:00
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
2020-02-13 16:44:19 +10:00
2d9328cb0f Added Ansible.Service util and win_service_info (#67367)
* Added Ansible.Service util and win_service_info

* Fix up util test

* Sigh forgot to update the test and fix sanity

* Try to make tests more robust

* That didn't work, just check the username

* Betraying Queen and country with this doc fix

* More changes for compat

* More OS compatibility
2020-02-13 14:34:58 +10:00
b041d96762 Remove Tower module tests from CI. (#67368)
* Remove Tower module tests from CI.

The required AMIs are no longer available.

* Mark Tower tests as unsupported.
2020-02-12 19:02:39 -08:00
11e75b0af2 Fix broken links in crypto, docker and hetzner modules. (#67360) 2020-02-12 16:41:40 -05:00
53e043b5fe combine filter: fine list handling (option b) (#57894) 2020-02-12 16:40:36 -05:00
33f136292b Hotfix for FortiManager Network Connection Plugin (#62534)
* Hotfix for connection manager persistent connection initialization.

* PEP8 Fixes

* First Round of fixes requested by Qualthos.

* Removed _connection check per Mr. Case.

* Somehow the wrong version got sent... should be all good.

Co-authored-by: Luke Weighall <lweighall@users.noreply.github.com>
Co-authored-by: Nathaniel Case <this.is@nathanielca.se>
2020-02-12 14:30:59 -05:00
156dc68e40 Followup from #65868 defionscode doesn't have the time to be a… (#67351) 2020-02-12 14:06:54 -05:00
a928db1420 Split out selinux setup in subversion test.
This avoids failures when the sefcontext module is not present.
2020-02-12 10:49:40 -08:00
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
2020-02-12 11:17:18 -07:00
a6bb3ae291 fix some broken links (#67345) 2020-02-12 10:47:00 -06:00
4231f34458 vmware: define more Zuul aliases
- vmware_content_library_info
- vmware_content_library_manager
- vmware_guest_disk
- vmware_host
- vmware_host
- vmware_host_firewall_manager
- vmware_host_ipv6
- vmware_host_powermgmt_policy
- vmware_vswitch
2020-02-12 11:46:27 -05:00
772071cc08 Revert "Temporarily remove AIX from test matrix."
This reverts commit 231726d38b.
2020-02-12 08:28:08 -08:00
4ec1437212 Fix to - eos_vlans using state parameter replaced is giving odd behavior (#67318)
* Added fix for bug # 54400

* Adding files for RM static_routes

* Added Integration tests

* Revert "Added fix for bug # 54400"

This reverts commit bf42db4269.

* Revert "Adding files for RM static_routes"

This reverts commit dafdd92d43.

* Revert "Added Integration tests"

This reverts commit 129dc87682.

* Adding files for RM static_routes

* Added Integration tests

* Corrected lint errors

* Added fix for bug # 54400

* Revert "Added fix for bug # 54400"

This reverts commit bf42db4269.

* Revert "Adding files for RM static_routes"

This reverts commit dafdd92d43.

* Revert "Added Integration tests"

This reverts commit 129dc87682.

* fix to bug #67313

* fixing rebase issue

* fixing rebase issue

* addressed review comments

* addressed review comments
2020-02-12 11:12:12 -05:00
cd146b836e migration data for cisco aci collection (#67199) 2020-02-12 15:15:45 +00:00
561f8c1d60 Update macOS installation instructions (#67058)
On macOS Catalina ``pip install --user ansible`` results in warnings and errors. This updates the reference documents to reflect changes Catalina+ with a safe, easy install for Ansible, accessing pip as a module and installing ansible with --user.

Co-authored-by: Sam Doran <sdoran@redhat.com>
2020-02-12 09:06:23 -06:00
bc2419c47c don't update nios_a_record object when running in check mode (#67145) 2020-02-12 20:10:10 +05:30
a4ec18d8a3 Cloudscale Regions and Zones Support (#67165) 2020-02-12 14:06:41 +01:00
7c8c53de20 Ignore authors ethanculler and woz5999 for logicmonitor* modules. (#67287) 2020-02-12 12:27:50 +00:00
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.
2020-02-12 12:52:36 +01:00
d1846b96c0 cope with an ASG instance not having a launch config any more (#57737) 2020-02-12 05:54:58 -05:00
8ac0bbcbf6 mysql_replication: add option to fail on error (#67322) 2020-02-12 12:18:51 +05:30
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.
2020-02-12 01:44:11 -05:00
a61dcfd542 Mark mariadb_replication tests unsupported.
Only one integration test target is supported per module. Since there is already a `mysql_replication` integration test, the `mariadb_replication` tests will not execute for the same module.

To avoid issues with tests not running on changes to the `mysql_replication` module and then failing after changes are made and all tests are executed, the test has been marked `unsupported` to prevent it from running in CI.

To re-enable this test for CI it will need to be merged into the `mysql_replication` tests, which will require working around conflicts between the packages required by the two sets of tests.
2020-02-11 19:27:31 -08:00
9788daf13b Split up more lookup integration tests. (#67328) 2020-02-11 18:00:01 -08:00
cad0110228 Rename kubevirt inventory plugin test. (#67326)
* Rename kubevirt inventory plugin test.

This maintains association of the test with the plugin.

* Update ignores.
2020-02-11 16:43:41 -08:00
274417d424 Improve test compatibility with ansible-base. (#67325)
* Remove shells from test that will be migrated.

* Fix binary_modules test to work without win_ping.
2020-02-11 16:18:34 -08:00
08db603262 vmware_host: fix doc syntax error
Adjust the `DOCUMENTATION` section to get a proper rendering of the
`folder` example.
2020-02-11 18:23:13 -05:00
efc5d62c49 Use a custom test module for module_defaults test.
This avoids a dependency on a module which will not remain in the repo after migration.
2020-02-11 13:59:33 -08:00
8774b2f697 Use package for pkgng and zypper in tests.
This allows tests to run on other platforms when `pkgng` or `zypper` are not present.
2020-02-11 13:57:01 -08:00
888a059ee7 Can we simplify _How to test a PR_? (#65383)
Switch the instructions on testing PRs to use the `refs/pull/XXXX/head` refspec as described in [_Checking out pull requests locally_](https://help.github.com/github/collaborating-with-issues-and-pull-requests/checking-out-pull-requests-locally#modifying-an-inactive-pull-request-locally).
2020-02-11 15:53:23 -06:00
236773bfea Improve distribution unit tests (#67300)
* Include distro.{os,lsb}_release_info() in distro fixture generation script
* Add distro release information to existing fixtures
* Add some new fixtures for newer distribution versions
* Add fixture for Arch Linux with lsb-release
2020-02-11 16:46:48 -05:00
3be0795ea3 Fix examples to use from_yaml filter with lookup (#65424)
The documentation says to use `from_yaml` filter when using `lookup`  from node executor. Now the examples do too.
2020-02-11 15:36:08 -06:00
a3b7d67fb0 Split up platform cleanup in tests. (#67320)
* Split up platform cleanup for git test.

* Split up platform cleanup for ansible-galaxy test.
2020-02-11 13:25:44 -08:00
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
2020-02-11 15:49:55 -05:00
29edcdcf5b Add library in role directory structure (#67030)
* Add library directory to the list of directories in a role
2020-02-11 14:30:59 -06:00
4967224248 Update digital_ocean_droplet.py (#66794)
* Update digital_ocean_droplet.py

here's new term of `ssh_keys` from `SSH key (numeric) ID` and in fact it's fingerprint. correctly term so people can easily know how to do it.

* Update digital_ocean_droplet.py
2020-02-11 15:14:50 -05:00
a8a89b7102 Update yum.py (#67252)
Move the simpler name list example to the top of EXAMPLES.
Those with v2.11 loop deprecation warnings will be looking for a solution.
2020-02-11 14:03:28 -05:00
7e83c40957 examples check system state present/absent (#54473)
<!--- Your description here -->

+label: docsite_pr
2020-02-11 14:02:29 -05:00
fd43619f1a Docs: improve anchors vs. header bar (#67244) 2020-02-11 13:16:26 -05:00
28071daab8 s3_bucket: fix condition checking of requester_pays param. (#64010) 2020-02-11 10:57:09 -07:00
1867ff4013 Update mso_schema_site_anp.py (#67099)
Under Examples > Query a specific site ANPs: the example was missing the "anp: ANP1" to query.
2020-02-11 11:52:57 -06:00
070f946745 Update intro_patterns.rst (#67151)
Removed extra quotes from example.
2020-02-11 11:52:00 -06:00
01a6e1c2c9 Mention role defaults file (#67153)
Add info on where role defaults are set; matches the entry for role variables.
2020-02-11 11:50:16 -06:00
d273e9758e Update group.py (#67309)
Added example with gid-param
2020-02-11 11:37:21 -06:00
8a2ac8f76a Fixing typo in regex escape. (#67236) 2020-02-11 11:23:58 -06:00
a86524b2bb Bugfix of 65525: proxysql in check_config TypeError: tuple indices must be integers, not str (#66850) 2020-02-11 10:53:42 -05:00
7ef7c1b5d7 add note on write access to socket_path (#67060)
* Change socket_path error messages to not directly refer to socket_path
* Apply suggestions from code review

Co-Authored-By: Nathaniel Case <this.is@nathanielca.se>
2020-02-11 09:49:20 -06:00
28543ae208 Update virt.py (#66899)
##### SUMMARY
The info command also does not require the name option, which is completely ignored.


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2020-02-11 15:20:25 +00:00
2c7623c6cc Update yarn.py (#66973)
##### SUMMARY
To globally install from local node.js library. Prepend "file:" to the path of the node.js library.


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2020-02-11 15:19:30 +00:00
3b67e75562 Update aws_batch_job_definition.py (#67082)
##### SUMMARY
<!--- The example to call the method batch_job_definition is bad, the good method name is aws_batch_job_definition-->


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2020-02-11 15:18:14 +00:00
60479d36f6 Update elasticache_parameter_group.py (#67164)
##### SUMMARY
Typo in description :)


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2020-02-11 15:16:52 +00:00
808bf02588 Remove options from some vmware modules that are not used in the code (#67282) 2020-02-11 12:30:22 +01:00
88f0c85228 Remove deprecated attributes from nxos_igmp_interface (#67186)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2020-02-11 12:27:07 +01:00
11eee1181a Split out platform specific cleanup in pip test. 2020-02-10 16:55:04 -08:00
89c8eb5a08 Split up lookup integration tests. (#67294)
* Split up lookup integration tests.

* Rename lookup_paths integration test.

This will avoid confusing it for a test of the `paths` lookup plugin, which does not exist.

* Fix lookup_pipe integration test.

The test now verifies it receives the correct output.

Adding a second task also causes code coverage to be properly registered for the lookup plugin.

* Rename ini lookup test to match plugin name.

* Update sanity ignore path.
2020-02-10 16:41:45 -08:00
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>
2020-02-10 16:29:47 -08:00
c32348088a Remove conflicting integration test aliases.
Modules and plugins can only have one integration test target associated with them.

When there is a conflict between alias(es) and/or the target name, only one target will trigger on changes to the module or plugin.
2020-02-10 14:27:01 -08:00
49e7f9afe2 Link the testing documentation to the module documenting page (#67248) 2020-02-10 15:30:04 -05:00
585e79942c Slash missing from /etc/ (#67220) 2020-02-10 14:07:22 -05:00
120d11a82b ovirt_disk: update interface docs (#67272) 2020-02-10 13:56:44 -05:00
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>
2020-02-10 11:01:13 -07:00
231726d38b Temporarily remove AIX from test matrix.
AIX provisioning is failing.
2020-02-10 08:48:21 -08:00
1b263e77de Add example for retrieve Product, Version, Build, Update info for ESXi 2020-02-10 11:47:29 -05:00
4dd2513371 add info on creating doc fragments in a collection (#67171)
* add info on creating doc fragments in a collection
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2020-02-10 10:23:28 -06:00
fa8c07a33c Revert "Make cloudfront_info work with Python3 … (#66695)" (#67085)
This reverts commit aad286b403.
2020-02-10 10:22:00 -05:00
b65fc3527f vmware_guest_tools_wait: disable the function test
The test fails randomly in the CI with a timeout.
2020-02-10 10:02:36 -05:00
b40bdb7a22 cloudscale: Fixes wrong return value docs in cloudscale_server (#67198) 2020-02-10 11:47:51 +01:00
c80d0c40ce fixed zabbix no longer returning macros as part of the template (#66996) 2020-02-10 02:09:00 -05:00
1110e9d80d Test AIX with smaller volumes. 2020-02-09 13:23:28 -08:00
959ddf2589 Revert "Temporarily remove AIX from test matrix."
This reverts commit 57d43d1932.
2020-02-09 13:23:28 -08:00
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
2020-02-08 21:48:11 +01:00
3f5aed056b Integration tests for notify with variable list (#66423)
Co-authored-by: Luca Berruti <nadirio@gmail.com>

Co-authored-by: lberruti <nadirio@gmail.com>
2020-02-08 12:41:06 -05:00
88efb24ff8 Rename aci_switch_leaf_policy_profile test. 2020-02-07 21:33:23 -08:00
d86dcedef1 Rename scaleway_ssh test. 2020-02-07 21:33:06 -08:00
c2f7c4ae47 Rename rabbitmq lookup test. 2020-02-07 21:32:54 -08:00
a42a76190e Renamed meraki_webhooks test. 2020-02-07 21:32:40 -08:00
a68a8ef2f1 Rename netapp_eseries_* tests to match modules.
This will allow the ansible-base migration script to recognize the tests as being associated with their respective modules.
2020-02-07 21:32:24 -08:00
0d430c2ccc Rename digital_ocean_ssh_key test. 2020-02-07 21:32:07 -08:00
f02ceaf66a Fix AWS test names and aliases. (#67232)
* Fix AWS test names and aliases.

* Add missing alias.

* Rename ec2_vpc_vpn_facts test.
2020-02-07 21:31:48 -08:00
6a79bb2b91 Simplify package install in unarchive test.
This will enable the test to work on supported platforms when modules for other platforms are not present.
2020-02-07 21:31:24 -08:00
c92697acec Move tower_common tests with tower_organization. 2020-02-07 21:31:05 -08:00
c10f4a8156 Rename azure_rm_workspace test. 2020-02-07 21:30:43 -08:00
415409c6e3 Rename azure_rm_virtualmachineimage_facts test. 2020-02-07 21:30:20 -08:00
64567cf4f6 Split tasks for prepare_http_tests.
This allows setup of a platform to run even when modules for another platform are not present.
2020-02-07 21:30:01 -08:00
80561ccef0 Improve sanity test handling in CI after migration. 2020-02-07 21:29:39 -08:00
7724fb8f33 Split handler tasks for setup_remote_tmp_dir.
This allows a platform handler to run even when the module required for the other platform is not present.
2020-02-07 21:29:20 -08:00
a0242b2173 Improve unit test handling in CI after migration. (#67217)
* Improve unit test handling in CI after migration.

* Fix undefined var in bash 4.3 and earlier.

See https://git.savannah.gnu.org/cgit/bash.git/tree/CHANGES?id=3ba697465bc74fab513a26dea700cc82e9f4724e#n878
2020-02-07 21:28:46 -08:00
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>
2020-02-07 18:56:01 -05:00
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.
2020-02-07 17:48:29 -05:00
57d43d1932 Temporarily remove AIX from test matrix.
AIX provisioning is failing.
2020-02-07 11:07:30 -08:00
4863efd0df Remove yaml stdout_callback plugin from network-integration tests (#67203)
With the move to collections, yaml is no longer in ansible base. Switch
back to default stdout.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2020-02-07 13:24:42 -05:00
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
2020-02-07 12:15:55 -05:00
8fa233ba1e aws_az_info: Fix rename deprecaction warning (#67188) 2020-02-07 11:13:02 -05:00
4a1115785f vmware_guest_network/test: disable the test
The test fails in the CI with a timeout of vmware_guest_tools_wait. It's
still unclear if this comes from:

- the ESXi environment
- the VM configuration, e.g: the amount of the RAM
- the ISO image itself

Ideally, we should have a light VM with the vmware-tools.
2020-02-06 19:59:23 -05:00
bf4dac10fa Revert "WIP: testing ansible-base (#67149)" (#67175)
I didn't properly update the commit message via github UI. Revert, to
open a new PR.

This reverts commit 2794142eb3.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2020-02-06 14:26:10 -05:00
2794142eb3 WIP: testing ansible-base (#67149)
Currently, yaml stdout_callback is not in base.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2020-02-06 13:40:02 -05:00
640bf31f87 user - allow 'groups', 'append' with 'local' (#62134) 2020-02-06 12:32:44 -05:00
c3635532d3 Revert "Allow httpapi for EOS resource modules (#66871)" (#67131)
This looks to be causing issues for our new ansible.netcommon
collection. Revert for now, until we can properly address.

This reverts commit 53c7f8cbde.
2020-02-06 10:20:08 -05:00
637eed5a5c postgresql modules: fix sanity issues (#67046)
* postgresql modules: fix sanity issues

* add changelog

* fix changelog
2020-02-06 16:05:42 +01:00
a5b5101e09 Fix a typo in hcloud_image_info and hcloud_location_info (#67123) 2020-02-06 03:09:47 -05:00
b48a89682b Revert "Temporarily remove AIX from test matrix."
This reverts commit be9471b251.
2020-02-05 22:16:36 -08:00
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.
2020-02-05 22:16:15 -08:00
68b981ae21 update nmap inventory plugin to not depend on rdns (#56457) 2020-02-05 17:29:59 -05:00
0e46af17a5 Nuke all removed_module stubs (#67139)
* Nuke all removed_module stubs

* Remove ignores and botmeta entry
2020-02-05 16:29:27 -06:00
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
2020-02-05 15:14:57 -05:00
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.
2020-02-05 14:57:55 -05:00
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"
2020-02-05 14:10:27 -05:00
80c4b86abe group - correctly determine if a local group exists. (#59772)
Fixes #58619
Add integration test
2020-02-05 12:34:41 -05:00
50eb2f6957 sns_topic: Retry on Topic 'NotFound' Exceptions when attempting to list subscriptions (#67089)
* sns_topic: Retry on Topic 'NotFound' Exceptions when attempting to list subscriptions

* add changelog
2020-02-05 12:16:07 -05:00
2f77a6f1f0 migrate qradar and splunk httpapi plugins to collections (#67132)
Signed-off-by: Adam Miller <admiller@redhat.com>
2020-02-05 11:07:03 -06:00
f3f9671e01 Adding migration for netapp content (#67081)
* Adding migration for netapp elementsw content

* Adding migration data for netapp ontap content
2020-02-05 18:05:53 +01:00
c55ba658c6 add note for Azure Availbility Zone (#66200)
* add note for Azure Availbility Zone

* Change title

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

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

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

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

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

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

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

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

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

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

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

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

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

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

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

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

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

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

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

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

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

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

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

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

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

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

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

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

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

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

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

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

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

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

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

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

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

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

Co-authored-by: Sandra McCann <samccann@redhat.com>
2020-02-05 12:04:47 -05:00
0a8f5aba74 Bugfix for os_coe_cluster_template module (#54819) (#54820)
* Support 'overlay2' in docker_storage_driver

* Fixed the data type in labels

* Improve string process with parsing labels
2020-02-05 10:41:15 -05:00
3dd4b3c8a3 Replaces a open/close to validate access with os.access in azure storageblob. (#65608) 2020-02-05 08:20:39 -05:00
52f2081e62 Ovirt_host_network: add custom_properties (#67117)
* init of cp

* set update_custom_properties

* update check_mode

* correct examples

* add version_added

* update sanity
2020-02-05 07:03:32 -05:00
822077fefd Asg mixed instance types (#67045)
* merge from origin pr 55067

* handle update existing asg with mixed-instance-policy

* fix documentation and append output

* update output documentation

* update documentation version added

* add integration test for mixed instance policy using launch template

* add changelog fragment

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

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

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

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

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

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

* add warning about botocore version and add expand example documentation

* Update changelogs/fragments/67045-ec2_asg_mixed_instance_policy.yml

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

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

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

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

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

* remove useless line

Co-authored-by: Yi-Tse Hong <yitse.hong@soocii.me>
Co-authored-by: Mark Chappell <mchappel@redhat.com>
Co-authored-by: Jill R <4121322+jillr@users.noreply.github.com>
2020-02-05 09:04:15 +01:00
f23cee2145 win_mapped_drive - Add WebDAV information (#67111) 2020-02-05 13:23:52 +10:00
12e3adb23a win_domain_controller - add a deprecation warning for the log_path option (#67108) 2020-02-05 10:46:47 +10:00
78470c43c2 Removed deprecated items in Windows modules (#67105) 2020-02-05 09:02:04 +10:00
1bb94ec92f service_mgr: detect systemd, even offline (#66071)
* service_mgr: detect systemd, even offline

* service_mgr=systemd iff /sbin/init is symlink
2020-02-04 17:32:36 -05:00
4ac89b8ac7 Added Fix - Allow nxos_l2_interfaces to append the allowed vlans list (#66517)
* Added Integration tests

* Corrected lint errors

* Added fix for bug # 54400

* Revert "Added fix for bug # 54400"

This reverts commit bf42db4269.

* Revert "Adding files for RM static_routes"

This reverts commit dafdd92d43.

* Revert "Added Integration tests"

This reverts commit 129dc87682.

* Bug Fix 65332

* Added testcase for #66517

* Removed unnecessary commit

* fixing conflicts

* fixing conflicts

* addressed mikeweibe's comments

* Corrected lint errors

* Added idempotent tc for add vlans

* Added replaced and overridded tcs for trunk vlan add
2020-02-04 15:14:04 -05:00
fd954a9c5c wait_for_connection: also retry interpreter discovery (#67040)
self._discovered_interpreter_key is None unless a previous iteration
has attempted discovery.  In that case, force re-discovery, as the
previous attempt certainly failed.
2020-02-04 11:40:09 -08:00
f4a80bb600 Code cleanup and refactoring in ansible-test. (#67063)
* Code cleanup in ansible-test.
* Split out encoding functions.
* Consoldate loading of JSON files.
* Split out disk IO functions.
* Simplify file access.
* Add functions for opening files.
* Replace open calls with appropriate functions.
* Expose more types from typing module.
* Support writing compact JSON.
* Add verbosity argument to display.warning.
* Add changelog entry.
* Update files overlooked during rebase.
* Use `io.open` instead of `open`.
* Fix file opening for imp.load_module.
* Remove use of `r+` mode to access files.
* Add missing import.
* Fix httptester on Python 2.x.
* Clarify changelog fragment.
* Consolidate imports. Remove extra newlines.
* Fix indirect imports.
2020-02-04 11:21:53 -08:00
994a6b0c5a fixes ANSIBLE_DUPLICATE_YAML_DICT_KEY=error crashes (#66786)
* Fix #65366
2020-02-04 13:53:13 -05:00
3b32f95fb3 user - warn if "append" is set but not "groups" (#65795)
This fixes people unknowingly changing the primary group rather than adding a secondary group.

* Add integration test
2020-02-04 12:35:05 -05:00
fe454d27a1 Fix removed_in_version to support honor suboptions (#66918)
* Add unit tests.
* Fix reporting for removed_in_version.
* Add changelog.
2020-02-04 10:14:55 -05:00
28b2428d22 docker_container: fix port order in docs (#67071)
* Fix port order.

* Forgot to remove random.
2020-02-04 10:05:53 +01:00
8b2ead5870 add jittered backoff for elb (#66673) 2020-02-04 08:57:26 +01:00
fc7980af9a Fix UNC path support in the powershell shell plugin (#66604)
* Fix UNC path joining in the powershell shell plugin, add test

* Remove testy bits and a redundant line

* Fix style nits

* Update to use os.ntpath

* Add changelog for #66604
2020-02-04 16:34:11 +10:00
81378b3e74 Added -LogPath param from Install-ADDSForest to win_domain module (#66956)
* Added omitted logpath parameter to win_domain

The Install-ADDSForest -LogPath param seems to have been omitted in the win_domain module. We do not use this module organisation-wide as its non trivial to change the log patch once AD is set up. I will also update docs

* Removed trailing whitespace

* Added logpath option to win_domain module docs
2020-02-04 14:52:24 +10:00
6d792838e4 Move url option from util to individual modules (#67068) 2020-02-04 10:43:33 +10:00
be9471b251 Temporarily remove AIX from test matrix.
AIX provisioning is failing.
2020-02-03 16:36:51 -08:00
3ada0b2f65 win_uri: fix up tests (#67064) 2020-02-04 09:57:44 +10:00
23b2bb4f4d docker_container: change behavior for one-port container ranges to be same as docker CLI (#66382)
* Adjust docker_container behavior for one-port container ranges to be similar to docker CLI.

* Add changelog.

* Add documented examples for ports:.
2020-02-03 23:27:40 +01:00
21ae66db2e postgresql_user_obj_stat_info: new module (#66892)
* postgresql_user_obj_stat_info: new module

* fix sanity

* add schema parameter

* add CI tests

* add RETURN section

* add example with schema

* fix CI

* fix example comments

* skip aix

* fixes part 1

* fixes part 2

* fix CI

* fix CI

* fix doc formatting
2020-02-03 23:06:31 +01:00
622f1c4c01 Revert "Temporarily remove AIX from test matrix."
This reverts commit 6024c09be5.
2020-02-03 13:34:10 -08:00
5b93a14a0f Add anchor to each parameter row (#66895)
* Add anchor to each paramater row

* Update docs/templates/plugin.rst.j2

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

* Insert full keys into plugin docs.

* Added visible links.

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-02-03 20:11:48 +01:00
6024c09be5 Temporarily remove AIX from test matrix.
AIX provisioning is failing.
2020-02-03 10:13:33 -08:00
5c1a3a3ac2 docker_container and docker_swarm_service: allow to actually disable healthcheck of image (#66599)
* Allow to actually disable healthcheck of image.

* Add changelog.
2020-02-03 13:13:17 -05:00
d6f2b4e788 Fix indentation (#66991) 2020-02-03 12:30:12 -05:00
ea105dcb2f Update template.py (#67010)
Update the example so that the task name matches the filename being updated
The first example shows how you might template a file to destination /etc/file.conf.  The description of this task appears to have a typo as it refers to  '/etc/files.conf' rather than '/etc/file.conf'
2020-02-03 12:28:55 -05:00
87a5e433ef update guide_azure.rst (#66940)
changed example for ping linux machines. Looks liked it was wrongly copy paste.
2020-02-03 12:26:14 -05:00
f49408287a Document difference between ec2 and ec2_instance modules (#67009)
Co-Authored-By: Mark Chappell <mchappel@redhat.com>
2020-02-03 12:12:13 -05:00
fad261b04f ovirt_job: add when job is detected but in state finished (#66810)
* ovirt_job: add when job is detected but in state finished

* add docs
2020-02-03 09:21:10 -05:00
53c7f8cbde Allow httpapi for EOS resource modules (#66871)
* Redo tests to be transport agnostic

cli -> eos config

* Redirect connection for httpapi

* Fix tests

* Handle missing platform imports
2020-02-03 08:04:08 -05:00
0ee28c14c2 Add maintainer for keycloak module (#61521)
* add maintainer for keycloak module

* typo correction
2020-02-03 11:57:11 +01:00
a0e5e2e4c5 openssl_publickey: forgot to pass backend (#67036)
* Forgot to pass backend.

* Add changelog.

* Pass on backend from get_fingerprint.

* Handle cryptography backend in get_fingerprint.
2020-02-03 06:18:19 +01:00
b1a8bded3f Remove deprecated parameter for 2.10 in purefb_fs (#67026) 2020-02-02 15:30:01 +01:00
8f10db8552 Do fail instead of regenerate for password protected and invalid keys. (#65638) 2020-02-02 07:54:28 -05:00
d6fb9da8ed openssl_* modules: allow direct input and output for some files (#65400)
* Allow to return generated object.

* Use slurp module instead of file lookup + b64encode.

* Rename return_xxx_content -> return_content.
2020-02-02 12:42:52 +01:00
4d345813ea Group ids are strings now (#66939) 2020-02-02 04:57:23 -05:00
14b1febf64 Fix pacman: "IndexError: list index out of range" #63077 (#65750)
* Fix #63077

If the package is already installed the stdout is not as expected by this function. Either remove `--needed` or just noop if we detect pacman returning. We cannot match the stdout string, as that is most likely localized.

```
[root@archBook user]# /usr/bin/pacman --upgrade --noconfirm --noprogressbar --needed  /srv/aur/src/i3cat-git/i3cat-git-r38.c6d29dd-1-x86_64.pkg.tar.xz
loading packages...
warning: i3cat-git-r38.c6d29dd-1 is up to date -- skipping
 there is nothing to do
```

* Add comment

Add comment

* Add changelog fragment.

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-02-01 14:37:27 +01:00
3baea92ec9 Bugfix of 54239: mysql_variables not supporting variables name with dot (#66806)
* Bugfix of 54239: mysql_variables not supporting variables name with dot

* add changelog

* add CI tests
2020-02-01 12:39:52 +05:30
f5e194cbcd Move random_mac into its own file (#67000)
* Move random_mac into its own file

This is likely to be the only filter which is not included in
ansible-base.  So it needs to be in its own file.
2020-01-31 14:33:16 -08:00
ef1fd19c00 croc cloud - ec2 key patch (#60929)
This patch fixes "IndexError: list index out of range" error for https://console.cloud.croc.ru.
When key pair is new, croc return dict with an empty list for key KeyPairs that causes ansible to crush.
2020-01-31 17:20:58 -05:00
919a9e33e8 Minor AWS argument checks (required_if / mutually_exclusive) fixups (#66966)
* aws_netapp_cvs_snapshots - minor required_if fixup (state must be set if state=present)

* ec2 - fix typo in mutually_exclusive definition

* rds_instance: fix typo in mutually_exclusive restore_to_time should be restore_time - currently throws a boto error
2020-01-31 22:17:46 +01:00
26175178ee Fix user_agent string not getting set (#66914) 2020-01-31 15:50:53 -05:00
9db0fb785d Add collections path option to ansible-galaxy (#66969)
Some common code needed for 'collection list' and 'collection validate'
2020-01-31 14:27:54 -06:00
16ebeda86d Bugfix of 66974: mysql_user doesnt support privileges with underscore (#66995)
* Bugfix of 66974: mysql_user doesnt support privileges with underscore

* add changelog

* add seealso
2020-01-31 20:44:03 +01:00
aad286b403 Make cloudfront_info work with Python3 … (#66695)
* Make cloudfront_info work with Python3 by using dict.update(dict) instead of dict += dict.

* Added changelog fragment for cloudfront_info fix
2020-01-31 14:37:36 -05:00
3dbc03d58a Try to load action plugin from the same collection as the module (#66701)
* 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
2020-01-31 12:49:37 -05:00
725bb4d173 Fix typo in shell_windows.py (#66964) 2020-01-31 11:48:28 -05:00
54520c4685 mysql_user: priv parameter can also be a dictionary (#66801)
* mysql_user: add priv_dict parameter

* add changelog

* priv can be string or dictionary

* fix example
2020-01-31 16:32:31 +01:00
813091cf94 Migrate ec2_vol_info to AnsibleAWSModule (#66979)
* Migrate ec2_vol_info to AnsibleAWSModule

* Enable ec2_vol_info tests

* Add changelog

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

Co-Authored-By: Sloane Hertel <shertel@redhat.com>
2020-01-31 09:55:10 -05:00
7968271559 Add migrated_to: community.grafana (#66981) 2020-01-31 12:12:21 +00:00
f1a30164c5 Fix 'container_default_behavior: no_defaults'. (#66601) 2020-01-31 10:45:59 +01:00
2a9ec8975f win_unzip - LiteralPath fix (#66972)
* win_unzip - LiteralPath fix

* Fix up Python sanity issues
2020-01-31 12:59:46 +10:00
d584584474 Reorganize ansible-test coverage code.
This change moves all code for the `ansible-test coverage` command into the `coverage` directory.

Each subcommand is split into a separate file.

Only minor spelling changes were made aside from code relocation.
2020-01-30 14:41:21 -08:00
2ea159eefd vmware_cluster_facts does not set hosts key
Since https://github.com/ansible/ansible/pull/61006 `vmware_cluster_info`
exposes a new key called `hosts`. The deprecated module
`vmware_cluster_facts` keeps the previous behaviour, and so we must keep
its test-suite unchanged.
2020-01-30 16:45:02 -05:00
5d4d9d40af ansible-test - Add 'get' to the list of bad choices for state (#66921)
* ansible-test - Add 'get' to the list of bad choices for state

* Changelog fragment
2020-01-30 22:38:47 +01:00
811c54a7a4 validate-modules - support deprecated_aliases (#66965)
* validate-modules - support deprecated_aliases

* Removed changelog fragment
2020-01-31 07:35:16 +10:00
4452f506a8 Split up filter integration tests. (#66962)
* Split out json_query filter tests.
* Split out urlsplit filter tests.
* Split out ipaddr filter tests.
* Split out urls filter tests.
* Split out mathstuff filter tests.
* Clean up core filter tests.
2020-01-30 12:49:54 -08:00
5112feeace Make get_bin_path() always raise an exception (#56813)
This makes it behave in a more idiomatic way

* Fix bug in Darwin facts for free memory
    If the vm_stat command is not found, fact gathering would fail with an unhelpful 
    error message. Handle this gracefully and return a default value for free memory.

* Add unit tests
2020-01-30 12:54:25 -05:00
c9a34ae33e mysql modules: fix the module's documentation (#66848) 2020-01-30 11:44:47 -05:00
c8568a5c94 Add documentation about vars used in roles at the play level (#66907) 2020-01-30 11:08:24 -05:00
adf73d47ec Remove unused imports from paramiko_ssh connection (#66948)
These were caught by flake8 testing for ansible.netcommon collection.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2020-01-30 11:01:34 -05:00
4273e84962 Upstream jinja has decided not to rename from jinja2. (#66880)
So we're going to keep our intersphinx labels as jinja2 to match what
upstream is doing
2020-01-30 10:57:50 -05:00
2728c2476e docs: Fixed "Edit on GitHub" link for plugin, cli (#66745)
Fixed sphinx theme to navigate "Edit on Github" link to locate correct
plugin, cli source in GitHub repo.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-01-30 10:55:46 -05:00
76809bbba2 testing: Enable AIX has a platform again 2020-01-30 07:37:41 -08:00
bf65e7a3f6 nxos_facts: Don't fail if faninfo isn't reported (#66866) 2020-01-30 10:23:21 -05:00
72e1716f29 Fix to gather facts include macro and tag (#66947) 2020-01-30 10:07:40 -05:00
e3190adcbb zabbix_host - added support for usermacros and tags (#66777) 2020-01-30 08:32:47 -05:00
5fdc9a61f0 docker_container: pass volumes only for anonymous volumes (#66600)
* Simplify code.

* Only pass anonymous volumes.

* Add changelog and update porting guide.

* Add integration tests.
2020-01-30 14:08:25 +01:00
57805b7def zabbix_proxy interface option documentation and argspec fixes (#66837)
* zabbix_proxy interface option documentation and argspec fixes

* Update changelogs/fragments/66837-zabbix-proxy-interface.yml

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

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-01-30 14:06:44 +01:00
553997db25 Add new module cloud/ovh/ovh_monthly_billing.py (#65730)
remove useless 'state' parameter and update doc

remove useless module.params.get('state')

Update lib/ansible/modules/cloud/ovh/ovh_monthly_billing.py

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

Update lib/ansible/modules/cloud/ovh/ovh_monthly_billing.py

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

Update lib/ansible/modules/cloud/ovh/ovh_monthly_billing.py

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

Update lib/ansible/modules/cloud/ovh/ovh_monthly_billing.py

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

Update lib/ansible/modules/cloud/ovh/ovh_monthly_billing.py

Update lib/ansible/modules/cloud/ovh/ovh_monthly_billing.py

Update lib/ansible/modules/cloud/ovh/ovh_monthly_billing.py

Update lib/ansible/modules/cloud/ovh/ovh_monthly_billing.py

add application_key, application_secret and consumer_key optional parameters

Add some example concerning ovh auth.
2020-01-30 12:16:11 +01:00
df1144ced7 Temporarily remove AIX from test matrix.
AIX provisioning is failing.
2020-01-29 20:32:27 -08:00
49d8d5ae33 Fix ansible-test tar format handling. 2020-01-29 20:31:54 -08:00
4fd2dce7f3 Testing: Add support for AIX platform (#65802) 2020-01-29 15:56:51 -08:00
eec6afd116 Explicitly set junit_family=xunit1 @ pytest config
This change hides the deprecation warning and protects from
failures in pytest==6.0.0

Ref:
* https://github.com/ansible/ansible/pull/66445#discussion_r372530176

Co-Authored-By: Matt Clay <matt@mystile.com>
2020-01-30 00:05:02 +01:00
479845a05c Expand Shippable test matrix. (#66912)
* Add 2 CI groups for AWS.
* Add 1 CI group for vmware.
* Add 1 CI group for CS.
* Add 1 CI group for posix.
2020-01-29 14:43:27 -08:00
6a1f82f174 url lookup - add options to match those in urls.py (#64892)
Add 'force_basic_auth' option
By default "force_basic_auth" option is set to False, with this adjustment it is up to the user if it wants to enforce basic authentication.
2020-01-29 16:45:25 -05:00
e2a57414f4 Remove with statement for pytest-mock unit tests
As per:
https://github.com/pytest-dev/pytest-mock#note-about-usage-as-context-manager
pytest-mock is not meant to be used within a `with` context or as a
decorator. Instead, pytest-mock will automatically unpatch the mocked
methods when each test is complete.

In newer pytest-mock, this use actually throws an exception and causes
the tests to fail.

This hasn't been hit in Ansible's CI yet, because the docker image
that the tests run in uses an older version of pytest-mock. However,
there is no constraint on the upper bound of pytest-mock in
test/lib/ansible_test/_data/requirements/constraints.txt which means
that when running the tests locally, outside of that docker image, the
tests never pass.

This patch removes the `with` context in each such case.

Signed-off-by: Rick Elrod <rick@elrod.me>
2020-01-29 13:29:40 -08:00
1156962cde Forbid state=(list|info) in modules via ansible-test sanity check
PR #66898

This change introduces a new sanity check with code
`parameter-state-invalid-choice` in the `ansible-test sanity`
validator. It enforces modules not to support `list` or `info`
as their `state`.

Co-Authored-By: Sviatoslav Sydorenko <webknjaz@redhat.com>
Co-Authored-By: Felix Fontein <felix@fontein.de>
2020-01-29 21:06:36 +01:00
6e2fff1acc vmware_vswitch/test: clean up vmswitch_0002
Ensure `vmswitch_0002` get removed from ESXi2 at the end of the test.
2020-01-29 14:32:57 -05:00
e64b279ea1 Add CS smoketest group for CI. 2020-01-29 11:01:35 -08:00
6f1bb37feb When no pool quantity is set, then do not set quantity to 1 (#66807)
* Fixes #66478
* When no quantity is set, then candlepin server usually uses
  default value 1. When more quantities are required, then
  candlepin server can automatically choose correct minimal
  value.
2020-01-29 12:10:47 -05:00
9276dd2007 file - change warning to error (#66671)
When 'src' is specified without 'state', raise an exception
2020-01-29 10:51:34 -05:00
91063f40d6 tests: ipify_facts: retry on fail (#66897) 2020-01-29 10:43:40 -05:00
8ba324a33d VMware: shares and io limits support while adding new disk (#64087)
Fixes: #25714
2020-01-29 19:52:35 +05:30
72fbbbeb34 Typo correction (#66869)
* Corrected typo in documentation
* Corrected typo in the log statement
2020-01-29 19:46:43 +05:30
308723c3ca postgresql_idx: revert PR for 64138 (#66889) 2020-01-29 14:12:34 +00:00
4752547d35 ecs_tag: remove state=list (#66811)
* ecs_tag: remove state=list

* adjust tests
2020-01-29 10:30:53 +01:00
3c3cf50e7a Fix ansible-test coverage of ansible-connection. 2020-01-28 23:47:07 -08:00
21069c84d9 Fix ansible-test color ls logic. 2020-01-28 17:48:54 -08:00
428aaf7e65 Keep SSH authorized keys in ansible-test setup. 2020-01-28 17:48:54 -08:00
efd2dd8929 Add more ansible-test args to delegation config. 2020-01-28 17:48:54 -08:00
ee50792416 Add a --no-pip-check option to ansible-test. 2020-01-28 17:48:54 -08:00
0971a0e7bc Consolidate remote Shippable scripts. 2020-01-28 17:48:54 -08:00
86663abf37 all: fix all the the duplicate words (#66784) 2020-01-28 14:06:40 -05:00
b482857fd3 Update conjur_variable.py (#66763)
Update the link in the Conjur documentation to point to the correct current URL
for information on Conjur machine identity.
2020-01-28 13:15:12 -05:00
9656811e7c Fix virtual private gateway filters reference link (#66772) 2020-01-28 13:03:12 -05:00
35652ca788 Add tests to make sure that the documented 'elements' matches that defined in argument_spec (#66385)
* Add tests to make sure that the documented 'elements' matches that defined in argument_spec

* Mass-add test/sanity/ignore.txt
2020-01-28 12:33:03 -05:00
3461c682c3 Add mechanism for storing warnings and deprecations outside of AnsibleModule (#58993)
* Move warn() and deprecate() methods out of basic.py
* Use _global_warnings and _global_deprications and create accessor functions
    - This lays the foundation for future functions being moved outside of AnsibleModule
       that need an interface to warnings and deprecations without modifying them.
* Add unit tests for new warn and deprecate functions
2020-01-28 12:12:14 -05:00
cc2376b782 include_vars - fix stack trace when run ad-hoc with dirs parameter (#66581)
Add integration test

There are a number of other parameters that result in stack traces as well when this module is used ad-hoc. I'm not sure if we're interested in fixing them all since this module isn't meant to be run ad-hoc.
2020-01-28 11:50:34 -05:00
3f16752ed2 Remove misleading slash on prefix examples (#66842)
##### SUMMARY
S3 lifecycle rule prefixes starting with slash (/) have no effects. If an S3 bucket contains a file 'apache.log' under the (virtual) folder 'logs/', for the lifecycle rule to be effective the prefix to be configured must be 'logs/'. If you put '/logs/' (with a trailing slash) as a prefix the file will never be matched by the lifecycle rule.
2020-01-28 11:36:52 -05:00
b74ca2fe4f ovirt_network: correct when not specified external_provider (#66859) 2020-01-28 11:08:46 -05:00
d385a648c4 uri: Document cookies_string, cookies and content (#66612)
The example with set_cookie value in cookie header can fail if the server
has set many cookies. The set_cookie value is the cookies sent by server in
set-cookie header, not what the client should send in cookie header to
server.

#33792 introduced cookies_string to solve the problem, but did not update
the uri module example.

content and cookies were also missing from RETURN.
2020-01-28 10:59:29 -05:00
365f2aaed1 get_url: remove deprecated headers string format (#66649)
Fixes #61891
2020-01-28 10:39:40 -05:00
abc8b0ae73 This was changed to python 2.7 but should have remained python 2.6 (#66836)
* Modules are still python-2.6+ unless there's a compelling reason not
  to be.
2020-01-28 09:32:03 -06:00
5ff899662d Add sanity test to require elements entry when argument type=list (#66386)
* Require elements entry for lists

* Bulk add initial test/sanity/ignore.txt
2020-01-28 10:23:22 -05:00
6901c9c61c botmeta: Fix f5_modules typo (#66847) 2020-01-28 07:23:28 -05:00
e3ce0d3612 Assign team_aireos to team_ansible (#66798)
Since there are no members in team_aireos, assign maintainership
to team_ansible for now.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-01-28 12:10:53 +00:00
78e666dd39 vultr: improve handling of dicontinued plans (#66792)
* vultr: improve handling of dicontinued plans

* add changelog
2020-01-28 10:46:17 +01:00
2dc9841806 doc: Fix tiny typo in example: change --> changed (#66835)
##### SUMMARY
Fixed another tiny typo: change --> changed

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2020-01-28 10:34:36 +01:00
94f30b3815 Migrate ServiceNow modules to Collection (#66818)
* adding snow files

* remove duplicate
2020-01-28 08:05:19 +00:00
5409904c35 vmware_cluster_facts: adds list of host in cluster (#61006) 2020-01-28 11:43:46 +05:30
65aedc5d4a VMware: Change node_wwn and port_wwn for FC HBA to hexadecimal value
Fixes: #63045
2020-01-28 09:46:29 +05:30
5c1fe78685 Move CI coverage stub to sanity/5. (#66827) 2020-01-27 16:19:49 -08:00
cba0feab18 folder support on gcp_compute (#66511)
* folder support on gcp_compute

* fixed issues associated with projects with no vms

* linter fix

* more linter

* linter
2020-01-27 22:37:14 +00:00
965854fbd2 Add constraints for Jinja2 on Python 2.6. (#66826)
* Add constraint for Jinja2 on Python 2.6.

* Fix constraint in inventory_aws_conformance test.

* Add constrraints for template_jinja2_latest test.
2020-01-27 14:01:34 -08:00
4ca0c7f116 Fix case sensitivity for lookup() (#66521)
This brings consistency to lookup(), with_ and ansible-doc.

Fixes #66464

* Add a porting guide entry
2020-01-27 15:09:45 -05:00
3ce6440515 vmware_export_ovf: increase default timeout
I consistently reach a timeout with the current (10s) timeout. This
commit increases the default value to 30s, this should simplify the life
of our users.
Also, the documentation was incorrect. The value is in second, not minute.
2020-01-27 13:57:01 -05:00
bdceab379e vmware: adjust the module/Zuul jobs mapping
- vmware_host_active_directory: we need an Active Directory to run the
  test
- vmware_vm_storage_policy_info: we just need a vcenter
2020-01-27 13:55:58 -05:00
8cff585891 Schema validation for argument_spec (#65747)
* Start of schema for argument_spec

* Add changelog.

* Remove superfluous import.

* Update ignore.txt

Co-authored-by: Matt Martz <matt@sivel.net>
2020-01-27 17:26:46 +01:00
8f2e30a0cf Update botmeta with migrated openstack modules (#66789) 2020-01-27 14:21:58 +00:00
055cf91d02 zabbix_template - enable new update rule to delete missing linked templates (#66747)
* enable new update rule to delete missing linked templates

New update rule is available from 4.0.16 and 4.4.4 up. Add check for version and enable new update rule.

fixes #66720

* adding fragment file

* Update zabbix_template.py

* Update zabbix_template.py
2020-01-27 09:20:45 -05:00
99d7f15087 Mark the hacking AWS policies as owned by team_aws (#66793) 2020-01-26 22:41:10 +05:30
d7a1917c17 ovirt_host: add iscsi portal (#66750)
* ovirt_host: add iscsi portal

* correct version_added to 2.10
2020-01-25 08:18:34 -05:00
f1ec48429a Add changed condition (#66230) 2020-01-25 14:01:17 +08:00
a1f6c611b7 Add team_aws for aws modules, and add new maintainer (#66774) 2020-01-24 18:13:40 -05:00
0ceac57bc6 AnsibleAWSModule related cleanup (batch 2) (#65987)
* Remove redundant use of ec2_argument_spec where we're using AnsibleAWSModule

* Use module.client() instead of the get_aws_connection_info/boto3_conn combo.

* AnsibleAWSModule handles 'HAS_BOTO3'

* Remove unused imports

* Update error message that lambda_policy integration test is looking for when the region's missing

* Revert redshift and s3_bucket
2020-01-24 13:39:01 -07:00
70017e2679 postgresql_db: add dump_extra_args parameter (#66717)
* postgresql_db: add dump_extra_args parameter

* add changelog

* fix doc

* fix example
2020-01-24 13:32:54 -05:00
4d1e21bf18 mysql_user: make sure current_pass_hash is a string before using it in comparison (#64059)
* make sure current_pass_hash is a string before using it in comparison

* add changelogs/fragments file

* fix changelogs/fragments file: it is actually a bugfix, not a minor change
2020-01-24 13:32:15 -05:00
9df9ed4cd3 Reinstall i18n files for PostgreSQL tests (#66734)
I am removing these from the test image to reduce its size a bit.
2020-01-24 12:16:40 -05:00
8e195adda5 display - remove extra new line after warning message (#65199)
Add unit tests for display
2020-01-24 12:10:04 -05:00
85b5f89ed6 ecs_tag and integration tests for new feature request (#66603)
* Added integrations test for ecs_tag
Testing invalid cluster test for the expected message.
Add idempotency test is  for adding tests to service and task_definition.
2020-01-24 10:09:36 -07:00
1152774f92 git - add an 'archive_prefix' option (#66067)
Add integration tests for new option
2020-01-24 09:42:47 -05:00
bbbdc1c25c throttle: fix linear based strategies (#65422)
* throttle tests: fix detection of parallel execution

The test wasn't able to detect if too many workers were running.

On my laptop:
- without this change, the 'throttle' target takes ~20 seconds
- with this change, the 'throttle' target takes ~70 seconds
- 1 second isn't long enough to encounter the issue

* Fix throttle test when strategy is 'free' based

'free' strategy allows multiple tasks to be executed in parallel: use
one 'throttledir' per task.

Use 'linear' strategy with a dedicated play for cleanup/setup tasks

* throttle: reset worker idx before queuing a new task

* TestStrategyBase: define task.throttle

otherwise '1' will be used instead of the default value due to the
following expression being equal to '1':

    int(templar.template(task_mock.throttle))

Co-authored-by: James Cammarata <jimi@sngx.net>
2020-01-24 08:18:08 -06:00
7bbf4ad7d6 Modifying output for VM already present (#66705)
Signed-off-by: Anusha Hegde
2020-01-24 08:09:05 -05:00
de2985df84 icx_vlan: Removed byte type regex in string matching (#66715) 2020-01-24 18:28:51 +05:30
ff35103bf9 Add external refs to the GH issue template chooser (#66743)
This change replaces a dummy template for security issues with a
proper reference to the doc. It also adds pointers to a few other
useful community pages.

Ref:
https://help.github.com/en/github/building-a-strong-community/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
2020-01-24 07:56:03 +00:00
68ab8c23be Network prompts (#66584)
* add network prompt examples and module examples

* Update docs/docsite/rst/network/user_guide/network_working_with_command_output.rst

Co-Authored-By: Nathaniel Case <this.is@nathanielca.se>
2020-01-23 18:02:16 -06:00
b16525b841 [aws] integration tests for ec2_vol (#66193) 2020-01-23 15:34:06 -07:00
8b63da7b43 Fix ansible-test egg-info directory detection. 2020-01-23 13:21:15 -08:00
913037731f Update examples in documentation for env lookup plugin (#62662) 2020-01-23 15:27:30 -05:00
9e8fb5b7f5 galaxy: fix AttributeError on empty requirements.yml (#66726)
* galaxy: fix AttributeError on empty requirements.yml

* add changelog
2020-01-24 06:06:44 +10:00
5c721e8a47 Add new configuration parameter to make Windows async startup timeout configurable (#66670)
* Add new configuration parameter to make this timeout configurable

* Rename keys to be more correct and reformat exception message for whitespace handling

* Rename config away from default prefix. Add vars element and associated changes to support.

* Update 65001-allow_configuring_async_startup_timeout.yml

Co-authored-by: Matt Davis <nitzmahone@users.noreply.github.com>
2020-01-24 06:04:52 +10:00
14cc63dc0f Switch intersphinx label from jinja2 to jinja (#66703)
* Switch intersphinx label from jinja2 to jinja

Co-Authored-By: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
2020-01-23 14:09:17 -05:00
a4b59d0213 pamd: Fix AttributeError when removing the first or last rule (#66398) 2020-01-23 14:08:42 -05:00
e368f788f7 Update BOTMETA.yml
* remove nitzmahone from Azure and non-core Windows notifications
2020-01-23 10:48:40 -08:00
4a0c875447 Working Cisco IOS macro editing (fixes #55211) (#55220)
* Working Cisco IOS macro editing (fixes #55211)

* Working Cisco IOS macro editing [fixed pylints] (fixes #55211)

* Added integration tests for edit_macro

* Added conditional integration tests for ios_config macro

* Cosmetic fix: when near block for added conditional integration tests for ios_config macro

* Move teardown to always for block
2020-01-23 21:19:15 +05:30
81aabdc94f Update botmeta to reflect F5 migrated content (#65885)
* update botmeta with f5 migration destination

* added terminal and doc_fragments, removed modules_utils
2020-01-23 10:05:18 -05:00
ac881b0026 Add section to aws devel guidelines about module_defaults (#66699) 2020-01-23 09:47:51 -05:00
72fbed2c61 postgresql_user: add comment parameter (#66711)
* postgresql_user: add comment parameter

* add changelog

* fix CI
2020-01-23 14:34:50 +00:00
e646bd08e1 zabbix_template - fixing errors linked templates and dump/imports (#66463)
* Fixing errors on empty linked templates

fixes #66417

Line 409 fixes KeyError if existing template has no linked templates - as Zabbix API isn't returning an empty array either.
Line 417 is needed to mark as changed if new/modified template has no linked but existing one has.
Line 442 is needed to actually update even if link_templates was None.

* decode parsed xml root

fixes #66466

Line 533: without .decode() the ET.tostring on python3 returns byte-like object

* Create 66463-zabbix_template-fix-error-linktemplate-and-importdump.yml

* Update changelogs/fragments/66463-zabbix_template-fix-error-linktemplate-and-importdump.yml

Co-Authored-By: Dusan Matejka <D3DeFi@users.noreply.github.com>

* Update changelogs/fragments/66463-zabbix_template-fix-error-linktemplate-and-importdump.yml

Co-Authored-By: Dusan Matejka <D3DeFi@users.noreply.github.com>

Co-authored-by: Dusan Matejka <D3DeFi@users.noreply.github.com>
2020-01-23 08:22:19 -05:00
eb3d081c11 Add lun for azure_rm_manageddisk (#66153)
* add lun for azure_rm_manageddisk

* add whitespace

* Change condition
2020-01-23 07:51:20 -05:00
a589b10b26 Freeipa: Support for homedir in ipa_user (#49151)
Add support for user homedirectory in ipa_user module.
2020-01-23 16:08:59 +05:30
fc6476bd72 VMware: Handle multiple tags with different category (#66465)
vmware_tag_info used to return dict of tag information which caused
data loss when there are multiple tags with same name and different category ids.
This fix will add additional fact "tag_info" which will deprecated existing fact
"tag_facts".
The "tag_info" is a list which handles multiple tags with same name.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-01-23 10:15:57 +05:30
0da13469d3 Add a script to update the intersphinx inventory (#66646)
* Add a script to update the intersphinx inventory files

* We're about to add intersphinx inventories for separate ansible docs
  so we need an easy way to update them.  Also, we should be updating
  these cache files for other upstreams occassionally as well.  With a
  script, we can add updating them to a release process.
* Now that we don't know what the version of the cache is, change the
  filenames to not contain versions.

* Update the intersphinx cache files with the latest upstream versions

Results of running:

hacking/build-ansible.py update-intersphinx-cache -o docs/docsite -c docs/docsite/rst/conf.py

* Add a comment to the configuration file which says how to structure the intersphinx mapping and why.

* Update docs/docsite/rst/conf.py

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

Co-authored-by: Sandra McCann <samccann@redhat.com>
2020-01-22 17:20:02 -05:00
cb8ce7159d Docs: clarify that roles do not inherit collections set in a playbook (#66667)
Co-authored-by: Matt Davis <nitzmahone@users.noreply.github.com>
Co-authored-by: Sandra McCann <samccann@redhat.com>
2020-01-22 15:08:38 -05:00
05e034f899 Arbiter change and test additions (#59883) 2020-01-22 19:30:52 +00:00
b8a36e5950 Migrate azure_rm inventory to collection (#66693)
* migrate azure rm to collection

* missing :
2020-01-22 19:29:30 +00:00
fabb2eb555 mysql_db: add skip_lock_tables option (#66688)
* mysql_db: add skip_lock_tables option

* add changelog fragment
2020-01-22 20:19:49 +01:00
a412e4d9fd 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
2020-01-22 10:46:41 -05:00
ec371eb227 Set HostVars._variable_manager's attrs (#65508)
When HostVars are part of the data that goes through (de)serialization
when being passed from a worker process to the main process, its
variable manager reference loses some of its attributes due to the
implementation of __getstate__ and __setstate__ (perf utilization).
Since HostVars already has those attributes, use __setstate__ to assign
them.

Fixes #65365
2020-01-22 05:57:09 -05:00
0c4f167b82 fix 66530 (#66654) 2020-01-22 13:35:51 +05:30
ebf21bb48d Fix ansible-test inventory delegation. 2020-01-21 22:37:14 -08:00
5c158755fc Fix fact gathering for sensor-groups (#66439) 2020-01-22 10:49:12 +05:30
934d6b235b Add --venv-system-site-packages to ansible-test. 2020-01-21 17:32:29 -08:00
8f02022353 Remove unstable from aws_acm integration test.
The quota for the CI account has been increased, so tests are once again passing.
2020-01-21 17:22:09 -08:00
c58d8ed1f5 Improve deprecate sanity check; remove deprecated features which should have been removed for 2.9 (#65745)
* Update deprecation check.

* Remove support for check_invalid_arguments.
2020-01-21 16:58:26 -05:00
0b503f6057 Docs: User Guide overhaul, part 3 (#66371) 2020-01-21 16:57:55 -05:00
20eb1dca99 Update Galaxy docs to use "token" rather than "API key" (#66644)
We have called an API token many things. I changed the command line argument to
"--token", so now I'm unifying the documentation. I looked at both Galaxy and
Automation Hub and Galaxy is the only place that still uses the term "API Key",
which it could be argued should change.
2020-01-21 15:13:25 -05:00
d8c2f4738e CI is hitting 'maximum number of 2200 certificates' again, marking aws_acm unstable (#66665) 2020-01-21 15:03:03 -05:00
2b7393141f reboot - add boot_time_command parameter (#62680)
Allow the built in commands for checking boot time to be overridden. This is mainly for containers and other odd systems where it would add too much complexity to the plugin code to try and discern the correct command to use.
2020-01-21 13:42:32 -05:00
617fbad743 synchronize - fix password authentication (#66542)
On Python 2, leave all fds open since there is no mechanism to close specific fds with subprocess.Popen() on Python 2

Add unit tests.

Co-authored-by: Matt Martz <matt@sivel.net>
2020-01-21 10:43:56 -05:00
986c9cf6a1 Docs: Fix collection adjacent folder tree (#66490)
##### SUMMARY

Previously folder tree example for collection adjacent to the current playbook were displaying a subfolder below the playbook instead of being a sibling.
2020-01-21 10:20:37 -05:00
c423b1f213 dev_guide: Correct path to ansible-test requirements files (#66626)
The requirements path was old due to file relocation in
commit d651bda123.
2020-01-21 10:16:48 -05:00
8f6f4d62df Update win_package.py (#66658)
##### SUMMARY
<!--- Your description here -->
Replaced wrong registry paths with correct ones (HKLM:\, not HKLM:).
2020-01-21 10:06:41 -05:00
e38217f7fd ovirt_vm: add docs about importing ova (#66652) 2020-01-21 05:08:00 -05:00
1ee47a5969 Fix flake8 errors for junos tests (#66645)
Deal with F841 local variable foo is assigned to but never used
errors.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2020-01-21 08:57:39 +01:00
14ae3ba8c0 Fixed argument spec for multiple modules - Part II (#65497)
This change contains fixes for argument spec and respective datatypes.
Created separate PR since these changes might alter the behavior of these modules.
Will need shipit from individual module owner(s).

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-01-21 11:37:38 +05:30
04b60624ef Update vmware_cluster doc (#66630)
Missing delegate_to directive on Delete Cluster example task
2020-01-21 08:18:43 +05:30
22fe22f796 yum - fix bug where enablerepo is not honored when disablerepo all (#66557)
Fixes #66549

The inefficiency improvement
https://github.com/ansible/ansible/pull/63713 introduced a bug where
`enablerepo` was not being honored if combined with
`disablerepo="*"`. This fixes that issue.

Signed-off-by: Adam Miller <admiller@redhat.com>
2020-01-20 14:26:36 -05:00
f9bc53e23d fix closing quotation mark in copy module(#66619)
fix from "ntp.conf to "ntp.conf" in copy module documentation
2020-01-20 17:06:17 +05:30
b620134f9c VMware: Add example of specific folder in VM fact gathering (#66613)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-01-20 13:56:32 +05:30
1befb52321 VMware: add properties option to vmware_datastore_info module (#62940)
* add_properties_option_to_vmware_datastore_info
* fix document indent error
* add changelog file for vmware_datastore_info
2020-01-20 13:47:13 +05:30
7fabb28d22 nxos_gir timeout fixes (#66043)
* nxos_gir timeout fixes

* additional setup/teardown cleanups for sanity test

* Add timeout extension comment to module header

* lint

* rework logic to use action plugin
2020-01-20 12:45:49 +05:30
986be77337 vmware_host_powermgmt_policy/test: just one esxi (#66515)
Since the run the test playbook in a vcenter+1esxi scenario, there is no
need of second host.

The commit also simplify the logic of the test.
2020-01-20 11:31:25 +05:30
2d0ccdc98c vmware_host_acceptance/test: fix the functional test (#66576)
Ensure the functional test is actually run. It works fine on a real
environment.
2020-01-20 11:21:53 +05:30
7129453cd9 Maven Central requires TLS (#66611)
Fixes: #66609
Maven requires TLS as of 2019-01-15
2020-01-20 11:16:49 +05:30
3bf8b1d1c9 jenkins_job module: fix for python3 (#54958) 2020-01-19 12:57:54 -05:00
4181717af6 Removed "encode" on color in get_job_status (#66585)
* Removed "encode" on color in get_job_status

In Python3 (tested in 3.8.1), variable.encode('utf-8') returns as a byte string versus just a string in Python2 (tested in 2.7.17). Removed encode method on return of get_job_status when color exists and wrapped in str() for good measure.

* Swap str() for to_native() per feedback
2020-01-18 17:36:27 -05:00
f46af19702 Revert "eos_config: Added fix for bug #54400 - support for !! in config mode (#63694)" (#66591)
This actually breaks iosxr_config, revert for now to make tests passing
again.

This reverts commit 7ddf7474d3.
2020-01-18 14:22:26 -05:00
5db00a05b6 Disable mongodb_user test (#66595) 2020-01-18 07:43:49 -05:00
875ac4b7a5 Fix a tiny typo (#66589)
Fixes a very small typo: as --> a in playbook_debuggers.rst
2020-01-18 10:35:31 +05:30
f15050b09e Change package name in docker_setup integration test (#66572)
* Change package name

* Retry to hopefully get a good mirror
2020-01-17 23:41:42 -05:00
dd68458da2 Add missing gcp modules to module defaults (#66388)
* Renamed gcp_*_facts to gcp_*_info
* Added missing GCP modules to GCP module defaults group
2020-01-18 09:51:27 +05:30
a3dfabfdba vmware_host_ipv6/test: reset status before new check
Ensure a disable IPv6 before we try to re-enable it. This to get a
consistent result.
2020-01-17 16:57:23 -05:00
5280042901 vmware_host_dns: consistent rslt when name changes
This commit address a problem in static mode, if the hostname change,
`host.name` value with change too. And as a result:

    results['dns_config_result'][host.name]

will be initialized.
We now record the initial hostname first, and uses it as the key for the
results.

This commit also ensures hostname and search domain change are detected if
`instance.dnsConfig.dhcp` is true.

Finally, if we target a cluster, the `changed` result will depend on the
number of nodes.
2020-01-17 16:57:12 -05:00
b183d36c53 vmware_export_ovf/test needs an ESXi
Ensure the `vmware_export_ovf` test-suite runs with at least one ESXi.
2020-01-17 16:56:47 -05:00
437b8b3807 vmware_export_ovf/test: don't use a rescue block in test
By using a `rescue` block, we can potentially hide a really problem in the
block and return a success. This is a bit problematic for a functional
test.
2020-01-17 16:56:47 -05:00
ae6317004e vmware_guest_network/test: create the dvswitch
Ensure the DVSwitch and the portgroup are created by
`prepare_vmware_tests`.
2020-01-17 16:56:13 -05:00
077a8b4898 podman - fix rootless container copy no pause (#66583)
Fixes #66263

Signed-off-by: Adam Miller <admiller@redhat.com>
2020-01-17 16:41:10 -05:00
7ae5331218 update ismount() to match upstream from cPython (#64586) 2020-01-17 16:32:14 -05:00
864a3fd59d VMware: Add advanced settings to vmware_cluster_drs (#66233)
* VMware: Add advanced settings to vmware_cluster_drs

* Add DRS advcanced settings example
2020-01-17 16:23:19 -05:00
9b7198d25e file - change _diff_peek type in argument_spec (#60428)
* Add integration tests
* Handle error in _get_diff_data()
* Change to warning rather than error
* Also change failure to warning in assemble action plugin
2020-01-17 16:02:28 -05:00
9a51dff0b1 Rename private function (#66577)
Make find_existing_collections() a public function since it is being used across mulitple files now to support listing and verifying collections
2020-01-17 15:27:15 -05:00
87fd93f140 Added fix to bug #64568 (#64621) 2020-01-17 15:23:02 -05:00
7ddf7474d3 eos_config: Added fix for bug #54400 - support for !! in config mode (#63694)
* Corrected lint errors

* Added fix for bug # 54400

* Resolving conflicts
2020-01-17 15:22:38 -05:00
a7e4479d01 Fix DNF idempotency. (#66209) 2020-01-17 11:22:06 -05:00
6b21f56b97 fix typo in EXAMPLES (#64932) 2020-01-17 10:23:52 -05:00
8b0fb9f290 Fix flake8 error with test_eos_lacp_interfaces (#66552)
F841 local variable 'commands' is assigned to but never used

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2020-01-17 09:32:19 -05:00
148d72d6e2 vmware_vcenter_settings: Specify defaults inside parameter dict (#59546)
* vmware_vcenter_settings: Specify defaults inside dictionaries
* Add default to documentation and fix bug in example
2020-01-17 19:25:13 +05:30
b59fa134be Fix indent on example of set_fact module (#66554)
Fixed incorrect indent on example section in set_fact module's example section
2020-01-17 13:11:43 +05:30
9fd66556a6 VMware: new module to clone VM/template Cross-vCenter (#66156)
* Adding documentation and integration test for the new module
* Correcting typo
* removed unused if else block
* changing error messages
* Addressed review comments
* resolving sanity error
* fixed typo in vmware.py
* Added support for datastore cluster
* adding state parameter instead of power on fixed few more review comments
* Documentation update
* Updating argument
2020-01-17 13:08:42 +05:30
84b68aa05f gitlab_project_variable: Remove sensitive information (#66556)
Redact GitLab Project variables which might include sensetive information
such as password, api_keys and other project related details.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-01-17 01:42:15 -05:00
cd760782c9 vmware_rest_client: define 'port' parameter (#66506)
Ensure the `vmware_rest_client` based modules accept the `port`
parameter.
2020-01-17 08:11:24 +05:30
5edd076241 Update return doc in python_requirements_info (#66519)
not_found is a list and not dict
2020-01-17 08:10:14 +05:30
1f340721a7 ansible-galaxy - add "--token" command line argument (#66376) 2020-01-16 12:51:21 -08:00
0ab0e1556b eos_lacp_interfaces: Add unit testcases to eos_lacp_interfaces (#64455)
* Add unit testcases to eos_lacp_interfaces

* Add unit testcases to eos_lacp_interfaces
2020-01-16 15:07:57 -05:00
599cc0bdfa restructure headings and copy-edit shell completion (#66479)
* restructure headings and fix shell completion, apply suggestions from code review

Co-Authored-By: Alicia Cozine <879121+acozine@users.noreply.github.com>
2020-01-16 10:30:26 -06:00
0fa556f751 Fix flake8 errors related to vyos.vyos collection (#66516)
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2020-01-16 08:22:51 -05:00
3b764c6dcb Add diff and check_mode support to os_server (#62206)
* don't mix " and '

* rename functions that perform changes

* add diff, reorganize _present/_absent functions

* update tests to match function reorg

* add result to _exit_hostvars and removal of possibly sensitive information

* shallow copy dict for proper diff, add check_mode

* set check_mode to False for unit tests

* move _parse_meta back to it's original place

* use get_openstack_vars for diff when not in check_mode

* add changelog fragment
2020-01-16 10:39:54 +01:00
ea6bc98398 Foreman: support for want_collectionhosts and want_ansible_ssh_host
* Add support for want_collectionhosts and want_ansible_ssh_host in foreman plugin
2020-01-16 14:55:45 +05:30
450d9c4a04 hostname - Add Void Linux distribution (#66499)
Add support for Void Linux in hostname module.
2020-01-16 14:30:22 +05:30
bc37ea96d5 Vmss scale in policy (#66512)
* azure_rm_virtualmachinescaleset: add scale_in_policy and terminate_event_notification

* azure_rm_virtualmachinescalesetinstance: add vmss instance protection policy support
2020-01-16 09:24:39 +08:00
e459eac565 Use UTF-8 without a BOM for win coverage (#66510) 2020-01-16 09:52:05 +10:00
3bcb664497 Fixes #65590 add pywinrm version explanation (#65591)
* add pywinrm version explanation

* Update windows_winrm.rst

Changed pywinrm explanation to note style

* Add period

Co-authored-by: Jordan Borean <jborean93@gmail.com>
2020-01-16 08:22:38 +10:00
eab385e006 Update and cleanup Arch packaging (#64747) 2020-01-15 16:01:33 -05:00
ee3dcb4d35 use query instead of q in "if files exist" example (#66409)
##### SUMMARY
It's not obvious that `q` is the same as `query` (which is referred to in the name of the task) and using long-names is generally preferred in examples.

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2020-01-15 14:19:16 -05:00
d5c5cb5a17 podman_image: Use provided credentials when pulling image (#66372)
* Use credentials when pulling from a remote registry
2020-01-15 12:47:12 -05:00
1cb634a3ab Add a metadata property for CollectionRequirement (#66370)
* Add a metadata property for CollectionRequirement so the _metadata attribute doesn't need to be accessed directly

* changelog
2020-01-15 12:40:26 -05:00
b9b2ddc580 prepare_vmware_tests: no waiting loop during DS probing
For a refresh of the datastore list on the vcenter, this before we
check the present of the newly attached datastores.

A lot of tests depend on the presence of the DS, and this little
change allow us to save =~ 45s everytime.
2020-01-15 12:39:56 -05:00
f956581846 vmware_host_auto_start: enable the tests
- remove the unsupported alias
- refactoring
- move the hosts outside of the cluster to avoid any conflict with DRS
- import the `prepare_vmware_tests` role
- does not work with govcsim
2020-01-15 12:39:31 -05:00
af3603f9ee Revert "Allow httpapi for resource modules (#62843)" (#66483)
While this does properly pass our testing for ansible/ansible devel
branch, it is currently breaking our collection testing for 2.10.

Specifically, this would mean ansible.netcommon would need to directly
import arista.eos or cisco.nxos collections, causing a circular dependency.

This reverts commit e266e5f8b6.
2020-01-15 12:25:38 -05:00
3103fd62dd vmware_vmotion/test: ensure we can run tests
Some adjustments to be able to run the test-suite properly:

- Starts with the ESXi out of the cluster to be able to deploy the
  VM on a proper host consistently
- Ensure the resource pool exists
- The resource pool is called `DC0_C0_RP1`, not `Resources`
- Avoid an exception if we try to move a non existing VM.

Put the test in the zuul/vmware/vcenter_2esxi group.
2020-01-15 11:50:04 -05:00
68a8cc2b1f vcenter: don't bind container on <1024 port
Bind the govcsim service on port 1443, this way we don't need root privilege
to start the container. This allow us to use ansible-test with podman
seamlessly.
The commit also avoid the mapping of port 80. We don't need it.
2020-01-15 11:49:42 -05:00
afb71c14bd VMware: Use existing DVPG network in vmware_guest_network (#65994)
* Handle all cases of networks

Fixes: #65968

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-01-15 21:56:19 +05:30
69f9c3c8eb add one note to help ansible user to understand the requirements to (#65969)
execute iosxr_command module

Signed-off-by: Peng Xiao <xiaoquwl@gmail.com>
2020-01-15 12:35:07 +05:30
257ac9d175 Fortios: Correct underscore_to_hyphen API (#66119)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-01-15 10:35:57 +05:30
222b6dec8a vmware_guest_serial_port: avoid autoselect_datastore (#66481)
Avoid `autoselect_datastore` until #58541 gets fixed.
2020-01-15 09:44:46 +05:30
317c7fe144 vmware_inventory: define si outside try/except (#66482) 2020-01-15 09:43:23 +05:30
62991a8bdd terraform: Remove line that is suppressing output being shown (#66322)
* remove the line that is suppressing the output being shown when running
terraform from ansible
* Address #56934 and #57044
* added changelog for bug fix for missing terraform output

Co-authored-by: Adam <adam.lemanski@gmail.com>
2020-01-15 09:42:58 +05:30
73d343b7aa Enforce new setuptools for building official dists 2020-01-14 17:14:59 -08:00
e266e5f8b6 Allow httpapi for resource modules (#62843)
* Redo tests to be transport agnostic

cli -> eos config

Redirect connection for httpapi
2020-01-14 14:26:10 -05:00
6044325dec Bug fix for #53271 (return commands for cli_config) (#61808)
* cli_config return commands bug fix

* Spacing error

* Added notes section

* Spacing error

* Spacing error

* Spacing error

* Spacing error
2020-01-14 11:32:28 -05:00
9272e3d547 Fix Bug (#64553) 2020-01-14 11:08:38 -05:00
1b3ca349eb RoleRequirement - Include stderr in the error message (#66006)
* RoleRequirement - Include stderr in the error message if there's a non-0 return code

* Don't try to concatenate str and bytes

Co-Authored-By: Sam Doran <sdoran@redhat.com>
2020-01-14 09:46:23 -05:00
b06e78c16c make: use -f instead of --file to aid in portability (#65880)
`make` on FreeBSD (and others) has support for an option `-f` to specify a `Makefile`, whereas GNU make uses `--file` or `-f`. In the interest of portability use `-f` which covers both.
2020-01-14 06:01:13 -05:00
6f04f87a13 Deprecate Windows 2008, and 2008 R2 (#66257)
* Deprecate Windows 2008, and 2008 R2

* Remove shippable nodes

* Update windows_faq.rst

Be less specific about 2008/R2 timeframes

* Update setup.ps1

tweak warning text

Co-authored-by: Matt Davis <nitzmahone@users.noreply.github.com>
2020-01-14 11:22:39 +10:00
9a1329153e ec2_vol module filtering bug (#65960)
* Update ec2_vol.py

When `name` is specified, it ignores `zone` filter. That is you could not have same tag:Name in different zones.

* Add changelog fragment
2020-01-14 11:09:06 +10:00
ad341ea4bb Fix unarchive integration test failure due to rpm error (#66420)
* Fix unarchive integration test failure
* Do not cleanup pip packages
2020-01-13 16:23:31 -08:00
3db1ac4f56 Ignore warnings in ansible-test environment check. 2020-01-13 16:16:55 -08:00
4fedc10035 added guidelines for seo; (#66431) 2020-01-13 15:46:44 -06:00
51e5b714e0 Add test constraint for setuptools. (#66426)
* Add test constraint for setuptools.

* Update pip test to work on centos6 container.
2020-01-13 13:09:33 -08:00
9dd548ebb7 Update developing_python_3.rst (#66249)
##### SUMMARY

fix link § redirection

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2020-01-13 15:40:37 -05:00
3a2257c45c net_facts modules: Don't warn about defaults changing if they're not being used (#66270) 2020-01-13 11:36:01 -05:00
223e1675f4 vmware_local_role_info/test: avoid json_query
Refactoring to avoid the use of `json_query`. As a bonus point, we now
also ensure `NoAccess` role has no provilege.
2020-01-13 09:42:14 -05:00
16d3f6bcbb vcenter provider: do not set env var
Some secrets are exposed because of the environment variables. The
Ansible variables are now enough, we don't need to expose the envvar
anymore.
2020-01-13 09:41:43 -05:00
d64b49e8a0 Delete linter ignore lines for keycloak modules (#66406)
* linter: auth_client_id is not required, default value

Delete the lines linked to this mistake in ignore.txt.

* doc: state is not required
2020-01-13 10:41:07 +00:00
3de2575063 Add proxy type passive example to example block of zabbix_proxy (#66400) 2020-01-13 04:40:12 -05:00
b7dfcfa0b4 Check vars against Mapping in DEBUG (#66355)
When ANSIBLE_DEBUG=1, vars are VarsWithSources now which is a Mapping.
Check vars against Mapping instead of dict.
2020-01-13 10:04:32 +01:00
b070fd1630 Fix typo. (#66403) 2020-01-13 07:27:07 +01:00
654b9e2754 Add collection support with local for supported network platforms (#66302)
* Add collection support with local for supported network platforms

*  The legacy behavior of network action plugins using persistent
   the framework is to override the connection=local with the actual connection type (network_cli/netconf/httpapi) based
   on the value of transport option in provider.
*  After the actual connection plugin is identified try to load it from
   `ansible.netcommon` collection, if it fails load it from ansible
   core. This is done to work with Ansible 2.10 and also maintain backward compatibility for
   Ansible 2.9 version to ensure it works with network collections.
*  To support this need to pass collection_list value to connection
   plugins. As in case of connection=local it loads `persistent`
   connection within action plugin which in turn invokes `network_cli`
   or `netconf` connection. Similarly `network_cli` connection plugin invokes
   `terminal` and `cliconf plugins and `netconf` connection plugin invokes `netconf`
   `plugins` based on value on `ansible_network_os`.
*  Add deprecation warning for connection=local support and
   provider support for applicable platforms

* Fix CI failures
2020-01-13 09:49:55 +05:30
5c04f25245 ec2_lc: Update example to use snapshot id (#66064)
Fixes: #52085

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-01-13 13:13:13 +10:00
a79ca57d22 Fix aws_ssm connection plugin. (#66393) 2020-01-12 23:59:25 +01:00
663f9cda25 Disable failing tests. (#66391) 2020-01-12 23:25:11 +01:00
c380b18dcf openssl_* modules: allow direct input for some files (#66384)
* Allow to not read content from file.

* Allow to feed content directly into _info modules.

* Allow to feed non-primary content into openssl_certificate, openssl_csr and openssl_publickey.

* Rename changelog.
2020-01-12 19:12:33 +01:00
011e0176c2 Clarify the advantage include* statement brought regarding looping (#66022)
Signed-off-by: 林博仁(Buo-ren, Lin) <Buo.Ren.Lin@gmail.com>
2020-01-11 11:09:51 -05:00
3456700420 adjusted doc and argument spec in zabbix modules to match sanity requirements (#66176) 2020-01-11 15:25:15 +01:00
515c4a7e2c Bugfix of 65367: postgresql_query doesn't support non-ASCII characters in SQL files with Python3 (#66331)
* Bugfix of 65367: postgresql_query doesn't support non-ASCII characters in SQL files with Python3

* add changelog

* fix

* change changelog fragment, add example
2020-01-11 15:19:55 +01:00
f8fb391548 new connection plugin aws_ssm (#49652)
* new connection plugin aws_ssm

Return code may be at the end of the last command output line.

Marking regex.

Ensure command status code is on it's owm line - last 3 lines are not part of command stdout.

* Adding timeout parameter - aws_ssm_timeout

Default 10 second timeout (https://docs.ansible.com/ansible/2.4/intro_configuration.html#timeout) is marginal.
This avoids changing this default and allowing the SSM timeout to be controlled via inventory.
This change wraps commands so commands which may never return do timeout.

* Added integration tests

Added AWS SSM Executor, target and config functions

Fixed more code for integration tests

Improved execution

Added S3 bucket name

Fixed pylint

Reverted lib changes

Reverted few more changes

Improved support for integration test execution

added ansible role for aws_ssm_integration_test setup and teardown and modifiled runme.sh

Reset to 17fa565 commit

inventory file location changed

change inventory file location

deleted meta and handlers folder as it is not required

deleted main.yml inside vars, removed extra space from tasks/main.yml, Added appropriate tags for ec2 and delete test folder as it is not required

deleted main.yml inside vars, removed extra space from tasks/main.yml, Added appropriate tags for ec2 and delete test folder as it is not required

modified task/main.yml

added region variable and fixed pattern for using variable

modified policy for IAM role

moved to first line of scrip set -eux

Updated Session Manager plugin installation

edited custme policy

Included tags for Session Manager plugin installation

Added README.md

Upddated README and added support for ssm-plugin for Amazon-Linux

Added Windows Integration test support

Improved user data for Linux

Added random value generation for the role and policy,delete vars_to_delete.yml

upadte README in vars

fixed typo

update policy

Updated IAM policy file

update playbook

Updated playbook to include ssm-agent userdata

modified jing2 template

modified jing2 template

modified jing2 template and fixed role deletion

fixed role name issue while deleting and task name

Updated playbook to include wait_connection for ec2

Corrected Synatx changes and updated ssm-plugin debian file

Changed region variable to us-east-1

Removed vars file and updated  to /tmp dir

fixed typo

Improved setup

Fixed boto3 dependency

Fixed missing tag

Added boto as dependency as well

Improved execution workflow

Trying other way of defining tags

Fixed undefined var

Changed AMI ID to Amazon Linux

Improved Tags

Ok, created different directory for WIndows test execution

Fixed IAM Role Name for Windows

Fixed inventory not found

Improved integration test execution

Fixed Windows Inventory path

Fixed wrong Windows AMI ID

Fixes issue for windows test execution

* Don't attempt to terminate sessions without a session id.

* Added Unit test cases file for AWS SSM Connection plugin

updated test file with close

updated unit test file with start_session

updated test files

* Eliminate AWS CLI dependency for terminal session.

* Removing unused code, cleanup logic.

Reduce mark length - 52^26 should be plenty
Be explicit about subprocess.Popen options
Simplify if/else for mark end
_stdin_readline is not used now

* updated test file

Added exec command and fixed close session unit tests

updated test files

Improved ansible ssm test command

updated file for lint checks

updated for pylint checks

New Unit_testcases for pre-signed URL file

removing additonal spaces and white spaces

remaning error changes

fixed changes

fixed spaces issues

python 2.7 version and whitespaces

python 2.7 version and whitespaces

python 2.7 skip if

space issue with 16:1

Unit test cases for windows and linux

Unit test cases for windows and linux with issues fixed issues

Unit test cases for windows and linux with issues fixed issues1

* Added support for S3 Pre-signed URLs

* Updated documentation and comments

* Documentation and curl dependency removal for controller machine

Fixing lint errors and removing requirements.

* Adding support for Windows remote EC2 instances.

* Added Encoding fixes

* Updating author section and adding obvious requirement for the SSM agent.

* Refactor stdout post processing
Attempt to get real return code on error (test using ansible -m raw -a 'cmd /c exit 99'.
Fixes problem at terminal width (ansible windows -i ./hosts.yml -m setup).

* Refactor back to a single module.

* Fixed fetch file for windows

* ssm usage examples for linux and windows

* Update aws_ssm.py

Service state corrected.

* Strip line continuation when at terminal width - otherwise replace.
Strip ANSI control sequences only for Windows.

Test playbook:

---
- name: test
  hosts: windows
  gather_facts: False
  vars:
    small: 'abc'
  tasks:
  - name:
    set_fact:
      large: "{{ lookup('password', '/dev/null length=2000 chars=ascii_letters,digits,hexdigits,punctuation') }}"
  - name: small fixed
    raw: echo '{{ small }}'
    register: small_result
    changed_when: False
  - name: check
    assert:
      that:
        - "(item | length) == (small | length)"
        - "item == small"
      msg: "'{{ item | length }} must equal '{{ small | length }}' and '{{ item }}' must match '{{ small }}'"
    with_items:
      - "{{ small_result.stdout_lines[0] }}"
  - name: large random
    raw: echo '{{ large }}'
    register: large_result
    changed_when: False
  - name: check
    assert:
      that:
        - "(item | length) == (large | length)"
        - "item == large"
      msg: "'{{ item | length }} must equal '{{ large | length }}' and '{{ item }}' must match '{{ large }}'"
    with_items:
      - "{{ large_result.stdout_lines[0] }}"
  - name: gather facts
    setup:

* Correct module parameter names.

* Updated Windows Executable variable.

Updated Windows Executable variable to "ansible_shell_type".

Fixing Examples with raw declaration

Updated the plugin timeout variable.

* Fix to work with dynamic inventory plug-in

* IntegrationTest template updates

* Removing unsupported flag for integration tests.
Fixing unit test.

* Adding shippable group.

* SSM Usage examples with dynamic inventory plugin

* Fixing yamllint errors.

* Fixed Integration tests

* Fixed Integration tests

* Updates for python3.

Removing python3 restriction.

* Remove python3 restriction.
Change block from retry to always

* Fixed Integration tests with Python 3

* Fixed shellcheck

* Fix for Windows which could pick up end mark prematurely
Move debug to _wrap_command and use a single return point

Single-quotes not needed around linux marks
Fix typo in comment

End mark to new command.

* Unit test cases now works on Python2 and Python3

* Skip tests on Python 2.6

* Fix for wait_for_connection module for windows.

* Updated changes as per review comments

* Fixing broken pipe error seen with session-manager-plugin version 1.1.17.0.
Eliminating sleep as this looks to be fixed in session-manager-plugin version 1.1.17.0.

* Adding back delays for Windows with session-manager-plugin 1.1.17.0.

* Updating Windows AMI ID for integration Test

* Upgrading windows ssm agent to the latest

* Adding boilerplate code.

* Windows ami and integration test updates

* Revert "Windows ami and integration test updates"

This reverts commit cd6ca3579b7cda584bd9c065f9c0835bddb23627.

* Updating windows ami for Integration tests

* Integration test suite updates and fixes.

* Updates and fixes

* Eliminate duplicate processing for exit code on failed command.

* Add powershell wrap.

* Refactor windows post_process.

* AMI Lookup, aliases, OSC filter, test suite updates

Co-authored-by: Gaurav Ashtikar <gau1991@gmail.com>
Co-authored-by: Deepak Choudhary <40276333+deepsvc@users.noreply.github.com>
Co-authored-by: Hanumanth <46720371+hanumantharaomvl@users.noreply.github.com>
Co-authored-by: KUMAR MAYANK <mayank@flux7.com>
2020-01-11 15:22:01 +10:00
0a3a81bd12 Persistent connections: These timeouts seem unused (#66267)
* These timeouts seem unused

* Add changelog
2020-01-10 23:09:21 -05:00
f695f40133 Temporarily mark unarchive test unstable. 2020-01-10 18:31:14 -08:00
5f966ef664 Update deprecation version and porting guide for resource_id option (#66060)
* update deprecation version and porting guide for resource_id option

* add changelog fragment
2020-01-10 16:37:53 -06:00
1a0724fdd4 Trim down to one Ansible search option (#66284)
* move swiftype search to upper left of docsite, fix spacing and length issues for search icon and searchbox
2020-01-10 16:31:46 -06:00
22be69188b Fix unarchive integration test on CentOS 6 (#66362)
* Cleanup packages added for Python TLS support
2020-01-10 16:58:37 -05:00
9922014441 add details on network gather facts improvements (#66220)
* add details on network gather facts improvements, implement feedback
2020-01-10 15:06:49 -06:00
ffc1f33f2a Docs: make different heading levels more obviously different in html output (#66253) 2020-01-10 14:13:48 -06:00
2ad6055efd Document network resource modules (#66226)
* add network resource module details to docs

(cherry picked from commit 3e35d2d63ce17fb694e645785ad855f01420f7d8)

* network resource module page, with example output
2020-01-10 14:12:26 -06:00
ce66743b10 vmware_category/test: ensure test can run on Zuul
- set the zuul/vmware/vcenter_only alias
- import `prepare_vmware_tests` role
- little refactoring to avoid an extra level of indentation
2020-01-10 14:51:30 -05:00
0703590686 vmware_vm_info/test: drop dep on json_query
Test refactoring to avoid dependency on `json_query`.
2020-01-10 14:50:01 -05:00
136b3be722 added unit test details for resource modules (#65891)
* added unit test details for resource modules
2020-01-10 13:49:42 -06:00
0d85ab1fe3 Add collection support for network platform agnostic modules (#66342)
*  Refactor net_base action plugin to invoke platform
   action plugin with implementation module name updated
   in the new task copy.
2020-01-10 12:42:53 -05:00
3ebc96e5c7 nxos_l3_interfaces: fix states, add new minor attributes (#64853)
* (WIP) nxos_l3_interfaces: fix states, add new minor attributes

* sa cleanup

* more regression fixes

* test_8 for add'l code coverage

* Fix regressions to handle mgmt w/o IP

* add 'no system default switchport' to regression setups

* add err msg to terminal_stderr_re so that cli_config will catch L2 failures

* regression test change: /int4/int3/

* Add default rsvd_intf_len for Zuul CI

* Fix replaced-with-no-ipaddr and ip redirect issues
2020-01-10 16:33:22 +05:30
687f57d6ca updating metadata (#66289) 2020-01-10 12:29:28 +05:30
c92b538cc5 WebRequest - remove generically named aliases from util (#66325)
* WebRequest - remove generically named aliases from util

* Fix location of deprecated aliases key
2020-01-10 13:01:26 +10:00
7a7f70612a Revert "Fix net_put module text file issue (#66065)" (#66328)
This PR didn't properly run testing for network jobs. As a result it has
broken jobs for ios and junos.

This reverts commit fa66813696.
2020-01-09 21:51:59 -05:00
7ed00a1560 Fix up deprecated_aliases spot for PS (#66326) 2020-01-10 11:44:15 +10:00
3c0a836004 Add changelog entry for PR #66321 2020-01-09 15:26:14 -08:00
397ec6f291 Add comment about not installing requests 2020-01-09 15:18:38 -08:00
db491eca0e Do not install requests[security] for MongoDB tests
This was previously removed in PR ##60083 but was added again in
PR #61257. This will cause a lot of things to fail if it is uninstalled
during cleanup after the test role, which is why it was originally removed
from the test.
2020-01-09 15:18:38 -08:00
595ab62ab8 Ansible.Basic - Added deprecated_aliases (#66323) 2020-01-10 09:13:13 +10:00
92677d43b6 Account for argument spec of None in validate modules sanity test 2020-01-09 15:11:51 -08:00
3ca4580cb4 Allow no_log=False to silence the no_log warnings for module parameters (#64733)
As AnsibleModule._log_invocation is currently implemented, any parameter
with a name that matches PASSWORD_MATCH triggers the no_log warning as a
precaution against parameters that may contain sensitive data, but have not
been marked as sensitive by the module author.

This patch would allow module authors to explicitly mark the aforementioned
parameters as not sensitive thereby bypassing an erroneous warning message,
while still catching parameters which have not been marked at all by the
author.

Adds tests for various no_log states including True, False, and None (as
extracted by AnsibleModule._log_invocation) when applied to an argument with
a name that matches PASSWORD_MATCH.

Fixes: #49465 #64656
2020-01-09 16:47:57 -05:00
93bfa4b07a win_user_right - docs to show how to remove all (#66315) 2020-01-10 06:33:00 +10:00
891c759832 Fix AttributeError due to cgi.escape removal in Python 3.8. (#66040)
* Fix cgi.escape AttributeError due to cgi.escape removal in Python 3.8.

* Fix linter errors.
2020-01-09 15:28:02 -05:00
d3427bb860 Make sure warnings are printed during fact gathering (#66258) 2020-01-10 06:16:20 +10:00
a3d67edfca Fix to nxos_vrf purge breaks with empty aggregate (#66004)
* resolving conflicts

* fixed issue with purge and state var. fixed space issue with vrf name

* lint issues
2020-01-09 14:43:59 -05:00
f70f426604 set up 'yanzhangi' as a reviewer for cloudengine. (#66024) 2020-01-09 14:32:22 -05:00
aba8f12495 ansible-galaxy ignore empty server_list (#65986)
* ansible-galaxy ignore empty server_list
2020-01-09 14:24:36 -05:00
609c3d0e36 mongodb_user module integration tests (#61257)
* Add final commits

* End of night commit

* Add further tests

* What is this doing here?

* Remove file from commit

* Change os check

* Change version check
2020-01-09 09:22:45 -05:00
559de7ee1e mongodb_parameter module integration tests (#61644)
* Add final commits

* End of day check in

* Initial commit

* Remove file

* Remove module from pr

* Run tests
2020-01-09 09:07:27 -05:00
fa66813696 Fix net_put module text file issue (#66065)
*  Modify the parent class for net_put and net_get
   module to refer from `ActionModule` class in
   network.py action plugin which contains the
   common code for network plugins.
*  Replace `_handle_template` with `_handle_src_option`
   function name which is defined in common class.
2020-01-09 18:42:00 +05:30
42b0c967d0 FreeIPA: Fix documentation (#66194)
* Add datatype whereever it is missing
* Fix documentation

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-01-09 15:32:26 +05:30
70bc351f31 mysql_query: new module (#65941)
* tmp

* mysql_query: new module

* remove irrelevant changes from mysql.py

* add autocommit keyarg to mysql_connect

* add basic CI tests

* tmp

* fix CI tests

* add CI tests

* fix comment in CI tests

* remove path_to_script option

* refactoring

* change tests formatting

* add single_transaction param

* fix sanity

* add note

* fix
2020-01-09 07:39:09 +01:00
963b8249ec setup: more reliably detect container environment (#66183)
* virtual facts: /proc/<pid>/environ is NULL-separated
* non-empty "container" env is a guest container
* This is consistent with `systemd-detect-virt --container`
* fact utils: line_sep option: specify delim for split
* allow using the same function to split null-delimited objects
2020-01-09 11:51:45 +05:30
fff613dd3e routeros_command – add support for dot in username (#65905) 2020-01-08 23:04:47 -05:00
b05529c5a3 adding proxy_address field for active proxies (#66247)
Since 4.0.0 there is a field proxy_address for limiting proxy requests.

Official Docs: "Proxy address	If specified then active proxy requests are only accepted from this list of comma-delimited IP addresses, optionally in CIDR notation, or DNS names of active Zabbix proxy.
This field is only available if an active proxy is selected in the Proxy mode field. Macros are not supported.
This option is supported since Zabbix 4.0.0."
updated documentation/help
fixed test issues
fixed version_added not a string
fix suggestions by D3DeFi


added changelog fragment
applied D3DeFi suggestions

way cleaner and better readable
2020-01-08 19:25:10 -05:00
a5c36eedd8 Simplify docker_setup on Fedora.
This avoids installing dnf-plugins-core, which breaks the yum and dnf modules
when uninstalling packages using a wildcard after they have already been removed.

This should resolve issues with the yum integration tests failing after docker tests run.
2020-01-08 15:29:39 -08:00
53e405dd42 Fix 'CyberarkPassword' object has no attribute 'delimiter' (#66268)
This is a very small follow up to PR #59500
2020-01-08 15:36:41 -05:00
d1c39b9068 Don't remove trailing / on galaxy api URLS (#63294)
This causes multiple unneeded http redirects.
Since each http redirect takes a few hundred
milliseconds, handling the redirects starts to
take up a significant amount of wall time.

Fixes: #63281
2020-01-08 15:25:40 -05:00
66550cd3c2 vmware_guest/test: create test vm in correct directory
Ensure we already create the `test_vm3` VM in the `{{ f0 }}` directory.
This to be sure the teardown playbook will be able to clean it up at the
end. This to avoid problem like this one:

```
Multiple virtual machines with same name [test_vm3] found, Folder value is a required parameter to find uniqueness of the virtual machine
```
2020-01-08 13:20:47 -05:00
4676e5d60e New module: onyx_bfd (#64359)
* Supporting BFD in Ansible

* Modifying BFD module
2020-01-08 12:03:32 -05:00
37dd3c3aa4 Supporting SNMP Hosts Configurations in Ansible (#63983)
* Supporting SNMP Hosts Configurations in Ansible

* Modifying SNMP Hosts Configuration.

* Modifying SNMP Hosts Configurations.

* Modifying SNMP Hosts Configurations

* Modifying SNMP Hosts Configurations.

* Modifying SNMP Hosts Configurations Code.
2020-01-08 11:51:58 -05:00
24781c01be Supporting AAA Configs in Ansible. (#64434) 2020-01-08 11:51:37 -05:00
96b1efdce4 Supporting bfd command in Ansible. (#64509) 2020-01-08 11:51:25 -05:00
20503d7078 nxos_linkagg: removing unsupported parameter "provider" and "timeout" from sanity test (#64370)
* nxos_linkagg: removing timeout parameter from module nxos_feature

* nxos_linkagg: removing unsupported parameter "provider" from sanity test

* nxos_linkagg: typo correction

* nxos_linkagg: typo correction
2020-01-08 13:45:03 +05:30
c4cfe1d7f6 Fix typos in ios_l2_interfaces (#66246)
Some typos in the examples of ios_l2_interfaces are fixed.
This might help to have a fluent start with this module.
2020-01-08 13:44:09 +05:30
01e4c41be4 nxos: Removing local-nxapi plugin and related parameters' usage from the integration tests. (#65068)
* nxos_integration_tests: Removing obsolete provider parameter

* nxos: removing support for local-nxapi plugin

* nxos: removing LocalNxapi plugin implementation

* nxos_nxapi: removing local plugin usage

* REVERT - nxos: removing LocalNxapi plugin implementation

* Addressing yamllint issues

* Removing the condition on the debug messages

* Restoring changes done to nxos_nxapi* tests

* Retaining timeout of 500 on nxos_smoke test

* Some cleanup

* Addressing latest comments

* Restoring the nxos_smoke and removing timeout from nxos_config and nxos_rollback
2020-01-08 13:43:23 +05:30
45713aa38f Track source of vars 2020-01-07 17:30:28 -08:00
009225dfc6 Add support for replacing an existing openstack keypair (#62762)
Signed-off-by: Paul Belanger <pabelanger@redhat.com>

Co-authored-by: Monty Taylor <mordred@redhat.com>
2020-01-07 18:35:06 -05:00
452ade007e Clean up Shippable scripts in tools directory. 2020-01-07 14:38:15 -08:00
0ca79a4234 Clarify how to use the Galaxy token (#65961)
* DOCS: clarify how to use the Galaxy token, with info for installs and api-key
2020-01-07 13:57:47 -06:00
e19b94f43b Add test for reboot & wait_for_connection on EOS & IOS (#63014)
* Add test for reboot & wait_for_connection

* Add test for ios

* Collection-proof block test

* Add junos test

* Don't try to evaluate cli context unless using the connection

* Prevent infinite recursion
2020-01-07 14:24:26 -05:00
40394ed671 Update user module to support no_log=False. (#66219)
Updates the user module to support pull request #64733. Neither the
update_password or password_lock field contains sensitive information, so
mark them as such.
2020-01-07 11:26:55 -05:00
10cc2e2b47 Stop using {{ }} in templates for conditionals in integration test (#65797)
Co-Authored-By: Matt Martz <matt@sivel.net>
2020-01-07 11:12:55 -05:00
45240213be Move bitbucket unit tests to separate dir (#66237) 2020-01-07 17:02:27 +01:00
9cfc313dc5 Fix small typo in purefa_host documentation examples (#66240) 2020-01-07 10:50:45 -05:00
469f104ec2 loop: simplify dict2items example in docs (#66235)
* Added a simple example to explain "dict2items" filters for better understading.

Fixes: #65505

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-01-07 10:32:46 -05:00
f8654de851 Ensure that data within a tuple is marked as unsafe (#65918)
* Use is_sequence, and Mapping throughout, add support for tuples. Fixes #65722

* Address tests

* Remove unused import

* Add changelog

* Add docstring for clarity

* Argh, linting fix

* Not chasing this rabbit

* wrap_var doesn't return a ref to the original item

* no ref tests

* Remove unused import
2020-01-07 08:41:37 -06:00
f9e315671a pagerduty_alert: fix IndexError exception (#46770)
* pagerduty_alert: fix IndexError exception

* clean a bit
2020-01-07 06:27:11 -05:00
8743ff02c0 Fix hcloud_server and hcloud_server_info module when the image is None (#66234) 2020-01-07 05:20:40 -05:00
cb46e5f06b Use dict_diff instead of sets to take diff lag members (#66126)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2020-01-07 13:12:54 +05:30
97aefb8e11 Temporarily disable vpc peer-link tests (#66121)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2020-01-07 13:12:45 +05:30
0ebb0ac0fa Fix rendering duplicate peer-ip commands (#66088)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2020-01-07 13:12:30 +05:30
4674435367 Fix nxos_snmp_community command ordering (#66094)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2020-01-07 12:15:43 +05:30
bac2e02900 vmware_guest: exclude dvswitch_name from guest os customization (#65997)
- exclude dvswitch_name from guest os customization
- add changelog fragment for ansible PR#65997
2020-01-06 16:41:02 -05:00
22855f73fb Remove unstable from yum tests (#66218)
They seem to be stable again on Fedora 31.
2020-01-06 16:35:09 -05:00
02c126f5ee docker_container - #65993 - update restart policy (restart policy & restart retries) wit… (#66192)
* #65993 - update restart policy (restart policy & restart retries) without restarting the container

* - proper indentation on the continuation-line
- set restart_policy to the correct value independent from the api version

* - move restart_policy definitions into the if block
- add a new variable for the restart_policy configuration value

* add changelog fragment

* typo; minus -> underscore

* rename changelog fragment to contain the correct module name

* rename restart_policy_config_value to just restart_policy and refer to the correct dict values
2020-01-06 20:49:48 +01:00
ec34235e2e Use a context handler for file handling in paramiko_ssh.Connection. (#65624) 2020-01-06 13:09:57 -05:00
d3e9ef3c35 add a path_join filter which joins path components (#62713) 2020-01-06 11:56:40 -05:00
7888eafb82 Fix callback set_options issue with collections (#66128)
Fixes: #66127
2020-01-06 11:32:36 -05:00
80dff8743a fixed some broken links (#66182) 2020-01-06 10:24:07 -06:00
7f9295568a ali_instance: fix doc formatting (#66086) 2020-01-06 10:20:00 -06:00
f85d9d7028 Correct rst syntax in playbooks_filters.rst (#66198)
The `regex_replace` documentation included an example that was meant
to be preformatted text but due to an indentation error was rendering
incorrectly.
2020-01-06 10:13:21 -06:00
6ba4f04f45 Helm: add 'values' examples (#66197)
* DOC: add 'values' examples to helm module docs, see https://github.com/ansible/ansible/issues/31117

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-01-06 10:09:27 -06:00
e5b2432122 name2Name for myTestNameTags (#66203) 2020-01-06 10:08:05 -06:00
8ae5e34127 pre cleanup services (#66188)
Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>
2020-01-06 16:20:36 +05:30
6b1dff64d0 Fixed misc typo in netcup_dns module (#66201)
Changed 'authentification' to 'authentication'
2020-01-06 15:19:02 +05:30
d56d0f97e3 Add support for OSCM-distribution in hostname module (#66190)
Fixes: #66189

Added subclass to detect the new distribution OSMC
2020-01-05 12:37:39 +05:30
193879d462 Assign AWS Cloudwatch Metric Filter via Ansible (#59925)
* #42292 first draft.

* fix some documentation

* use snake dict keynames

* return metric filter variable

* rework documentation

* try to fix documentation. fix condition when defaultValue is 0. update version string

* fix intenion, syntax and undefined

* try solve state documentation

* define type for state in doc

* rework integration test and fix minor typos

* add defaults for integration test

* update documentation, integration tests, and return value

* fix code formatting and documentation

* irgnore errors in ignore block

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

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

* add options to metric_transformation

* fix pep-8

Co-authored-by: Jill R <4121322+jillr@users.noreply.github.com>
2020-01-04 11:39:01 -07:00
b0b00b555f docker_container: configure removal wait timeout (#66144)
* Add support for timeout while waiting for state.

* Allow to limit removal wait time.

* Add changelog.

* Forgot version_added.

* Add some check mode tests.

* Use removal_wait_timeout in tests.
2020-01-04 17:56:59 +01:00
9a13d56b26 Misc typo fixes (#66120)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-01-04 21:13:30 +05:30
865e767d39 PostgreSQL : Create unique index (#66157)
* Postgresql : Create unique index

TODO:

* fix syntax error

* add version added

* adding specs and improve doc

* add changelog

* Update lib/ansible/modules/database/postgresql/postgresql_idx.py

* Update lib/ansible/modules/database/postgresql/postgresql_idx.py

* remove check about concurrent

* Apply suggestions from code review
2020-01-04 10:38:17 +00:00
4ecc9da244 mysql_db: add master_data parameter (#66048)
* mysql_db: add master_data parameter

* add changelog

* fix CI
2020-01-04 10:37:40 +00:00
b48366c2fe postgresql modules: use query parameters with cursor objects (#65862)
* postgresql modules: use query parameters with cursor objects

* add changelog fragment

* fix typo in changelog fragment
2020-01-04 05:18:45 -05:00
aa53eb0e71 Bug fixes for GCP modules (#65309) 2020-01-03 15:36:21 -05:00
d37f00df9b Bug fixes for GCP modules (#65445) 2020-01-03 15:36:10 -05:00
5bc11caa92 Bug fixes for GCP modules (#65597) 2020-01-03 15:35:59 -05:00
528163ded2 Bug fixes for GCP modules (#65681) 2020-01-03 15:35:49 -05:00
de01872e7c Bug fixes for GCP modules (#65792) 2020-01-03 15:35:40 -05:00
47970d413e vrong usage of name tag in example (#66129)
Docs: the capitalization of the tag should match in the description and the example. Change the example to "Name" (not "name") to match the description above in the efs_info module documentation.
2020-01-03 09:15:58 -06:00
51570526a9 add example for 'search_paths' option (#65731)
credit to GoneWacko, see #51190 for reference
2020-01-03 09:04:28 -06:00
5e38d5a6dd lambda_info: Remove unused variable and import (#66124)
* Clean up residual code from #64548

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-01-03 10:02:59 -05:00
633f64f780 Correct fetch_url error code documentation (#66061)
HttpError is passed for 400 and above, not only greater than 400. Change docs to `>=` instead of `>`.
2020-01-03 08:31:20 -06:00
2f996fc6e2 vyos_config bug fix #66110 (#66122)
Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>
2020-01-03 17:35:37 +05:30
5493ea590c make concurrent aws_acm integration tests not clash (#64660)
* add uuid for aws_acm test resources, allow concurrent tests

* remove debug task in aws_acm int test
2020-01-02 17:06:56 -07:00
0597c5d052 Fix typo (#66158) 2020-01-02 22:04:19 +01:00
d85f68cf6c Update Documentation for win_scheduled_task.py (#66079)
Passing an empty string through this parameter is not gracefully handled by the module implementation, so adjust the documentation to only include the `PT0S` method of specifying unbounded `execution_time_limit`. The win_scheduled_task execution_time_limit must be set explicitly to an empty string to permit unbounded execution time.

A newly created task without a value for `TaskSettings.ExecutionTimeLimit` will default to 72 hours (https://docs.microsoft.com/en-us/windows/win32/taskschd/tasksettings-executiontimelimit) even if you omit the Ansible task parameter `execution_time_limit`.
2020-01-02 11:34:17 -06:00
506e2da0ff wording in examples changed ios to eos (#66131)
wrong module was used in examples: should be eos_vlans not ios_vlans
2020-01-02 11:27:50 -06:00
14e32c85b4 Don't wait for removal during check mode. (#66145) 2020-01-02 17:51:52 +01:00
19f77faf7b Fixed typo in vultur module (#66159)
Changed `exmaple` to `example`
2020-01-02 20:30:01 +05:30
f31b8e08b2 docker_swarm_service: Fix parsing of Healthcheck.StartPeriod (#66151)
* Parse Healthcheck.StartPeriod properly

* Add changelog fragment

* Use proper markup in changelog

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

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-01-02 09:23:36 -05:00
f7d4121446 postgresql_query: refactoring (#66084) 2020-01-01 05:15:48 -05:00
80896792c8 Correct spelling mistake in proxmox_kvm (#66133)
* Correct a little spelling mistake in proxmox_kvm - changed 'update' to 'updated'
2019-12-30 21:20:56 +05:30
458268f4cb AWS Guidelines: Make 'security_token' optional so that they can be run outside of CI (#66107) 2019-12-30 08:38:20 +00:00
06927eab1f Make autocost bandwidth calculation a floor division for Py3 compatibility (#66095)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-12-30 13:12:16 +05:30
fc2d7ae63e mysql_db: fix doc formatting (#66087) 2019-12-30 10:36:00 +05:30
074190ae54 Update OS_FAMILY_MAP for EulerOS (#66104)
Add support for EulerOS

Signed-off-by: Dai zhiwei daizhiwei3@huawei.com
2019-12-30 10:25:37 +05:30
4df5bdb11e docker_container: wait for removal if removal is in process (#65854)
* Allow to inspect containers directly.

* Wait for containers to be removed before recreating them.

* Also wait for containers to be removed before creating them.

* Add changelog.
2019-12-29 23:16:32 +01:00
17ef253ad1 docker_network: fix multiple subnet (of same IP version) idempotence (#65839)
* Fix multiple subnet (of same IP version) idempotence for docker_network.

* Add changelog.

* Unit tests no longer make sense, since the part of the code they test has been removed.

* Re-add CIDR validation. Move it to better position (module setup instead of idempotence check).

* Update changelog.

* Only run new tests on VM test images.

* Actually do what is documented. Especially since an empty object is a valid value for aux_addresses.
2019-12-29 23:16:17 +01:00
30cfa92e90 docker_swarm_service: Fix description of limits.memory (#66078)
This option corresponds to the '--limit-memory' option. Also
fix other mentions memory reservation instead of limit.
2019-12-29 21:18:46 +01:00
8456d4e354 update aws_eks_cluster.py (#66105) 2019-12-29 19:45:34 +10:00
c5a2ba5217 To fix the bug where IOS vlans module throws traceback (#64633)
* fix 64515

* add fix
2019-12-27 20:49:29 +05:30
b733178bac nsupdate: Use provided TSIG key for all queries (#63174)
In addition to signing update queries also use the TSIG key to sign
lookup queries. By doing that we allow a hidden master to not only to
be looked down network wise, but also TSIG wise.

A bonus benefit of threating update queries and lookup queries more
the same is that will allow for all queries to be refactored into a
shared helper method. Currently we have a bit too much duplicated code
within the module.
2019-12-27 16:02:24 +01:00
c2fed8603c Fix nxos_user roles bug (#65962) 2019-12-27 15:51:17 +05:30
52f3ce8a80 allowing banner without stripping spaces (#62573)
Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>
2019-12-27 12:43:09 +05:30
da07b98b7a os_volume: optional bootable parameter for volume (#43945) 2019-12-27 11:04:17 +05:30
c35a7b88d4 Homebrew: some functions ignored check_mode option (#65387)
update_homebrew and upgrade_all now support check_mode

Fixes: #65352
2019-12-27 10:45:34 +05:30
4d1a57453e homebrew_cask: Update documentation and examples (#66073)
* properly document ``upgrade`` option as an alias to ``upgrade_all``, and not a separate option
* Update documentation.
* Update examples.

Fixes: #34696

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-12-27 10:08:18 +05:30
82c63c0ac3 zabbix_host idempotency fix for situation where ZabbixAPI handles host groups case insensitively (#63860) 2019-12-25 10:30:51 -05:00
2fa8f9cfd8 Fix env lookup plugin error on utf8 values (#65541)
This commit fixes issue #65297.

The env lookup plugin used to fail when environment variable value
contained any UTF-8 characters (e.g., δ, ζ).
2019-12-25 17:24:38 +05:30
05e2e18061 VMware: Add example for creating VM without disks (#66057)
Fixes: #39743

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-12-24 22:40:02 +05:30
94e054755f Fix nxos_l3_interfaces rendering of dhcp (#66049)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-12-24 21:58:30 +05:30
abad4fbf5e fixing #64404 (#66032) 2019-12-24 16:10:47 +08:00
cb2a45d286 fix nxos_hsrp keyerror (#65796)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2019-12-24 12:13:58 +05:30
683c467609 Check if task file is specified for import_tasks (#57572)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-12-24 10:26:32 +05:30
34acabd70a VMware: Handle NoneType in vmware_vmkernel_info (#65834)
Check for virtualNicManager in Esxi host system before accessing properties in vmware_vmkernel_info.

Fixes: #62772

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-12-24 09:38:38 +05:30
365820f871 Add a banner which will display on the testing site. (#64763)
* Add a banner which will display on the testing site.

Thanks to shane for the javascript code

* change to more noticable color

Co-authored-by: Sandra McCann <samccann@redhat.com>
2019-12-23 12:15:47 -05:00
d85816396e Update os_group_info.py (#65115) 2019-12-23 11:29:14 -05:00
6d65280dfc improved zabbix action conditions documentation in zabbix_action module (#65808) 2019-12-23 11:28:29 -05:00
c0cf148eee Be more specific about the requirements per distro (#65810) 2019-12-23 10:35:26 -05:00
57730505b5 fix AWS cloudfront purge_cache_behaviors misspelling (#65927) 2019-12-23 10:29:01 -05:00
81465455cd Fixes #65952: Remove ambiguous example from k8s docs to clarify file usage. (#65953) 2019-12-23 10:18:15 -05:00
5c69e02a35 don't use with_file in exclusive=True examples (#65967) 2019-12-23 10:16:16 -05:00
10b6038e21 Fix pacman stdout parsing in the Ansible module (#65238)
pacman output is localized and the Ansible module is parsing its output.
So, we need to force the locale.
Add changelog fragment

Fixes #65237
2019-12-23 14:23:46 +05:30
3caadca3f4 Include groups in name-based search results (#66026)
add changelogs
2019-12-23 02:47:02 -05:00
5e271baa55 Revert "Don't rely anymore on locale-dependent wording in Pacman output (#65878)" (#66029)
This reverts commit cd0e038b74.
2019-12-23 09:34:37 +05:30
cd0e038b74 Don't rely anymore on locale-dependent wording in Pacman output (#65878)
Use line position instead, as specified in upstream pacman source code.

See: https://git.archlinux.org/pacman.git/tree/src/pacman/package.c#n260
Fixes: https://github.com/ansible/ansible/issues/64682
Fixes: https://github.com/ansible/ansible/issues/65237
2019-12-23 09:11:39 +05:30
22d93d9496 zabbix_hostmacro support for zabbix native macro names and macro_value not required when state=absent (#65884) 2019-12-22 02:58:23 -05:00
6fa070e824 Fix to return data when using lambda_info module (#64548)
* Fixed issue 64479 with lambda_info module

* Added integration tests for lambda_info module

* Moved lambda_info tests into already existing aws_lamda testsuite for easier test setup.

Co-authored-by: Jill R <4121322+jillr@users.noreply.github.com>
2019-12-21 20:29:05 -05:00
a0e6bf366e Use context manager for file handling in misc files. (#65372)
The file handles are left open in those files.
2019-12-21 13:01:38 +01:00
b580f2929d terraform workspace list failure warns instead of fails (#65044)
* terraform workspace list failure warns instead of fails

Fixes #64788

* add a changelog fragment
2019-12-21 12:50:31 +01:00
e711d01ed1 #58578 support absolute paths additionally (#58812)
* support absolute paths additionally

* add changelog

* rename changelog

* fix changelog to bugfix
2019-12-21 12:49:38 +01:00
663171e218 nmcli: Add compatibility for new networkmanager library (#65726)
Fixes: #48055
* add compatibility for new networkmanager library
* update debian/ubuntu docs
* move import gi into try
2019-12-21 11:28:58 +05:30
7ee3103a86 clc_aa_policy: deprecate unused 'wait' parameter (#64367) 2019-12-20 23:46:53 -05:00
342b9953bc Disable failing azure_rm_storageaccount test. 2019-12-20 16:11:21 -08:00
9ea5b539b6 Add ansible-test constraint to avoid coverage 5.0+ 2019-12-20 11:55:54 -08:00
2b6d94c4c8 Change the check_pyyaml() function to return the features of pyyaml that we check 2019-12-20 10:29:03 -08:00
ece306b201 Add a sanity test for yaml to make sure we can parse all yaml
Check that all yaml we ship is parsable by the pyyaml c backend.  Since
Ansible uses Pyyaml for docs and playbooks, if the yaml files aren't
parsable, they will error out if they were used.

Warn and skip yamllint if libyaml backend is not present

Ignore new errors in examples until someone can fix them
2019-12-20 10:29:03 -08:00
18130e1419 user - honor update_password parameter on BusyBox hosts (#65977)
The check for this parameter was missing from BusyBox.modify_user(), resulting in unexpected password changes to existing user accounts.
2019-12-20 13:09:22 -05:00
d50fac9905 Remove illusion of caching in the inventory script plugin (#64151)
* Load the cache plugin for the inventory script plugin and fix update cache logic

* Remove the illusion and let individual scripts deal with it

* reword that

* Deprecate instead of a hard failure

* changelog
2019-12-20 11:44:07 -05:00
1cfab26fab Fix netconf plugin related to collections (#65718)
* Fix netconf plugin related to collections

Fixes #65655 (partly)

*  Make netconf plugins configurable so that the
   information of ncclient device handler
   for give platform resides in the platform
   specific netconf plugin.
*  If the device handler value in ncclient is
   different from the ansible_network_os value
   the right value of `ncclient_device_handler`
   should be set in the plugin documentation.

* Fix review comments

* Fix CI issue

* Fix review comment
2019-12-20 12:25:59 +05:30
fc31b4e506 VMware: Corrected documentation on vmware_guest module (#65733)
Update link for vapp_properties as per VMware docs in vmware_guest module
2019-12-20 10:16:38 +05:30
4769d731ac VMware: filter VMs of Same name on the basis of folder (#65922)
vmware_guest now filters VMs of same name on the basis of additional information of folder.
2019-12-20 08:54:15 +05:30
50eb4eec90 fix ec2_vpc_net test instability (#65184)
* Move ec2_vpc_net tests to group1, group2 is running much longer

* Allow for VPC CIDRs to be "associat*ing*", things in AWS are "eventually consistent" and occasionally take longer than we would like
2019-12-19 16:30:44 -07:00
7bb925489e elb_{network_lb,target_group}: allow UDP/TCP_UDP (#65828)
elb_network_lb.py: allow UDP and TCP_UDP protocols

- Fixing documentation
- Add support to UDP and TCP_UDP as described on AWS SDK

elb_target_group.py: allow UDP, TLS, TCP_UDP proto

- Fixing documentation
- Making health checks with response codes and paths only in HTTP/HTTPS
- Allow UDP, TLS, TCP_UDP protocols as described on AWS SDK.

others:
- Added changelog fragments
- Integration test

Fixes: #65265
Signed-off-by: Alexandre Mulatinho <alex@mulatinho.net>
2019-12-19 15:06:16 -07:00
32a8b620f3 [get_url] Return status_code on HTTP 304 (#65739)
Return field status_code on HTTP status 304 (implemented by lkthomas)
Add an integration test for this case.
Fixes #65263
2019-12-19 14:50:44 -05:00
4351a756e1 Set a deprecation warning and version for option sha256sum (#65637)
The option sha256sum was declared deprecated more than 2 years ago without
setting a removal version. Let's do that now.

fixes #65636
2019-12-19 14:47:27 -05:00
fec883dfff VMware: Add advanced settings to vmware_cluster_ha 2019-12-19 14:19:45 -05:00
c870457339 free strategy - include failed hosts that were notified (#65576)
* free strategy - include failed hosts that were notified so --force-handlers is used

* trim line length a bit

* Loop over the force handler tests with the strategies linear and free

* rename changelog

* Use the play iterator instead of TQM for accurate failure representation in blocks

* Remove hack in a backwards compatible way for 3rd party plugins
2019-12-19 14:10:51 -05:00
89703b3284 vmware/test: more modular teardown.yml
Some teardown tasks are now enabled only if we have ESXi in the configuration
file. On my system and in a vcenter only scenario, `vcenter_folder` goes from
42.7 to 31.2s.
2019-12-19 13:52:51 -05:00
284f26303c Add support for ECR Lifecycle Policies to ecs_ecr (#48997)
* Fix copy/pasta for ecs_ecr test names

* Add support for lifecycle policies to ecs_ecr

New feature for ecs_ecr to support [ECR Lifecycle Policies][].

Fixes #32003

 [ECR Lifecycle Policies]: https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html

* Improve error message for ecs_ecr parsing errors

Replaces the exception and stack trace with a description of what's
actually going wrong from a user perspective.

* Rename delete policy to purge policy

Marks the `delete_policy` parameter as deprecated, to be removed in
Ansible 2.6.

* Add version_added to purge_policy

* Remove changing results based on verbosity

What I really want is --diff support, and changing results based on
verbosity is abnormal.

* Ensure repository name is lowercase

* Fix deprecation cycle to 4 releases

* Use a YAML anchor for credentials

* Remove filters from assertions

* Add minimal permissions needed

* Updating version_added and deprecation cycle

The original PR sat while a few releases happened.

* Bumping version added and deprecation version

We missed the 2.8 release.

* Removing bare except:

This is not allowed and is generally bad practice.

* Fix lint errors

* update ansible release metadata

* Use the new alias deprecation scheme

This was added in the time the PR has been in development, so rework
things to use it.

* Add test coverage

This makes sure that lifecycle_policy is produced when passed in.

*Also a minor suggestion for simplification from PR.

* Restore changes from 62871 lost in rebase

* Add changelog

* Remove version_added for new purge_policy option

Per sanity test fail.
2019-12-19 11:41:41 -07:00
e9267bf6d6 Cloudformation info checkmode (#65958)
* set supports_check_mode=True

I don't see any reason why this module cannot run in check mode.  The following API calls are made, none of which modify configurations

All using boto3.client('cloudformation')
describe_change_set
describe_stacks
describe_stack_events
get_paginator
get_stack_policy
get_template
list_change_sets
list_stack_resources

* duplicate cloudformation_info tasks with checkmode

Duplicated all existing cloudformation_info tests and added check_mode: yes to them

* delete duplicate empty line
2019-12-19 10:45:22 -07:00
14ebceec25 Fix 'Assert CNAME failure' assertion (#65875) 2019-12-19 12:12:38 -05:00
bd989052b1 Add ansible cli options --ask-vault-password and --vault-pass-file (#63782)
* Move new Ansible cli options '--ask-vault-password' and '--vault-pass-file' to the existing calls to add_argument
* Add changelog fragement
* Change order of ansible cli arguments to use --ask-vault-password and --vault-password-file by default
* Update runme.sh in vault integration tests to test new options --ask-vault-password and --vault-pass-file
2019-12-19 12:07:25 -05:00
3ed0b2c7ea vmware/test: init esxi_user with esxi1_username
By default, `esxi_user` is initialize as `root`. We now use `esxi1_username`
instead.
2019-12-19 11:30:00 -05:00
8d6b9cf6e0 prepare_vmware_tests: add scenario with one ESXi
Add the ability to test with just one vcenter instance and a single
ESXi. This allow us to cover 90 modules.
2019-12-19 11:30:00 -05:00
b31b5d105a vars: Fail with warning for extra_vars filename without @ sign (#59915)
Rather than silently processing extra_vars filename without @ sign,
CLI now fails with appropriate warning about requirement.

Fixes: #51857

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-12-19 18:01:22 +05:30
31eb1a1412 ovirt_affinity_group: add host rule option disabled (#65704) 2019-12-19 03:28:43 -05:00
6a880b78a2 ovirt_network: correct external provider (#65701)
* ovirt_network: update external provider

* unnecessary remove blank line

* remove update check for external_provider

* first try to import then create
2019-12-19 02:52:35 -05:00
9f6c210eac ovirt_snapshot: select disks (#65729) 2019-12-19 02:52:11 -05:00
a168e73713 azure_rm_virtualmachine: fixing issue #63844 (#65601) 2019-12-19 15:48:38 +08:00
ee58225970 add image reference in vmss instance info (#65872) 2019-12-19 15:47:27 +08:00
973e36c6b6 Fix version param in deprecate() call and update porting guide (#65894)
* fix version= param in deprecate() call and update porting guide

* add changelog fragment
2019-12-19 07:09:28 +01:00
d3b6db3754 Add notes on docker_network connectivity for containers and services. (#65840) 2019-12-18 18:55:17 -05:00
777b6d3e30 Force values to be sorted when compared. (#65315)
* Force values to be sorted when compared.

This avoids problems where lists of values could be generated in
indeterminate order.

* Update lib/ansible/module_utils/aws/elbv2.py

Thank you felixfontein, sorry I missed this detail.

Co-Authored-By: Felix Fontein <felix@fontein.de>
2019-12-18 16:35:35 -05:00
aa6dbbf7ea addd jie to azure dev (#65939) 2019-12-18 21:20:59 +00:00
c40832af48 ec2_launch_template: Add default_version and latest_version to output, matching the documentation (#61279)
- Add tests for default/latest version manipulation
2019-12-18 15:53:57 -05:00
791e9dabe3 Run ec2_instance tests in parallel and re-enable them (#63800)
* Run ec2_instance tests in parallel

* Make sure we spin up the iam_instance_role instances in the dedicated VPC

* Rework a little to only build one VPC while still running in parallel

* Start running the tests within shippable

* We only use setup_remote_tmp_dir for the version_fail tests, so only set it up once

* Make sure we clean up if we fail during Environment Setup

* Add a warning about running in parallel

* Minor review tweaks

* Remove unused file
2019-12-18 13:18:23 -07:00
45a413a4a2 Add ChangeSets to cloudformation_info + updates (#64571)
* cloudformation_info updates

Add ability to retrieve stack change sets
Update module to use AnsibleAWSModule
Update backoff to use new decorator style
Updated exceptions to use fail_json_aws
Converted outputs to snake_case where appropriate, for cloudformation_info only to preserve cloudformation_facts functionality.
  Unconverted keys are stack_outputs, stack_parameters, stack_policy,
  stack_resources, stack_tags and stack_template

* cloudformation_info updates

Add ability to retrieve stack change sets
Update module to use AnsibleAWSModule
Update backoff to use new decorator style
Updated exceptions to use fail_json_aws
Converted outputs to snake_case where appropriate, for cloudformation_info only to preserve cloudformation_facts functionality.
  Unconverted keys are stack_outputs, stack_parameters, stack_policy,
  stack_resources, stack_tags and stack_template

* Adding integration tests

* Remove unneeded debug statement

* Add myself to Authors

* rename stack-name to match iam policy limits

aws-terminator permission for cloudformation have the following resource
Resource: arn:aws:cloudformation:us-east-1:{{ aws_account_id }}:stack/ansible-test*
updating test stack name to match

* removing .orig file from rebase

* fix stack name, underscore not allowed

* rename integration testsuite to cloudformation

rename per request

* add resource_prefix to resource names

* prefix stack name with ansible-test

IAM policy in aws-terminator requires the stack name to begin with ansible-test

* add single quotes around variable in test

* fix test for display name

mistakenly updated when changing topic_name to use resource_prefix.  The test is to check the display name, which is what the stack update changes

* fix value to display name test

* rename main.yaml to main.yml before rebase

* Merge tests with  #65643

remove uneeded files
using tests from #65643 with added check to validate changeset is present in info when requested

* fix assert on chageset check

* remove trailing blank line
2019-12-18 12:08:22 -07:00
ae0df67539 Add debug (#65909)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-12-19 00:36:32 +05:30
a1381d6e67 Add connection_local / connection_httpapi skip to eos (#65948)
This starts to allow us to break jobs out per connection testing.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-12-18 13:32:56 -05:00
71ea16995a Meraki: Fixed line 174 changed from None to the actual net_id… (#59395)
* Fixed line 174 changed from None to the actual net_id variable

* Update meraki_content_filtering.py

* Create 59395_meraki_content_filtering.yaml
2019-12-18 12:10:16 -05:00
9fafbe3ab2 Add myself as a watcher on sanity/ignore.txt (#65950)
After spending the time and effort to clean out the AWS sanity failures I'd like to keep an eye open for new failures as the sanity tests are updated
2019-12-18 16:36:39 +00:00
848782acd4 New zabbix_service module (#58926)
* New module zabbix_service (#5)

* new module zabbix_service

* fix type

* fix githubid

* New Zabbix service module (#11)

* new zabbix service module

* fix validate module failure

* Fix algorithm doc and all_childs param name

* Update Ansible version

Co-Authored-By: sky-joker <megane@kurobuti.com>

* remove dump state
2019-12-18 15:05:58 +01:00
6abf59cac8 Use module references 2019-12-18 06:22:05 -05:00
b121065d28 Update aci_access_port_to_interface_policy_leaf_profile.py
##### SUMMARY
<!--- Your description here -->
The links in the file are wrong.  Updating the document name to point to the right document.

https://docs.ansible.com/ansible/latest/modules/aci_access_port_block_to_access_port_module.html

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2019-12-18 06:22:05 -05:00
dfd998bcbc Added ability to specify plan information for images that require it. (#65335)
* Modified to include plan information.

* Fixed where plan is passed to the virtual machine object.

* Added changelog file

* Update changelogs/fragments/65335-add-plan-to-azure-vmscaleset-module.yaml

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

* Added plan suboptions with required flag. Removed code block checking plan since suboptions were added.

* Changed true to True. Added space after commas where failed tests indicated.

* Removed extra blank line. Added promotion_code to plan param list.

* Trying to fix indention issue

* Trying to fix indention

* Changed example capacity to trigger build check. Last failure was not due to code.

* Removed property for accepting terms and code block using it..

* Removed extra unneeded spaces.
2019-12-18 12:55:33 +08:00
8a423868d9 AnsibleAWSModule related cleanup: (#64931)
- fetch boto3 clients using module.client()
- remove ec2_argument_spec() use (AnsibleAWSModule adds it automatically)
- remove unused imports
- remove HAS_BOTO3 (AnsibleAWSModule handles it)
2019-12-17 19:28:26 -05:00
b8729b2544 cloudformation integration tests (#65643) 2019-12-17 15:27:52 -07:00
80f5503ed0 Use requirements.txt to install prereqs for docs build (#65709)
* Use requirements.txt to install prereqs for docs build

* implement feedback
2019-12-17 15:09:05 -06:00
f76dded9c6 Split ios tests into network_cli and local connections (#65921)
This allows to group tests by connections, which allow us to disable
local connection testing in collections for the moment.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-12-17 14:10:52 -05:00
42144204f3 Fix purefa_host preferred array connection logic (#65917) 2019-12-17 10:46:10 -05:00
9b85a51c64 Bugfix of 65761: postgresql_privs fail after it's updated to 2.9.2 (#65903)
* Bugfix of 65761: postgresql_privs fail after it's updated to 2.9.2

* add changelog
2019-12-17 13:53:51 +00:00
ec0885cf05 Onyx username (#63897)
* Support username command to config users and edit capabilities

* Add disconnected param to disconnect all session for such user

* Edit yaml examples, add types to docs and edit the version

* Add fullname attribute

* Add no_log to password field and mutually_execlusive relations

* Fix pep8 issue

* remove debug line
2019-12-17 14:01:03 +05:30
557c8ab161 support syslog remote module (#63195)
* support syslog remote module

* change enabled implementation and edit the tests, also support disable override class

* fix the level order and delete types from choices
2019-12-17 12:12:55 +05:30
84572c3b67 Supporting ntp servers and ntp peers configuration in Ansible. (#63714)
* Supporting ntp servers and ntp peers configuration in Ansible.

* Modifing ntp servers and peers config.

* Modifying ntp peers and servers configuration.
2019-12-17 11:51:29 +05:30
d0d8fca334 Supporting SNMP Users Configurations in Ansible (#63778) 2019-12-17 11:50:58 +05:30
fe354ed183 Supporting general ntp configurations in Ansible (#63724)
* Supporting general ntp configurations in Ansible

* Modifying ntp module
2019-12-17 11:50:32 +05:30
13d0ebd603 Supporting general snmp configurations in Ansible (#63723)
* Supporting general snmp configurations in Ansible

* Modifying SNMP General configurations.

* Fix pycodestyle issues

Signed-off-by: Sara Touqan <sarato@mellanox.com>

* Fix documentation errors

Signed-off-by: Sara Touqan <sarato@mellanox.com>
2019-12-17 11:49:56 +05:30
33338decf7 Feature/onyx syslog files (#62746)
* support syslog files

* nested doc fix

* required togother

* fix docs type dict

* add file-debug feature same as files logging

* remove duplicated validation and change dict key access method

* add format of upload url and change the way of getting data from dict
2019-12-17 11:24:33 +05:30
a54e77193b New Windows Module: win_certificate_info (#64035)
* win_cert_stat initial commit with tests

* documentation fix.
first attempt windows server 2008 compatibility

* add formatted dates
removed debug tests

* make choices generic list

* return a list of certificates
use .net x509 store instead of PS cert provider

* fixed tests file

* fix timestamps returning null

* rename to win_certificate_info

* rename tests win_certificate_info

* return certificates as a sorted array
open the store with readonly privileges

* extensions always returned as an array
2019-12-17 12:43:03 +10:00
ae6fc265c9 Add-Type - Added a way to reference assemblies by type name (#65866)
* Add-Type - Added a way to reference assemblies by type name

* Also add architecture symbols during compile time

* Fix stray output values
2019-12-17 09:06:54 +10:00
83ad1231b8 Remove unused variable in resetconf_config.py (#65892)
Our flake8 jobs for ansible.netcommon exposed this issue.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-12-16 17:25:08 -05:00
95d35a3b95 adding new azure dev to (#65744) 2019-12-16 22:19:49 +00:00
0310163bb9 Remove unused json import for iosxr terminal (#65879)
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-12-16 13:25:01 -05:00
aacc2d1a18 Update indentation used in the code examples, unify empty lines (#65874) 2019-12-16 11:26:25 -06:00
40fb46f1e8 fixes import paths for ansible unit testing (#65775)
* fixes import paths for ansible unit testing

* Update docs/docsite/rst/dev_guide/testing_units_modules.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>
2019-12-16 11:07:26 -06:00
6f76a48f59 Make sorting in collection_loader match plugin loader (#65776)
* Simply sorting of Windows files below other plugin types
    Using the sort method with a custom key function uses less memory than creating multiple lists then joining them.

    This seemed to be an acceptable use of a lamdba, even though I geneally try to avoid them.

* Fix sorting of plugins inside of collections
    Explicitly sort Windows files below others, mimicking what we do in plugin/loader.py

* Add documentation about ansible.builtin and ansible.legacy
    Also document to the two different methods used for searching based on the candidate type.

* Add changelog
* Add integration test
* Update comment with expected sort order
2019-12-16 11:28:24 -05:00
74e9b1e219 Fix network action plugin load in collection (#65849)
* Fix network action plugin load in collection

Fixes https://github.com/ansible/ansible/issues/65071

*  Load network action plugin that matches the module
   prefix name from list of collections.

* Update changelog

* Fix unit test
2019-12-16 19:15:41 +05:30
093d1500b9 Clean up flake8 for ansible.netcommon collection (#65842)
We noticed the following flake8 errors when we ran the migration script
for ansible.netcommon.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-12-16 08:24:38 -05:00
0a04a5efc2 adding the modules to /nxos/storage/ folder (#64269)
* adding the modules to /nxos/storage/ folder

* fix pep8 stuff

* fixed provider specific information from doc

* Fix integration tests

* Added tested against note

* Review comments

* added assertions for the commands sent in the integration tests
2019-12-16 14:44:33 +05:30
7b2cfdacd0 Zabbix: Handle KeyError in zabbix_host module (#65392)
Fixes: #65304
2019-12-16 13:32:11 +05:30
06d997b2b2 Fix nxos_file_copy argument error handling. (#65861)
*  Use `option_type` instead of `type` for error
   handling in task options
2019-12-16 13:05:18 +05:30
dac3bf5b71 zabbix_host: interface.port parameter is a string (#64986)
interface.port should be a string to be able to use macros in that
value.
This fixes the case when interface.port is a macro (eg.: "{$MACRO}" and
force=false.

Because, until now, setting the interface.port to an integer was the correct way to work with force=false, a type validation has been added
to that parameter.
Previously, if a string was used for interface.port, it was converted
to an integer, the comparison didn't work (if interface not in interfaces)
and the module tried to register the same interface twice, returning an
error.

Zabbix API manual specifies that only 'main, 'type', 'useip' and 'bulk'
are integers.
https://www.zabbix.com/documentation/current/manual/api/reference/hostinterface/object

Tests are changed to use always str in the interface.port.

Two new tests are added.
The first one is to show that now registering a host with force=false and
a macro in interface.port works.
The other one tests that interfaces defined using string for port are
compared correctly when force=false is used. Previously it was
a comparison between int and str, interfaces were seen as different
and an error was thrown because we were trying to create twice a main
interface.

* Try to kindly convert interface port to the string

As suggested, the previous behaviour could break current configurations. This solution accepts integers and strings.

Co-Authored-By: Dusan Matejka <D3DeFi@users.noreply.github.com>
2019-12-16 10:55:05 +05:30
5046413b6d Fix flake8 errors for iosxr tests (#65860)
These were noticed when we migrated to the cisco.iosxr collection.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-12-15 23:48:28 -05:00
94be732351 Handle push_events_branch_filter in gitlab hooks (#60039)
* Handle push_events_branch_filter in gitlab hooks

* Update doc of push_events_branch_filter option in gitlab hooks

* Ensure default empty value for push_events_branch_filter

* scm/gitlab_hook : Update version_added to 2.10
2019-12-15 17:08:10 -05:00
8165ce6144 add prefix-list to ios_bgp af-mode (#62705)
* adding prefix-list to ios_bgp

* adding prefix-list to ios_bgp

* Fix copy-paste bug in test

* Adding neigbor 10.10.20.20 to global neighbor pool

* Added prefix_list_in and _out to documentation

* Rewrite bgp prefix_list test

* Bugfix in yaml data

* More test, assert neighbor 10.10.20.20
2019-12-15 12:35:51 +05:30
88008badb1 Fix nxos_file_copy option value path validation (#65423)
* Fix nxos_file_copy option value path validation

*  Modify `local_file`, `local_file_directory` and
   `remote_file` option type from `str` to `path`
   so that the option value is validated in Ansible
   for a legitimate path value

* Fix review comments
2019-12-15 10:41:33 +05:30
d7414d55e1 fixes bug: visible_name was not updated when not set in existing host… (#64095)
* fixes bug: visible_name was not updated when not set in existing host in zabbix

* Update changelogs/fragments/fix_zabbix_host_visible_name.yml

Co-Authored-By: Dusan Matejka <D3DeFi@users.noreply.github.com>

* Update lib/ansible/modules/monitoring/zabbix/zabbix_host.py

Co-Authored-By: Dusan Matejka <D3DeFi@users.noreply.github.com>
2019-12-14 22:13:49 -05:00
ff5253fa0e Fix network_cli become check to be compatible with collections (#65829)
*  The become method name check is not required in network_cli
   as the become command is specific to platform and is implemented
   in the platform specific terminal plugins
2019-12-14 16:50:51 -05:00
gp
98f19c970f VMware: Fix cluster argument of module vmware_content_deploy_template (#65715) 2019-12-14 20:43:35 +05:30
885cecfc94 postgresql modules: use query parameters with cursor objects (#65791) 2019-12-14 13:43:59 +05:30
f5a0d6e4ba unsubscribe cove from docker modules (#65714) 2019-12-14 13:39:12 +05:30
eb2f2ad282 Fix purefa_volume when used in check_mmode (#65825) 2019-12-14 11:24:04 +05:30
8d542edeae VMware: Misc fixes in HTTPAPI connection plugin (#65764)
* Error handling
* Support session URL

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-12-14 09:47:21 +05:30
24b1409667 postgresql_sequence: use query parameters with cursor object (#65787) 2019-12-14 09:46:27 +05:30
c5a42a9ac6 Fix a typo in changelog fragment's file name (#65788)
Changed '65679-postgresql_schema_user_query_params_with_cursor.yml' to '65679-postgresql_schema_use_query_params_with_cursor.yml'
2019-12-14 09:45:43 +05:30
ab54736e12 Add tags to aws ecs task (#53717)
* Add tags to ecs_task

remove older reference to credentials

* uncomment shell commands to enable/disable account settings

* Fix documentation and pep8 issues

* fix review items for ecs_task tags

use missing_required_lib for tags
change fail_json message to suggested message
switch from task_tags to tags for consisitency

* Add import for missing_required_lib function

* Tidy put-account-setting tasks and add permission

Using `environment` and `command` rather than `shell` avoids the
need for `no_log` and means that people can fix the problem

* update version added for ecs_task tags

* fix tests after removal of ansible_facts from ecs_service_info, add delay when service is still draining

* Add documentation for sanity tests
2019-12-13 16:54:44 -07:00
1535d9fd90 Allow template import to create groups (#65503) 2019-12-13 09:25:07 -05:00
a68269660e mysql_user: support for MySQL plugin authentication (#65789)
* mysql_user: support for MySQL plugin authentication

* add changelog fragment
2019-12-13 09:23:06 -05:00
2ef47148cd Fix action plugin issue with network connection type in common collection (#65078)
* Fix action plugin isse with network connection type in common collection

*  For network connection in common collection the value of
   ansible_connection is the FQCN of the connection type
   For example ansible_connection=network.common.network_cli

*  Add fix in supported network action plugins to extract
   the connection name from FQCN

* Fix CI issue

* Fix review comments and update community network action plugins
2019-12-13 19:22:56 +05:30
d72025be75 nxos_interfaces: RMB state fixes (#63960)
* nxos_interfaces: RMB state fixes

* shippable fixes

* Add add'l comments per review

* fix long line

* Fix mode/enabled system defaults handling

* fix N3L test skips

* lint

* test updates for titanium images

* doc fix
2019-12-13 18:06:21 +05:30
ea164fdde7 Clean up flake8 errors on ios unit tests (#65782)
This was caught during our collection migration process.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-12-12 19:26:54 -05:00
057e137998 clarify returned value of RETURN nlock (#65724) 2019-12-12 17:12:38 -06:00
1f0b5b09cd Explanation for "check_mode: no" is confusing (#65777)
When an ansible module, e.g., command, does not support check mode, you can use "check_mode: no" in that task to execute the task in normal mode, even when "--check" flag is used. The current document basically says, use "check_mode: no" to run in check mode, which is confusing and inaccurate.
2019-12-12 17:04:57 -06:00
f1fc5dba92 add asterisk '*' to the list of non-working operations (#65728)
Asterisk '*' doesn't work either in the command module
2019-12-12 17:03:11 -06:00
af1c788ba7 Fix list formatting in Getting Started docs page (#65713) 2019-12-12 16:52:52 -06:00
c3c1708dea Fix variable name in an example (#65760)
Makes the variable name consistent between the example code (`myname`) and the text below (mentioning a variable called `name`) in the docs.
2019-12-12 16:51:47 -06:00
493ec588ab Ec2 metric alarm boto3 and treat missing data (#62669)
* Converted ec2_metric_alarm to boto3. Added treat_missing_data option.

* Handle potentially non-existent alarm keys in ec2_metric_alarm module

* Add treat missing data to ec2_metric_alarms wth some tests

Continues the work of #23407

* Clean up ec2_metric_alarm main test playbook

* fix test suite and sanity checks

* more fixes for sanity tests

* fixes to ec2_metric_alarms requested in code review

* import ClientError from botocore, catch generic ClientError

* more fixes from review

drops extra dict in argument spec and set_facts for aws access

* Fix pep8 blank line issue

* switch to fail_json_aws, add idempotency test

* fix under indented continuation

* remove unsupported alias

* Add group to ec2_metric_alarm aliases

* Put alarm prefix before resource prefix to match aws-terminator pr 63

* Add type for treat_missing_data
2019-12-12 14:09:09 -07:00
226bf7b227 apt target: use 'until' when the cache is updated (#65456)
This integration target can be unstable due to network/mirror issues:

    TASK [apt : uninstall hello with apt] ***
    fatal: [testhost]: FAILED! => {
        "changed": false,
        "cmd": "apt-get update",
        "msg": "E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic-updates/universe/source/Sources.gz File has unexpected size (354740 != 354745). Mirror sync in progress? [...]",
        "rc": 100,
        [...]
2019-12-12 12:45:54 -07:00
9c30325704 fixed some link nits (#65772) 2019-12-12 13:20:08 -06:00
860cacc54f Docs: User guide overhaul, part 2 (#65474) 2019-12-12 13:35:17 -05:00
7af98f9724 Always cleanup vlan interfaces (#65756)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-12-12 13:02:52 -05:00
0079b8eaa2 mysql_info: add return_empty_dbs parameter (#65755)
* Bugfix of 65727: mysql_info doesn't list empty DBs

* add changelog

* mysql_info: add return_empty_dbs parameter

* fix
2019-12-12 14:10:52 +01:00
80333f9c4b Clean up flake8 errors for eos unit tests (#65753)
These were found while migrating our content to eos collections.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-12-12 07:44:13 -05:00
90072d1baa added $team_zabbix to BOTMETA and updated zabbix modules maintainership (#65446) 2019-12-12 10:53:29 +00:00
cbc513e748 Fix simple typo: workind -> working (#65758)
Closes #65757
2019-12-12 15:37:14 +05:30
570c82f068 Patch: fix seports to allow integers or string (#65134)
Signed-off-by: Joshua Schmidlkofer <joshua@joshuainnovates.us>
2019-12-12 14:15:33 +05:30
4a54873023 Correct the spelling of property to last_modified (#65752)
Fixed the misspelt 'last_modified' field in azure_rm_storageblob output
2019-12-12 13:49:08 +05:30
356e3e30fa VMware: Handle KeyError while moving VM from suspended to poweredon
Modified module_utils/vmware.py to handle KeyError while moving VM from suspened to poweredon state.
2019-12-12 09:46:24 +05:30
41e19a4058 inventory: Fail on non-existing limit file (#59758)
Ansible now fails with error message when user provides
non-existing limit file.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-12-12 09:09:40 +05:30
b349ec8fcf Adding network plugin changes for netconf and network_cli (#65708)
* Adding network plugin changes for netconf and network_cli
2019-12-11 18:42:01 -06:00
a0cf42ae32 removed unnecessary ipv* address-family statements from vrf if the ip version is not used (#53866) 2019-12-12 00:29:23 +05:30
5eceebcaf3 Clarify how to install roles and collections from same requirements file (#65707) 2019-12-11 10:21:41 -06:00
e82b28a920 cgroup_perf_recap: Check if user wants to write to files or not (#64988)
if user sets 'write_files' to False or does not set value, then
handle file write related operations.

Fixes: #64936

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-12-11 20:21:38 +05:30
4da87fb3ee Fixed misleading helm module import failure message (#44916) 2019-12-11 15:04:42 +05:30
19220a0607 VMware: Add associable_object_types in vmware_category (#62347)
User can specify associable object types while creating the categories.
VMware API does not allow to modify associable object types after creation of
category.

Fixes: #61220

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-12-11 13:45:07 +05:30
24b8b629b9 hostname - Add OpenSUSE Tumbleweed Linux distro (#65457)
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
2019-12-11 13:40:47 +05:30
0685691d07 Fixes for #56301, #64034 (#65369)
* Update nios_txt_record.py

Fix for Bug #62377

* Fixes for #62377, #64045, #64034

Fixes for #62377 nios_txt_record module cannot handle multiple TXT records

Fix for #64045 nios_a_record is requested to modify IP of existing A record, but attempts to create new A record instead

Fix for #64034 nios_fixed_address not able to add options that don't require use_options

* Update api.py

* Update nios_a_record.py examples

* Update nios_fixed_address.py

* Update nios_txt_record.py

* Update nios_fixed_address.py

* Update nios_fixed_address.py to fix #56301

Fixes #56301

* Update nios_fixed_address.py

* Update nios_a_record.py

* Update api.py
2019-12-11 13:12:47 +05:30
895c8ce373 Fixed bug when asa_acl terminates when lines array is empty (#63838)
* Fixed bug when asa_acl terminates when lines array is empty

* Removed redundant blank lines
2019-12-11 13:02:05 +05:30
bcc2ffdbf9 Fix version_compare with nxos_snmp_user tests (#65527)
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-12-10 21:54:02 -05:00
da82ecadd6 Use fact cache to make nxos tests faster (#65479)
This should cut down about 1hour worth of test time, due to not looping
over the set_fact functions more then 60 times.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-12-10 21:53:48 -05:00
5ebce4672b VMware: add note to vmware_guest faq (#65569)
* add note to vmware_guest faq about the vmware API being read-only unless you're a paid subscriber
2019-12-10 15:45:32 -06:00
056b035c98 add module aws_step_functions_state_machine_execution (#64431)
* add module aws_step_functions_state_machine_execution

* AWS step functions tests - Use module defaults

* Return all attributes from aws api calls as ansible task output

* aws_sfn - make start and stop execution idempotent and fix check mode

* aws sfn - use build_full_result method of the paginator

* aws sfn - remove changes made to help with local debugging
2019-12-10 14:08:49 -05:00
95aef88a45 Update indentation used in the code examples, unify empty lines (#65346) 2019-12-10 10:55:51 -05:00
c5c1ad4fb8 Make docs testing_formatter script more portable (#65112)
* Make script more portable
sha1sum is a Linux only command. Test for the command and if not found
use sha1 instead for portability. Avoid patches on BSD and Mac systems.
2019-12-10 09:34:03 -06:00
d906fdeba2 Document group module return values (#65294)
* Document group module return values, based on iterating over the combinations of `state` and `system` with existent and non-existent groups.
2019-12-10 09:32:43 -06:00
f89db2af99 Adding filename and destroy options to vmware_guest_disk (#63740)
Adding filename and destroy options to vmware_guest_disk
2019-12-10 10:30:15 -05:00
02539c9a37 add os version requirement text to note (#65617)
* add os version requirement for win_format.py
2019-12-10 09:16:35 -06:00
88bba21708 Documenting how to change VM's params (#65429) 2019-12-10 10:05:07 -05:00
c185c46501 Update guide_azure.rst (#65519)
Adds subscription_id to the list of user/password credentials.
2019-12-10 08:58:01 -06:00
f89ea5677b Fix typo in a changelog fragment of #64902 (#65533) 2019-12-10 09:51:47 -05:00
3af1732bd8 fix rendering of GOOD/BAD code for regex_replace examples (#65654)
adds double colon (::) so the examples render as code
2019-12-10 08:49:38 -06:00
d9f0703b45 Update generator.py documentation (#65573) 2019-12-10 09:29:00 -05:00
e818ab1dd0 mysql_info: add seealso section (#65688) 2019-12-10 09:26:00 -05:00
4239dc1bb5 ANSIBLE_CACHE_PLUGIN_TIMEOUT - docs (#65311) 2019-12-10 09:19:54 -05:00
030b20b024 prepare_vmware_tests: ensure 'VM Network' exists (#65616)
Depending on the ESXi configuration, the 'VM Network' may missing.
2019-12-10 09:08:42 -05:00
53cd0bdd29 docs: Prefer python3 on OpenBSD (#65447) 2019-12-10 09:05:18 -05:00
d39870a693 Remove unused code in nxos_user (#65529)
There is no longer the need to warn on password, it is not supported any
more.

Update nxos_user tests not to purge current SSH user for nxos, otherwise
we loose access for testing.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-12-10 19:01:59 +05:30
7d2ae7e322 solaris_zone: Allow only valid characters in zone name (#65686)
CVE-2019-14904 - solaris_zone module accepts zone name and performs actions related to that.
However, there is no user input validation done while performing actions.
A malicious user could provide a crafted zone name which allows executing commands
into the server manipulating the module behaviour.

Adding user input validation as per Solaris Zone documentation fixes this issue.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-12-10 07:18:55 -05:00
c791f916d3 postgresql_schema: use query_params with cursor object (#65679) 2019-12-10 14:11:23 +05:30
2e82989b3b Add support for podman in virtualization facts (#64981)
Check additional file check virtualization facts for podman

Fixes: #64954

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-12-10 11:26:34 +05:30
f8216db21f Update iocage.py: remove 'docker' (#65656)
It seems to me as though the term 'docker' was copy/pasted in; I don't understand what it would mean in the context of iocage. As such, I think removal is best.
2019-12-10 11:09:54 +05:30
ddd786eedf Fix tests which have unparsable yaml 2019-12-09 16:54:29 -08:00
7767f0bb23 Mark yum tests as unstable (#65671)
Fedora 31 tests are failing due to a missing packages error. I am unable to duplicate this issue when running locally, so it is possibly an issue with a mirror that is being used when run from Shippable
2019-12-09 16:24:11 -05:00
880bbb9946 fixed inconsistent required set to True in zabbix modules 2019-12-09 10:20:17 -08:00
d35c1a435b Handle InternalError raised by cryptography when running in FIPS mode (#65477)
Since older versions of paramiko do not require cryptography,
we cannot catch the exact exception from cryptography.

Remove other exceptions since we're catching everything now
2019-12-09 13:18:32 -05:00
0b2558051c VMware: Minor fixes in vmware_httpapi modules (#65663)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-12-09 22:14:00 +05:30
0647c52368 Detect virtualization facts when VM on Nutanix AHV hypervisor (#58327)
- /sys/devices/virtual/dmi/id/product_name == 'AHV'
- /sys/devices/virtual/dmi/id/sys_vendor == 'Nutanix'
2019-12-09 21:50:20 +05:30
28019233db Don't search for VMDK if filename is defined (#63741) 2019-12-09 11:06:31 -05:00
d8943d495e AWS NLB: Deprecate current default behaviour of 'absent' (#65468)
* Deprecate elb_network_lb default of *delete*.

* Add changelog fragment

* Porting guide entry
2019-12-09 15:55:32 +01:00
ecb6f2e76c Fix bug in format handling. (#65642) 2019-12-09 18:56:15 +05:30
57c042243f crypto modules: fix various errors in argument specs (#65633)
* Fix various errors in crypto module argument specs.

* Adjust PR #.

* Fix provider requirement.

* Make sure openssl binary is installed.
2019-12-09 13:40:11 +01:00
e9cec0262d docker_* modules: fix various errors in argument specs (#65632)
* Fix various errors in docker module argument specs.

* Adjust PR #.

* Fix option name.

* Fix username/password requirements for docker_login.
2019-12-09 13:39:02 +01:00
9f87978eb3 aws_acm: Fixup typo in argument_spec (alias should be aliases) (#65653) 2019-12-09 18:00:22 +05:30
30132861af Introduce force_basic_auth for maven_artifact (#64808)
as it's known from uri or get_url. Causes basic auth header to be sent on first request to avoid trouble with some receiving ends.

Fixes #64595
2019-12-09 05:26:12 -05:00
9c79de2e1e ovirt_vm: dont try to update template when already created from clone (#65317) 2019-12-09 05:09:33 -05:00
5c9539903e iam_policy: Make 'iam_name' a required option to match the documentation (#65559)
Without it we'd always throw a boto error
2019-12-09 15:08:43 +05:30
4919d5658a iam_cert: Make 'name' a required option to match the documentation (#65558)
Without it we'd always throw a boto error
2019-12-09 14:53:53 +05:30
cf3f1b9d3f iam: Make 'name' required to match the documentation (#65557)
With the exception of deleting Users and Roles (where we'd do nothing and exit) not passing a name would trigger a boto exception.
2019-12-09 14:46:02 +05:30
eac7d2a958 ec2_placement_group: Make name 'required' to match the documentation (#65555)
Previously you'd get one of the following behaviours:
- A boto3 error
- Nothing would change
- An error that you're not allowed to change the strategy

So of the bahaviour would depend on the random order that AWS returns the list of all Placement Groups
2019-12-09 14:35:36 +05:30
a56139e792 Link to LTS version of Zabbix docs (#65604)
Documentation now points to version 4.0
2019-12-09 10:16:40 +05:30
7089fa1cd4 update to remove redundant code. (#65630)
* update

* update

* update
2019-12-08 20:37:35 -05:00
717c0da32b 2.10 -> 2.9.2 (#65517) 2019-12-08 15:14:24 +01:00
965474841f Use a context manager in docker.ImageManager. (#65609)
Co-Authored-By: Felix Fontein <felix@fontein.de>
2019-12-08 08:36:33 -05:00
03a4edb477 Add method to automatically clean up after an action plugin (#65509)
* Use correct var, move cleanup for async
* Add changelog and tests. Fixes #65393. Fixes #65277.
* Kill off all long running async tasks from listen_ports_facts
* Update task to work with older jinja2
2019-12-06 17:29:26 -05:00
c97360d21f vmware: vmware_vm_inventory use port value when with_tags:True (#65568)
If user specifies a port number in vmware_vm_inventory plugin configuration,
then use that port to connect to vCenter rather than connecting to 443 which
is default port.

Fixes: #64096
2019-12-06 15:23:12 -05:00
b782227642 display - Fix up tracebacks on 3rd party loggers when log path is set (#65582) 2019-12-07 06:06:52 +10:00
09fca101b7 Nagios module: minor change, added "start" parameter (#61562)
* Finished implementing the "start" parameter to the nagios module. The backend functions already had it; this change just exposes it. This allows setting the time a Nagios outage begins rather than always starting at the time the module was run. If not provided, "start" defaults to the current time (preserving compability with existing playbooks).
* Changed default start time to None, as per comment by @goneri. This avoids initializing the variable twice.
2019-12-06 12:23:03 -05:00
b8cd4c5409 remove some tests from zuul/vmware/vcenter_only
Depends-On: ansible/ansible-zuul-jobs#253

We cannot run the following tests without any ESXi host:

- vmware_drs_rule_info
- vmware_drs_rule_facts
- vmware_host_acceptance
- vmware_host_active_directory
- vmware_host_powerstate
2019-12-06 12:20:21 -05:00
5ad61ed7c1 Fix and reenable hcloud tests 2019-12-06 08:30:01 -08:00
e444e68bf0 Add podman_container_info module (#64361)
Co-Authored-By: Felix Fontein <felix@fontein.de>
2019-12-06 09:50:30 -05:00
63bb08fea8 Object searching method should not traceback for non-existant keys (#65553)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-12-06 17:56:39 +05:30
531eebffa8 mysql: remove unused import (#65606) 2019-12-06 12:19:45 +00:00
10898cbcbf postgresql_idx: fix maintainer's name (#65605) 2019-12-06 06:06:29 -05:00
0474f0b4dd mysql_info: add note to the module's documentation (#65603) 2019-12-06 05:53:04 -05:00
a79c9e23ee mysql_db: add seeaslo section (#65593) 2019-12-06 02:30:28 -05:00
85486b1ce4 mysql: add changelog fragment for PR 64585 (#65594)
* mysql: add changelog fragment for PR 64585

* change fragment name and bug description
2019-12-06 12:05:47 +05:30
47aea84924 Don't return module error when mysql_connect fails (#64560) (#64585)
* Don't return module error when mysql_connect fails (#64560)

mysql_user expects an Exception when using check_implicit_admin.

* Adds integration tests for mysql_user check_implicit_admin (#64560)
2019-12-06 11:22:34 +05:30
f21e72d55a win_package - Use newer module wrapper as refactor baseline (#65586)
* win_package - Use newer module wrapper as refactor baseline

* Fix aliases in new arg spec
2019-12-06 13:37:52 +10:00
3919a891c2 Fix iosxr netconf plugin get device info (#65489)
* Fix iosxr netconf plugin get device info

Fixes https://github.com/ansible/ansible/issues/64634

*  Catch execption if the xml payload to get
   device info is not valid for iosxr version
   running on remote host.

* Fix CI issue
2019-12-06 08:58:03 +05:30
9a81f5c3b7 win_uri win_get_url - Fix up redirection defaults (#65584) 2019-12-06 11:47:35 +10:00
eaba5572cd ansible-galaxy - expand User-Agent string for Galaxy endpoints (#65578) 2019-12-06 10:34:14 +10:00
fcdebe41e9 win_find - Refactor for better performance and alignment to find (#65536)
* win_find - refactor to make more performance and use newer style

* win_find - refactor for performance improvements and alignment to find

* More path alignment to find

* Fix yamllint error
2019-12-06 10:01:11 +10:00
96cbbdd59f update version metadata to get faceted swiftype search running (#65574)
* update version metadata to get faceted swiftype search running
2019-12-05 15:16:34 -06:00
edc7c4ddee Fix encrypt command output when using --stdin-name (#65122)
* Fix encrypt command output when using --stdin-name

Add a new line after reading input if input doesn't end with a new line

* Only print is we're in a tty

* Add changelog fragment
2019-12-05 15:42:15 -05:00
a0f26b40cb Sanity checks: test for print statement (#65219)
* Add test for print() call in module_utils and modules.

* Add changelog fragment.

* Add ignore.txt entries.

* Use blacklist plugin instead of adding a new.

* Update ignore.txt
2019-12-06 05:31:31 +10:00
e1be5a8acb vmware host system fact add uuid (#65415)
* vmware host system fact add uuid
2019-12-05 12:00:41 -05:00
631120e749 Yet more Sanity test "required" Amazon module cleanup (#65554)
* More 'required' cleanup on AWS modules.
2019-12-05 09:58:55 -06:00
8a409f37db Throw an error on unsupported vars_prompt keys (#65487) 2019-12-05 10:54:32 -05:00
b975fd407d Remove timeout from nxos tests (#65470)
This fixes the following:

  Unsupported parameters for (nxos_rollback) module: timeout unsupported

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-12-05 10:39:35 -05:00
95c85b395c Add hetzner_firewall_info module. (#65421) 2019-12-05 20:40:11 +05:30
c59e061cff mysql_info: add exclude_fields parameter (#63371)
* mysql_info: add exclude_fields parameter

* mysql_info: add exclude_fields parameter, add changelog fragment

* change logic
2019-12-05 13:29:58 +00:00
8b684644e0 Add support for fetching Lifecycle Controller and System attributes (#65280)
* support for fetching lifecycle controller and system attributes

* Support for fetching lifecycle controller and system attributes

* fixed syntax error

* minor documentation update
2019-12-05 07:32:24 -05:00
8f78a0f8bf postgresql_publication: use query params with cursor object (#65404)
* postgresql_publication: use query params with cursor object

* add changelog
2019-12-05 10:44:45 +00:00
0c71249b03 mysql_db: add force parameter (#65547)
* mysql_db: add force parameter

* mysql_db: add force parameter

* add changelog

* add the param to state dump
2019-12-05 10:44:22 +00:00
7d3cc250ef Fix ec2 filter dict iteration for python3.8 (#65521)
Python now throws a RuntimeError if dict keys are modified mid-iteration.
https://bugs.python.org/issue36452
Cast filter dicts to list before iteration.

Fixes: 65024
Related: 65434
2019-12-05 05:02:59 -05:00
c266fc3b74 postgresql_db: add executed_commands returned value (#65542)
* postgresql_db: add executed_commands returned value

* add changelog

* fix tests
2019-12-05 10:53:08 +01:00
4352e39989 Update network common code to support new states (#65534)
*  Update the network common code to support the
   new resource modules state - parsed, rendered
   and gathered.
*  For states parsed and rendered active connection
   to remote host is not required.
2019-12-05 13:21:01 +05:30
96df2bdcf3 Fixed argument spec for multiple modules (#65496)
This change contains fixes for argument spec and respective datatypes.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-12-05 11:59:05 +05:30
c3d5371510 route53: diff support (#64867)
* Refactoring.

* Add diff support.

* Add changelog.
2019-12-05 06:22:11 +01:00
fb69d68821 Fix plugin paths for ansible-test pylint test. (#65526)
* Fix plugin paths for ansible-test pylint test.
2019-12-04 18:07:16 -08:00
4d3ebd65db win_auto_logon - check, diff and store pass in LSA (#65528)
* win_auto_logon - check, diff and store pass in LSA

* Ensure baseline keys are set for test

* Skip remove item prop on check mode due to win bug

* Start at a cleared baseline to ensure old LSA secrets are cleared
2019-12-05 11:24:30 +10:00
cff80f1319 azure_rm_galleryimageversion: support data disk snapshot as source input (#65405)
* azure_rm_galleryimageversion: support data disk snapshot as source

* fixing typo
2019-12-05 08:31:47 +08:00
2dcaa108d8 Adding new module win_auto_logon (#63414)
* add new modul

* correct password var

* fix for linting issues

* add return values documentation

* linting fixes

* Get tests working and simplify a bit
2019-12-05 09:27:08 +10:00
567c860027 Split up docker-registry test target. (#65211)
* Copy relevant docker-registry files:

docker-registry/files/nginx.conf -> setup_docker_registry/files/nginx.conf
docker-registry/files/nginx.htpasswd -> setup_docker_registry/files/nginx.htpasswd
docker-registry/meta/main.yml -> setup_docker_registry/meta/main.yml
docker-registry/tasks/main.yml -> setup_docker_registry/tasks/main.yml
docker-registry/tasks/main.yml -> setup_docker_registry/handlers/cleanup.yml

* Remove non-cleanup code from handlers/cleanup.yml.

* Remove tests and cleanup from tasks/main.yml.

* Register cleanup handler.

* Use setup_docker_registry in docker-registry test.

* Fix handler execution order.

* Split out docker_login integration test.

* Move remaining tests into docker_image test.

* Cleanup before running docker_image options test.

* Improve reliability of test cleanup.

* Move files for conditional inclusion.

* Set proper conditions on tests.

* Rename tasks file for conditional inclusion.

* Conditionally include tasks.
2019-12-04 14:14:43 -08:00
a8efe7442c vmware/test: set vmware/scenario/vcenter_only alias (#65515)
Add the `vmware/scenario/vcenter_only` alias to be able to identify the
vmware test roles that can be tested with just on vcenter instance.

Also, add a check to be sure we don't try to attach ESXi hosts if none
has been defined.
2019-12-04 17:12:29 -05:00
212fb40147 Added an example with output. (#65336)
* Added an example with output.

##### SUMMARY
<!--- Added an example with output. -->


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr

* Just use simpler debug tasks
2019-12-05 06:56:51 +10:00
be8fa961cf Fix RuntimeError in ec2_group_info (#65434)
Modifying dictionary while iterating over it
2019-12-04 13:50:06 -07:00
fc54ae9227 dnf: don't return fail_json['msg'] as list (#65302)
Although it's not enforced that fail_json['msg'] should be a string
[1], I think it is pretty strongly implied.

In this case the failure_response['msg'] is sent through as the
fail_json['msg'], and the trailing commas here turn it into a tuple.
It's not clear if this is a typo or intended, but it does cause
problems for callbacks that expect this as a string (e.g. [2]).

Since there seems no point to having these values as a tuple, remove
the trailing commas so they return a string as per everywhere else.

[1] 4c589661c2/lib/ansible/module_utils/basic.py (L2078)
[2] https://review.opendev.org/#/c/696081
2019-12-04 15:28:10 -05:00
770430fd07 Added required parameter to document DOC-string to produce Documentation. (#65230)
* Added required parameter to document DOC-string to produce Documentation.

Signed-off-by: Satyajit Bulage <sbulage@redhat.com>

* Just copy short_description as it was
2019-12-05 06:23:45 +10:00
c04fc52aad win_dns_client - only configure ip enabled adapters (#65488) 2019-12-05 06:04:13 +10:00
9973121f44 Fix ansible-galaxy man page generation (#65478)
The Action list was misformatted, leading to an error message in the man
page.

https://bugzilla.redhat.com/show_bug.cgi?id=1717110
2019-12-04 13:49:21 -06:00
2a7623dd5c Add CentOS 8 to the test matrix (#63649) 2019-12-04 13:39:00 -05:00
b51a1bc429 Fixup parameter documentation ("doc-required-mismatch") AWS simple cases (#65462)
* Clean up "required" lines in AWS module docs, remove corresponding ignore.txt entries, general docs cleanup
2019-12-04 10:00:50 -06:00
4184b05cc1 meraki_organization - Ignore URL parameter when comparing for… (#65337) 2019-12-04 10:40:56 -05:00
79b088aeba Meraki - Remove type comparison for idempotency check (#65338)
* Remove type comparison in is_update_required()

* Add changelog
2019-12-04 10:39:26 -05:00
f4a9f23a1b Removes duplicate HAS_IPADDRESS variable assignment in postgresql_pg_hba. (#65408) 2019-12-04 08:29:48 -05:00
2eb615f1ef gitlab_runner: fix idempotency for shared runners (#65176) 2019-12-04 08:18:46 -05:00
651dff6a2e mysql_db: add the executed_commands returned value (#65498)
* mysql_db: add the executed_commands returned value

* add changelog
2019-12-04 18:31:33 +05:30
03c16096d7 Fix extract filter when key does not exist in container (#64959)
Fixes #64957
2019-12-04 13:24:52 +01:00
9404384985 Add junos_static_routes module (#65239)
This commit adds a new network resource module for static routes on
junos devices.

Signed-off-by: Daniel Mellado <dmellado@redhat.com>
2019-12-04 12:59:56 +01:00
520a505caf VMware: Fix state parameter in vmware_host_lockdown module (#65495)
Changed 'str' to 'type' in Argument_spec which is valid parameter.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-12-04 14:16:13 +05:30
2d074f2a31 win_description Module (#61629)
* win_description Module

Module to change Windows description and Windows license owner information.

* LiteralPath updated

changed -path to -LiteralPath in the script

* Version and metadata_version

version_added updated to 2.10
Metadata_version set to 1.1

* version updated

version_added changed to '2.10'

* Changes based on feedback

* removed some redundant checks

* Rename win_description.ps1 to win_computer_description.ps1

* Rename win_description.py to win_computer_description.py

* Module name change

* Integration tests added

* added aliases file

* Change compatibility from 2008 to 2008R2

* Update aliases
2019-12-04 14:25:16 +10:00
cfb6cb4cef Win data deduplication module (#59723)
* win_data_deduplication initial commit

* Ansible version added bump

* integration tests

* missing aliases

* Fixing documentation

* license and metadata

* documentation formating

* removing win_format ref

* documentation fixes

* trailing whitespace

* Fixing more documentation :(

* missing return

* documentation cleanup

* align copyright with doc

* indentation fixes...

* updated examples

* ignore meta and future for python doc

* removing when

* use Get-PSVolume

* Get-Volume not PSVolume

* missing updated var

* updated old drive refs

* make sure that the T drive is formated as NTFS

* path and drive_letter are exclusive

* idempotence test fix

* changing task order + reboot timeout

* implementing the requested changes to the code

* updating documentation to reflect code changes

* simplifying tests

* missing feature install before running the tasks

* pslint trailing whitespace

* putting old tests back

* missing win_format

* skip windows 2012

* Fixing message for OS check

* pass settings and dedup_job variables

* Removing unnecessary module

* logic issue

* replacing tabs with double space

* documentation fix + removing tabs

* Update documentation with recent changes

* Apply changes requested

* switch feature install with partition format

* replace tabs with spaces

* trailing whitespace

* we don't need those ignores anymore

* minor fixes

* updated test to match latest code changes

* removing dedup job task

* adding check mode yes test

* fixes for check_mode support

* updating examples in documentation

* wrong indentation for check_mode in tests

* convert indentation to spaces

* -not $check_mode

* removing unneeded spec in documentation

* Switch to Ansible.Basic

* 2.9 is already gone, so let's add this module to 2.10...

* removing useless else condition

* updated documentation

* fixing specs and removing useless try/catch + fix exit/fail

* spaces indentation

* $null check is actually needed if volume never had dedup

* Missing check_mode update

* removing required for default state in documentation

* converted tabs to spaces
2019-12-04 14:21:21 +10:00
584824f560 win_share - Implement append paramtere for access rules (#59469)
* win_share - Implement append paramtere for access rules

* changed fragment

* add test

* missing bracket

* removed whitespace

* Wrong number of lines

* Forgot the actual new parameter in the test

* community review

* Change option names

* version update

* Update tests.yml

* Add idempotence to rule_action: add
2019-12-04 14:16:10 +10:00
ed54b9b441 add win_initialize_disk module (#58617)
* add win_initialize_disk module

* Add ability to specify disk by path or uniqueid

* Fix documentation

* fix shippable failures

* Update anisble version

* Slight tweaks to the documentation

* Small documentation fixes
2019-12-04 12:37:15 +10:00
85722c360f Disable failing hcloud tests. 2019-12-03 17:52:08 -08:00
d710a5cd7f eos_interfaces: Added unit testcases for eos_interfaces (#63813)
* Added unit testcases for eos_interfaces

* Corrected lint errors

* Corrected lint errors

* Addressed Review comments
2019-12-03 18:42:26 -05:00
db709488bd Update foreman inventory to use foreman's inventory report (#62438) 2019-12-03 15:11:40 -07:00
322a4dc691 BOTMETA migrated_to should be namespace.collection (#64029) 2019-12-03 19:20:58 +00:00
88d8cf8197 Remove no longer valid ignore.txt entry. (#65469) 2019-12-03 18:13:23 +01:00
974e8cec3d prepare_vmware_tests: run test w/ just 1 vcsa (#65433)
Add the ability to run test with just a VCSA instance. This allow us to
test a subset of tests that don't need any ESXi nodes.
2019-12-03 11:17:06 -05:00
daecbb9bf0 Ensure allow_duplicates: true enables to run single role multiple times (#64902) (#65063)
* Ensure `allow_duplicates: true` enables to run single role multiple times(#64902)

* Changed return value in `_load_roles` . Fixes #64902

* Add changelog fragment

* Add an integration test for the issue

* Fix changelog generation error and integration test.

* Fix yaml syntax error in changelog fragment
2019-12-03 10:21:54 -05:00
4be8b2134f Sanity checks: make sure that required in argument spec coincides with documentation (#65437)
* Add sanity test for required parameters, update ignore.txt, and add changelog.
2019-12-03 09:15:07 -06:00
c19949706f vyos: Make vyos related yaml file passing yamllint (#65449) 2019-12-03 09:34:35 -05:00
ae4363f6d1 openssl_csr: make sure privatekey_path is specified when state is present (#65435)
* Make sure privatekey_path is specified when state is present.

* Add changelog.
2019-12-03 14:08:26 +01:00
d82361a709 Fix exos_lldp_interfaces support status (#65428)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-12-03 13:47:32 +05:30
49b457016e k8s: persist refreshed tokens (#63219)
When the ansible k8s module is refreshing the tokens from the local kube
config, it should save those token to the kube config file.

If this is not done, this might break the next kube client call as the
token in the local kube config file is not valid anymore and refreshing
can fail.

This commit is adding an env var K8S_AUTH_PERSIST_CONFIG that can be
used to set this flag to true (default is false, same as current
behavior).
2019-12-03 12:22:26 +10:00
8648003c1f ansible-galaxy - Add User-Agent to requests (#65438) 2019-12-03 10:04:41 +10:00
6075536907 route53_info: add pagination support to list (#60433) 2019-12-02 15:33:59 -07:00
6586b7132c galaxy - print HTTP reason on unknown error (#65273) 2019-12-03 07:36:05 +10:00
0e5a83a1cc Add Fedora 31 to the test matrix (#64848)
* Add Fedora 31 to the test matrix

* Remove Fedora 29 from the test matrix
2019-12-02 15:54:32 -05:00
37ce55fd79 lightsail - Use AnsibleAWSModule (#65275)
* lightsail - Use AnsibleAWSModule

- Use AnsibleAWSModule
- Refactor the logic for wait into a separate function (Fixes #63869)
- Handle exceptions in find_instance_info and add a fail_if_not_found parameter
- Add a new state `rebooted` as an alias for `restarted`. AWS calls the action Reboot.
- Add required_if clause for when state is present

* lightsail - Use the default keypair if one is not provided

* lightsail - add a required_if for when state=present

* Update short description for lightsail module
2019-12-02 13:12:44 -07:00
02e7c5a19f vmware_datastore_cluster: Added SDRS configuration (#65193) 2019-12-02 15:02:50 -05:00
694ef5660d Fix using a URL for galaxy collection install (#65272)
* Fix using a URL for galaxy collection install

* Update lib/ansible/galaxy/collection.py

Co-Authored-By: Sloane Hertel <shertel@redhat.com>
2019-12-03 04:55:31 +10:00
41472ee387 Describe different ways to set connection timeout options (#65126)
* add timeout option examples, link to new section, implement feedback
2019-12-02 10:42:45 -06:00
a8ef5d5034 VMware: Autoselect datastore only from the given cluster/ESXi (#43435)
* Autoselect DS only from the given cluster/esxi
* Run tests only on real vCenter
2019-12-02 21:53:08 +05:30
5942e7f2a2 Fix type in svn documentation path (#65353) 2019-12-02 09:55:02 -06:00
21bbf49396 Mention Python builtin methods in filter docs (#65425) 2019-12-02 09:44:59 -06:00
8ebc57c186 Mention that Python keywords are invalid Ansible variable names (#65094)
* Mention that Python keywords are invalid Ansible variable names
Using a Python keyword as a variable name triggers the error `Invalid variable name in 'register' specified: 'return'`.
2019-12-02 09:42:40 -06:00
0cadb952f9 postgresql_ext: use query_params (#64994)
* postgresql_ext: use query_params

* added changelog
2019-12-02 13:32:25 +00:00
c53b8030ab lbu module: Alpine Linux Local Backup Utility (#62584) 2019-12-02 19:00:09 +05:30
a8f1c85a20 VMware: Updated module compatibility with vsphere version. (#65419)
Update vmware_content_deploy_template module compatibility with vSphere version.
2019-12-02 18:57:56 +05:30
08b53b94a9 acme_certificate: Fix ACME v1 support when modify_account is set to false (#64648)
* Fix ACME v1 when modify_account is set to false.

* Add changelog.
2019-12-02 03:35:49 -05:00
5f6057598e Hetzner: dedicated server firewall module (#65399) 2019-12-02 09:19:49 +01:00
da73bbd73c openssh_keypair - Add logic to handle password protected or broken key (#64436)
* The ssh key may be created manually prior the task execution with a
  passphrase. And the task will be executed on the same key.
* The ssh key may be broken and not usable.

The module will check the private key and if the key is password
protected or broken, it will be overridden.
The check of the ssh key performed by retrieve the public key from the
private key.

Set the "self.force" check before the "isPrivateKeyValid" check.
In case of any issue with the "isPrivateKeyValid" function, the user
will be able to force the regeneration of the key with the "force: yes"
argument.
2019-12-02 08:12:38 +01:00
a0b8b85fa5 ufw: add support for interface_in and interface_out (#65382)
* ufw: escalate privileges in integration tests

A few of the integration tests for the UFW module forgot to `become`.
This is problematic if the test suite is executed as a non-privileged
user.  This commit amends that by adding `become` when appropriate.

* ufw: add unit tests for direction and interface

Extend the unit tests for the UFW module to test the `direction` and
`interface` parameters.  This will help in the implementation of a fix
for issue #63903.

* ufw: add support for interface_in and interface_out

The UFW module has support for specifying `direction` and `interface`
for UFW rules.  Rules with these parameters are built such that
per-interface filtering only apply to a single direction based on the
value of `direction`.

Not being able to specify multiple interfaces complicates things for
`routed` rules where one might want to apply filtering only for a
specific combination of `in` and `out` interfaces.

This commit introduces two new parameters to the UFW module:
`interface_in` and `interface_out`.  These rules are mutually exclusive
with the old `direction` and `interface` parameter because of the
ambiguity of having e.g.:

    direction: XXX
    interface: foo
    interface_XXX: bar

Fixes #63903
2019-12-02 08:01:44 +01:00
03dce68227 win_disk_facts - Set output array order to be by disk number property (#64997)
* win_disk_facts - Set output array order to be by disk number property - https://github.com/ansible/ansible/issues/63998

* Update win_disk_facts.ps1
2019-12-02 06:54:18 +10:00
d8982b4992 win_nssm - Implement additional parameters (#65131)
* win_nssm - Implement additional parameters

* Update win_nssm.py

* Snake case change

* Update win_nssm.py

* Update win_nssm.ps1

* Remove duplicated executable option

* Added default values for new options
2019-12-02 06:49:07 +10:00
2acfa0e08c Add passphrase support for luks_device (#65050)
* Elevate privileges for luks_device integration tests

Several tests in `key-management.yml` don't `become` before executing,
despite needing elevated privileges.  This commit fixes that.

* Add passphrase support for luks_device

Previously, the luks_device module only worked with keyfiles.  The
implication was that the key had to be written to disk before the module
could be used.

This commit implements support for opening, adding and removing
passphrases supplied as strings to the module.

Closes #52408
2019-11-30 20:50:30 +01:00
0d34a2ecee syspatch: Check for apply=no condition (#65350)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-11-30 19:39:54 +05:30
38193f6b60 proxmox: fix proxmox 6 version detection by using LooseVersion (#59165)
* proxmox: use 'release' key for version detection if possible

* proxmox: fix PEP issues

* add changelog fragment

* Uses LooseVersion for proxmox version detection

* move imports

* removes useless comment
2019-11-29 18:16:40 +01:00
0407af936a vmware/test: switch the ro of the two datastore (#65356)
The `ro_datastore` was actually using the value of `rw_datastore`.
2019-11-29 10:23:57 -05:00
d335d7a62c Use context manager for mssql and postgresql modules. (#65224) 2019-11-29 00:37:23 -05:00
deb0cbbf73 VMware: Fix vmware_host_dns examples (#65355)
Added type in example sections
2019-11-29 06:50:33 +05:30
34ecd6cb25 VMware: Update hostname when VM is cloned (#65037)
Fixes: #57873
2019-11-28 16:43:46 +05:30
6ae01d4fbd postgresql_owner: use query_params with cursor (#65310)
* postgresql_owner: use query_params with cursor

* add changelog fragment
2019-11-27 10:42:26 +00:00
8d6192d61e adding encoding dump/import support for the mysql_db module, with upd… (#65228)
* adding encoding dump/import support for the mysql_db module, with updated documentation, and full test suite

* fixing lint issue test #3

* fixing lint issue test #1

* fixing lint issue test #1 second time

* Improving Test to be re-entrant

* improving test to not fail on centos/6

* Update test/integration/targets/mysql_db/tasks/encoding_dump_import.yml

Comminting suggestion

Co-Authored-By: Benjamin MALYNOVYTCH <bmalynovytch@users.noreply.github.com>

* Update test/integration/targets/mysql_db/tasks/encoding_dump_import.yml

comminting suggestion

Co-Authored-By: Benjamin MALYNOVYTCH <bmalynovytch@users.noreply.github.com>

* adding comment

Adding comment to explain test strategy

* Update test/integration/targets/mysql_db/tasks/encoding_dump_import.yml

Co-Authored-By: Benjamin MALYNOVYTCH <bmalynovytch@users.noreply.github.com>

* Update test/integration/targets/mysql_db/tasks/encoding_dump_import.yml

Co-Authored-By: Benjamin MALYNOVYTCH <bmalynovytch@users.noreply.github.com>

* Update test/integration/targets/mysql_db/tasks/encoding_dump_import.yml

accepted

Co-Authored-By: Andrey Klychkov <aaklychkov@mail.ru>

* Update test/integration/targets/mysql_db/tasks/encoding_dump_import.yml

Co-Authored-By: Andrey Klychkov <aaklychkov@mail.ru>

* Update encoding_dump_import.yml

* Fixing typoo
2019-11-27 10:41:55 +00:00
8df03a6f6e azure_rm_virtualmachine: Fix VHD URI valid schemes in extract_names_from_blob_uri (#64507)
When a VM has been provisioned with unmanaged disks (VHD), the URI
schemes used for those disks are kept untouched. Unfortunately, the regexp that
parses the URI only accepts 'https' leading the module to fail if one
uses for instance 'http'.

Please note that the official Azure API documentation uses 'http' and
not 'https' as URI scheme.

Resolves #64506

Testing Done: Using an ARM template, provision a VM with one OS and one
data disk with 'http' as VHD URI scheme. Then use the
azure_rm_virtualmachine module to delete the VM. Finally check that the
module does not fail anymore and that the unmanaged disks are correctly
deleted from the storage account.
2019-11-27 15:55:06 +08:00
7c65ad11e2 azure_rm_storageaccount_info: Fix list_all method (#64321)
The 'azure_rm_storageaccount_info' module was calling the storage client
'list_by_resource_group()' method rather than the 'list()' one, leading
to callers not being able to fetch all the storage accounts of their
subscription.

Issue: #64319

Testing Done: was successfully able to call the module and retrieve
all the storage accounts in the subscription without having to
specify a resource group.
2019-11-27 15:53:51 +08:00
4b240a5d74 Azure RM: Fix missing ipConfiguration 'primary' attribute (#63722)
If a NIC has no primary ipConfiguration, the 'primary' field returned
by Azure is set to 'null' thus removed from the 'nic_model'
ipConfigurations properties. Unfortunately the code generating the
hostvars dict. assumes the 'primary' key always exists, leading the
entire host parsing to fail.

This patch changes the way the 'primary' field is accessed by using the
dict. 'get' method with a default value set to 'False'.

Resolves #63721

Testing Done: Run ansible-inventory with an azure_rm plugin that points
to a resource group that contain a two VMs, on with a primary
ipConfiguration and another one without. Check that without the patch
the inventory output does not contain the VMs (or just the one with the
primary ipConfiguration set, depending on the VM names). Finally check
that with the patched azure_rm.py file, both VMs show up.
2019-11-27 15:53:05 +08:00
4c589661c2 Fixed want_facts in the foreman inventory plugin - fixes #65111 (#65114)
* Replaced 'ansible_facts' by 'foreman_facts'

'foreman_facts' is the key that the foreman inventory script used
'ansible_facts' is a special key that is overwritten internally and has never worked in this inventory plugin

* Added changelog
2019-11-26 13:41:28 -05:00
39ebd244e3 Update playbooks_filters.rst (#64769) 2019-11-26 13:39:12 -05:00
756ac826fe Improve ignore_unreachable documentation (#64938) 2019-11-26 13:35:02 -05:00
2460470ae7 Add an example for mounting NFS. (#64974) 2019-11-26 13:30:37 -05:00
12670f5a80 all modules documentation should be valid yaml data (#64838) 2019-11-26 13:18:16 -05:00
8d0c2cd4d5 include_vars: Check NoneType for raw_params (#64979)
Lookup 'first_found' returns empty list which results in
raw_params checking. Check NoneType for 'raw_params' before
proceeding.

Fixes: #64939

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-11-26 13:11:02 -05:00
a15fb2637d Add or later to the license expressed in the README
This is a clarification, not a relicensing.

Our source code says "GPLv3+" or "version 3 of the License, or later".
Our documentation says GPLv3+:

https://github.com/ansible/ansible/blob/devel/docs/docsite/rst/dev_guide/developing_modules_checklist.rst#contributing-to-ansible-objective-requirements

We were just lazy when we wrote the README and left out the "or later".
this update to the README brings it in line with what everything else
says.
2019-11-26 08:33:41 -08:00
ee413fe414 Allow updating of ec2_group rules with EC2 classic ELB targets (#62374)
* Allow updating of ec2_group rules with EC2 classic ELB targets

Fix regression introduced in #45296 with EC2 Classic SGs

Fixes: #57247

Also add (unsupported) ec2 classic test suite with test case for this scenario

* move ec2 classic tests to conditional within ec2_group target

* clean up ec2_classic tests

* ec2_classic account can't run most ec2_group tests
2019-11-26 11:29:03 -05:00
a67ff91032 Fixed some documentation for postgresql_slot (#65278) 2019-11-26 09:30:47 -05:00
7f97f86303 add a new module to configure multicast igmp and enable it. (#63746)
* add a new.

* import-error

* update docs.

* add unittest.

* Update test_ce_multicast_igmp_enable.py

* add a ihtegration test.

* update for review.

* update for review.

* add notes.
2019-11-26 11:38:30 +00:00
76e904e44f add a new module to create isis instance. (#63716)
* add a new

* update to add futuer.

* update

* update shippable

* update docs.

* update

* add unittest.

* add integration test.

* update for shippable.

* syntax error

* syntax error

* syntax error

* update for review.

* update for review.

* add notes.
2019-11-26 11:23:05 +00:00
8c88ee3b9f add a new module to configure multicast global. (#63745)
* add a new module.

* add future

* update docs.

* update

* update

* update

* update

* add test.

* Update test_ce_multicast_global.py

* update for review.

* update for review.

* add notes.
2019-11-26 11:22:39 +00:00
9f58e915d9 add a new module to configure mdn on interface. (#63755)
* add a new module to confiure mdn on interface.

* doc-default-does-not-match-spec.

* add unittest

* Update test_ce_mdn_interface.py

* add integration.

* update for review.

* add notes.
2019-11-26 11:21:40 +00:00
f543e72d0a postgres.PgMembership: use query params in cursor.execute method (#65164)
* postgres.PgMembership: use query params in cursor.execute method

* changelog fragment
2019-11-26 11:19:41 +00:00
2242c385b2 Zabbix: zabbix_template: fix #63907 and add test case (#65236)
* Zabbix: zabbix_template: fix https://github.com/ansible/ansible/issues/63907 and add test case

* update test case
2019-11-26 11:18:55 +00:00
eb423ecec0 add a new module to configure isis on interface. (#63717)
* add a new.

* update doc

* update docs.

* update

* delete provider.

* add future.

* add unittest

* add integration test.

* KeyError

* update for review.

* add notes.

* unused codes removed.
2019-11-26 11:12:31 +00:00
ee3f8d28a4 Fix cli context check for network_cli connection (#64697)
* Fix cli context check for network_cli connection

Fixes #64575

*  Check cli context for network_cli connection
   at the start of new task run only.

* Pass task_uuid around to identify start of new task run

* Handle for local connection
2019-11-26 08:40:49 +05:30
bd68bcab95 Fix empty and zeroed memory variables on Windows (#65259)
* Fix empty and zeroed memory variables on Windows

The CIM elements about swap information are for Unix platform implementations of Powershell. CIM has separate elements for the "Windows swap".  This fixes memory information being non-present or zero.

* Properly name Windows variables for Page File

See https://github.com/ansible/ansible/pull/65259 for discussion

* Update setup.ps1
2019-11-26 12:18:25 +10:00
9dca2bd3c4 collection: Provide additional info about collection name restriction (#65250)
Fixes: #65151

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-11-26 11:29:13 +10:00
cd8b42c376 Bug fixes for GCP modules (#64823) 2019-11-25 19:20:07 -05:00
4fdc022853 Bug fixes for GCP modules (#64824) 2019-11-25 19:19:56 -05:00
152a94bfaf Bug fixes for GCP modules (#64825) 2019-11-25 19:19:49 -05:00
954ce8d21e Bug fixes for GCP modules (#64826) 2019-11-25 19:19:33 -05:00
01249b7fb1 Bug fixes for GCP modules (#64827) 2019-11-25 19:19:26 -05:00
161ad4bf2c Bug fixes for GCP modules (#64828) 2019-11-25 19:19:19 -05:00
19063166dd New Windows Module: win_file_compression (#56475)
* add win_compact module

* fixed line endings

* fix documentation

* Use cim method instead of wmi method

* renamed to win_file_compression
added single file support
added force option to avoid traversing large directory structures

* fixed end of file

* fixed renaming.
bench test still had win_compact as a module

* Removed more NTFS references and slight test tweaks
2019-11-26 09:26:13 +10:00
7084dd727a clarify httpapi with an example (#65083) 2019-11-25 16:30:16 -06:00
b2fc12a29f clean up network toc (#65264) 2019-11-25 15:17:49 -06:00
a797802d27 playbooks_filters_ipaddr.rst: fix syntax, indentation (#65208) 2019-11-25 15:00:15 -05:00
f9f19d171b updated required zabbix-api version for zabbix modules (#65145) 2019-11-25 14:59:15 -05:00
af64e9ce6a add Automation Hub stub page (#65261)
* add Automation Hub stub page

* implement feedback
2019-11-25 13:58:01 -06:00
0471ed3731 Add docs clarifying behavior of retry files (#65153) 2019-11-25 14:26:46 -05:00
c1f280ba6e Inventory CLI - Ignore settings for when vars plugins should run (#65073)
* Inventory CLI - Ignore settings for when vars plugins should run and just always run them

* Add note to porting guide

* Fix loading vars plugins

* changelog

* Remove a staging test for ansible-inventory since it ignores that setting
2019-11-25 13:16:03 -05:00
8f1af61851 vmware_guest: relax the requirements of the tests (#65192)
- 128MB or RAM is enough for most of the cases
- 1VCPU is also enough
2019-11-25 12:58:22 -05:00
277dd54d45 Fix/archive empty file (#64895)
* Remove call to filecompare to fix issue with empty file exclusion from archive

* Add empty file
2019-11-25 11:23:14 -05:00
f9f7a0c60e fix syntax issue (#65166)
- can disabled  
+ can be disabled
2019-11-25 15:01:10 +00:00
e4196f99e0 one_vm: Fix typo in error message. (#65253)
##### SUMMARY
Fix a (likely) copy+paste error in error message in the `one_vm` module.


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2019-11-25 14:54:38 +00:00
2d6f716d37 Add 'bhyve' as a valid brand for SmartOS vmadm (#65200) 2019-11-25 20:20:39 +05:30
b08e7daf46 Do not treat AnsibleUndefined as being unsafe (#65202)
* Do not treat AnsibleUndefined as being unsafe. Fixes #65198

* fix yaml formatting
2019-11-25 15:06:29 +01:00
f37dbf859b os_security_group_rule fix port matching when protocol is any (#59055)
* Added logic to match on protocol 'any'

I personally use this to remove the default created egress rules from
security groups.

* Fixes for ansible-test
2019-11-25 08:05:34 -05:00
5f8ec4d46e Handle LibraryError exception in postgresql_db (#65229)
* Added changes into changelogs/fragments
* Removed no longer used 'LibraryError'.

Signed-off-by: Satyajit Bulage <sbulage@redhat.com>
2019-11-25 15:12:18 +05:30
89954e6ef5 Test fix (#65132) 2019-11-25 12:16:19 +05:30
4d69648893 Add default log level for new facitlity (#65197) 2019-11-25 12:04:36 +05:30
8daa42bb3d Support non-KV and KV v1/v2 secret engines (#64288)
* Support generic and KV v1/v2 secret engines.

Fixes #41132
Fixes #50598
Fixes #54462
Fixes #64150

* Update KV v2 compatibility notes/usage docs.

* Add tests for KV v1/v2 and generic secrets engines.

* Add changelog fragment.

* Add KV v2 behavior changes to porting guide.

* Fix pylint blacklisted name warnings.
2019-11-25 06:18:49 +01:00
e74cf5e4b3 Fix: OpenBSD syspatch module bug (#57259)
* Append is not a list

* Adding new example. Renaming reboot var to match other modules

* syspatch: Fixing if statement logic issue to properly compare integer

* Syspatch: Using get_bin_path to find path. Revert to reboot_needed instead of reboot_required.

* syspatch: Fix wording in playbook example
2019-11-24 23:15:15 -05:00
a8fa432096 Add --override-arguments option to win_chocolatey module (#65101)
* Add --override-arguments option to win_chocolatey module

* Fix version and argument type

* Added changelog fragment and tests
2019-11-25 09:51:13 +10:00
63b94fca7e docker_container and docker_network: avoid None errors (#65018)
* Avoid None errors.

* Add changelog.
2019-11-24 07:39:27 -05:00
f4d45ffdff docker_container: change network_host default behavior for Ansible 2.14 (#64635)
* Update network_mode docs.

* Announce default change for 2.14.

* Add changelog fragment.
2019-11-24 05:05:00 +01:00
0b8b5baecd docker_container: add support for --cpus (#64683)
* Add support for --cpus.

* Adjust PR #.

* Add version_added.
2019-11-24 05:04:42 +01:00
ebdb581e63 Fix typos in ansible.cfg comments
PR #65177
2019-11-23 22:15:25 +01:00
a096cd08c5 docker_swarm_service: Sort lists when checking for changes (#63887)
* docker_swarm_service: Sort lists when checking for changes

When two lists are checked for changes in this module, the lists are 
reported changed when the order of the items is different. This PR 
resolves this issue.

* docker_swarm_service: Minor typo fix

* docker_swarm_service: Another minor typo

* docker_swarm_service: Should use sorted(), not sort()

* docker_swarm_service: Sort lists of dictionaries

* docker_swarm_service: Fix style issues in tests

* docker_swarm_service: Updates to integration tests

* docker_swarm_service: Casting string types within lists when comparing

* docker_swarm_service: Special handling of unordered networks with ordered aliases

* docker_swarm_service: Sorting network lists

* docker_swarm_serivce: Better unit test code coverage for lists and networks

* docker_swarm_service: Fixed coding style for sanity tests

* docker_swarm_service: More coding style fixes

* docker_swarm_service: Ignoring test for Python < 3

* docker_swarm_service: Update to version info check for backwards compatibility

* docker_swarm_service: Added change fragment #63887

* docker_swarm_service: Better handling of missing sort key for dictionary of lists

* docker_swarm_service: Preventing sorts from modifying in-place

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

* docker_swarm_service: Removed spurious import in test

* docker_swarm_service: Preventing sorts from modifying more data in-place

Co-Authored-By: Felix Fontein <felix@fontein.de>
2019-11-23 20:31:35 +01:00
136dc27572 [yarn] Set name_version when version is not specified (#62348)
* Set name_version when version is not specified, fix #55097

This will default to installing the latest version available

* Add changelog fragment

* update changelog
2019-11-23 09:26:35 +01:00
eb3da65886 vmware_rest_client: pass object to get_tags_for_dynamic_obj (#65156)
This patch fix the `vmware_cluster_info` functional-tests.
`get_tags_for_dynamic_obj()` expects an object, not the object ID in a
string.

Without this patch, the `vmware_cluster_info` module fails.
`get_tags_for_object()` raises the following exception:

```
vmware.vapi.exception.CoreException: Expected VapiStruct instance or python dictionary, but received str
```

The patch partially reverts changes introduce in:
35cc26f8c0

See: http://vmware.github.io/vsphere-automation-sdk-rest/6.5/operations/com/vmware/cis/tagging/tag_association.list_attached_tags-operation.html
2019-11-22 21:17:30 -05:00
239213baee vmware_guest: do not use autoselect_datastore in test (#65191)
Disable the use of `autoselect_datastore` until https://github.com/ansible/ansible/issues/58541
is fixed.
2019-11-22 21:17:05 -05:00
c73288ad53 user - compare macOS user properties using same type (#62973)
self._get_user_property returns a string, so when doing a comparison
using this value, cast the second variable to a string so that the
comparison behaves correctly
* Add changelog
* Add to_text import
* Add integration test
2019-11-22 17:05:17 -05:00
d4c4c92c97 Fix issue 64503. Added pool to relocate spec (#64544)
VM relocate to destination host works without pool param when hosts are part of same cluster. but spec.pool is required when hosts are part different clusters.

Closes: #64503
2019-11-22 16:42:41 -05:00
0ab21fd1ec add note re required forward slash on url (#65203) 2019-11-22 15:22:48 -06:00
cba9abcbec elbv2 - print() statement results an task failure, even if the task itself was successfull (#65183) 2019-11-22 10:52:06 -05:00
d3f6943446 Remove postgresql_shared integration test (#65133)
Move test tasks into appropriate integration test
2019-11-22 09:30:10 -05:00
315cc2f3ea VMware: vcenter_folder checks nested parent folder path (#62741)
added possibility to create Subfolder by defining full path below datacenter

Closes: #64442
2019-11-22 09:25:42 -05:00
d05d5cfc39 VMware: add new module vmware_guest_controller (#59615)
Add the `vmware_guest_controller` module.
2019-11-22 09:05:10 -05:00
62c4ff8174 Fix legacy facts keys having redundant underscore (#65167)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-11-22 15:02:18 +05:30
3dc113fd9a Update notes in vmware_guest about SysPrep Windows Guest (#65055) 2019-11-22 14:18:31 +05:30
d7039b6633 VMware: Fix typo in fail_json in vmware_guest_powerstate (#65162)
Fixed typo from "chanaged" to "changed"

Fixes: #65161

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-11-22 10:27:41 +05:30
dc59880c31 vmware_deploy_ovf: Use correct datastore in multi-datacenter environment
Fixes: #63920 

Need to pass the datacenter to assure we get the correct datastore managed object Id.
2019-11-22 09:52:45 +05:30
41b199a936 Fortinet's new module for fortios_system_global (#64817) 2019-11-22 09:32:48 +05:30
95bd92da04 Add integration tests for aws lightsail (#63770)
* Add integration tests for aws lightsail

* lightsail - use module_defaults instead of aws_connection_info

* lightsail tests - assert instance state on create

* Fix yaml syntax error

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

* [lightsail] create keypair as part of the testsuite

* Fix lightsail actions in compute-policy

* Add ability to delete keypair in lightsail_keypair
2019-11-21 16:53:36 -07:00
6e652ae6df Improve consistency of IAM_{role,user,group} behaviour (#64258)
* iam_user: use AnsibleAWSModule.client to fetch connection rather than C&P code

* iam_role: Add deprecation warning so we can switch purge_polices default behaviour from true to false

* iam_user/role/group: Rename 'managed_policy' and 'purge_policy'

Rename from singluar to plural (we accept a *list* of policies), and add aliases for the old values.

* Cleanup documentation

* Changelog
2019-11-21 14:38:44 -07:00
784e507671 module sanity checks: improve alias handling (#59060)
* add_file_common_args is only of interest on top-level.
* Handle undocumented arguments in one place.
* Update ignore.txt
* Add changelog
2019-11-21 15:33:27 -05:00
f3575c5025 docs: add solution to timeout errors to docs (#65140) 2019-11-21 15:05:07 -05:00
b0c8e7926f link from quickstart page to Network Getting Started (#65150) 2019-11-21 11:42:57 -05:00
d52af75c68 Add aws elb multiple host header support (#65021)
* Add support for aws elbv2 multiple host header actions

* Add example of multiple host header

* Add test for multiple host headers

* Add missing quote

* Update test/integration/targets/elb_application_lb/tasks/test_modifying_alb_listeners.yml

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

* Update test/integration/targets/elb_application_lb/tasks/test_modifying_alb_listeners.yml

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

* Remove debug statements
2019-11-21 09:42:37 -07:00
d1c58bc942 #59522: adjust messages (#65129)
* Adjust messages.

* Fix one more.
2019-11-21 17:20:38 +01:00
c08f536260 Add support for all_projects in OpenStack inventory module (#55965) 2019-11-21 10:35:44 -05:00
c6301a9fc7 fix utils.color.stringc: enclosure non printable sequences in SOH,STX (#64751)
* ansible.utils.color.stringc: add wrap_nonvisible_chars flag in stringc
* add exaplanation for `wrap_nonvisible_chars` case in utils.stringc
* add changelog entry
2019-11-21 09:41:42 -05:00
1a7823af03 Added missing logout to zabbix_user_info module (#65146) 2019-11-21 18:11:28 +05:30
ede62b8ad4 Update influxdb_write.py (#65117)
Remove duplicated line
2019-11-21 09:48:07 +05:30
f1311d3e98 Rewrite iam_policy using boto3 (#63924)
* reworked iam_policy

* Deprecate policy_document option

* deprecate defaulting skip_duplicates to true

* No longer explicitly catch ParamValidationError.

ParamValidationErrror is already caught by ClientError

* Work with complex policy objects rather than json documents

comparisons can better cope with the special cases (eg True vs "True" )

* Enable check_mode tests and fix related 'changed' bug

* changelog

* doc cleanup based on review
2019-11-20 16:59:02 -07:00
426e37ea92 postgresql_privs - fix sort comparison (#65125)
The result of .sort() is None, not the sorted object. The comparison was comparing the result of the .sort() method and not the sorted values.
2019-11-20 18:26:30 -05:00
6a763d7133 Remove uneeded Python version compatibility checks. (#64076) 2019-11-20 18:08:30 -05:00
da8ec327cc Update plugins/netconf/ce.py to fix a bug(failed to get veriosn information via neocnf). (#65065)
* fix version fail.

* add a changelog fragment.

* Update ce.py

* Rename plugins-netconf-ce-fix.yaml to 65065-plugins-netconf-ce-fix.yaml

* Update ce.py
2019-11-20 22:18:24 +01:00
e16e6fac92 Fixes #28325: Add ansible_ssh_host_key_<algorithm>_public_subtype fact for each public host key algorithm (#28449) 2019-11-20 20:09:45 +00:00
5bd06ee16e rabbitmq_publish SSL certificate implementation (#62036)
* Implementing ability to specify certificates.

* Changelog fragment for rabbitmq_publish certificate checking

* Fixing version_added

* Reducing line size.

* Minor documentation updates.

* Update to add missing space.

Co-Authored-By: Felix Fontein <felix@fontein.de>
2019-11-20 20:09:06 +00:00
60d49c410d Zabbix: new module zabbix_template_info (#64027)
Remove unnecessary module import(LooseVersion)
2019-11-20 20:05:26 +00:00
a7716ae7a9 add new command SetManagerNic in redfish_config module (#64477)
* add new command SetManagerNic in redfish_config module

* use a more explicit/rigorous way to select the EthernetInterface, split port for default nic_addr if root_uri has port, update variable name to lower_case_with_underscores instead of CamelCase

* add missing whitespace around arithmetic operator, fix inline comment should start with '# '
2019-11-20 20:04:24 +00:00
f51f87a986 DeleteUser: do not disable user if already disabled (#64797)
* DeleteUser: do not disable user if already disabled

* add changelog fragment
2019-11-20 20:03:19 +00:00
b36f572256 openssh_keypair: fix idempotence issue (#65017)
* Fix idempotence issue.

* Add changelog.
2019-11-20 20:02:26 +00:00
509b989a9a postgresql_lang: use query parameters with cursor.execute() (#65093)
* postgresql_lang: use query parameters with cursor.execute()

* add changelog fragment
2019-11-20 20:00:07 +00:00
cc5132a8ba add a new module to configure isis on isis-view. (#63720)
* add a new module.

* update docs.

* update docs.

* update again.

* add __future__

* update docs, some args type

* update docs, some args type

* add integration test.

* add unittest.

* update for shippabel.

* update for syntax error.

* Update setup.yaml

* Update setup.yaml

* Update cleanup.yaml

* update for review.

* add notes.
2019-11-20 14:37:13 +00:00
2cf079bc8f Meraki - Remove integration tests which work with HTTP respons… (#64975)
- These are modular level and I'm not catching these anyways
- More appropriate for unit tests, at least for HTTPS
2019-11-20 09:24:12 -05:00
502fc2087e Add support for jumphost setting in junos_scp and junos_package (#64086)
* Add support for jumphost setting in junos_scp and junos_package

* Since junos_scp and junos_package module uses junos-eznc library
  to transfer file and load package respectively to a remote device
  it does not read the jumphost related configuration in netconf
  connection plugin unlike other junos modules which uses the
  Ansible persistent.
* Add `ssh_config` and `ssh_private_key_file` to add support to
  read custom ssh config file and mention ssh private key file
  for junos_scp and junos_package module

* Fix CI issue and update note section
2019-11-20 17:29:41 +05:30
38d6421425 Handle gfid tag when producing ansible facts in gluster_heal_info (#65041)
we ignore lines beginning with / or < which will produce the requires json format.

Fixes: #65095
2019-11-20 14:59:22 +05:30
35cc26f8c0 VMware: Find unique tag using category id (#61082)
If two tags with same name and different category exists, vmware_tag_manager
used to take first found tag.

This commit use combination of tag and category to identify the category.

Fixes: #59379

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-11-20 14:43:04 +05:30
b1e6667664 fix all modules to be able to get parameter with value false (very important fix) (#65040)
* add import of future and __metaclass__

* fix all modules to be able to get parameter with value false (very importent fix)

* Update ignore.txt
2019-11-20 12:09:40 +05:30
bc92170242 fix module that it reports the correct status of a change (#65061) 2019-11-20 00:43:20 -05:00
4270df1fa2 Fix typo in docs for lvol module(#65092)
Changed activate to active
2019-11-20 10:26:40 +05:30
7092c196ed config manager str type vault source (#65023)
* config manager str type vault source

* Convert vault text to_text earlier and add tests
2019-11-20 12:02:28 +10:00
200fb00310 Windows coverage - output temp files with UTF-8 BOM (#65086)
* Windows coverage - output temp files with UTF-8 BOM
ci_complete ci_coverage

* Remove testing changes to get ready for merge
2019-11-20 11:07:07 +10:00
96a422a6fc win_firewall- Change req check from wmf version to cmdlets presence (#64998) 2019-11-20 11:00:56 +10:00
f5133bec22 Fix up broken Windows test when run with coverage (#65085) 2019-11-20 08:53:38 +10:00
765b054f15 fix net_system domain_search examples (#65080) 2019-11-19 15:21:55 -06:00
e65be0beee Put all files and Path filters under a specific section (#64913)
Many of the filters in the "other useful filters" list manipulate filenames and paths; add a heading and put them together.
2019-11-19 12:30:56 -06:00
ba273c72d8 Fix ansible-test handling of git submodules. (#65027)
* Revert most of PR #61605 commit e218c9814c

This removes the git error handling that converted all git errors into warnings.

* Fix ansible-test handling of git submodules.
2019-11-19 10:19:03 -08:00
3f3d1d8f2d Fix text in import_role module description (#65066)
Docs: Remove unnecessary "it" in description.
2019-11-19 11:37:33 -06:00
9e92668d4f Amazon modules - Yet more minor documentation cleanup (#64930) 2019-11-19 10:10:18 -07:00
7dac93254e Fixes error in regex example (#65047) 2019-11-19 11:30:52 -05:00
1588ad77e2 Update ansible.cfg (#64855)
- clean out old options that are now deprecated
- clean up formatting of comments a bit
- add become plugin examples
2019-11-19 09:36:35 -06:00
b6f0f14dd3 Document diff. (#64888) 2019-11-19 09:46:59 -05:00
09aebf33e4 Add doc to ce for user guide. (#63982) 2019-11-19 09:45:07 -05:00
a6bc43ba47 vmware_guest: Revert custom value customization in guest (#65031)
Due to confusion between 'Custom Attributes' and 'Advanced options',
this change got in devel. Revert to original behavior i.e. customizing
custom values using vmware_guest is done in this PR.

Fixes: #64291

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-11-19 18:49:02 +05:30
9ef266778f Add missing version_added in checkpoint documentation (#65048)
Domain is newly added in 2.10 release, specify this in the
documentation section in Checkpoint httpapi connection plugin.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-11-19 16:55:19 +05:30
4e6fa59ec1 gitlab modules: unify authentication method (#64989)
* gitlab modules: unify authentication method
* gitlab module utils: remove useless import
* gitlab module utils: add documentation
* gitlab module utils: use distutil to compare version
* gitlab modules: sanity
* gitlab modules: remove useless import
* gitlab module utils: add missing import
* add changelog
2019-11-19 15:30:34 +05:30
bc479fcafc Fix py2/py3 compability issue for httpapi plugin fortios (#64982) 2019-11-19 14:51:56 +05:30
3252665a94 nxos_vlans: fix rmb behaviors and tests (#63650)
* nxos_vlans: fix rmb behaviors and tests

* whitespace fixes

* whitespace fixes 2

* review comments addressed

* TBD for legacy support

* additional tests to hit code coverage misses

* whitespace
2019-11-19 14:24:52 +05:30
067e96b152 VMware: Fix wait for customization timeout issue (#64493) 2019-11-19 08:03:42 +05:30
f1bf15bf63 cloudformation_info Move sample outputs from EXAMPLES to RETURN section (#64298) 2019-11-18 16:05:46 -07:00
8a5adcd8e1 Improve examples on parameters use with argv (#60781)
* Add example showing that when using the `argv` syntax for command module instead of the string one, we can directly provide other parameters in the "command" block, rather than using an "args" block.
2019-11-18 16:29:03 -06:00
a4b36b2e6a Update cache plugin documentation (#63635)
* Update cache plugin documentation since all cache plugins shipped with Ansible can be used for caching inventory since 2.8

* Update docs/docsite/rst/plugins/cache.rst

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

Co-Authored-By: John R Barker <john@johnrbarker.com>
2019-11-18 16:00:26 -06:00
7d4800deb1 Feature: iam_role tags (#63944)
* iam_role tags support

* Make sure we don't Camel -> Snake tags in our return values

* Minor documentation tweaks

* Add tagging tests

* Make sure we return the state of tags once we updated them

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

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

* Move boto3/botocore before we start making changes
2019-11-18 13:41:52 -07:00
6b2b876d43 Make Docker and Podman play nice (#65009)
podman 1.4 now installs docker man pages. Add handler to remove docker packages to avoid test failure due to this conflict.

Adjust inventory_docker_swarm integration test
Add conditional to cleanup handlers to allow use of the setup_docker role without removing packages at the end of the play. The inventory_docker_swarm integration tests does its own cleanup.
2019-11-18 15:08:58 -05:00
163904fe37 Fix timezone integration test for Fedora 31 (#65013) 2019-11-18 15:06:38 -05:00
d5fd588b34 distribution: ignore plesk-release file while parsing (#64665)
/etc/plesk-release file is now ignored while parsing distribution
release.

Fixes: #64101

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-11-18 15:05:23 -05:00
2749090bc6 fix collection broken links (#65010) 2019-11-18 13:50:23 -06:00
1e59017d27 renamed module tls client auth params to avoid overlaping with fetch_url (#59522)
* renamed module tls client auth parameters to avoid overlaping with ansible fetch_url

* added version_added info for params

* Updated version_added

Updated version_added info from 2.9 to 2.10

* Update pulp_repo.py

removed version_added for renamed params

* Apply suggestions from code review

added ca_cert alias and 'version_added'

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

* Apply suggestions from code review

added old behavior for client_cert and client_key which will deprecate in 2.14

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

* Update pulp_repo.py

fix for linting error ansibot is complaining

* added changelog fragment for 59522

* Apply suggestions from code review

more informative depreciation warning and changelog fragment

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

* added mention for changes in client_key and client_cert behavior

* fixed too long line (linting)

* deprecated ca_cert alias to have consistent module params in Ansible 2.14

* fixed indentation for deprecation warning

* changed deprecated alias handling to argument_spec

* moved deprecated_aliases insied argument dict, thanks tremble

* suggestions from felixfontein

Move doc info about client_cert and client_key into its own paragraph

Co-Authored-By: Felix Fontein <felix@fontein.de>
2019-11-18 20:41:40 +01:00
1d0a832692 Fix link to Roles (#64992) 2019-11-18 12:05:18 -05:00
f198036d7f Remove duplicated and broken link to Roles (#64991) 2019-11-18 12:04:38 -05:00
14897a3a0c Fix typo in grafana_datasource docs (#65000) 2019-11-18 12:02:08 -05:00
fcd29406a2 Fix postgresql_lang integration test for CentOS 8 (#64872)
* Only search inside the role for files to include
When a role is called as a dependency, both roles are searched. This can cause the incorrect file to be included if it is picked up from the parent role.
2019-11-18 10:45:22 -05:00
1df62f129a Collections versions (#64912) 2019-11-18 09:31:29 -05:00
a815fdf8bb Update Route53 IAM policy so the Route53 tests run (#64886) 2019-11-18 08:48:58 -05:00
c9d3c9e233 hcloud: inventory: missing compose variables (#64559) 2019-11-18 13:54:36 +01:00
13a8dbfd5c Fix Grafana lookup auth header for py2/3 compatibility (#50816) 2019-11-18 10:21:58 +05:30
a3c0277259 Move grafana modules to own subdir (#64657) 2019-11-18 09:56:49 +05:30
096c3ffa80 Correct win_dns_client test option name (#64967) 2019-11-18 07:39:25 +10:00
0efe5a666d Add full IPv6 support to win_dns_client - Fixes #55962 (#57577)
* Add full IPv6 support to win_dns_client - Fixes #55962

* Fix missing cast

* Add type to win_dns_client.py

* Remove version_added again, to hopefully make ansibot happy. Even though it was added as a response to the bot...

* Fix $params undefined error, that was introduced by fixing the "global variable" linting issue

* Fix casting error

* Fix inverted logic

* Fix rebase error

* Fix assignment to readonly variable

* Fix "reset IPv4 DNS back to DHCP adapter_name"

* Fix legacy windows server support (2008/2008R2)

* Fix 2k8

* Remove unecessary pslint ignore

* Added IPv6 tests, changelog fragment and further docs
2019-11-18 07:30:06 +10:00
480b106d65 become - stop using play context in more places (#62373)
* become - stop using play context in more places - ci_complete

* Fix up review points
2019-11-18 05:32:56 +10:00
a385ad321b Use newer version of podman on RHEL (#64934)
- Use same podman version for RHEL 7 and 8
- Pin to version 1.4
2019-11-17 12:45:10 -05:00
b04940d256 VMware: Re-introduce backing_disk_mode in vmware_guest_disk_in… (#63244)
This info about backing_disk_mode was renamed to backing_diskmode,
to keep backward compatability re-introducing backing_disk_mode along
with backing_diskmode info.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-11-16 21:34:13 +05:30
45527716fd Add module ldap_attrs; deprecate ldap_attr (#62701)
* Add ldap_attrs module

* Fix codesyle error

* Apply deprecation rules

* Add support for X-ORDERED extension in ldap_attrs

The 'X-ORDERED' LDAP extension allows definition of ordered LDAP object
attributes. This extension is used in OpenLDAP "cn=config" database to
support ordered configuration options.

Specification: https://tools.ietf.org/html/draft-chu-ldap-xordered-00

* Update ldap_attr deprecation notice

* Documentation improvements based on suggestions

* Remove redundant dots from documentation

* Correct 'insertations' to 'insertions'

* Remove insecure 'params' option

* Fix sanity ignore errors

* Improve module documentation

* Change example value from string to list

* Fix support for "" values
2019-11-16 15:53:35 +01:00
034df49c56 VMware: New module vmware_host_dns (#64458)
* Restore module vmware_dns_config
* Remove domainname and change_hostname_to
* Changed version_added from 2.10 to '2.10'
* Add setup_attach_host: true to test case
* Add 'vcsim is not defined' block to integration tests
* Change 'result' to 'dns_config_result'
* Bugfix: Changing some static configurations while keeping others can crash the module
* Implement changing DNS config from DHCP to static on a cluster
* Update documentation for vmware_host_dns
* vmware_host_dns integration tests: Always revert to original DNS configuration, even if a test fails
* Deprecate vmware_dns_config
2019-11-16 11:25:06 +05:30
889953a43e add notes for 4 ce moudules docs. (#64929)
* add notes.

* duplication of key "notes" in mapping
2019-11-15 23:39:05 -05:00
8ea9d0c06a Doc notes 5 (#64928)
* addd

* all  update

* add/update notes.

* add/updates notes.

* new version 2.10 can not be backported
2019-11-15 23:08:35 -05:00
2ccdf29b5b Doc notes 4 (#64927)
* addd

* all  update

* add/update notes.

* revert and exclubde new in 2.10
2019-11-15 22:57:04 -05:00
cf4882e0c0 Fix argument name in example of documentation (#64891)
##### SUMMARY
The second example of the documentation uses an argument "hostname" that does not exist in this module.
It should be replaced by argument "name"


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2019-11-16 08:55:13 +05:30
8301ad47c3 VMware: new module vmware_host_auto_start (#64605)
Fixes: #63905

* Add return parameters to return after module execution https://github.com/ansible/ansible/pull/64605#discussion_r344430717
* Add moid and use_instance_uuid parameters https://github.com/ansible/ansible/pull/64605#discussion_r344431003
* Add reset playbook for test case
* Delete HAS_PYVMOMI variable https://github.com/ansible/ansible/pull/64605#discussion_r344430877
* Fix because the default value of stop_action was wrong
* Fix multiple sanity test error for document related
* Fix remove unnecessary line break
2019-11-16 08:46:38 +05:30
9a8d0cf006 Revert "Doc notes 5 (#64350)" (#64921)
This reverts commit 1d40d429a0.
2019-11-15 21:21:06 -05:00
6dff4f43d3 Revert "Doc notes 4 (#64349)" (#64922)
This reverts commit 703f7a149a.
2019-11-15 21:08:16 -05:00
4291f09a68 Fix lookup_passwordstore integration test for CentOS 8 (#64869)
pass is no longer packaged in EPEL
https://lists.zx2c4.com/pipermail/password-store/2019-July/003689.html
2019-11-15 17:37:43 -05:00
f2e605c856 Fix iso_extract tests for CentOS 8 (#64861)
- use setup_epel role rather than task which contains correct URL now since it has changed for EL8
- add conditional to setup_epel to prevent attempted installation on non-RHEL distros
2019-11-15 17:37:13 -05:00
dd8a3ebb72 Fix paramiko_ssh test (#64857) 2019-11-15 17:08:26 -05:00
5d2a3ecbc4 Fix setup_rpm integration tests for CentOS 8 (#64862) 2019-11-15 17:07:48 -05:00
5e3b6c84c7 Fix group integration test for CentOS 8 (#64858) 2019-11-15 17:07:02 -05:00
3902c6dd9d Fix MariaDB integration tests for CentOS 8 (#64859)
* Fix setup_mariadb for CentOS 8
Switch to using systemd for multiple instances on CentOS 7 and 8
2019-11-15 17:06:27 -05:00
05a7ce798d Fix yum_repository tests for CentOS 8 (#64863)
Refactor tests to run the same tasks with CentOS and Fedora using different variables.
2019-11-15 17:05:23 -05:00
477fa63f68 Fix setup_mysql_db for CentOS 8 (#64864) 2019-11-15 17:04:35 -05:00
16f070f318 Fix mariadb_replication tests for CentOS 8 (#64865) 2019-11-15 17:03:59 -05:00
082b1b6cca Fix filesystem integration test for CentOS 8 (#64866) 2019-11-15 17:03:27 -05:00
41f301fe1b Fix setup_mysql8 tests for CentOS 8 (#64868)
# Conflicts:
#	test/integration/targets/firewalld/tasks/main.yml
2019-11-15 17:02:20 -05:00
73a2ee7318 Fix mysql_replication integration test for CentOS 8 (#64870) 2019-11-15 17:01:23 -05:00
f8c741894a Fix setup_postgresql integration test for CestOS 8 (#64871) 2019-11-15 17:00:27 -05:00
79a38c8a3a Fix firewalld integration tests for CentOS 8 (#64873) 2019-11-15 16:59:39 -05:00
a01376a493 update configuring ansible-galaxy client (#64796)
* update configuring ansible-galaxy client, deduplicate, clarify tokens, AH procedures, etc.
2019-11-15 09:49:51 -06:00
64595a7d6a module_defaults: add tree missing vmware modules (#64877)
The following modules a new, and were not yet in `module_defaults.yml`:

- vmware_guest_register_operation
- vmware_guest_serial_port
- vmware_guest_tools_info
2019-11-15 17:10:11 +05:30
f45fdc7c9b postgresql_subscription: fix the module can return incorect changed value when owner is passed (#64885) 2019-11-15 17:04:58 +05:30
96fc1a1b80 Add support for multiple manager attributes configuration (#60201)
* Add support for multiple manager attributes configuration

* Updated version_added to 2.10

* Added support for modifying LC and system attributes

* Added support for LC and system attributes

* Pylint fixes

* Add support for multiple manager attributes

* Add support for multiple manager attributes

* Add support for multiple manager attributes
2019-11-15 10:53:36 +00:00
069c7959da Add timeout to jenkins_script csrf requests (#62850) 2019-11-15 10:49:01 +00:00
864a597a3e Improved message for unarchive. (#64594)
Signed-off-by: Satyajit Bulage <sbulage@redhat.com>
2019-11-15 12:52:51 +05:30
01e4e1bb42 postgres.py: add query_params (#64661)
* postgres.py: add query_params

* postgres.py: add query_params, add changelog
2019-11-15 07:07:56 +00:00
8ff6e4c68e win_iis_webapplication: add authentication parameters (#56033)
* add connect_as, username, password parameters
add tests

* fixed reference to undefined variable.
added version added to new options.

* add changelog fragment

* fix line endings

* use ansible facts to determine os version
remove unused iis version check
test checksum of iis configuration after backup

* correct assertion

* added more cleanup tasks.

* version added is now 2.10

* skip server 2008 r2 for now

* run tests on server 2012 and higher
2019-11-15 16:04:19 +10:00
40071e5db3 win_disk_facts: Adds Win32_DiskDrive object to facts (#51595)
* Adds win32_disk_drive object to win_disk_facts

* Names class parameter for Get-CimInstance as requested in the devdocs

* Maps whole class and adds docs

* Improve matching of disks when UniqueID is different format

* Improve logic for PNPDeviceID mapping

* Adds test for win32_disk_drive
2019-11-15 15:45:18 +10:00
762fcf78b9 win_pester - Align dir scanning with Pester's defaults (#64880)
* win_pester - Align dir scanning with Pester's defaults

Co-authored-by: Coby Caldwell <cobycaldwell@gmail.com>

* Fix sanity issues
2019-11-15 13:53:30 +10:00
521d6465f6 win_chocolatey: Fix error when choco.exe not found (#53115)
* win_chocolatey: Fix error when choco.exe not found

* Slight tweak to check and added changelog fragment

* Removed ignore rule that's no longer needed
2019-11-15 12:46:36 +10:00
cd39e6ec6e win_domain_user: add retry logic for null user principal group (#54334)
* win_domain_user: add retry logic for null user principal group

* win_domain_user.ps1: Fix "user without group" case use

* Added changelog fragment

* Fix up missing dollar sign
2019-11-15 11:54:37 +10:00
bf8fe221bf Modified setup.ps1 in order to show Windows Installation type (#41002)
* Modified setup.ps1 in order to show Windows Installation type

* Fix after pull request comment

* Added changelog fragment
2019-11-15 11:19:01 +10:00
4f51b7d323 Remove ansible-test --tox delegation option.
Use the --venv option instead.

This option was only available when running from source to test the ansible/ansible repository.

This will have no effect on testing collections or running from an installed version of Ansible.

Also update docs to reference the --venv option instead of the --tox option.
2019-11-14 17:18:00 -08:00
0aa59ce9ab vmware/test: use better name for datastores
In the VMware tests, we call the datastores `ds1` and `ds2`. The first
one is read-only, the second is read-write and can be used to deploy
VMs. The naming convention was not clear enough and source of a lot
confusion and mistake.

We now have two better names:

- ro_datastore, which is ... read-only
- rw_datastore, the one that we can use to deploy new VM.
2019-11-14 16:55:05 -05:00
161e0be89b Fix access variable name programmatically faq docs (#64041)
* Add an example of replacing dashes with underscores in interface names for IPv4
2019-11-14 15:38:40 -06:00
a6f45713fc Add default value to 0 for disk in nova_flavor module (#64749)
* Add default value to 0 for disk in nova_flavor module

* Apply suggestions from code review

Add type int for disk size

Co-Authored-By: John R Barker <john@johnrbarker.com>
2019-11-14 20:50:16 +00:00
551b17b8a2 ec2_vpc_net_info: integration tests (#62649)
* ec2_vpc_net: (integration tests) migrate to using module_defaults

* ec2_vpc_net: (integration tests) use a private subnet for the tests

* ec2_vpc_net_info: Add integration tests

* ec2_vpc_net_info: add cidr_block_association_set to documentation

* Update AWS hacking test policy to allow VPC CIDR disassociation

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

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

* Store vpc2 ID to make it clearer which VPC we're changing

* Be more consistent with our quoting

* Explicitly test that the VPC IDs haven't changed
2019-11-14 13:36:42 -07:00
db3994cb03 Default to python3 on Debian 10 (#63097) 2019-11-14 13:52:13 -06:00
e9feea2270 VMware: new module vmware_guest_serial_port (#63126)
The ask was to add an option in the vmware_guest itself. Upon inspection, a serial port can
be created in multiple ways and so can be a module in itself. Therefore, created a new module
called vmware_serial_port.

Fixes: #54956
2019-11-14 14:16:30 -05:00
9b0cdad4d4 Add a random component to state machine name in aws_step_functions_st… (#64476)
* Add a random component to state machine name in aws_step_functions_state_machine testsuite

* Pick a random number from a bigger set to avoid conflicts between parallel runs

Co-Authored-By: Matt Clay <matt@mystile.com>
2019-11-14 08:37:55 -08:00
81b334bcaf Close subprocess stdout and stderr in the ssh connection plugin
Eliminate `ResourceWarning: unclosed file` by closing all
file handles of each subprocess used by the SSH connection
plugin to execute commands.

This change prevents Ansible from accumulating "forgotten"
open file handles.

PR #64785 by Julien Palard
Fixes #64768
2019-11-14 17:35:30 +01:00
67fd17bee4 Update RDS snapshot info to use DBClusterIdentifier (#64253) 2019-11-14 09:02:42 -07:00
d6a51807cd Fix kinesis_stream wait loop pause. (#64283) 2019-11-14 08:53:01 -07:00
fbdd295cef Adjust conditional for disabling alert email (#63951)
* Adjust conditional for disabling alert email

Conditional was improperly disabling existing alert email when it was found enabled.  The expectation is that it should only disable if module.param['enabled'] was set to false.

* Adjusted disable logic

Added back in the logic of only disabling the alert email if it is module.params['enabled'] is false AND current value of enabled is true on the array
2019-11-14 10:44:55 -05:00
5c0b2c151c Fix ansible_failed_{task,result} undefined in rescue (#64831)
This is a fix for a regression introduced by Perfy. Since then we mainly
operate on host.name instead of the Host object. In a call to
set_nonpersistent_facts where we set ansible_failed_task and
ansible_failed_result variables we were still passing the object which
led to those vars being undefined.

Fixes #64789
2019-11-14 15:50:54 +01:00
f17a55a181 Add advice how to prevent jinja2 warning (#60594)
* Add advice how to prevent jinja2 warning

##### SUMMARY
This addition helps users to demonstrate how to prevent `[WARNING]: when statements should not include jinja2 templating delimiters`.


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr

* Update playbooks_tests.rst

* Update playbooks_tests.rst

Refer to the advised FAQ about when to use `{{ }}`.
2019-11-14 14:36:05 +00:00
eac7fa1860 gitlab_user: Remove optional parameters while state is absent (#64832)
While deleting gitlab user, several parameters such as email, name,
password are not required. This fix removes this requirement from the
module.

Fixes: #61921

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-11-14 17:21:14 +05:30
9ee601288c Fix postgres_user not commiting changes when groups is set (#64807)
resolves #64806
2019-11-14 15:09:45 +05:30
a75a79b84c hostname - Add Manjaro Linux distribution (#64810)
* Add Manjaro Linux distribution
2019-11-14 14:31:21 +05:30
e0373a73a8 VMware: Simplifying get_vm() in module_utils.vmware (#62217) 2019-11-14 10:40:37 +05:30
46a6c28bb0 use ~/.one/one_auth as default of ONE_AUTH file location (#64535)
* better excpetion handling when one_auth file is missing
* use Exception instead of BaseException
2019-11-14 09:37:35 +05:30
04b8f75ffa win_domain_computer module: Fix idempotence when name != sam_account_name (#56967)
* win_domain_computer module: Minor documentation error

* Fix idempotence when name != samaccountname

* Added changelog

* Added unsupported alias for CI check
2019-11-14 12:59:05 +10:00
f6ac4361e7 win_firewall_rule - support ICMP types and codes (#60361)
* win_firewall_rule - support ICMP types and codes

* Update main.yml

* Add more examples and change type to list
2019-11-14 11:32:01 +10:00
91d0ad9a4c Update win_firewall_rule.py to include ICMP echo (ping) example (#55013)
* Update win_firewall_rule.py

<!--- Your description here -->
Added example of enabling ICMP protocol, as ping is commonly used for troubleshooting in automation scenarios.  Equivalent netsh command is: 
netsh advfirewall firewall add rule name='ICMP Allow incoming V4 echo request' protocol=icmpv4:8,any dir=in action=allow

+label: docsite_pr

* Remove yaml-breaking space

Removed extraneous space that caused validation to fail.

* Remove more extraneous whitespace
2019-11-14 10:17:45 +10:00
23a751323b allow using --check on win_iis_webapppool module (#50528)
* allow using --check on win_iis_webapppool module

* Added changelog and slight logic tweak

* Fix typo in changelog fragment
2019-11-14 08:52:34 +10:00
3a9650df98 Merging conflicts and updating PR
Signed-off-by: Anusha Hegde
2019-11-13 16:12:52 -05:00
4e7c0b3e21 Fixed review comments
Signed-off-by: Anusha Hegde
2019-11-13 16:12:52 -05:00
907c66c082 Resolved merge conflicts 2019-11-13 16:12:52 -05:00
80bf24b17c vmware_guest_disk/test: use less disk space
Reduce the amount of space that is used on the datastore during the
test. This allow use to use lighter storage environment during the test.
2019-11-13 16:00:20 -05:00
b5f484dcc3 ec2_eip Don't throw an exception when re-releasing an EIP (idempotency) (#62332)
* ec2_eip: (integration tests) move to using module_defaults

* ec2_eip: (integration tests) expand integration tests

Also clean up a little
- Delete EIPs when we finish testing them (reduce the chance of hitting limits)
- Rejig deletion so that it works when runs fail
- Add tests for ec2_eip_info

* ec2_eip: Minor doc tweaks

* ec2_eip: Don't throw an exception when we try to disassociate an already disassociated EIP

* ec2_eip: Add missing IAM policy (manage IGWs)

* ec2_eip: (integration tests) Use the VPC as a crude lock to avoid running parallel tests

We test that untagged EIPs come and go as we expect, if multiple tests are
running in parallel this confuses things

* Fix ec2_eip association
2019-11-13 13:27:35 -07:00
f8f7662850 Add the ability to ignore files and collection build (#64688) 2019-11-14 05:02:58 +10:00
bf19060683 ipaddr: add an option to return peer of a point-to-point link (#59144)
* ipaddr: add an option to return peer of a point-to-point link

Signed-off-by: Vincent Bernat <vincent@bernat.ch>

* ipaddr: extend "peer" to also work with /30
2019-11-13 13:47:05 -05:00
bb72b8f1d9 Syntax fix guide_gce.rst (#64779)
Fix syntax for create a GCP instance example playbook. Fix task indentation.
2019-11-13 11:39:20 -06:00
a2047cfa2d update documentation example (#64786)
missing k in workflow in an example for the tower_workflow_template module
2019-11-13 11:29:46 -06:00
844b5d4673 docs: fix gcs example to work with ansible 2+ (#64778)
switched directive sudo to become
2019-11-13 11:26:57 -06:00
a7f90df0e9 Document match/search tests (#64775)
* clarify `search` vs `match` tests

* string test docs: fix rst formatting
2019-11-13 11:14:10 -06:00
93d1a57d9a vmware_guest: fix the name of the test VMs
The test VM names must be deterministic, this way, the teardown playbook
can clean up the resources after the test execution.

See: https://docs.ansible.com/ansible/latest/dev_guide/platforms/vmware_guidelines.html#vm-names-should-be-predictable
2019-11-13 11:52:57 -05:00
d3b7828118 [FIX] graceful is not an immutable attribute (#64397) 2019-11-13 11:22:34 -05:00
143bafec9a eos_lacp_interfaces : Fix to - lacp port-priority not set when… (#64530)
* Fix bug 64453
2019-11-13 09:31:21 -05:00
83927c3437 Update openssl_certificate.py (#64772)
Changed 'generate' to 'generating'
2019-11-13 18:25:47 +05:30
743b6eb5b0 Fortinet's new module for fortios_vpn_ipsec_phase2_interface (#64767) 2019-11-13 16:27:20 +05:30
d0f8e8896f vmware_tools handle connection issues (#57661)
* Catch vmodl.fault.SystemError exception.

* Add exceptions for connection issues.

* Fix self._si not defined exception (L353), when trying to close a non existing connection.

* Fix vmware_tools connection reset

* Also catch InvalidGuestLogin exception, as it get's also thrown when trying to logging in too early on startup...
2019-11-13 18:27:15 +10:00
bd9a0b6700 Improve handling of "restarted" state for win_iis_website module (#63829)
* Improve handling of "restarted" state for win_iis_website module

* Added changelog fragment
2019-11-13 10:24:25 +10:00
95d613f3ab win_acl no longer needs SeSecurityPrivilege (#57804)
* win_acl no longer needs SeSecurityPrivilege
Set-ACL raises missing SeSecurityPrivilege error when the inheritance
from the parent directory is disabled.

* fixes test sanity

* registry rights can only be modified with Set-ACL

* add changelog
2019-11-13 09:54:57 +10:00
e77426dad3 Corrected Get-adcomputer (#63093)
* Corrected Get-adcomputer

Corrected Get-adcomputer on "Remove-ConstructedState" and "Set-ConstructedState" functions.
resolved error: Unable to contact the server. This may be because this server does not exist, it is currently down, or it does not have the Active Directory Web Services running.

* Update lib/ansible/modules/windows/win_domain_computer.ps1

Co-Authored-By: Daniel-Sanchez-Fabregas <33929811+Daniel-Sanchez-Fabregas@users.noreply.github.com>

* Update win_domain_computer.ps1

changed
"-credential $credential" to "@extra_args" (Line 115 and 150)
corrected exception message (Line 122)

* Added changelog fragment, minor code tweak
2019-11-13 09:13:44 +10:00
e74d397c01 setup.ps1 - parity with linux regarding missing local facts path (#58887)
* setup.ps1 - parity with linux regarding missing local facts path

* add warning

* Update setup.ps1-parity-with-linux-regarding-missing-local-facts-path.yml
2019-11-13 09:05:16 +10:00
d2e1aeeb67 win_domain_user: Make Identification of the user to work with more robust (#61594)
* Ensure we work on only one user.

After the initial get/create use the GUID of the found/created user to
ensure we will not start to work with  a different user. If we create a
user or modify it's attributes an he is not identified with the name
parameter afterwards this module fails in rather unpredictable ways.

This addressed #45298

* Use splatting create_args for creating user.

This prepars this for adding more optional create arguments without 
nesting of condictions.

* Set the UserPrincipalName and SamAccountName on create.

Set the UserPrincipalName and SamAccountName on the create operation if 
upn is given to ensure the User is created with a contollable 
SamAccountName.

* Rename $username to $name.

$username is missleading as its not the SamAccountName.

* Add a identity parameter to win_domain_user

This gives the user full controll over how the user is identified in the 
AD.

* Add version_added information for new parameter and fix yaml syntax.

* Added changelog fragment
2019-11-13 08:42:44 +10:00
fadf7a426f re-enable zabbix_host integration tests and add cleanup handlers 2019-11-12 09:54:51 -08:00
47bf5deb54 command, script & shell: mention 'cmd' parameter (#62778)
'cmd' parameter is supported since 2b3c5aa41e (v2.0.0-1)
2019-11-12 09:40:09 -06:00
68428efc39 Remove temp directory created by wait_for_connection (#64592)
wait_for_connection creates AnsiballZ_ping.py in temp directory,
which remains on remote machine even after playbook run.

Fixes: #62407

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-11-12 10:07:33 -05:00
fed0496005 Fix eos_facts over local eapi (#64570)
* Fix eos_facts over local eapi

* Much better feedback when querying resources over local

* No need for that anymore

* Update comment

* Mkae sure facts are tested on local

resource modules might break this otherwise

* This test was not checking anything

* Pass over nxos_facts as well
2019-11-12 09:29:44 -05:00
9dc94b32d2 added missing atexit logout for zabbix_host module (#63785) 2019-11-12 08:28:08 -05:00
94e98d5369 remove toshio as release manager (boohoo) (#64685) 2019-11-12 13:14:09 +00:00
47f9873eab VMware: Handle slash in network name in vmware_guest module (#64494)
Encode slash in network name to work with vSphere API.

Fixes: #64399

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-11-12 17:13:57 +05:30
575116a584 doc: Handle exception in parsing parameter description (#60933)
Fixes: #60587

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-11-12 16:48:46 +05:30
4bf79de8a6 Add output options for win_pester (#63583)
* add output options for win_pester

* fix typo

* correct variable name
2019-11-12 16:13:52 +10:00
c0331053db Add encoding and codepage params to win_command/win_shell (#54896) (#54966)
* Add output_encoding_override params to win_command/win_shell (#54896)

This enhancement enables Ansible to parse the output of
localized commands that ignore the prompt code page.

* Added changelog and minor nits
2019-11-12 15:58:57 +10:00
c11d73575b Fixes azure_rm_snapshot (#64542) (#64547)
* feature enhancement: make a snapshot from an existing managed disk.

* remove default creation option in argu_spec of azure_rm_snapshot

* fix pep8 related issue

* fixing broken integration test
2019-11-12 13:05:15 +08:00
ca42cb2868 Make the DNS service optional when installing Active Directory (#63440)
* Added install_dns option to the win_domain module.

* Added install_dns option to the win_domain_controller module.

* Updated version_added to devel branch version 2.10.

* Updates for ansible-test errors.

* Minor nits to docs
2019-11-12 14:53:51 +10:00
8b13836b1f change $partition variable name to $ansible_partition (#63968)
* change $partition variable name to $ansbile_partition

* Added changelog fragment
2019-11-12 14:44:18 +10:00
8c4f59ebd9 win_package - Set raw for argument type (#64690) 2019-11-12 14:39:48 +10:00
9c5a1ebba5 Add Local Security Policy update example (#60897)
* Add Local Security Policy update example

##### SUMMARY
This real world example will be useful, but perhaps there is a better section?


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr

* Move new example and add not to username
2019-11-12 14:33:56 +10:00
b93d92ef9a Set alter_sys=True instead of False to address backwards incompat (#64670)
* Set alter_sys=True instead of False to address backwards incompat

* ci_complete

* Add integration test

* ci_complete

* sanity

* ci_complete

* Changelog fragment

* Update import test and validate-modules to match
2019-11-11 16:47:35 -06:00
c1493e5267 really clarify environment (#62531)
Co-Authored-By: John R Barker <john@johnrbarker.com>
2019-11-11 16:04:31 -05:00
8b83f9c14e archive module documentation is misleading (#62755) 2019-11-11 15:46:03 -05:00
a5dc11cdd1 Changed with_items -> loop (#62995) 2019-11-11 15:09:52 -05:00
4083d02989 Buypass now has a ACME v2 production endpoint. (#64649) 2019-11-11 14:48:48 -05:00
ee50c3b3cf Bug fixes for GCP modules (#64587) 2019-11-11 14:08:19 -05:00
b1849d1a3e New Module: gcp_serviceusage_service (#64588) 2019-11-11 14:08:09 -05:00
79e2273f96 New Module: gcp_serviceusage_service_info (#64589) 2019-11-11 14:08:00 -05:00
f145057c5c - add nextToken support (#64598)
* - add nextToken support

* - add changelog fragment

* - use boto3 paginator for describe_log_groups
2019-11-11 13:27:09 -05:00
0f491c0289 Replace TestCase.assertEquals with TestCase.assertEqual. 2019-11-11 10:24:21 -08:00
a7ae0da6a4 Sort test/sanity/ignore.txt (#64672) 2019-11-11 11:02:49 -06:00
abf3319666 Refine default 401 handling (#64619) 2019-11-11 08:09:01 -05:00
0d851dda59 VMware: add new module vmware_guest_tools_info (#62860) 2019-11-11 12:39:25 +05:30
8c1a42ef0a Remove kustodian from postgres and opennebula (#64647)
I currently don't have time to follow the changes in Postgresql and OpenNebula modules.
2019-11-11 11:00:49 +05:30
00193f27eb nxos_lacp: updated tests to handle platforms not supporting lacp system mac command (#64074)
* Updated nxos_lacp tests to handle platforms not supporting lacp system mac command

* nxos_lacp: addressing comments

* nxos_lacp: Updating image tag search to include more tags
2019-11-10 10:32:07 +05:30
964da2f442 nxos_lacp_interfaces: Updating the tests to handle platforms that don't support - lacp mode delay (#64123)
* nxos_lacp_interfaces: Updating the tests to handle platforms that dont support - lacp mode delay

* nxos_lacp_interfaces: Updating search string to include all 9500 series switches

* nxos_lacp_interfaces: Adding a comment about chassis_type
2019-11-10 10:00:13 +05:30
d5e30be686 nxos_igmp_interface: fix regression test failure (#64286) 2019-11-10 09:56:10 +05:30
2be04e2bd6 nxos_overlay_global: Removing provider and correcting relative references (#64454) 2019-11-10 09:47:34 +05:30
574bd32db2 docker_swarm_service: Allow source to be omitted for tmpfs mounts (#64637)
* Allow source to be omitted for tmpfs mounts.

* Add changelog.
2019-11-09 21:01:56 +01:00
dd5415017e docker_login: allow to function with credential helpers (#63158)
* Allow docker_login to function with credential helpers.

* Improve various details and update docs.
2019-11-09 11:25:53 +01:00
4a995f26a3 Update aruba modules to handle prompt and syntax changes (#54261)
* Update prompt matching to handle changes introduced in arubaos 8.x

* Update aruba modules to support command changes on arubaos 8.x
2019-11-09 15:03:01 +05:30
5d30180f6b VMware: Implement updates for dvPG in vmware_dvs_portgroup (#62537)
* VMware: Implement updates / changes for dvPG in vmware_dvs_portgroup
* Remove unnecessary else
* Add more integration tests
* Improve create_vlan_list() helper function
2019-11-09 09:35:01 +05:30
6e19e341b0 one_vm: Fix creating VM also for template_id=0 (#63579) 2019-11-08 17:59:33 -05:00
7ea1db89d3 Documents storage of task files (#62345) 2019-11-08 16:23:33 -05:00
7a26aff357 Fix cache example (#64600) 2019-11-08 16:16:45 -05:00
d9db2c3354 minor typos and style changes (#64386) 2019-11-08 16:13:13 -05:00
901eaf2ecc Add warning about winrm on MacoS (#64472) 2019-11-08 16:12:26 -05:00
74b0760cb4 Add note about kerberos dependency versions (#64478) 2019-11-08 16:11:18 -05:00
6f197880ce Update azure_rm_azurefirewall relate document (#64488) 2019-11-08 16:10:06 -05:00
beaf9c25d8 Update azure_rm_batchaccount's document (#64490) 2019-11-08 16:09:08 -05:00
1e4230c0e7 Format azure_rm_gallery* relate document (#64541) 2019-11-08 16:08:10 -05:00
0573e51482 Remove deprecated kubernetes and oc module "indirection" in v2.9 changelog doc (#64572)
+label: docsite_pr
2019-11-08 16:07:42 -05:00
cc2e48a40e Format azure_rm_snapshot document (#64579) 2019-11-08 16:05:25 -05:00
0b8b84c16f Format azure_rm_keyvault_key_info module's document (#64580) 2019-11-08 16:04:06 -05:00
6a662b0ed0 clarify acceptable file types in collection docs (#64618)
* clarify acceptable file times in collection docs

* implement feedback
2019-11-08 14:31:14 -06:00
4e7779030d route53_info max_items and next_marker should be a str (#64617)
* route53_info  max_items and next_marker should be a str

Type was changed in #64358, however boto3 takes a str for this option
Add some basic tests for route53_info.
Fixes: #64534
2019-11-08 13:06:30 -07:00
84bffff96a Fixed tiny typo in interpreter_discovery.rst (#64608)
Added missing '/'
2019-11-08 22:47:16 +05:30
4f7f57e655 PR raised to add the feature of adding/removing IP from a Host record (#50975)
* 50238 fix
2019-11-08 19:30:38 +05:30
0cb19e655c zabbix_action shouldn't require args other than name when state=absent 2019-11-08 16:45:13 +05:30
21c8dae83b Correct usage of API call in aws_config_aggregator (#64581)
update_resource and delete_resource takes and requires four argument.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-11-08 05:24:07 -05:00
5e3fda5582 postgresql_subscription: fix typo in module.warn method name (#64583)
* postgresql_subscription: fix typo in module.warn method name

* postgresql_subscription: fix typo in module.warn method name, add changelog
2019-11-08 08:54:16 +01:00
2039bf45fe postgresql_publication: fix typo in module.warn (#64582)
* postgresql_publication: fix typo in module.warn

* postgresql_publication: fix typo in module.warn, add changelog
2019-11-08 08:53:48 +01:00
Ali
26acb0703d Added support for pagination to the github_deploy_key module(#36876)
- Fixes #36745 
- removed json import
- removed requirements from documentation
- refactored the module
- added changelog fragment
2019-11-08 09:09:23 +05:30
bbf376682f Disable failing aws_acm integration test. 2019-11-07 14:34:14 -08:00
27d3dd58a4 Replace clear() method for backward compatibility. (#64504) 2019-11-07 16:30:03 -05:00
75646037dc Switch from RHEL 8.0 & 8.1b to 8.1 in CI. 2019-11-07 13:17:49 -08:00
7348185948 Bug fixes for GCP modules (#64484) 2019-11-07 14:35:49 -05:00
f80653fcff Bug fixes for GCP modules (#64485) 2019-11-07 14:35:41 -05:00
45a5067c98 Bug fixes for GCP modules (#64486) 2019-11-07 14:35:33 -05:00
c4b83619a6 botmeta sanity: check migrated_to on non-existing file (#64551) 2019-11-07 14:12:10 -05:00
e5c1de29a8 postgresql_subscription: improve logic (#64561) 2019-11-07 09:24:57 -05:00
4078dcbb77 Zabbix: zabbix_template: fix https://github.com/ansible/ansible/issues/64030 (#64032)
add zabbix_template changelog
2019-11-07 08:21:14 -05:00
98b6b98287 Fixed few typo's: "Mutiple" to "Multiple" (#64543)
Signed-off-by: Satyajit Bulage <sbulage@redhat.com>
2019-11-07 14:03:28 +05:30
023a9b3166 VMware: vmware_export_ovf module fix Python3 compatibility issue (#60265) 2019-11-07 13:20:14 +05:30
9a54070fa2 VMware: Added check for temp_version type in vmware_guest(#64376)
Fixes: #64374

* Adding tests for create VM with interger version and latest version
2019-11-07 12:43:30 +05:30
b475e0408c eos_lacp: Add unit testcases to eos_lacp (#64417)
* Added unit testcases eos_lacp

* Added unit testcases eos_lacp
2019-11-06 19:02:12 -05:00
257736e828 Update the number of contributors in README: 4700+ 2019-11-06 23:17:06 +01:00
35a8922988 prepare_vmware_tests: datastore host is datastore.test
Use an alias to access the datastore host. This way, it's easier
to use an existing NFS server.
We can also disable the `write` access on the iso datastore.
2019-11-06 17:08:07 -05:00
ac9c75d467 updates RHEL packages to 2.9 (#64532) 2019-11-06 14:33:17 -05:00
26e0e4be01 ACI/MSO: Use get() dict lookups (#63074)
This improves the reliability of the modules somewhat.
2019-11-06 18:24:11 +01:00
1f5d2f9159 Enable aws_acm tests, AWS reports our account quota should be fixed (#64470) 2019-11-06 11:35:26 -05:00
254788bc22 unsafe wrapping should only happen for with_ loops (#64401)
* unsafe wrapping should only happen for with_ lookups. Fixes #64379. Addresses #64169

* edit porting guide entry

* typo in changelog fragment

* typo

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

* punctuation

Co-Authored-By: Sandra McCann <samccann@redhat.com>
2019-11-06 10:31:55 -06:00
c5d61953b1 Remove empty setUp/tearDown/tearDownClass methods in test classes. 2019-11-06 08:14:29 -08:00
14f68e31ab Move consul modules to own subdir (#64508) 2019-11-06 15:48:35 +00:00
eb58f437fb postgresql_query: add note to the documentation (#64432) 2019-11-06 08:28:16 -06:00
cd8ce16d48 template lookup: fix regression when templating hostvars (#64070)
This fixes a regression that was caused by switching from copy() to
deepcopy() when 'saving' variables before templating. Since HostVars
did not implement the __deepcopy__() method, deepcopy returned incorrect
results when host vars were present in the variables.

Fixes #63940
2019-11-06 15:25:43 +01:00
22fe622589 postgresql_subscription: new module (#63661)
* postgresql_subscription: setup master-standby cluster into one container

* postgresql_subscription: setup master-standby cluster into one container, fix

* postgresql_subscription: setup master-standby cluster into one container, set up publication

* postgresql_subscription: setup master-standby cluster into one container, add module template

* postgresql_subscription: setup master-standby cluster into one container, fix tests

* postgresql_subscription: setup master-standby cluster into one container, create subscr via shell

* postgresql_subscription: setup replication, state stat

* postgresql_subscription: add basic present mode

* postgresql_subscription: add assertions

* postgresql_subscription: add samples

* postgresql_subscription: state absent, cascade

* postgresql_subscription: add owner param

* postgresql_subscription: update

* postgresql_subscription: refresh

* postgresql_subscription: doc, warns

* postgresql_subscription: relinfo

* postgresql_subscription: fixes

* postgresql_subscription: fix CI tests
2019-11-06 14:19:30 +00:00
da25c2b07b Move datadog modules to own subdir (#64502)
* Move datadog modules to own subdir

* datadog ignore.txt
2019-11-06 13:01:27 +00:00
f34d59dbef Move gitlab modules to own subdir (#64497)
* Move gitlab modules to own subdir

* Correct module_utils
2019-11-06 12:35:12 +00:00
f21f3219b2 [Fix] Typo in playbooks_environment.rst (#64496)
Change from `varaible` to `variable`
2019-11-06 17:31:16 +05:30
16c17765a6 Move sensu modules to own subdir (#64498) 2019-11-06 12:00:41 +00:00
498edda603 Move github modules to own subdir (#64460)
* Move github modules to own subdir

* Update test/sanity/ignore.txt

Co-Authored-By: Abhijeet Kasurde <akasurde@redhat.com>
2019-11-06 11:44:26 +00:00
008a95073d nxos_lag_interfaces: fix regression tests (#64119)
This is a change to the regression tests only. These tests were failing because of leftover device settings from previous tests:

- existing `channel-group` configurations on non-test interfaces were included in the before/after counts
  - fixed by using the `nxos_lag_interfaces` module with `state: deleted` to remove `channel-group` configur
ations from all interfaces

- existing `L2` `port-channel` interfaces with the same ID as the test `channel-group` ID may prevent configuring `channel-group` on the test ethernet interface
  - fixed by removing `port-channel` interfaces with the same ID; e.g.

```
  interface port-channel98
    switchport
    switchport mode trunk

  nx-1(config-if)# interface Ethernet1/19
  nx-1(config-if)# channel-group 98
command failed: port not compatible [switching port]
```

Fixes passed on `N6K,N7K,N9K,N3K` (internal TBs: `dt-n9k5-1,n6k-77,n7k-99,n7k-j,n3k-173,evergreen-nx-1,greensboro-nx-1,hamilton-nx-1,camden-nx-1`)
2019-11-06 15:45:19 +05:30
2f34318ceb Remove timeout parameter from prepare_nxos_tests (#63963)
The error below occurs when attempting to run `ansible-playbook` with nxos regression tests.

```
fatal: [dt-n9k5-1.cisco.com]: FAILED! => {
    "changed": false,
    "invocation": {
        "module_args": {
            "commands": [
                "show interface brief | json"
            ],
            "timeout": 60
        }
    },
    "msg": "Unsupported parameters for (nxos_command) module: timeout Supported parameters include: commands, interval, match, provider, retries, wait_for"
}
```

This error appears to be a result of https://github.com/ansible/ansible/pull/62625, but that has not been verified.
2019-11-06 15:42:12 +05:30
3b6681f889 nxos_lldp_global: fix regression tests (#64161) 2019-11-06 15:41:40 +05:30
351f60b0e1 nxos_hsrp_interfaces: new module (#61498)
* nxos_hsrp_interfaces: new module

* lint 1

* lint 2

* add normalize_interfaces

* change version /2.9/2.10/

* /2.10/"2.10"/
2019-11-06 15:40:39 +05:30
52c4c1b00d docker_login: Use with statement for accessing files (#64382) (#64392)
* docker_login: Use with statement for accessing files (#64382)

* Update changelogs/fragments/64382-docker_login-fix-invalid-json.yml

Co-Authored-By: Felix Fontein <felix@fontein.de>
2019-11-06 09:40:30 +01:00
9a8d73456c mariadb_replication: fix CI tests (#64481) 2019-11-06 07:48:42 +01:00
8c0ab43f05 Use more route information to improve default_ipvX facts on BSDs (#64172)
* Use "default" route info to help pick the default address.

Before this change, the address information used for the "default_ipv4"
and "default_ipv6" information is whatever is first on the interface
identified by the looking up the "default" route. On OpenBSD at
least, the first IPv6 address tends to be a link-local address,
which is not useful if you want to try and put a globally routable
v6 address in a template somewhere.

OpenBSD and NetBSD list the local address used for the default
route, so we can then use that to filter the addresses on the
interface and use the right one when it is available. This should
also help in situations where the interface has a lot of aliases,
or if you're doing IP multipath.

Thanks to John-Mark Gurney and Jared McNeill for providing me output
from the route command on FreeBSD and NetBSD respectively.

* Use "route get default" to get default route information.

Using some other arbitrary address makes these facts produce
unexpected results in some situations.
2019-11-05 19:36:04 -05:00
adcf9458f1 Fix ansible-test collections sanity import test. (#64467)
* Fix ansible-test collections sanity import test.

Resolves https://github.com/ansible/ansible/issues/64466

* Fix get_source implementation also.

* Fix is_package function.
2019-11-05 16:06:57 -08:00
78be0dcbc8 Update faq.rst (#63026) 2019-11-05 16:55:01 -05:00
70d2750e0a Improve formatting of include_vars doc page (#63482) 2019-11-05 16:48:55 -05:00
b2939c71b7 Fix modules code quote documentations (#63594) 2019-11-05 16:44:21 -05:00
f178c49c02 Add warning about skipped vars (#63599) 2019-11-05 16:25:15 -05:00
0e4716d326 Clarify Python 2.x support in python_3_support.rst (#64077)
+label: docsite_pr
2019-11-05 16:08:07 -05:00
fbbf21f771 Add note about spot instances for ec2_instance (#64069)
Signed-off-by: Major Hayden <major@redhat.com>
2019-11-05 16:06:27 -05:00
e704406564 Update firewalld.py (#64153)
+label: docsite_pr
2019-11-05 15:43:23 -05:00
2d92ad5736 Admin rights are required (documentation) (#64260) 2019-11-05 15:30:51 -05:00
798d622a08 ec2_* Sanity corrections (#64409)
* ec2_* Sanity corrections

Cleanup some typos that were missed in #64230

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

Co-Authored-By: Felix Fontein <felix@fontein.de>
2019-11-05 20:58:11 +01:00
8e4ac212c8 Improve control node concept explanation (#64356)
Signed-off-by: 林博仁(Buo-ren, Lin) <Buo.Ren.Lin@gmail.com>

+label: docsite_pr
2019-11-05 14:57:16 -05:00
de2b29a60f Unlimited CPU credits apply to any T instance (#64372)
+label: docsite_pr
2019-11-05 14:55:05 -05:00
4ee9f40e62 Add aws_acm module (#60552)
* convert aws_acm_facts to AnsibleAWSModule

* factor aws_acm_facts into module_utils

* add more filtering options for aws_acm_info

* add aws_acm module and tests

* uncomment aws_acm test

* fix linting for aws_acm

* fix __future__ linting for aws_acm

* fix linting for aws_acm

* fix linting for aws_acm

* fix linting for aws_acm

* fix linting for aws_acm

* fix aws_acm_info arg type

* remove test for old module name aws_acm_facts

* simplify AWS ACM client creation

* fix indent typo in aws_acm test

* catch BotoCoreError in aws_acm

* fix indent typo in aws_acm test

* tighten AWS ACM test policy resource

* move aws acm int test to venv

* remove errant file

* fix AWS ACM int test perms

* undo copyright addition to wrong file

* fix invalid log message in aws_acm

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

* rephrase aws_acm_info doc from facts to information

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

* rename aws_facts var to aws_info

* remove case insensitivity for aws_acm pem compare

* add no_log for aws_acm credential setting

* add per-test prefix to aws_acm test resource names

* make aws_acm use crypto module_util

* clarify copyright for aws_acm

* make aws_acm int test clearer

* add explicit crypto dependency to aws_acm

* change requests for aws_acm pr

* fix wrong copyright owner aws_acm test

* fix wrong copyright owner aws_acm test

* rewrite aws_acm cert chain compare with regex, no dependency

* fix linting for aws_acm unit test

* fix linting for aws_acm unit test

* fix linting and duplicate ignore

* fix failed cert chain split in aws_acm, add more tests

* remove errant file

* more linting fixes for aws_acm

* fix sanity ignore

* rewrite cert compare in aws_acm to use base64 decode

* improve regex for pem cert chain split in aws_acm

* undo changes to crypto module util for aws_acm

* increment ansible version for new aws_acm module

* convert aws_acm return(x) to return x

* increment version added for aws_acm_info new features

* fix linting

* fix bugs with AWS ACM

* fix bad rebase

* disable AWS ACM integration test, due to AWS account limit issue

* remove aws acm integration test from shippable group
2019-11-05 11:57:08 -07:00
ecc8e51044 Remove empty overridden unittest.setUp and unittest.tearDown methods. 2019-11-05 09:12:11 -08:00
377c763334 Removing jmighion as maintainer of aruba and aireos modules. (#61469) 2019-11-05 11:20:03 -05:00
f4ff45dcd4 ansible-test: bumping ACME test container version (#64424)
* Bumping ACME test container version.

* Add changelog.
2019-11-05 10:51:22 -05:00
37c7f2414a Adding team_aruba as maintainer for aruba modules (#64423) 2019-11-05 10:50:27 -05:00
519e4f4223 debian: install lib in dist-packages (#64412)
On Ubuntu Precise and Trusty, the build was failing because the Ansible
libs were installed in /usr/lib/python2.7/site-packages.

According to the Debian Policy (2.5), they should actually be install in
/usr/lib/python2.7/dist-packages This is also CDBS default behaviour since
0.4.131.

See: https://www.debian.org/doc/packaging-manuals/python-policy/ch-python.html

Closes: #64160
2019-11-05 10:45:05 -05:00
7acae62fa8 Fix up role version pagination for Galaxy install (#64373)
* Fix up role version pagination for Galaxy install

* Fix sanity issue
2019-11-05 10:34:50 -05:00
Med
a1ab093ddb synchronize - remove unused block (#64344) 2019-11-05 10:34:18 -05:00
d9f5be8d0d Ovirt host network dict correct (#64437)
* ovirt_host_network: correct comparing of two dicts

* update mode_number for 4th option
2019-11-05 08:22:17 -05:00
484943cbd1 Add unit testcases to eos_vlans (#63404)
* Added unit testcases to eos_vlans

* Corrected lint errors

* Corrected lint errors

* Corrected lint errors

* Addressed review comments and changed the testcase after bug fix

* Corrected lint errors

* removed the unwanted comments
2019-11-05 07:55:05 -05:00
4c8d0b1b8d eos_l2interfaces: Add unit testcases to eos_l2interfaces (#64127)
* Add unit testcases to eos_l2interfaces

* Fixed lint errors

* Corrected lint errors
2019-11-05 07:51:13 -05:00
143b5a3674 Added Unit tests to eos_logging (#63248)
* Added Unit tests to eos_logging

* Added Unit testcases for eos_logging

* Added Unit testcases for eos_logging

* Added Unit testcases for eos_logging

* Add UT

* Corrected lint errors

* Corrected lint errors

* Addressed review comments

* Corrected lint errors
2019-11-05 07:50:00 -05:00
3a0c6454a9 Enable logging to any domain in the check point machine (#63976)
* enable using any domain in the check point machine

* Update checkpoint.py

* trying to checge `test_chrckpoint` according to `test_ftd` in order to pass the tests

* Update test_checkpoint.py
2019-11-05 17:44:34 +05:30
48e132b9c3 Add GetHealthReport commands (#57494)
* add GetHealthReport commands

* add NetworkInterfaces and SimpleStorage

* convert report uri property keys from plural to singular

* one more plural to sungular uri conversion

* change module name to redfish_info in EXAMPLES docstring
2019-11-05 11:46:58 +00:00
8f853fef11 Added module for attaching volumes in the Packet host (#27843)
* Added module for attaching volumes in the Packet host

* Fix __future__ import sanity

* removed changed from RETURN doc

* Fix sanity tests, add check mode & few other minor changes
2019-11-05 11:36:59 +00:00
edf776189d Added module for handling volumes in the Packet Host (#27842)
* Added module for handling volumes in the Packet Host

* fixed CI bot issues

* Fix sanity tests, add check mode & few other minor changes
2019-11-05 11:36:23 +00:00
a3772e1ac3 New module: Add module for Packet API IP address assignment (cloud/packet/packet_ip_address) (#23133)
* Added module for IP address assignment in the Packet Host

* fixed CI bot issues

* rework of IP address handling to subnets

* fix pep8 in modules/cloud/packet/packet_ip_subnet

* Fix verison added

* Fix sanity tests, rebase, refactor & other improvements
2019-11-05 11:35:25 +00:00
04c999f0f8 postgresql_idx: add stat mode support (#64138)
* postgresql_idx: add stat mode support

* postgresql_idx: add stat mode support, add changelog

* postgresql_idx: add stat mode support, fix CI
2019-11-05 10:26:51 +00:00
e7cd5af1a6 Update intro_inventory.rst (#64345)
##### SUMMARY
A minor typo in `user_guide/intro_inventory.rst` is fixed.
Changed from "know" to "known"
2019-11-05 12:42:28 +05:30
9b0d487ce1 Add module_defaults group for ovirt (#64377)
* Add module_defaults group for ovirt

* Update docs to list ovirt module_defaults group
2019-11-05 12:30:41 +05:30
53f07bc283 intro_patterns.rst: fix typo (#64422)
Changed "your" to "you" in intro_patterns.rst
2019-11-05 11:56:41 +05:30
b1f02be9eb clarify vault warning and fix typo (#64419) 2019-11-04 17:47:03 -06:00
797397558e Add note about large tarball sizes for collections (#64411)
* add note on collection tarball size
2019-11-04 14:26:59 -06:00
0bf9146b29 Document 'elements' for module option and return value documentation. (#64075) 2019-11-04 15:21:07 -05:00
0515633189 Bug fixes for GCP modules (#64083) 2019-11-04 14:52:57 -05:00
def62163c2 New Module: gcp_compute_reservation_info (#64134) 2019-11-04 14:52:36 -05:00
1a726d436e New Module: gcp_compute_target_instance (#64135) 2019-11-04 14:52:28 -05:00
14cf1c1197 New Module: gcp_logging_metric (#64339) 2019-11-04 14:51:52 -05:00
9517d4c755 New Module: gcp_logging_metric_info (#64340) 2019-11-04 14:51:44 -05:00
4569949bcd Bug fixes for GCP modules (#64407) 2019-11-04 14:50:42 -05:00
819ba2259d Sanity test fixups for AWS ec2 modules (#64230)
* ec2_ boilerplate

* Deprecate unused options.

* ec2_vol: Perform explicit type checking on volume_size and iops when parsing the args

Boto would through a type exception if the string couldn't be converted to an int.

* ec2_lc_find: remove duplicate definition of region

It's defined in ec2_argument_spec and ec2 doc fragment

* ec2_lc_info: Move responsibility for type checking/conversion of sort_start and sort_end into arg parser

* General sanity test related doc fixups

* Remove EC2 related sanity/ignore.txt entries

* Add changelog fragment
2019-11-04 18:39:31 +00:00
8528fbc790 Amazon related Sanity test fixups (remaining batch 2) (#64358)
* Remove sanity/ignore.txt entries

* replace use of "_" as a variable name

* Cleanup boilerplate

* Remove default values from mandatory parameters

* Sanity test documentation updates

* Remove unused imports from iam_role
2019-11-04 16:56:14 +00:00
9686808326 restore TOC links to old porting guides (#64395)
* restore TOC links to old porting guides

* remove stray orphans
2019-11-04 10:55:31 -06:00
c1f1b2029c Support vars plugins in collections (#61078)
* Move var plugins handling to a separate file

* Allow var plugins to require whitelisting

* Add global configuration ('demand', 'start') for users to control when they execute

* Add 'stage' configuration ('all', 'task', 'inventory') for users to control on a per-plugin basis when they execute

* Update ansible-inventory and InventoryManager to the global and stage configuration

* Update host_group_vars to use stage configuration and whitelisting

* Add documentation for using new options and to the developer's guide

* Add integration tests to exercise whitelisting and the new configuration options, using vars plugins in collections, and maintain backward compatibility

* Changelog

Co-Authored-By: Brian Coca <brian.coca+git@gmail.com>
Co-Authored-By: Sandra McCann <samccann@redhat.com>
2019-11-04 11:41:14 -05:00
39bf09517a wait_for - remove an obsolete fallback for Python 2.6 (#63988) 2019-11-04 11:39:19 -05:00
8c8077b5be Amazon related Sanity test fixups (remaining batch 1) (#64368)
* Remove Sanity test ignore.txt entries

* Fixup boilerplate

* Remove use of blacklisted _ variable name

* cloudformation: Add an explicit removal version for template_format

This option's been ignored since ansible 2.3

* General docs cleanup to clear sanity errors

* elasticache_parameter_group: Add list of choices

- matches documented choices
- other values wouldn't have worked

* data_pipeline: Deprecate 'version' - always ignored

* Add deprecation documentation
2019-11-04 15:13:27 +00:00
3126c38f8a Replace import of pycompat24.literal_eval with ast.literal_eval. (#64088) 2019-11-04 09:55:08 -05:00
c67c23234a clean_facts - use correct variable when evaluating the string (#64284)
A regexp object has no .startswith() method, which caused an unnecessary
try/except block to be added to handle this.
2019-11-04 09:44:10 -05:00
816e194e37 ovirt_vm: update cpu_threads docs (#64380) 2019-11-04 07:19:07 -05:00
9e3b1f3b32 Doc notes 2 (#64347)
* addd

* all  update

* add/fix notes about modules work with connection

* duplication of key "notes"

* Update ce_evpn_bgp_rr.py

* Update ce_evpn_bgp.py
2019-11-03 21:56:57 -05:00
1d40d429a0 Doc notes 5 (#64350)
* addd

* all  update

* add/update notes.

* add/updates notes.
2019-11-03 21:46:18 -05:00
25e03b1e75 Doc notes 6 (#64351)
* addd

* all  update

* update/add notes.
2019-11-03 21:46:07 -05:00
ad0769c095 Doc notes 3 (#64348)
* addd

* all  update

* update/add notes.
2019-11-03 21:35:12 -05:00
703f7a149a Doc notes 4 (#64349)
* addd

* all  update

* add/update notes.
2019-11-03 21:35:03 -05:00
705c014ec3 Doc notes 1 (#64346)
* addd

* all  update

* add notes to set modules works with C(connection)
2019-11-03 21:25:24 -05:00
c27e47327f Refactor CLI prompt mode check for network plugins (#63945)
* Refactor CLI prompt mode check for network plugins

*  Move the CLI prompt mode check logic from action plugin
   to the controller side with the cliconf plugins.

*  This refactor also allows the network modules
   to initialise the persistent connection with remote device
   only when it is required.

* Fix review comments
2019-11-03 04:10:30 +05:30
73526b9d65 mysql_variables: add mode parameter (#63547)
* mysql_variables: add mode parameter

* mysql_variables: add mode parameter, add changelog fragment

* mysql_variables: add mode parameter, fix

* mysql_variables: add mode parameter, fix

* mysql_variables: add mode parameter, fix

* mysql_variables: add mode parameter, fix sanity

* mysql_variables: add mode parameter, remove warns

* mysql_variables: add mode parameter, refactoring

* mysql_variables: add mode parameter, fix logic
2019-11-02 10:16:28 +01:00
42b290b781 cloud/openstack: fix os_server_action errors when wait is False (#64330)
Using os_server_action to perform start, stop and pause actions on a
server in OpenStack results in an error when 'wait' is False.

The command is successfully sent to OpenStack, however Ansible fails the
task:

  fatal: [127.0.0.1]: FAILED! => {
    "changed": false,
    "msg": "New-style module did not handle its own exit"
  }

This patch ensures that those actions always exit, whether running with
'wait' set to True or False.

As we are not waiting to confirm the result, this assumes that the
actions were successful.

Fixes #62958

Signed-off-by: Chris Smart <chris.smart@humanservices.gov.au>
2019-11-02 04:42:34 -04:00
78e476eb20 Increase unit test timeout in CI. 2019-11-01 17:16:07 -07:00
135c853588 reduce docs/docsite/README to essential info (#64287) 2019-11-01 15:35:40 -05:00
bbbaf0dfe7 VMware Inventory Enhancements (#63938)
* Fixes #63937

* Add the environment variables VMWARE_HOST, VMWARE_USER, and VMWARE_VALIDATE_CERTS for consistency

* Follow the general pattern for config file naming requirements and update the documentation
2019-11-01 16:16:56 -04:00
6e07d4c1d9 add general facts-to-info paragraph (#64293) 2019-11-01 16:09:03 -04:00
371d7aae31 Use templating in HostVarsVars __repr__ (#64282)
* Fix HostVarsVars templating

* Add some tests for HostVars and HostVarsVars templating

* changelog
2019-11-01 15:51:34 -04:00
5dff5603af New Module: gcp_compute_reservation (#64133) 2019-11-01 13:46:42 -04:00
6e63210620 New Module: gcp_compute_target_instance_info (#64136) 2019-11-01 13:46:34 -04:00
d865b7da71 Bug fixes for GCP modules (#64193) 2019-11-01 13:46:13 -04:00
2444fae208 Add a named parameter to the filter to_uuid (#64057)
Let the caller choose a namespace for `to_uuid` and document the
behaviour of both the default case, and the new explicit case.

This PR does not change the existing behaviour of the `to_uuid` UUIDv5
filter.
2019-11-01 13:11:34 -04:00
7b7f15cb3a Fix ec2_instance module where if placement_group and tenancy are (#63340)
both set in params, the placement_group setting is ignored.
2019-11-01 10:10:07 -07:00
d2562cde1c Temporarily increase CI timeout. 2019-11-01 10:10:02 -07:00
87de146038 Exclude the ansible-test script from the main rpm package (#64277)
We want the script to live in the ansible-test rpm subpackage alongside
of its libraries

Fixes #64275
2019-11-01 12:14:36 -04:00
c76e074e4c Callback: removing args from task_fields from Sumologic and Splunk plugin(#63527)
CVE-2019-14864 Ansible: Splunk and Sumologic callback plugins leak sensitive data in logs

Fixes #63522

Signed-off-by: Patrick O’Brien <patrick.obrien@thetradedesk.com>
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-11-01 19:51:11 +05:30
56d5fd34e3 [Docs-Release-2.9] clean up porting guide links and network text (#64124)
* clean up porting guide links and network text
* fix shippable error
2019-11-01 08:56:41 -05:00
60276d3d8d Fix network plugin config option load from collection (#64046)
* Fix network plugin config option load from collection

Fixes #63975

* Update the complete sub-plugin name within network
  connection plugins to handle sub-plugin in collection
  scenario.

* Fix review comments
2019-11-01 11:25:28 +05:30
3f808d9ed6 [Doc-Release-2.9] update release and maintenance page for 2.9 (#64166)
* update release and maintenance page for 2.9
* only 2.4 and earlier used the old changelog system
2019-10-31 20:20:34 -05:00
f264e9cfca update backport instructions to use stable-2.9 (#64168) 2019-10-31 19:49:17 -05:00
4d087ba6bd reorder porting guides (#64122) 2019-10-31 19:48:05 -05:00
0812516208 [Doc-Release-2.9] Add Roadmap 2.10 (#64162)
* add 2.10 roadmap shell and remove very old roadmaps
2019-10-31 19:46:33 -05:00
c63ef6d911 update too old version to 2.4 (#64167) 2019-10-31 19:44:53 -05:00
409545825f docs: update to latest 3 versions (#64109) 2019-10-31 19:32:05 -05:00
4349ab5777 Add option to specify ID of System/Manager/Chassis to modify (#62921)
* add option to specify ID of System/Manager/Chassis to modify

* added version to deprecate() call

* fix merge TODOs to use new self.systems_uri variable
2019-10-31 22:09:48 +00:00
c3838b5d73 Replaces deprecated usage of functions in ansible.module_utils.basic (#63990) 2019-10-31 16:22:44 -04:00
1ad3879430 Add podman_volume_info module (#63380)
Add module podman_volume_info that collects data about podman
volumes on the host. Acts as docker_volume_info module.

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2019-10-31 16:17:33 -04:00
d5fbe6573b paramiko_ssh - Improve authentication error message (#64157)
The error is not always an invalid username/password. It could be a connection timeout or refusal.
2019-10-31 15:39:53 -04:00
35c415de98 get_url integration test: Fix missing conditional (#64100) 2019-10-31 15:17:38 -04:00
090dca7569 Note for virtual environment users (#64040) 2019-10-31 11:47:09 -04:00
63ce7d57b1 Remove extra dot at the end of the sentence (#64149)
Dot is already set in display.deprecated.
2019-10-31 11:07:23 -04:00
b4cd9086dc allow setting multiple BIOS attributes at a time (#62764)
* allow setting multiple BIOS attributes at a time

* fix documentation string errors
2019-10-31 14:47:05 +00:00
ec1c5585af nxos_vrf: N6K regression test failures (#63277)
* nxos_vrf: N6K regression test needs 'nv overlay evpn'

* Add delay for vrf creation

* Revert "Add delay for vrf creation"

This reverts commit 8afa5281ff4b3c5a1775fbd40c5acb7ab5ecdf68.

* Add vrf_error_check w/delay to module

* whitespace

* httpapi fixes

* /input/input_data/ - 'input' is a built-in

* shippable retry
2019-10-31 18:17:39 +05:30
be1bcc7450 fix bug 63761 (#63901) 2019-10-31 18:09:03 +05:30
548fa65ac6 VMware: Allow dash in Windows server dnsname (#64052)
Fixes: #62810
2019-10-31 14:02:52 +05:30
8316fa66e8 add GetManagerServices and SetManagerServices (#62815)
* add GetManagerServices in redfish_info module, and add SetManagerServices in redfish_config module

* fix incorrect-version-added, fix incorrect Comparison to None, fix continuation line under-indented for visual indent, fix line too long, fix blank line at end of file

* update parameter format to allow multi-services update and additional parameter update

* fix bad-whitespace and trailing-whitespace detected by ansible-test

* change command name from GetManagerServices/SetManagerServices to GetNetworkProtocols/SetNetworkProtocols, and update parameter name to network_protocols with dict type, and enhance set_network_protocols() to follow suggestions

* donot need to import ast any more

* fix problems caused by code merge
2019-10-31 07:57:20 +00:00
4e8bb334a9 Sanity test fixups: AWS VPC related modules (#64089)
* Add missing boilerplate

* Avoid blocklisted variable name '_'

* doc fixups

* Remove defaults for required parameters

* Remove explicit definition of 'region' from argument spec
it's automatically added by ec2_argument_spec and redefining removes the aliases

* remove sanity ignore entries for AWS VPC related modules

* Suggested Review changes
2019-10-30 14:28:14 -07:00
56db433d63 BOTMETA: Enable automerge (#64114)
We are in the process of enacting our migration strategy of content out of the Ansible repo, and auto-merge privileges being revoked at this point in time was an accidental byproduct of that migration strategy.

TL;DR I jumped the gun, sorry, Bot will catch up and merge open PRs shortly.
2019-10-30 16:37:45 -04:00
fed267df03 openssl_csr and openssl_certificate: fix support for Ed25519 and Ed448 private keys (#63984)
* Move X25519, X448, Ed25519 and Ed448 feature tests to module_utils.

* Correctly sign with Ed25519 and Ed448 keys.

* Fix public key comparison. Ed25519 and Ed448 do not have public_numbers().

* Add tests.

* Add changelog.

* Give better errors for cryptography 2.6.x and 2.7.x.

* Test for new errors.

* Forgot one.

* Used wrong private key.

* Use private key password for CA key. Add more stuff to its certificate.
2019-10-30 21:36:36 +01:00
1f2d78b356 unify mongodb installation for both xenial and bionic in integration tests 2019-10-30 13:21:37 -07:00
554285acb7 Fix image detection in os_image openstack module (#63959)
Currently first check was by checksum only, and if there are 2
images with the same checksum, but different names, this check
fails with error:
* Multiple matches found for None *

To prevent this let's add more exact check in the beginning:
1. Firstly try to find by unique ID if it's given, most safe way.
2. Try to find by combination of name and checksum, not only
checksum, it will drop duplicates with different name.
3. Try to find just by name, as most general approach.

By going from most narrow to more general checks we can drop
duplicates in more efficient manner.
2019-10-30 13:19:08 -07:00
0cd2ad5880 Try to escalate before on_open_shell to work around ios (#63571) 2019-10-30 16:10:36 -04:00
0a38460176 Fixup sanity test issues related to aws_ modules (#64064)
* Add AWS_ boilier plate

* AWS_ modules: clean up missing parameter types

* Remove documentation duplicated by ec2 document fragment

* Add missing documentation for options and sub-options

* Add missing return type documentation

* Remove AWS_ sanity-check ignores

* aws_waf_info: fixup conflicting 'defaults' information about the use of waf_regional

* Wrap URLs in U()

* Add elements entries, because felixfontein asked nicely

* Apply suggestions from code review

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

* Second round of review comments.
2019-10-30 13:08:02 -07:00
a5d69f2a26 Make docker_stack adhere to standard ansible return values (#63467)
* Make docker_stack adhere to standard return values

The names of the various fields returned from ansible modules are e.g defined here https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#msg.

Adhering to this improves usability and makes use of functionality for e.g stdout_lines etc.

* Update lib/ansible/modules/cloud/docker/docker_stack.py

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

* Fix under-indentation of continuation line (pep8)

Issue exposed in test here https://app.shippable.com/github/ansible/ansible/runs/146667/1/console

* Don't break old playbooks/roles

Made sure the changes are only adding new variables, not removing anything existing yet.

* Added comment

* Minor fixes

* Update lib/ansible/modules/cloud/docker/docker_stack.py

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

* Update lib/ansible/modules/cloud/docker/docker_stack.py

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

* minor change to docker_stack.py

* Add changelog fragment for PR 63467

* Format changelog fragment

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

* Add fragment about docker_stack return val depr

* Add docker_stack doc note about deprecated vals

* Remove whitespace in empty line

* Add docker_stack depr notice to porting guide

* Update changelogs/fragments/63467-docker-stack-return-fix.yml

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

* Update docs/docsite/rst/porting_guides/porting_guide_2.10.rst

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

* Update lib/ansible/modules/cloud/docker/docker_stack.py

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

* Added back a missing new line
2019-10-30 19:42:19 +01:00
d529e37eed Update porting_guide_2.9.rst (#64082)
Porting guide should redirect `azure_rm_availabilityset_facts` to `azure_rm_availabilityset_info` on line 365, not to `azure_rm_availabilityset`
2019-10-30 12:48:57 -05:00
e6607d611a Sanity test fixups - AWS related tests (#64093)
* AWS tests Sanity Test fixups (add boilerplate)

* Remove sanity ignore.txt entries
2019-10-30 09:48:59 -07:00
e9f8a34dce Fixes for validate-modules import handling. (#63932)
* Fix validate-modules support for collections.

- Relative imports now work correctly.
- The collection loader is now used.
- Modules are invoked as `__main__`.

* Remove obsolete validate-modules code ignores.

* Handle sys.exit in validate-modules.

* Add check for AnsibleModule initialization.

* Remove `missing-module-utils-import` check.

This check does not support relative imports or collections.

Instead of trying to overhaul the test, we can rely on the `ansible-module-not-initialized` test instead.

* Fix badly named error codes with `c#` in the name.

The `#` conflicts with comments in the sanity test ignore files.

* Add changelog entries.
2019-10-30 09:48:21 -07:00
b7e38dfa52 copy - check for changes beyond first level of subdirectories (#58323)
Add integration test for copy: deep recursive with remote_src=True
2019-10-30 12:17:11 -04:00
26236f474b fix spelling issues (#64103) 2019-10-30 09:26:36 -05:00
e82d407fa8 Add filter option to netconf_config module (#63593)
* Add filter option for netconf_config module

* Address review comments and add tests

* Refactor integration tests

* Address review comments

* Review comments

* Fix nxos_netconf include check
2019-10-30 19:09:13 +05:30
003c26de04 iam_user Additional integration tests (#63768)
* Add tests that were originally part of pr59079 before being lost in a rebase

* missed a needed check_mode: yes and a test with a wrong group

* Clarify test name, fix resource, add user delete test

* Use AWSDenyAll for benign policy, chech policy with non-full ARN path works, fix wrong module copy-pasta
2019-10-30 09:37:33 -04:00
df6b7bf77f Fix grafana_datasource fails when name with spaces (#63987) 2019-10-30 07:15:26 +00:00
9c17c7ad19 Add integration tests for grafana_datasource module (#63986)
* Add setup_grafana role for integration tests

* grafana_datasource: add integration tests for elastic datasource

* grafana_datasource: add integration tests for influxdb datasource

* grafana_datasource: add integration tests for postgres datasource

* grafana_datasource: add integration tests for cloudwatch datasource
2019-10-29 22:39:38 +01:00
0d905a0496 ACMEAccount.get_request check status code value lower boundary (#63140)
* check status code value lower boundary

Any HTTP code below 200 cannot be considered a success, should be
handled like a failure instead.

This is particularly true for below zero status codes.

Fixes #63139

* provide changelog fragment

* ensure connection errors are handled in Acme module

* add fetch_url check to ACME.send_signed_request

* remove module.fail_json

* move _assert_fetch_url_success out of ACMEAccount

* fix ansible-lint errors

* use simplified syntax status checking
2019-10-29 19:44:25 +01:00
c782831dd7 Disable failing zabbix_host integration test. 2019-10-29 10:26:53 -07:00
885ee62b53 clarified some points on environment keyword usage (#64065) 2019-10-29 13:17:41 -04:00
1aee11c860 add newline to render table correctly (#63769) 2019-10-29 13:09:18 -04:00
1e52782d6b Fix indentation of example (#63789)
Remove no_log since module_defaults aren't displayed like set_fact was
2019-10-29 13:08:41 -04:00
3c978a3225 lineinfile - don't run os.makedirs on empty dir path (#63921)
* Fix #63919: don't run os.makedirs on empty dir path

* integration test for lineinfile create: yes without path
2019-10-29 13:06:17 -04:00
92daec5d0b Update password.py (#63965)
Update the examples of the password lookup plugin to show how multiple options are joined together.
2019-10-29 11:16:00 -04:00
ae2a27ad6a Disable automerge (#63958)
Help reduce the incoming flow of features into devel as we confirm what we are doing regarding collections.
2019-10-29 11:13:12 -04:00
4048fb4da7 Fix doc errors on aws_batch_job_queue (#63804)
Fixes: ansible/ansible#63803

Signed-off-by: Major Hayden <major@redhat.com>
2019-10-29 10:24:21 -04:00
14eedb2956 Do not PATCH Account Enabled prop if not supported (#62617)
* do not PATCH Account Enabled prop if not supported

* add changelog fragment
2019-10-29 13:16:49 +00:00
c9a669e42c add GetSoftwareInventory command (#62811) 2019-10-29 13:15:42 +00:00
31f3a29613 add UpdateUserName and UpdatePasswordPolicy (#62941)
* add new command UpdateUserName and UpdatePasswordPolicy in redfish_command module

* fix errors detected by ansible-test

* fix error detected by ansible-test

* change command name UpdatePasswordPolicy to UpdateAccountServiceProperties, and update parameter to account_properties to support mlti-properties setting
2019-10-29 13:13:40 +00:00
92a39a0910 add controller name to Drive and Volume inventories (#63106) 2019-10-29 13:13:12 +00:00
2108a2e1c9 add type of elements of list in package modules (#63427) 2019-10-29 13:12:50 +00:00
2b8553b242 Add SetBootOrder and SetDefaultBootOrder commands (#63915)
* add SetBootOrder and SetDefaultBootOrder commands

* change boot_order version added from 2.9 to 2.10
2019-10-29 13:10:58 +00:00
16d4d2dba9 acme_certificate: add select_chain option (#60710)
* Add select_alternate_chain option.

* Fix docs.

* Allow to match via subject key identifier and authority key identifier.

* Simplify test.

* Add comments.

* Add tests.

* Fix bugs.

* Also consider main chain when searching for alternatives.

* Bump version_added.

* Rename select_alternate_chain -> select_chain.
2019-10-29 08:09:15 +01:00
35a412fab7 openssl_csr: fix tests (#63994)
* Make sure tests are validated with correct backend in mind.

* Fix tests.
2019-10-29 07:07:17 +01:00
5c973dd147 docker_container: get rid of defaults (#63419)
* Add container_default_behavior option to get rid of some defaults.

* Add changelog.

* Fix option.
2019-10-28 16:40:48 -04:00
18f4f0549f Correct a typo (#64020) 2019-10-28 15:01:10 -05:00
ee8a088205 combine galaxy.com install roles details (#63486)
* combine galaxy.com install roles details
* flatten dev guide and user guide for galaxy
2019-10-28 14:59:14 -05:00
d455183cac Bug fixes for GCP modules (#63966) 2019-10-28 13:50:24 -04:00
ee290bf5b1 Declare support for Python 3.8 @ Trove classifiers 2019-10-28 10:06:03 -07:00
5c962ef859 revisions to docsite README (#63957) 2019-10-28 12:04:59 -05:00
039c770a95 vmware_host_firewall_manager: fix #61332
Since https://github.com/ansible/ansible/pull/56733, we were not able to apply
firewall rules with no `allowed_hosts` key.

closes: #61332

In addition, this patch ensures the `allowed_hosts` key accepts a dict,
instead of a dict in a single entry list.

```yaml
vmware_host_firewall_manager:
  esxi_hostname: "{{ esxi1 }}"
  rules:
    - name: NFC
      enabled: True
      allowed_hosts:
        - all_ip: False
          ip_address:
            - "1.2.3.4"
```

Should be written:

```yaml
vmware_host_firewall_manager:
  esxi_hostname: "{{ esxi1 }}"
  rules:
    - name: NFC
      enabled: True
      allowed_hosts:
        all_ip: False
        ip_address:
          - "1.2.3.4"
```
2019-10-28 13:01:02 -04:00
358574d57f update ce_sflow to fix bugs (#64021)
* update ce_sflow to fix bugs

* update ce_sflow to fix bugs

* update ce_sflow to fix bugs

* update ce_sflow to fix bugs

* update ce_sflow to fix bugs
2019-10-28 10:33:41 -04:00
defccd1d44 postgresql_db: allow to pass users names with dots (#64007)
* postgresql_db: allow to pass users names with dots

* postgresql_db: allow to pass users names with dots, add changelog fragment

* postgresql_db: allow to pass users names with dots, fix ci
2019-10-28 13:23:09 +00:00
823f2e3fca update ce_acl_interface to fix bugs (#64018) 2019-10-28 09:21:11 -04:00
1e8765f0d9 BOTMETA support migrated_to (#63952)
* BOTMETA support migrated_to

Allow BOTMETA to define if this part of the codebase has moved
into a Collection on Galaxy.
See also https://github.com/ansible/ansible/pull/63935

* Enforce migrated_to URL format

* pep8
2019-10-28 11:02:31 +00:00
ef7d060a3f AWS module_utils: Clear out Sanity Test issues (#63991) 2019-10-28 09:21:40 +00:00
cd7bfc09a1 AWS ELB: Sanity Test fixups (#64008) 2019-10-28 09:19:26 +00:00
8d7580a59f AWS S3 : Fixup sanity test issues and deprecate 2 unused options (#63989)
* S3 module Sanity check fixes.

* s3_lifecycle: deprecate unused 'requester_pays' option

* s3_sync: deprecate unused retries option

* Add changelog fragment
2019-10-28 09:18:08 +00:00
fd54c54b51 AWS IAM Sanity test cleanup and deprecate unused 'fail_on_delete' option (#63961)
* AWS IAM Sanity test cleanup

* Changelog and porting guide updates

* Review recommendations
2019-10-28 09:18:58 +01:00
30be3a4a9f Revert "ce_sflow: update to fix bugs." (#64001)
* Revert "ce_sflow: update to fix bugs. (#59349)"

This reverts commit 7711524718.

* Update ce_sflow.py
2019-10-27 21:51:20 -04:00
e60cdc310d Remove k8s_scale dependency on k8s_raw (#59887)
* Remove k8s_scale dependency on k8s_raw

* fix sanity checks
2019-10-25 15:44:39 -04:00
01a92f0191 Make banner detection non-greedy in ios_banner (#63092)
* Make banner detection non-greedy in ios_banner

* Added ios_banner unit test to detect bug #63091

* Corrected PEP8 errors

* Added integration test

* Corrected typo in integration test
2019-10-25 14:20:00 -04:00
9d91e6275e enable grafana_annotations callback sending annotations to multiple panels (#57575)
* enable grafana_annotations callback plugin message sending to multiple panels

* remove new line at end of file

* restructuring code of grafana_annotations cb plugin

* add missing self keyword

* grafana callback: use list for panel_ids

* grafana callback: convert panel_id to integer

annotations HTTP API states that panelId are integer (same as
dashboardId which is also converted).
2019-10-25 18:49:20 +01:00
0f6ca6c4c5 New Module: gcp_runtimeconfig_config_info (#63884) 2019-10-25 13:41:01 -04:00
1d5413a6ce Bug fixes for GCP modules (#63941) 2019-10-25 13:40:41 -04:00
88af9f6470 mysql_replication - accept empty string to the module's parameters (#63546) 2019-10-25 11:56:40 -04:00
cdb7ab61a0 Introduce context manager for temporary templar context changes (#60513)
* Introduce context manager for temporary templar context changes. Fixes #60106

* Rename and docstring

* Make set_temporary_context more generic, don't hardcode each thing you can set, apply to template action too

* not None

* linting fix

* Ignore invalid attrs

* Catch the right things, loop the right things

* Use set_temporary_context in a few extra action plugins
2019-10-25 09:51:57 -05:00
92d6212026 ovirt correct resolving nested atributes which are false (#63908) 2019-10-25 14:51:45 +01:00
5e9638c869 ManageIQ Ivanchuk fixes (#63948)
- manageiq-group: better handling if key not present
- manageiq-tenant: ivanchuk api now returns ids as strings
2019-10-25 14:46:13 +01:00
3aaebba235 postgresql_privs: allow to pass roles with names containing dots (#63942) 2019-10-25 14:39:49 +01:00
54f0b183dc Add BOTMETA entry for pear module (#62349)
* Add BOTMETA entry for pear module

Add an entry for pear module so that team_ansible can be set as maintainer

* Wrong indentation.

* Update .github/BOTMETA.yml

Co-Authored-By: Sloane Hertel <shertel@redhat.com>
2019-10-25 14:23:10 +01:00
3e6ecdedb4 Botmate: update to label cloudengine files. (#63566)
* Update BOTMETA.yml

* update for cloudengine.
2019-10-25 14:11:40 +01:00
5c5a315a44 a new module to manage static route and bfd. (#58004)
* add a new module

* update for shippable

* update

* update for shippable

* update for shippable

* update for shippable

* update

* add unittest.

* update

* update integration

* update unittest

* update

* update unittest.

* update for syntax error

* update for reviewing.
2019-10-25 06:40:30 -04:00
9d68115f7f Add packet project module (#63569) 2019-10-25 06:28:49 -04:00
57c36e0378 Zabbix integration tests (#63744)
* adjusted setup_zabbix integration tests role to work on distributions from Debian family

* bumped zabbix_host integration tests role to be run against bionic
2019-10-25 06:28:20 -04:00
07ed860c2b Add more kubernetes Service tests (#62581)
* Add more kubernetes Service tests

Services can often go wrong, and one of the main motivations for
apply was being able to correctly modify them, so more tests are good

* Remove a port from a service for k8s testing

* Add a Service check mode to k8s tests
2019-10-25 11:21:13 +01:00
8d1aa42e7b fix: Scaleway loadbalancer API url (#63437) 2019-10-25 11:19:25 +01:00
68c997e4dd add a new module ce_lldp_interface. (#58252)
* add a new module ce_lldp_interface.

* update for shipabble

* update

* ad unittest

* update

* update

* update

* update

* update

* upate

* update

* update for shipable.

* update & add intergration tests.

* update for shippable.

* update

* import future.

* update.

* update.

* update docs.

* missing whitespace after ','

* update docs.

* update docs.

* update docs.

* Update ce_lldp_interface.py

* Update ce_lldp_interface.py

* update for reviewing
2019-10-25 10:45:53 +01:00
bfb8b015c9 Don't sort lists of routes again in os_subnet (#63538) 2019-10-25 05:38:01 -04:00
e4f16368ed Fix doc errors in AWS modules (#63851)
* Fix register/debug in aws_batch_compute_environment
* Fix aws_batch_job_queue doc errors
* Fix module naming: `batch_job_queue` > `aws_batch_job_queue`
* Fix missing register
* Update debug task to use modern YAML format
* Fix missing register + debug for lambda_policy
* Fix YAML syntax for elb_application_lb_info module

Signed-off-by: Major Hayden <major@redhat.com>
2019-10-25 09:36:05 +05:30
f279715c29 template: Add a space in example block (#63930) 2019-10-25 09:21:17 +05:30
ffce2d3d2a Bug fixes for GCP modules (#63882) 2019-10-24 17:16:31 -04:00
9fe524248c New Module: gcp_runtimeconfig_config (#63883) 2019-10-24 17:16:24 -04:00
50f85c9bdd New Module: gcp_runtimeconfig_variable (#63885) 2019-10-24 17:15:57 -04:00
072767e005 New Module: gcp_runtimeconfig_variable_info (#63886) 2019-10-24 17:15:49 -04:00
c562e17659 Fixed example error in windows_winrm user guide (#63922)
##### SUMMARY
The example code to configure TLS 1.2 Support using Ansible had an indention error. The register variable 'enable_tls12' was not indented. This caused the subsequent task to fail since the variable was not registered. 


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2019-10-24 14:31:47 -05:00
7f2c367d78 Update documentation for package module (#63909)
##### SUMMARY
It is not clear from the documentation that list can be used

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2019-10-24 14:29:48 -05:00
af0d70cb6f user: Handle exception when /etc/shadow file is missing (#63888)
Added exception handling when module tries to modify user details,
and /etc/shadow file is missing or not found.

Fixes: #63490

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-10-24 14:22:41 -05:00
7f5d1ab2b7 Removed in 29 (#63680)
* Eh, 2.10 is close enough

* drop top-level authorize

* Remove from documentation

* Remove load_params

* Centralize this junos thing

* Fixup user modules

* I'm 95% sure this did not do what it was supposed to

* nxos_hsrp: I don't think this is an actual module parameter

* Try to fix junos_package tests

* Move local params to provider

* Promote 'timeout' to a real parameter for eos_eapi

* Don't assume provider exists?

* move another timeout

* Provider now always has auth_pass

* Fix junos tests to avoid NameErrors
2019-10-24 15:01:05 -04:00
553767ef50 Reword the ticket stub for collections (#63917) 2019-10-24 12:39:08 -05:00
2a80b3933e BOTMETA: team_grafana (#63859)
* BOTMETA: team_grafana

Ensure all Grafana bits of the codebase have maintainers

* typo
2019-10-24 17:37:08 +01:00
40437d434e postgresql_membership: add CI tests for roles with dots (#63896) 2019-10-24 11:09:42 +01:00
fb38c9cea9 Support PostgreSQL Custom Format (#63806)
* Support PGC Restores

* Fix whitespace

* support pgc both dump and restore
2019-10-24 11:09:11 +01:00
54b530967b ovirt disk correct fcp host (#63857) 2019-10-24 03:17:18 -04:00
ed86907587 DNF Handle Empty AppStream stream definition (#63819)
* DNF Handle Empty AppStream stream definition

Fixes #63683

Signed-off-by: Adam Miller <admiller@redhat.com>

* Switch Fedora dnf test target modularity to stratis

In Fedora 29, the metadata was not properly set for a default stream
for ripgrep even though there is a profile called "default", however
that's an arbitrary string and the module maintainer must set the
default stream (which it never was for the ripgrep module, thus
failing the "empty stream" install test)

Signed-off-by: Adam Miller <admiller@redhat.com>
2019-10-24 00:57:31 -04:00
b96ae6ab67 Bug fixes for GCP modules (#63831) 2019-10-23 19:57:28 -04:00
b816e70d4a Bug fixes for GCP modules (#63832) 2019-10-23 19:57:15 -04:00
cc24f27857 Bug fixes for GCP modules (#63833) 2019-10-23 19:57:03 -04:00
1d7b027cdc Bug fixes for GCP modules (#63834) 2019-10-23 19:56:54 -04:00
fb76ac2bb6 Bug fixes for GCP modules (#63835) 2019-10-23 19:56:45 -04:00
b933350daa Bug fixes for GCP modules (#63836) 2019-10-23 19:56:38 -04:00
7ea7260753 [ec2_launch_template] Update description of state param (#63147)
##### SUMMARY
Currently, it is not possible to delete specific versions of an ec2 launch template. The module docs incorrectly suggest that there is a `version` param to the module that can be used to do that. This patch aims to correct that error.


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2019-10-23 16:58:55 -04:00
bd6d4b5b3a New module: iam_policy_info (#62955)
* iam_policy: (integration tests) migrate to module_defaults

* iam_policy: (integration tests) Rework iam_policy integration tests

* iam_policy_info: Add new module and add iam_policy_info tests to iam_policy integration tests
2019-10-23 13:04:25 -07:00
18b9ce8b82 Integration tests: prevent loop squashing (#63847)
1. the feature will be deprecated in 2.11
2. these modules support passing lists
3. loop squashing does not work with collections
2019-10-23 21:02:25 +02:00
d620a209a5 Fix ios_l2_interfaces skipping relevant L2 interfaces facts (#63779)
* fix bug 63777

* fix comment
2019-10-23 21:13:37 +05:30
3e4ae42256 Cleanup after MySQL integration tests (#63641)
Add handlers to setup_mysql_db and setup_mysql8 to remove installed packages.
2019-10-23 11:11:02 -04:00
68de182555 eos_eapi: Added fix for bug # 51144 (#63632)
* Added fix for bug # 51144

* Corrected Lint errors

* Added fix for bug 51144

* Corrected errors

* Added unit testcase
2019-10-23 19:46:43 +05:30
b1e8a6c1cb mariadb_replication: improve CI tests (#63848) 2019-10-23 15:50:31 +02:00
4d72b69035 rds_subnet_group : Sanity Check fixes (docs) and Integration tests (#63214)
* rds_subnet_group: Fixup sanity test issues

* rds_subnet_group: Add integration tests

* rds_subnet_group: Add testing policy
2019-10-23 08:27:07 -04:00
2da2da54f8 Fix virtualization role for DigitalOcean droplets (#41062)
Fixes #41061
2019-10-23 14:00:05 +05:30
8c43697e3b yum - only instantiate YumBase once (#63713)
* yum - only instantiate YumBase once

Previously, this code was re-instantiating the `YumBase` object
many times which is unnecessary and slow. However, we must do it
twice in the `state: absent` case because the `yumSack` and
`rpmSack` data of the previously instantiated object becomes
invalid and is no longer useful post transaction when we verify
that the package removal did in fact take place. Also, this patch
removes the repetitive re-processing of enable/disable of repos in
various places.

Here's a display of the speed increase against a RHEL7 host:

```yaml
- hosts: rhel7
  remote_user: root
  tasks:
  - name: Install generic packages
    yum:
      state: present
      name:
        - iptraf-ng
        - screen
        - erlang
  - name: Remove generic packages
    yum:
      state: absent
      name:
        - iptraf-ng
        - screen
        - erlang
```

Before this patch:
```
real    0m52.728s
user    0m5.645s
sys     0m0.482s
```

After this patch:
```
real    0m17.139s
user    0m3.238s
sys     0m0.277s
```

Fixes #63588
Fixes #63551

Signed-off-by: Adam Miller <admiller@redhat.com>

* add changelog

Signed-off-by: Adam Miller <admiller@redhat.com>
2019-10-23 03:34:13 -04:00
0923ed56c7 Changelog entry for ansible-test sanity fixes. 2019-10-22 23:26:59 -07:00
92ccdeac31 Fix various import sanity test issues.
- Relative imports are now properly recognized.
- Correct script invocation of Ansible modules is used.
- Warnings are now consistently reported as errors.
- Errors are now consistently reported with the file tested.

Resolves https://github.com/ansible/ansible/issues/62723
Resolves https://github.com/ansible/ansible/issues/61884
2019-10-22 23:00:35 -07:00
b52d715567 add change_set_id to cloudformation output (#63752)
* Add change_set_id to the cloudformation module output when a change set is created

* Add module return documentation for change_set_id

* changelog
2019-10-22 23:31:06 +02:00
6a2902c8d5 clarify no subfolders and md only for collections /docs folder (#63808) 2019-10-22 15:50:02 -05:00
56f52a0169 ec2_vpc_route_table_info integration tests (#63413)
* ec2_vpc_route_table_info integration tests

Make sure ec2_vpc_route_table_info return value has the right attributes.

* ec2_vpc_route_table_info integration tests for tags
2019-10-22 14:46:40 -04:00
7afba9420a XenServer: Update docs with recent changes in XenAPI python lib and branding (#63728)
- xenserver module_util: XenAPI lib import error message handling is now
   ported to missing_required_lib(). Updated unit tests.
 - xenserver_guest, xenserver_guest_info, xenserver_guest_powerstate modules:
   docs are updated to reflect recent changes in availability of XenAPI lib
   on PyPI.
 - xenserver_guest, xenserver_guest_info, xenserver_guest_powerstate modules:
   docs are updated to reflect recent Citrix rebranding of XenServer. Broken
   URLs to external resources are fixed.
 - xenserver_guest, xenserver_guest_info, xenserver_guest_powerstate modules:
   more tested platforms are mentioned in docs.
2019-10-22 21:04:16 +05:30
a6e610a9ed Prevent generating roles that do not pass linting (#63709)
Fixes bug where newly created role fails linting due to extra space
at end of line: [201] Trailing whitespace
2019-10-22 11:26:07 -04:00
7aac7a56da Added missing param to lambda module to pass it through to boto3 (#58822)
* Added missing param to lambda module to pass it through to boto3

* Allow updating of runtime, because there is no reason why not

* Updated version_added to 2.10 to make tests green again

* Updated RETURN docs of Lambda module

* Added tests to aws_lambda test-suite.
2019-10-22 17:17:01 +02:00
92cd13a2cf lineinfile - use correct index value when inserting at the end (#63696) 2019-10-22 10:39:58 -04:00
05c8e33983 Ignore sivel as a maintainer of vmware_deploy_ovf (#63790) 2019-10-22 09:17:21 -05:00
29d4d318a5 lineinfile - properly insert line when line exists and backrefs are enabled (#63763)
Use a separate variable for the boolean test rather than having the same variable sometimes be a boolean and sometimes be a regular expression match object

Add integration tests to cover this scenario
2019-10-22 10:01:11 -04:00
f6c85b7380 mso_schema_site_anp_epg_staticport - Add VPC support (#62803) 2019-10-22 09:41:23 -04:00
2bd2de02e3 Added module to manage contracts for external EPG in Cisco MSO (#63550)
* Added module to manage contracts for external EPG in Cisco MSO

* Looking good
2019-10-22 15:16:23 +02:00
2b1177dfad Added module to manage template external epg subnet for Cisco MSO (#63542)
* Added module to manage template external epg subnet for Cisco MSO

* Looking good
2019-10-22 15:16:06 +02:00
74f9816885 Map Extreme Network OSes to their facts modules (#63574) 2019-10-22 08:57:11 -04:00
e4b6dd1862 ce_config/bug/jingdong: a bug from jingdong. (#62872)
* update to fix "`quit` may make seesion closed."

* update to fix "`quit` may make seesion closed."

* 274:49: E272: multiple spaces before keyword

* add a changelog fragment.

* Update ce_config.py

using run_command for prompts.

* Update ce_config.py

* Update ce_config.py

typo error

* update to use get_prompt

* Update ce_config.py

* Update ce_config.py

* Update ce_config.py

* Update ce_config.py

* Update ce_config.py

* Update ce_config.py

* Update ce_config.py
2019-10-22 07:38:10 -04:00
c317c3cadf mysql_db: Correct argument for single database entry (#38326)
Fixes: #38318
2019-10-22 14:50:03 +05:30
2e65c1ebb7 Bug fixes- Dellos modules (#63272) 2019-10-22 14:06:34 +05:30
4745d45711 azure_rm_keyvaultkey_info: show_deleted_key error fix (#63157) 2019-10-22 11:51:25 +05:30
aa68f728fd s3_bucket: Allow empty encryption_key_id with aws:kms (#62031)
* s3_bucket: Allow empty encryption_key_id with aws:kms to use KMS master key

* Add idempotency check and cleanup example, dont require encryption_key_id
2019-10-21 19:45:41 -04:00
2e81b813dd Add example for port range to win_firewall_rule_module (#63269) 2019-10-21 17:05:10 -04:00
cfe2beae46 added a link to install instruction of OpenSSH (#63548) 2019-10-21 17:02:19 -04:00
9cda5819b9 Update AWS dev guide to recomment module_defaults and point to CI policy repo (#63589) 2019-10-21 17:01:19 -04:00
c2d1cc6f5b Confusing indication of no notable module changes (#63685) 2019-10-21 16:58:51 -04:00
ae8aa05535 Implement run_commands on edgeos (#63754) 2019-10-21 16:01:04 -04:00
1971d1111e Bug fixes for GCP modules (#63603) 2019-10-21 14:46:39 -04:00
8b0927fe16 Bug fixes for GCP modules (#63604) 2019-10-21 14:46:29 -04:00
e7b0050542 Bug fixes for GCP modules (#63605) 2019-10-21 14:46:21 -04:00
ce9e909a5b Bug fixes for GCP modules (#63606) 2019-10-21 14:46:09 -04:00
66202c385e Bug fixes for GCP modules (#63607) 2019-10-21 14:45:57 -04:00
32e8a716ea Bug fixes for GCP modules (#63608) 2019-10-21 14:45:49 -04:00
dc5770dfa2 EXOS/VOSS/SLXOS - Single action file and 'gather_facts' (#61914)
* EXOS Single action file

* Single action file for all Extreme Network OSes
2019-10-21 13:31:26 -04:00
40975cd436 fix 61907 - auto_attach yes option not honored in ec2_transit_gateway (#61993)
* fix 61907 - auto_attach yes option not honored in ec2_transit_gateway

* add changelog fragment
2019-10-21 16:06:43 +01:00
f0cadb9843 Fix AWS iam_user remove (#59079)
* Make iam_user not fail on user deletion.

- Use guard clause on already absent user
- Refactor, use variable instead nested dict
- Ensure needed prerequisites for boto3 delete_user successfully
- Use AnsibleAWSModule on iam_user.
- Fix fail_json_aws calls

* Add s-hertel comments to PR
2019-10-21 17:06:05 +02:00
6046386dba doc: win_user: fix typo in the description of the groups modifyer (#63743) 2019-10-21 17:02:39 +02:00
891489a27e postgresql_publication: fix logic (#63737) 2019-10-21 15:14:23 +01:00
145b79ef0e ec2_instance test cleanup (#63708)
* ec2_instance/ec2_instance_info : Fixup sanity test errors

* Move ec2_instance integration tests to use aws_defaults

* Search for the AMI instead of hardcoding an AMI

* Make our VPC CIDR variable

* Remove AZ assumptions - no guarantees about specific AZs being available

* Make sure we terminate instances when we're done with them.

* Add a 10 second pause for IAM roles to become available before using them

* Wait on instance changes by default

* Switch out t2 instances for t3 they're cheaper and have more CPU available

* Pull t3.nano instance info a little earlier

* rework vpc_name and vpc_cidr a little

* Mark ec2_instance tests unsupported for now, they take too long
2019-10-21 14:55:44 +02:00
aa671be28b zabbix_host: fix https://github.com/ansible/ansible/issues/63449 (#63637) 2019-10-21 06:12:10 -04:00
f92c99b413 gitlab_*: remove deprecated functionalities (#61912)
* Documentation update
* Remove deprecated functionalities

Fixes: #61898 #61897 #61896 #61895 #61894 #61893

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-10-20 07:38:08 -04:00
331d51fb16 Attach an attached/detached volume from OpenStack VM’s should return similar information (#21558)
Currently, attach an attached volume from OpenStack VM’s returns only
argument data. It is better to return full data as attaching a detached
volume.

In my use case, I need the extra data to mount and format the volume.
2019-10-20 12:36:50 +05:30
78158c2e63 mysql_db: Add option hex_blob in db_dump operation (#23891)
Added support for --hex-blob option to mysql_db module.
This option is for dump binary columns using hexadecimal notation (for example, 'abc' becomes 0x616263).
The affected data types are BINARY, VARBINARY, the BLOB types, and BIT.
2019-10-20 11:48:46 +05:30
cc1ff57c5b AH servers include automation-hub as part of the server configuration. (#63700)
* AH servers include automation-hub as part of the server configuration.

So we don't need to add it here.

Fixes #63699

* Update unittests for the fix to galaxy wait_import_task
2019-10-19 12:40:45 -07:00
8f843bbaa5 iptables: support wait parameter (#47877)
Version 1.4.20 doesn't support 'wait' at all
Version 1.6.0 requires an argument for it
2019-10-19 22:27:45 +05:30
3f0479279e VMware: Add a parameter wait_for_ip_address_timeout in vmware_guest (#63557)
* Added a parameter (wait_for_ip_address_timeout) to allow a longer timeout than the default.
* Removed the wait_for_vm_ip function in this module as one in module_utils is already being used elsewhere.
2019-10-19 22:15:28 +05:30
b6e997aa5f Cleanup after MariaDB integration tests (#63657) 2019-10-19 13:10:35 +02:00
64989bea6a hwc: Add eip module (#60182) 2019-10-19 12:58:29 +02:00
86e4dcbaed hcloud: Add protection support to hcloud_server and hcloud_server_info (#63669) 2019-10-19 12:57:00 +02:00
c904336db0 hwc: Add security group rule module (#60186) 2019-10-19 12:53:02 +02:00
420de44a57 hwc: Add port module (#60188) 2019-10-19 11:32:10 +02:00
652de1a7fd hwc: Add new module to peering (#60190)
* Add peering module

* Update hwc_vpc_peering_connect.py
2019-10-19 11:27:53 +02:00
0af32a1093 gitlab_modules : remove misssing required parameter (#63690)
* gitlab_group: remove required=True on server_url param

* gitlab_project: remove required=True on server_url param

* Revert "Example incorrect: server_url is required argument (#63670)"

This reverts commit b02467961a.
This modification shouldn't have been made.
This parameter is deprecated and #60425 forget to remove the required
parameter
2019-10-19 13:57:18 +05:30
e0b4fafb22 hwc: Add disk module (#59919) 2019-10-19 10:09:40 +02:00
39201d1ba3 hwc: Add instance module (#60180) 2019-10-19 09:50:03 +02:00
7ed6a0037c hwc: Add security group module (#60187)
* Add security group module

* Update hwc_vpc_security_group.py
2019-10-19 09:43:50 +02:00
034afd40a3 zypper: add additional flag --force-resolution (#61705) 2019-10-19 09:40:47 +02:00
712abfd1a1 cloudstack: exoscale: fix boilerplate (#63532) 2019-10-19 09:37:23 +02:00
df0e747899 ASA: fixes #59007 (#59008) 2019-10-19 11:36:16 +05:30
8eb46acbb1 hcloud: Add Delete Protection to hcloud_volume and hcloud_volume_info (#63665) 2019-10-18 23:28:12 +02:00
e9e4b02b92 hcloud: Add Delete Protection to hcloud_floating_ip and hcloud_floating_ip_info (#63663) 2019-10-18 23:27:23 +02:00
d98482c294 eos_vlans: Never try to set vlan_id as a property (#63689) 2019-10-18 16:55:27 -04:00
93280bd59c exos_l2_interfaces Resource module (#63113)
* Resource module for exos_l2_interfaces
2019-10-18 13:10:19 -04:00
dcec3d000e syslogger - disable check mode (#63646) 2019-10-18 13:01:03 -04:00
cb0ee51712 ios_bgp: fixes #57666 (#57667)
* ios_bgp: fixes #57666

* ios_bgp: add integration tests
2019-10-18 21:25:45 +05:30
04252cf90d Improve validation of module return values (#63411)
* Add contains: validation for return values.

* Only require returned: on top level.

* Fix various return value problems.

* Update ignore.txt.

* Two more.
2019-10-18 16:01:52 +01:00
4de516d35f Do not set ANSIBLE_LIBRARY in env-setup.fish (#63688)
Setting this env var was removed from env-setup back in 2014. Not sure why it is in this setup script and it interferes with the defult search path
2019-10-18 10:56:19 -04:00
741d529409 Eos vlan override (#63639)
* Fix overridden & deleted in eos_vlans

* Fix vlan creation in overridden

* Right, Python 2.6
2019-10-18 10:36:30 -04:00
4326165be5 Update win_regmerge.py (#63633)
##### SUMMARY
<!--- s/windows/Windows/ in title -->


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2019-10-18 15:33:39 +01:00
5b2d625eb7 ovirt: Fix fetching of nested attributes (#61841)
This patch is fixing the fetching of nested attributes.

Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1748025
2019-10-18 13:40:41 +01:00
4e50096663 fix: scaleway api endpoint (#63436) 2019-10-18 13:31:33 +01:00
39c92310b4 Add a new module ce_lldp to manage Link Layer Discovery Protocol(LLDP) (#63395)
* new module ce_lldp

* update for shippable

* update for shippable

* update for shipabble

* update

* merge confilcts

* add integration test.

* update for shippable.

* update for bad-whitespace

* update for shippable

* update for shippable

* update for shippable

* update license.

* update for typo.
2019-10-18 13:15:42 +01:00
5ea72934bd Fix obvious typos (#62821)
* lib/ansible/modules/cloud/digital_ocean/digital_ocean_snapshot_info.py: fix typos

* lib/ansible/modules/cloud/ovirt/ovirt_host_network.py: fix typos

* test/integration/targets/cnos_backup/README.md: fix typos

* test/integration/targets/cnos_bgp/README.md: fix typos

* test/integration/targets/cnos_command/README.md: fix typos

* test/integration/targets/cnos_conditional_command/README.md: fix typos

* test/integration/targets/cnos_conditional_template/README.md: fix typos

* test/integration/targets/cnos_config/README.md: fix typos

* test/integration/targets/cnos_facts/README.md: fix typos

* test/integration/targets/cnos_image/README.md: fix typos

* test/integration/targets/cnos_rollback/README.md: fix typos

* test/integration/targets/cnos_save/README.md: fix typos

* test/integration/targets/cnos_showrun/README.md: fix typos

* test/integration/targets/cnos_template/README.md: fix typos

* test/integration/targets/cnos_vlag/README.md: fix typos

* test/integration/targets/enos_command/README.md: fix typos

* test/integration/targets/enos_config/README.md: fix typos

* test/integration/targets/enos_facts/README.md: fix typos

* test/legacy/roles/cnos_backup/README.md: fix typos

* test/legacy/roles/cnos_bgp/README.md: fix typos

* test/legacy/roles/cnos_command/README.md: fix typos

* test/legacy/roles/cnos_conditional_command/README.md: fix typos

* test/legacy/roles/cnos_conditional_template/README.md: fix typos

* test/legacy/roles/cnos_ethernet/README.md: fix typos

* test/legacy/roles/cnos_facts/README.md: fix typos

* test/legacy/roles/cnos_image/README.md: fix typos

* test/legacy/roles/cnos_portchannel/README.md: fix typos

* test/legacy/roles/cnos_rollback/README.md: fix typos

* test/legacy/roles/cnos_save/README.md: fix typos

* test/legacy/roles/cnos_showrun/README.md: fix typos

* test/legacy/roles/cnos_template/README.md: fix typos

* test/legacy/roles/cnos_vlag/README.md: fix typos

* test/legacy/roles/cnos_vlan/README.md: fix typos
2019-10-18 12:56:55 +01:00
aeb0dde7cc Update description for firstmatch option (#62896)
##### SUMMARY
This fixes issue https://github.com/ansible/ansible/issues/62862. The edit makes the description for the `firstmatch` option clearer.

The `firstmatch` option was introduced by PR https://github.com/ansible/ansible/pull/33825


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2019-10-18 12:53:50 +01:00
0b97180c74 adding ostype win10 support (#62987) 2019-10-18 12:44:39 +01:00
b02467961a Example incorrect: server_url is required argument (#63670)
##### SUMMARY
The example "Delete GitLab Group" does not work.

- name: "Delete GitLab Group"
  gitlab_group:
    api_url: https://gitlab.example.com/
    api_token: "{{ access_token }}"
    validate_certs: False
    name: my_first_group
    state: absent

It errors with: 
fatal: [myhost.mydomain.com -> localhost]: FAILED! => {"changed": false, "msg": "missing required arguments: server_url"}

If you provide server_url and api_url, it complains that they are mutually exclusive:
fatal: [myhost.mydomain.com -> localhost]: FAILED! => {"changed": false, "msg": "parameters are mutually exclusive: api_url|server_url"}

This means there is no logical path in the use of the module where api_url can be specified without resulting in at least one of these fatal errors. I suggest adjusting the examples in the meantime, then changing the module to move away from the soon-to-be deprecated server_url parameter, removing it as a required argument.

This likely applies to all Examples, so this change proposes at least putting in the required parameter in the examples.

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2019-10-18 12:34:00 +01:00
2ef4ac1404 Typo usersername should be username (#63671)
##### SUMMARY
Typo in examples using api_username. Example incorrectly has usersername.


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2019-10-18 12:32:37 +01:00
4b1fdee119 docker_container: deprecate trust_image_content (#63420)
* Deprecate trust_image_content.

* Add changelog.

* Mention it has never been used; removed test stub.
2019-10-18 13:03:42 +02:00
b243494a29 Add subnet module (#60183)
* Add subnet module

* Update hwc_vpc_subnet.py

* Add subnet module
2019-10-18 11:00:32 +01:00
0b9c241822 Grafana dashboard : added folder parameter + fix when uid is missing in json file (#63342)
Related: ansible/ansible#61685
2019-10-18 10:35:56 +01:00
7d9a0baa7f Add private ip module (#60191)
* Add private ip module

* Update hwc_vpc_private_ip.py

* Add private ip module
2019-10-18 10:15:13 +01:00
47c31c201b action/ce.py:clear configuration candidate when return to user-view. (#63513)
* clear configuration candidate when return to user-view.

* add a changelog fragment for the pr.

* Update 63513-ce_action_wait_prompt_trigger_time_out.yaml

* Update 63513-ce_action_wait_prompt_trigger_time_out.yaml
2019-10-18 10:09:47 +01:00
d22dc5ab8b doc: postgresql_user: Add changelog fragment for 63565 (#63666) 2019-10-18 10:59:20 +02:00
f1c6a3331f hcloud: Add delete_protection to hcloud_network and hcloud_network_info (#63656) 2019-10-18 10:54:01 +02:00
4f2665810f Fix IOS_VLANS override operation for new VLANs (#63624)
* fix vlans override state

* adding code comment
2019-10-18 13:56:23 +05:30
684e70c8d7 postgresql_user: allow to pass user name with dots (#63565) 2019-10-18 12:55:41 +05:30
8a77f17dea Update vmware ansible modules requirements section (#62797)
* Update vSphere Automation Python SDK to the requirement section

Signed-off-by: Jobin George <jgeorge@vmware.com>
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-10-18 11:34:02 +05:30
92b387aa27 Fix hcloud requirements.
Avoid installing hcloud on Python 3.9 since it is not supported.
2019-10-17 17:40:57 -07:00
6be4741f72 Fix ansible-test env var mixing running commands. 2019-10-17 17:40:34 -07:00
78eca0eb5d Fix SSL protocol references in mqtt module. 2019-10-17 17:40:21 -07:00
437e9b7063 Fix ansible-test sanity requirements install.
This fixes ansible-test so it no longer tries to install sanity test dependencies on unsupported Python versions.
2019-10-17 17:40:04 -07:00
424f9f0dac vmware_guest_network/test: fix name of test VM
The test VM is called `test_vm1` since
https://github.com/ansible/ansible/issues/63302.

Also, avoid the `00:50:56` prefix for the MAC address, since it's known
for being source of problem: https://github.com/ansible/ansible/issues/63302
2019-10-17 17:38:42 -04:00
a129499cf4 Improve module return values (#63541)
* Remove lists from contains:, fix types, some more details.

* Adjust types.

* Add new type.

* Re-add meraki_mx_l7_firewall docs at right indentation level.
2019-10-17 22:02:39 +02:00
d8b9f9fb4f Fix example in pip module documentation (#63462) 2019-10-17 15:40:13 -04:00
017f0cb2f8 Add scaleway maintainer to BOTMETA (#63439) 2019-10-17 15:34:04 -04:00
faf8fc62cb Add inventory cache to the netbox plugin (#57644)
* Add cache to netbox inventory plugin

* add changelog fragment
2019-10-17 15:18:07 -04:00
8d0737edf0 Integration tests for s3_logging (#63257)
* s3_logging: (integration tests) updated AWS policy

* s3_logging: fix sanity test issues

* s3_logging: Integration tests

* Add pauses to cope with evenual consistency

* Mark s3_logging tests as 'unsupported' for now due to testing instability
2019-10-17 11:33:55 -07:00
1a384a61fb exos_lldp_interfaces resource module (#62108)
* exos_lldp_interfaces resource module

* Fix exos_lldp_interfaces and add integration tests

* Fix deleted testcase for integration test
2019-10-17 13:40:17 -04:00
f5e0995cae Fix netconf post "delay persistent connections" (#63463)
* ensure_connect on manager use

* Remove ensure_connected from individual netconf plugins
2019-10-17 11:22:48 -04:00
7da37e58de Added changelog fragment 2019-10-17 08:12:49 -07:00
202ad4f89a Fixes --version in ansible-galaxy cli 2019-10-17 08:12:49 -07:00
81d49c38f8 Default lookups to community (#63631) 2019-10-17 09:44:24 -05:00
b4bb3dee9a gitlab_user: Fix ssh key add and group membership add when there's other changes (#63621)
* Fixed syntax in sshkey/group add

* Added changelog

* pep8 fix
2019-10-17 10:22:15 -04:00
7dd46f7b2d postgresql_privs: add support a type parameter option for types (#63555)
* postgresql_privs: add support a type parameter option for types

* postgresql_privs: add support a type parameter option for types, add changelog fragment

* postgresql_privs: add support a type parameter option for types, add schema handling

* postgresql_privs: add support a type parameter option for types, fix typo

* postgresql_privs: add support a type parameter option for types, add comment
2019-10-17 14:59:06 +01:00
ae16a840f6 mysql_replication: fix typo in setup role (#63625) 2019-10-17 13:17:15 +01:00
f2ca4cce2b Add Constructed to Foreman inventory plugin (#62542)
* add constructed

* changelog
2019-10-17 11:43:22 +02:00
ba686154b9 openssl_csr: deprecate version option (#63432)
* Deprecate openssl_csr's version.

* Add changelog.

* Change PR so that version will no longer accept values != 1 from 2.14 on.

* Make sure it is a string.
2019-10-17 10:42:05 +02:00
d00d0c81b3 openssl_privatekey: add support for format option (#60388)
* Add support for format option.

* Improve private key format detection.

* Fix raw format handling.

* Improve error handling.

* Improve raw key handling.

* Add failed raw test.

* Improve raw key loading.

* Simplify tests.

* Add raw format tests.

* Fail if format != 'auto_ignore' is specified for pyopenssl backend.

* Fix quoting.

* Bump version.

* Allow to convert private keys between different formats.

* Improve description.
2019-10-17 10:40:13 +02:00
e3c7e35656 Add extra args and executable name to podman connection plugin (#63166)
* Add extra args and executable name to podman connection plugin

Like there is for docker plugin, add extra arguments for command
line of podman. Also add configurable executable and checking if
this executable exists on host. Fail module if executable is not
in PATH.

* Update changelogs/fragments/63166-add-extra-args-executalbe-podman-connection.yaml

Co-Authored-By: Felix Fontein <felix@fontein.de>
2019-10-17 13:48:29 +05:30
b6ea43efc3 VMware: Support instance_uuid to find the vm for vmware_guest_network module (#62818) 2019-10-17 12:23:13 +05:30
d615d7ea19 mysql_variables tests: change CI host group (#63602) 2019-10-17 08:26:09 +02:00
4cad7e479c Galaxy publish fix (#63580)
* Handle galaxy v2/v3 API diffs for artifact publish response

For publishing a collection artifact
(POST /v3/collections/artifacts/), the response
format is different between v2 and v3.

For v2 galaxy, the 'task' url returned is
a full url with scheme:

        {"task": "https://galaxy-dev.ansible.com/api/v2/collection-imports/35573/"}

For v3 galaxy, the task url is relative:

        {"task": "/api/automation-hub/v3/imports/collections/838d1308-a8f4-402c-95cb-7823f3806cd8/"}

So check which API we are using and update the task url approriately.

* Use full url for all wait_for_import messages

Update unit tests to parameterize the expected
responses and urls.

* update explanatory comment

* Rename n_url to full_url.

* Fix issue with overwrite of the complete path

* Fixes overwrite of the complete path in case there's extra path stored
  in self.api_sever
* Normalizes the input to the wait_import_task function so it receives
  the same value on both v2 and v3

Builds on #63523

* Update unittests for new call signature

* Add changelog for ansible-galaxy publish API fixes.
2019-10-16 15:23:12 -07:00
82ee341fe0 Explicitly use multiprocessing fork start method (#63581)
* Explicitly use multiprocessing fork start method

* Remove unused import

* Remove unused import

* Fallback to just multiprocessing on py2
2019-10-16 15:30:50 -05:00
f638f29e44 Replaced old DSC links that given 404 (#63556)
Replace DSC links that returned "not found" with updated, working links.
2019-10-16 12:52:30 -05:00
275b3972cb [lightsail] make delete operation idempotent (#63317)
Fixes #63315
2019-10-16 13:01:50 -04:00
94c23136be one_vm: moved to pyone added Persisten Deployment (#57393)
* moved to pyone added Persisten Deployment

Moved from python-oca to pyone.
Added Persistent deployment of VMs.

* Cleanup fixed missing whitespace

* cleanup whitesüace and indent

* corrected Versions and fixed disk count in error msg

* inc version

* wrong version for vm_start_on_hold

* added datastore for new instances

* added multiple Disks

* fixed missing info
2019-10-16 12:11:08 -04:00
7448084858 Update default-test-container to 1.10.1.
This brings in the final Python 3.8.0 release instead of a release candidate.
2019-10-16 09:07:09 -07:00
6d7620b646 Added fix for bug 63290 (#63308) 2019-10-16 19:17:46 +05:30
88013e7159 generalized on_become prompt match for ios (#63528) 2019-10-16 19:13:57 +05:30
3a733cb0a1 postgresql_user: remove unused import (#63559) 2019-10-16 08:51:08 -04:00
98b025239a nsupdate: Don't try fixing non-existing TXT values (#63408)
The commit 4e895c1 aimed to ensure that TXT record values were sanely
quoted. Sadly it failed to take the scenario of non-existing values
into account. While record values are required for record creation
they are not required for record deletion.

This change rectifies that oversight, saving Ansible from
unsuccessfully trying to operate on NoneType objects.

Resolves #63364
2019-10-16 17:58:41 +05:30
332b220854 cloudscale: fix boilerplate (#63533) 2019-10-16 11:02:32 +02:00
c4ce4a6c03 mysql_variables: update MySQL in CI to 8.0 (#63454) 2019-10-16 08:30:33 +02:00
d829a50a5b Fix use of deprecated function in xml module. 2019-10-15 15:29:11 -07:00
32b57d57a0 Add constraint for pathspec.
This fixes installation of pathspec on Python 2.6.
2019-10-15 14:39:29 -07:00
4bc298af83 Fix return value documentation (2/2) (#63478)
* Fix return value documentation (2/2).
* Avoid validation errors for missing 'contains:'.
* Convert JSON text to JSON dict.
* example -> sample.
* Fix YAML.
2019-10-15 15:53:46 -05:00
20be8693ba Revert "Remove top-level arguments from network modules (#62603)"
This reverts commit d5ac3f7e77.
2019-10-15 12:53:51 -07:00
e4eea0510c Fix warnings for ufw examples (#63505) 2019-10-15 11:55:45 -04:00
e0f67b58ce Fix doc - porting_guide_2.8 value example (#63493) 2019-10-15 10:50:10 -05:00
d5ac3f7e77 Remove top-level arguments from network modules (#62603)
Eh, 2.10 is close enough

* drop top-level authorize

* Remove from documentation

* Remove load_params

* nxos_hsrp: I don't think this is an actual module parameter

* Move local params to provider

* Promote 'timeout' to a real parameter for eos_eapi

* Provider now always has auth_pass
2019-10-15 11:41:35 -04:00
6bea1597cc Fix return value documentation (1/2) (#63477)
* Fix return value documentation (1/2).
* Avoid validation errors for missing 'contains:'.
2019-10-15 10:03:08 -05:00
16e49fdd44 ovirt_vm add warning about next run configuration (#63458) 2019-10-15 09:42:32 -04:00
ecf71dd720 mysql_user: add seealso (#63497) 2019-10-15 10:48:13 +02:00
e967060b9f Update unarchive.py - Further clarify extra_opts (#58102)
* Update unarchive.py - Further clarify extra_opts
Update the description in the options to help assist with what the module is looking for in the extra_opts.  #31873 alone is not enough since if you are not familiar with the option given in the example it may not be obvious that both elements are part of the same option instead of being two different options.

Co-Authored-By: Alicia Cozine <879121+acozine@users.noreply.github.com>
2019-10-14 15:38:49 -05:00
2b1e24fc49 package_facts - use AnsibleModule.warn() for warnings 2019-10-14 13:30:16 -07:00
7bb90999d3 Fix Gitlab module deprecation warning (#60425)
* gitlab modules : Fix deprecation warnings and parameters

Also preparing for 2.10 deprecation

* gitlab modules : Correct deprecation message
2019-10-14 15:58:21 -04:00
e9d10f94b7 user - fix shadow file parsing on AIX (#62547)
Initialize variables in case the shadow file is not found.
Handle IndexErrors if something goes wrong with file parsing.
2019-10-14 15:44:22 -04:00
d8389d9f55 Ensure we preserve the /api appended URL (#63472) 2019-10-14 13:34:07 -05:00
da46800f1b Update 'delete' parameter description in synchronize module (#63450)
Co-Authored-By: Abhijeet Kasurde <akasurde@redhat.com>
2019-10-14 13:49:43 -04:00
0beab6bf69 ovirt update fetch_nested param doc (#63191) 2019-10-14 12:21:17 -04:00
e9d29b1fe4 Properly mask no_log values is sub parameters during failure (#63405)
* Get no_log parameters from subspec

* Add changelog and unit tests

* Handle list of dicts in suboptions

Add fancy error message (this will probably haunt me)

* Update unit tests to test for list of dicts in suboptions

* Add integration tests

* Validate parameters in dict and list

In case it comes in as a string

* Make changes based on feedback, fix tests

* Simplify validators since we only need to validate dicts

Add test for suboptions passed in as strings to ensure they get validated properly and turned into a dictionary.

ci_complete

* Add a few more integration tests
2019-10-14 09:20:07 -07:00
876a2d57be Changed with_items to loop in VMware example (#63022) 2019-10-14 21:48:20 +05:30
ab249a469e ini_file: remove incorrect documentation (#63394) 2019-10-14 12:14:32 -04:00
4c2b137728 Deprecate hash_behaviour (#63300)
* Deprecate hash_behaviour

* Fix wording
2019-10-14 10:35:11 -05:00
ffe8f45ddd Pickle non-str objects to survive connection return (#63110)
* Fail more helpfully when data is not str

* Pickle arbitrary objects to return from connection
2019-10-14 11:34:37 -04:00
11dc3a972f Fix example typo for vmware_host_facts module (#63434) 2019-10-14 11:14:50 -04:00
7a8c909876 Enter should be Italics as it is a menu option (#63441) 2019-10-14 11:04:05 -04:00
36457bebc9 add a new module ce lacp to manage Eth-Trunk interfaces mode (#58077)
* add a new module to manage lacp

* add a new module to manage lacp

* add a new module to manage lacp

* add a new module to manage lacp

* add a new module to manage lacp

* update for shippable.

* update for shippable

* add units test to module ce_lacp.

* add units test to module ce_lacp.

* add units test to module ce_lacp.

* update

* update

* update

* update

* update

* update

* update for shippable.

* for shippable

* update ignore.txt to reslove conflict

* update for shippable

* update

* update unittest to remove provider.

* update unittest for shipppable.

* use to_native.

* intergration test

* syntax error

* syntax error

* syntax error

* update for `Andersson007` review and thanks.

* update for shippable
2019-10-14 15:14:43 +01:00
500f056b4e ovirt_vm correct graphical port (#63379) 2019-10-14 07:57:13 -04:00
2fe2a12440 ovirt_disk add state imported (#62859)
* ovirt_disk add state imported

* change search_by_name to get_id_by_name

* add disk_module.create as ret
2019-10-14 07:16:50 -04:00
aa0d4ef4ab ovirt_template remove unnecessary ret (#63382) 2019-10-14 07:16:34 -04:00
0ca682384d mysql_variables: add seealso, add return value (#63442) 2019-10-14 09:28:00 +01:00
d753168e9d docker_node_info: improve error handling (#63418)
* Improve error handling for get_service_inspect().

* Add changelog fragment.
2019-10-13 14:16:02 +02:00
7f643690c7 docker modules: improve return value list documentation (#63145)
* Improve type documentation.

* Also improve return values.
2019-10-12 15:08:20 -04:00
6170f3a6f6 Add route module (#60189)
* Add route module

* Update hwc_vpc_route.py

* Update hwc_vpc_route.py

* Update hwc_vpc_route.py

* Update main.yml

* Update hwc_vpc_route.py

* Update hwc_vpc_route.py

* Update hwc.py

* Update hwc_vpc_route.py
2019-10-12 18:15:02 +02:00
61b3784131 docker_image: fix option parameter so that warnings are issued (#63345)
* Fix option parameter so that warnings are issued.

* Add changelog.
2019-10-12 08:09:03 -04:00
d4bbb8e2b8 Update ce_facts to fix bugs (#63331) 2019-10-11 21:11:22 -04:00
054285c34c crypto modules: improve return value list documentation (#62929)
* Improve return value documentation by allowing entry for return values.
* Add docs formatting, adjust styling.
* Fix sample return value. (Taken from https://tools.ietf.org/html/rfc7517#appendix-A.1.)
* Work around abuse of .
2019-10-11 13:59:15 -05:00
ae265bc546 Move galaxy appendix info to a new Galaxy section (#63356)
* start galaxy docs restructure
* shared snippets in txt files
* moved all content to galaxy section
2019-10-11 13:19:44 -05:00
504d76e956 acl: fix module failure if there're spaces in a path (#63280)
* Make acl module to work with whitespaces in path

* Added a changelog fragment

* Add quotes to changelog fragment
2019-10-11 10:40:19 -07:00
29939383e6 Improve ecs_ecr module to handle image_tag_mutability feature (#62871)
Since 2019 jul. 26, AWS Elastic Container Registry can be configured to be immutable that prevent overwritting of an existing tag in the registry.
https://aws.amazon.com/fr/about-aws/whats-new/2019/07/amazon-ecr-now-supports-immutable-image-tags/
https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-tag-mutability.html

By default, ecr is created MUTABLE, as this was the only option before this feature.
This module leverage new capabilities of boto3 to configure image_tag_mutability option.
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ecr.html#ECR.Client.put_image_tag_mutability

The image_tag_mutability option definition was inspired by existing terraform module.
https://www.terraform.io/docs/providers/aws/r/ecr_repository.html
2019-10-11 09:13:13 -07:00
df283788e5 Nosh module documentation update (#63303)
* detail the 'status' dictionary
* did not add individual descriptions, see nosh documentation for those
* sample: False not being rendered unless 'False' is quoted
2019-10-11 11:07:53 -05:00
7f4befdea7 Wrap CLI Passwords with AnsibleUnsafeText, ensure unsafe context is not lost during encode/decode (#63351)
* Wrap .encode and .decode on AnsibleUnsafe objects

* runme.sh needs to be executable

* ci_complete

* Update changelog with CVE
2019-10-11 09:17:10 -05:00
73febd4ea6 prepare_vmware_tests: use module_defaults (#63209) 2019-10-11 19:46:54 +05:30
bdd0fac606 add note about collection links (#63346) 2019-10-11 08:27:26 -05:00
b7f12f9ff3 ce_netstream_global: bugs fix(list index out of range) (#63332)
* update to fix bugs:index out of range

* list index out of range

* list index out of range

* update for bad-whitespace

* Update ce_netstream_aging.py

* Update ce_netstream_aging.py

* Update ce_netstream_global.py

* Update ce_netstream_global.py

* Update ce_netstream_global.py

* Update ce_netstream_template.py

* Update ce_netstream_global.py

* Update ce_netstream_global.py

* Update ce_netstream_template.py

* Update ce_netstream_aging.py
2019-10-11 07:09:53 -04:00
79ab8cb48d enabled check mode on nxos bgp modules (#57360)
* enabled check mode on nxos bgp modules

* fixed indentation

* spaces instead of tabs
2019-10-11 11:50:40 +05:30
82dedec011 vmware_guest_sendkey/test: ensure the test VM is running (#63359)
The `vmware_guest_sendkey` module fails if the test VM is off. We this
commit, we ensures the VM is running.
2019-10-11 07:52:36 +05:30
286102eb5e vmware_host_kernel_manager: fix the test (#63358)
PR #62161 changed the name of key
returned by the module from `ansible_module_results` to
`host_kernel_status`.
2019-10-11 07:52:05 +05:30
aaef214a26 adapt to firewalld 0.7.0 for RHEL 8.1 Beta, Fedora 31+ (#63357)
Fixes #63254

Signed-off-by: Adam Miller <admiller@redhat.com>
2019-10-10 18:33:18 -04:00
bfd32c9b00 clean "changed" only after it has been processed (#59958)
* clean "changed" after it has been processed

without this change, a loop of `debug` tasks with `changed_when`
causes the "changed" status to get lost before output

* runme.sh tests for debug loop status
2019-10-10 18:24:31 -04:00
35cc228b3b VMware: name is not required parameter for vmware_guest_custom_attributes
Fixes: #63222

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-10-10 17:25:20 -04:00
b3deab4319 Update sros_config.py (#63132) 2019-10-10 16:56:08 -04:00
6ff5968781 fix aruba_config examples (#63136) 2019-10-10 16:41:03 -04:00
32980f214a [ec2_launch_template] Update examples (#63152)
- Update tasks names for existing examples
- Add a new example showing how to delete a launch template
2019-10-10 16:36:56 -04:00
719170e5c1 Update ec2.py (#63260)
Change the explanation of spot_wait_timeout
2019-10-10 16:34:22 -04:00
03b98f6351 Fix plain format output functionality (#63107) 2019-10-10 15:46:36 -04:00
6d52bdf4db fix default collection resolution in adhoc (#63298)
* fix default collection resolution in adhoc

* if an adhoc command is run with a playbook-dir under a configured collection, default collection resolution is used to resolve unqualified module/action names

* Set ANSIBLE_PLAYBOOK_DIR in integration tests.

* Fix config conflict in ansible integration test.

* add adhoc default collection test

* text-ify warning string
2019-10-10 12:42:03 -07:00
b20a0f4831 text-ify config warning message (#63349) 2019-10-10 11:31:54 -07:00
add74fd24b vmware_guest_network: avoid functional test failure
- Avoid the 00:50:56 MAC prefix, See: https://github.com/ansible/ansible/issues/63302
- Create an Ad-Hoc VM for the test and wait until the VMware tools are
  ready
2019-10-10 13:26:47 -04:00
7de70bde52 prepare_vmware_test: avoid the dependency on jmespath (#63344)
We don't really need to depend on jmespath for this.
2019-10-10 13:25:07 -04:00
904e8434db VMware: Add support to delete vm from inventory (#62903)
Fixes: #55572
2019-10-10 17:07:23 +05:30
3e87429365 mysql_replication: add support of resetmaster choice to mode parameter (#63321) 2019-10-10 13:02:57 +02:00
64a66f566d doc: mysql_info: add changelog and version_added for global_status (#63328) 2019-10-10 13:01:02 +02:00
45acdb41d2 Added Exos vlan resource module (#61865)
* EXOS_VLAN resource module

* EXOS_VLAN resource module

* EXOS_VLAN resource module

* EXOS_VLAN resource module

* EXOS_VLAN resource module

* Fix exos_vlans resource module and integration test

* Move exos_vlan folder to exos_vlans folder

* Fix exos->config->vlans and exos->utils

* Fix version_added

* Improve exos_vlans module and integration tests

* Fix exos_vlans.py

* exos_vlan resource module
2019-10-10 06:50:04 -04:00
eca33b80f0 mysql_info: add support for global status (#63189)
Signed-off-by: Yap Sok Ann <sokann@gmail.com>
2019-10-10 12:14:49 +02:00
f2e5e6de23 ovirt_vm: Fix getting console parameter (#63325)
Previously if the ovirt_vm module was executed without graphical_console
parameter, the task failed with "NoneType has no attribute 'get'". The
problem was that we obtained the graphical_console by
self.param('graphical_console', dict()), which returned None, in case
graphical_console is not passed instead of empty dict. So we must
change the line to self.param('graphical_console') or dict().
2019-10-10 04:32:00 -04:00
38d1025d58 mysql_replication: add mutually_excl block, new maintainer, seealso, change doc formatting (#63295) 2019-10-10 03:06:45 -04:00
77de663879 config encode errors should not be fatal (#63311)
* fixes #63310
* subset of fixes from #58638
* added warning on error
2019-10-09 17:08:29 -07:00
9d014778ad cronvar - use correct binary name (#63279)
Fixes regression introduced by #62554
Add integration tests for cronvar
2019-10-09 18:33:25 -04:00
ce402f003f Fix STS assume role error message when role does not exist (#63249)
AWS appears to have changed this error message again.
Fixes https://app.shippable.com/github/ansible/ansible/runs/145643/115/tests
2019-10-09 14:08:29 -07:00
ed203c5902 Fix galaxy url use everywhere when url is set in config. (#63286)
In addition to trying the configured url (for ex, a migrated
'https://galaxy.ansible.com/') there is an attempt at that
URL with '/api' postpended.

If the extended URL works, update GalaxyAPI.api_server to
use the extended URL. Previously it only used it for finding
the API root info ('available_versions', etc)
2019-10-09 16:24:46 -04:00
5349b3ae4c docker_* modules: docs improvements (#63165)
* Improve docker_container docs.

* Fix usage of C(...) and I(...).

* Fix abuses of I(...).

* tls_verify has been made an alias of validate_certs some time ago.

* Fix YAML problems.

* Update lib/ansible/modules/cloud/docker/docker_container.py

Co-Authored-By: Andrey Klychkov <aaklychkov@mail.ru>

* Update lib/ansible/modules/cloud/docker/docker_container.py

Co-Authored-By: Andrey Klychkov <aaklychkov@mail.ru>

* Fix order.

* Split long description.

* Improve formatting.

* Rewrite state docs.

* Make proper sentences.
2019-10-09 22:21:28 +02:00
1d5206f53e Pass a JSON file to the Lambda's payload (#63261)
* Add an example of passing a JSON file to the Lambda's payload
Events passed to Lambda are commonly in JSON format, the change provides an example of using JSON file as an alternative to the inline YAML payload in the other examples.
2019-10-09 15:10:32 -05:00
5ed163ce3f Spot instance code error (#63246)
##### SUMMARY
Adds 'instance_initiated_shutdown_behavior: terminate' to spot instance example for greater efficiency.
2019-10-09 14:57:13 -05:00
81a614684a Typo on line 161 (#63133)
fix module name for azure_rm_manageddisk in one example
2019-10-09 14:38:32 -05:00
021d095625 Fix broken link (#63185) 2019-10-09 14:36:43 -05:00
ce1c8c24f7 Update win_disk_facts.py example (#63266)
Fix incorrect index for second disk (should be `disks[1]` not `disks[0]`)
2019-10-09 14:21:37 -05:00
aa04e61c89 docker_* modules: add docker module defaults group (#63164)
* Add docker module defaults group.
* Add footnote about docker_stack not being included (instead of remarks column)
2019-10-09 14:12:02 -05:00
b46299ff86 Update stat.py (#63289)
Reword awkward documentation language.
2019-10-09 14:07:56 -05:00
19587b35da docs: add Centos and Ubuntu to examples for playbook conditionals (#63085)
* docs: add Centos and Ubuntu to examples for playbook conditionals

Co-Authored-By: Sandra McCann <samccann@redhat.com>
2019-10-09 14:05:21 -05:00
0fcb6574dd Ovirt: add ovirt_vnic_profile_info (#62396) 2019-10-10 00:20:12 +05:30
3ad602bfa6 Add aliases to path parameter of stat module (#61270) 2019-10-09 11:24:59 -04:00
d4ad541eee dest lives in 4 different places depending on exeuction type (#62444) 2019-10-09 19:50:08 +05:30
d336a14da6 Fix junos unicode errors. (#63046) 2019-10-09 19:26:27 +05:30
71bcce5db5 mysql_replication: add channel parameter (#63271)
* mysql_replication: add channel parameter

* mysql_replication: add channel parameter, add changelog
2019-10-09 14:27:01 +01:00
f72d4d2339 Do not use fully qualified module_utils imports (#63101) 2019-10-09 11:30:43 +02:00
9f9afcb203 mysql_replication: add connection_name param for MariaDB multi source replication support (#63229)
* mysql_replication: add connection_name param for MariaDB multi source support

* mysql_replication: add connection_name param for MariaDB multi source support, add changelog
2019-10-09 10:05:55 +02:00
fd229dcbb5 add ANSIBLE_PLAYBOOK_DIR envvar support (#63220)
* add ANSIBLE_PLAYBOOK_DIR envvar support

* allows `ANSIBLE_PLAYBOOK_DIR` envvar as a fallback on CLI types that support `--playbook-dir`. This should have been implemented with #59464, but was missed due to an oversight.
* added basic integration test

* make first-class PLAYBOOK_DIR config entry

* update changelog
2019-10-08 17:34:15 -07:00
bad72693e4 Stop appending '/api' to galaxy server url (#63238)
* Stop appending '/api' to configured galaxy server url

Since not all galaxy REST api server URLs live
at '/api', stop always appending it to the
'url' value loaded from config.

* Add note about manually migrated galaxy configs and /api

* Add '/api/' to galaxy url and guessing if galaxy API

* Fix most unit tests (update to expect /api/)

* Fix test_initialise_unknown unit test

Since we retry now with an added /api/, mock it as well.

* Update fallback default avail_ver to new format
2019-10-08 15:09:19 -07:00
dbc9444572 ec2_vpc_nacl and ec2_vpc_nacl_info migrate to AnsibleAWSModule and add tests (#63163)
* Move EC2 networking objects into network-policy.json

* ec2_vpc_nacl: Add integration tests

* ec2_vpc_nacl: Migrate tests to use module_defaults

* ec2_vpc_nacl: (integration tests) Add missing AWS permissions

* ec2_vpc_nacl: (integration tests) Update tests for ipv6 support

* ec2_vpc_nacl: Migrate to AnsibleAWSModule

* Fix sanity tests for ec2_vpc_nacl and ec2_vpc_nacl_info

* ec2_vpc_nacl_info: Migrate to AnsibleAWSModule

* ec2_vpc_nacl_info: (integration tests) Rename from ec2_vpc_nacl_facts to ec2_vpc_nacl_info and add a test using a filter (by tag)

* Pick availability zones dynamically

Rather than assuming that AZa and AZb always exist (they don't), query to find out which AZs we have available first

* Test that the NACLs we get back are actually the *saml* NACL rather than duplicates/delete remove

* Cleanup IPv6 tests a little.

Note: IPv6 support for ec2_vpc_nacl not complete yet.

This provides the initial framework, and should ensure things don't start exploding when support is added.

* Removing subnets by name from a NACL *is* now supported

* Fix ec2_vpc_nacl return documentation
2019-10-08 13:27:24 -07:00
811127d64d Add RHEL 8.1b to the Shippable test matrix. 2019-10-08 13:06:28 -07:00
5997d33381 Updated with slipped dates for the 2.9.0 release (#63243) 2019-10-08 14:13:45 -04:00
941a9b68fc Docs: User guide overhaul, part 1 (#63056) 2019-10-08 13:46:38 -04:00
da1a945088 fix typo in collection/plugins/readme (#63162) 2019-10-08 11:12:34 -04:00
35c3d831fb ovirt_vm: Add new suboptions to graphical_console (#63230)
Fixes: https://github.com/ansible/ansible/issues/63225

This PR add following new suboptions to graphical_console param:

  - keyboard_layout
  - monitors
  - disconnect_action
2019-10-08 11:12:14 -04:00
67d9cc45bd maven_artifact.py - add support for version ranges by using spec (#54309) (#61813) 2019-10-08 15:24:50 +01:00
65fd331cb5 Ovirt add template timeout error (#63199)
* Ovirt add template timeout error

* correct example syntax
2019-10-08 10:03:44 -04:00
3b18337cac lineinfile - fix bug with insertbefore/insertafter and firstmatch (#63194) 2019-10-08 10:01:36 -04:00
b7a9d99cef Add spaces around {{ indicators. (#63125)
##### SUMMARY
The example looked a little less readable by not having spaces after `{{` and before `}}`. This commit should make the examples match [ansible-lint rule 206](https://github.com/ansible/ansible-lint/blob/master/lib/ansiblelint/rules/VariableHasSpacesRule.py)

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2019-10-08 13:41:54 +01:00
5fcaefc012 mysql_replication: small fix of master_delay parameter (#63221) 2019-10-08 13:06:54 +05:30
022335669c Work around ssh-keygen issue in ansible-test. (#63211)
Newer versions of ssh-keygen create PEM keys that are not recognized by Paramiko.

Now ansible-test compensates for this by updating they keys it generates so Paramiko will recognize them.
2019-10-07 14:36:05 -07:00
314f9fbd5c Support latest version while upgrading VM hardware. (#62188)
Support for the `latest` version during an VM hardware upgrade.
2019-10-07 16:41:57 -04:00
4c79f1ec4d Fix ansible-test integration temp dir location.
Previously the temporary directory used to run integration tests resided under the user's home directory. This prevented ansible-playbook from detecting the default collection when running tests.

Now the temporary directory is created within the collection to facilitate default collection detection.
2019-10-07 13:12:59 -07:00
32979430d0 Add missing var for format string in ansible-test. 2019-10-07 13:10:42 -07:00
deda9d4cc5 VMware: Add module defaults for VMware modules (#63197)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-10-07 14:24:58 -04:00
86ae3cfa12 Install zip for unarchive test when using dnf. 2019-10-07 10:41:46 -07:00
4959ab5004 Bug fixes for GCP modules (#63153) 2019-10-07 13:22:41 -04:00
1522603078 New Module: gcp_compute_region_backend_service (#63154) 2019-10-07 13:22:26 -04:00
94433dc65e New Module: gcp_compute_region_backend_service_info (#63155) 2019-10-07 13:22:19 -04:00
785ba62867 vmware: Only add configured network interfaces to facts (#28552)
This change effectively filters out any network interfaces which were
not explicitly configured for the guest. This fixes some unexpected behaviour where a machine with multiple IP addresses (for example, when Docker is installed, an internal IPv4 interface is added to
communicate with the container) would show one of the internal
addresses in the 'ipv4' field, but then no other information about the
corresponding hardware interface.
2019-10-07 21:41:50 +05:30
e48202838c mysql_replication: add master_delay parameter (#63130) 2019-10-07 15:23:56 +02:00
30c2d21f17 mysql: add elements for list params to the modules' documentation (#63187) 2019-10-07 07:58:15 -04:00
8a37a2440e postgresql: add elements for list params to the module's documentation (#63186) 2019-10-07 04:44:57 -04:00
0554b50eed Misc typo in nxos_config documentation (#62629)
* Changed 'exit' to 'exist'
* Removed unnecessary word 'first'
2019-10-07 11:23:31 +05:30
7b7d266a39 VMware: add properties option to vmware_host_facts module (#62916)
* add properties option to vmware_host_facts
2019-10-07 10:27:57 +05:30
e977e0af74 VMware: Update maintenance notes on vmware_cfg_backup (#62853)
Maintenance mode seems only to be required for load or restet, not for save_configuration.
2019-10-07 10:19:37 +05:30
b5cc0872e7 Typo fix in mssql_db (#63184)
Changed from 'then' to 'than'
2019-10-06 21:13:23 -04:00
a99af710fb mariadb_replication / mysql_replication integration tests: conflicts on centos7 (#63171)
* Change group of mariadb_replication to avoid mysql_replication conflicts.

* Add remarks.
2019-10-06 10:21:15 +02:00
2b6ee572ee CentOS8/RHEL8 base don't have all the deps we were specifying
We used a few packages for tests which don't exist in RHEL8 base.  Don't
dep on those so those tests will simply skip
2019-10-04 20:52:22 -07:00
239d639fee Add support for automation-hub authentication to ansible-galaxy (#63031)
Adds support for token authentication in Automation Hub. Fixes: ansible/galaxy-dev#96
2019-10-04 17:57:37 -04:00
24b80848dc openssl_dhparam: add cryptography backend (#62991)
* Separate OpenSSL-specific code from generic code.

* Make sure absent works without OpenSSL.

* Add cryptography backend.

* Add tests.

* Add changelog.

* Duplicate disclaimer.

* Add dependency on setup_openssl.

* Forgot to adjust something.

* Fix version tuple.
2019-10-04 21:53:04 +02:00
a59b9d4269 Improve type documentation. (#62179) 2019-10-04 21:50:41 +02:00
41eafc2051 docker_container: improve image finding / change detection (#62971)
* Improve image finding / change detection.

* Checked wrong object.

* Improve behavior. (Let docker daemon sort this out.)

* Add changelog.

* Add simple test.

* Fix image name.

* Use new docker_image params.

* Rewrite.
2019-10-04 21:50:09 +02:00
bb9b2e87bc New Module: gcp_compute_node_group (#63080) 2019-10-04 13:10:53 -04:00
18237d78e4 New Module: gcp_compute_node_group_info (#63081) 2019-10-04 13:10:44 -04:00
d19b1da1e1 New Module: gcp_compute_network_endpoint_group (#63121) 2019-10-04 13:09:34 -04:00
7b7fff3d84 New Module: gcp_compute_network_endpoint_group_info (#63122) 2019-10-04 13:09:25 -04:00
7ac4756bf6 ios_bgp : Fix for bug #59083 (#63055)
* Fix for the bug 59083

* Bug fix #59083 - corrected linting errors
2019-10-04 10:56:08 -04:00
10ed3d0ec8 updated python-oca to pyone (#62867) 2019-10-04 09:23:25 -04:00
82a6f9d198 Update xml.py (#63128)
##### SUMMARY
Update example to remove escape characters in front of special characters as it is not needed to add explicitly anymore with latest ansible version


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2019-10-04 14:56:39 +02:00
66de3d429f mysql_replication: add basic CI tests with MySQL 5.6 (#63124)
* mysql_replication: add CI tests with MySQL 5.6

* mysql_replication: add CI tests with MySQL 5.6, add auxiliary checks

* mysql_replication: add CI tests with MySQL 5.6, fix comments

* mysql_replication: add CI tests with MySQL 5.6, add pause
2019-10-04 12:49:19 +02:00
b91f452f4f Fix ansible-test virtualenv real python search.
ansible-test now properly searches for `pythonX.Y` instead of `python` when looking for the real python that created a `virtualenv`.
2019-10-03 17:12:33 -07:00
f2214951c5 Update intro_installation.rst (#62994) 2019-10-03 16:57:30 -04:00
0311897722 Add docs on hiding sensitive data in loops (#63096) 2019-10-03 10:15:00 -05:00
fc5358cea0 Fix traceback for empty config (#62515)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-10-03 19:45:52 +05:30
7ae46329f2 This should never have been "support:network" (#63068) 2019-10-03 08:58:05 -04:00
ad5200a7c0 postgresql_lang: add owner parameter (#62999)
* postgresql_lang: add owner parameter

* postgresql_lang: add owner parameter, add changelog fragment
2019-10-03 18:03:06 +05:30
ea86b2c2f7 mysql_replication: add master_use_gtid parameter (#62648)
* mysql_replication: add master_use_gtid parameter

* mysql_replication: add master_use_gtid parameter, improve tests
2019-10-03 18:02:41 +05:30
6ad6fde424 datadog_monitor - Add api_host parameter (#62608) 2019-10-03 05:41:17 -04:00
25ac7042b0 pacman: remove 'recurse' deprecated option (#61961)
* pacman: remove 'recurse' deprecated option

* pacman: remove recurse deprecated option

* pacman: remove recurse deprecated option
2019-10-03 00:02:06 +02:00
e55f46f302 Doc updates to openssl_certificate and ecs_certificate (#63006)
* Doc updates to openssl_Certificate

* Doc updates to openssl_certificate and ecs_certificate.

* Update lib/ansible/modules/crypto/entrust/ecs_certificate.py

Co-Authored-By: Felix Fontein <felix@fontein.de>
2019-10-02 23:06:48 +02:00
ff933be7e6 VMware: new module vmware_guest_register_operation (#54647)
Added vmware module vmware_guest_register_operation

This module can do the following.

    Register VM to inventory
    Unregister VM from inventory

This is useful when you want to unregister a VM from inventory and register it again.
2019-10-02 16:57:03 -04:00
4bfa3b2bf8 aci_contract_subject: Remove missing entry (#63044)
This fixes a `KeyError: 'filter'` exception.
2019-10-02 21:46:48 +02:00
2f5886f4ef vmware/test: add vsphere-automation-sdk dep
The following modules depend on `vSphere Automation SDK`:

- `vmware_rest_client`
- `vmware_guest_info`
- `vmware_tag_manager`
- `vmware_vm_inventory`

The associated test cannot be run with `govcsim`. But the situation is
changing since we will soon run them on a regular lab, and so, we
need to install the dependency.

Bumping the default-test-container version to 1.9.3 to get a fresh version
of pip and requests.

Depends-On: https://github.com/ansible/ansible/pull/62412
2019-10-02 14:57:23 -04:00
93f851b698 Bug fixes for GCP modules (#61915) 2019-10-02 14:31:45 -04:00
c2b8f64e83 New Module: gcp_compute_node_template (#63064) 2019-10-02 14:30:10 -04:00
dc7dbc7aa8 New Module: gcp_compute_node_template_info (#63065) 2019-10-02 14:29:51 -04:00
c724aa22bf hcloud_volume: add linux_device to return values (#62865) 2019-10-02 20:19:10 +02:00
88a2778c60 hcloud_floating_ip_info.name: add version_added 2019-10-02 20:17:20 +02:00
84bde7aea6 hcloud_floating_ip_info: create temporary ip in integration tests 2019-10-02 20:17:20 +02:00
596f80586b hcloud_floating_ip_info: add name to return values 2019-10-02 20:17:20 +02:00
594a0fa9ae Add new truthy and falsy jinja2 tests (#62602) 2019-10-02 13:58:28 -04:00
918f768890 [stable-2.9] Fix nxos_l3_interfaces module and tests (#62545)
* Fix nxos_l3_interfaces module and tests

* Use get_interface_type

* get_interface_type in utils lib
2019-10-02 13:43:17 -04:00
926e423690 Add Azure Stack supported API profiles (#62675)
* Add Azure Stack supported API profiles

* Bug fix

* add enum package to requirements

* Revert bacl latest profile changes

* Bug fixes

* Bug fix
2019-10-02 13:04:28 -04:00
69317a9d3e IOS-XR: Fix iosxr_lag_interfaces intermittent failures (#62998)
* Fix iosxr_lag_interfaces intermittent failures

*  If the dictionary is read out of order from member
   the current logic in `diff_list_of_dicts` returns
   unwanted diff. Hence use `dict_diff` utils
   function instead of sets.

Remove zip() to make existing tests happy

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Address review comments

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-10-02 11:43:29 -04:00
8bcf11fee9 dnf - properly handle idempotent removal of wildcard globs (#63034)
Signed-off-by: Adam Miller <admiller@redhat.com>
2019-10-02 11:05:12 -04:00
911aa6aab9 Default collection install path to first path in COLLECTIONS_PATHS (#62870) 2019-10-02 10:22:00 -04:00
1fd79240db vmware_httpapi: version_added==2.10
`vmware_httpapi` hierachy will actually be released with Ansible 2.10, not
2.9. This commit fixes the `version_added` field.
2019-10-02 09:38:19 -04:00
0706782e4e mysql_replication: add return value, remove extra argument from function (#63036) 2019-10-02 13:33:53 +02:00
d6781a2a5a Bug fixes for GCP modules (#61590) 2019-10-01 18:27:51 -04:00
2b535cc59a Bug fixes for GCP modules (#61829) 2019-10-01 18:27:42 -04:00
53cd75bee6 Bug fixes for GCP modules (#61916) 2019-10-01 18:27:19 -04:00
b4d15b3040 Bug fixes for GCP modules (#61917) 2019-10-01 18:27:03 -04:00
ecc47b653b Bug fixes for GCP modules (#61918) 2019-10-01 18:26:56 -04:00
8bfc39e231 ACME module defaults (#62719)
* Add module defaults group 'acme'.

* Start YAML document.
2019-10-01 17:14:22 -04:00
50d1cbd30a fix issue #60237 when non-ascii is returned from the WLC (#60243)
* fix issue #60237 when non-ascii is returned from the WLC

* update test to work with python3 through use of six library

* remove trailing white space
2019-10-01 16:52:35 -04:00
30cc54da8c rpmfilename must be constructed using rpmmacros
Different subpackages have different names so, at the least, the %NAME
macros must be used when constructing the rpmfilename.  Otherwise each
subsequent subpackage will overwrite the previous one.

This reinstates dag's fix from d4b6aecd97

Fixes #62673
2019-10-01 10:29:40 -07:00
ada02f1966 Limit Shippable matrix check to ansible repo. 2019-10-01 09:53:19 -07:00
f102705c95 changed capitals vSphere (#62975) 2019-10-01 16:41:50 +02:00
d8109550ec mysql_replication: setup a later version of MariaDB (#62993) 2019-10-01 08:29:40 +02:00
593d639160 Fixes to the rpm dependencies
* Remove duplicate bundled provides line in the rpm spec file
* Remove jmespath and passlib on RHEL7 as these are optional dependencies
  which aren't shipped with RHEL7
2019-09-30 20:51:16 -07:00
1e6fd6f54d Adjust documentation for yum clean to use best practices (#62898)
The yum module docs suggested using `shell: yum clean all`, which gives an `ansible-lint` error. Plus, you should use the `command` module unless you need more advanced features than just passing in an arbitrary command. Fixes that problem by using the `command` module in the example instead.
2019-09-30 18:33:53 -04:00
87a6f8397e Concise file module example description (#62932)
A file won't be created by the example, the execution would fail unless the file already exists as specified by the module options
2019-09-30 18:30:33 -04:00
6bbd9c9eca add ios/iosxr deprecated modules (#62908) 2019-09-30 18:18:57 -04:00
3f2380ccce Exclude tmp dir from ansible-test results copy.
This fixes test errors related to failures copying temporary test results files from a remote system back to the local system.

It also speeds up processing of test results and reduces network utilization by avoiding the temporary files.
2019-09-30 18:18:37 -04:00
0d79013f51 Modernize Vagrant documentation (#62923)
* By requiring a slightly newer Vagrant version (from 2015) we get the
  same generated Ansible inventory format is still used by today's
  version of Vagrant. That extended inventory format also has the
  benefit of allowing for simpler Ansible examples.

* Switching to a current and supported Ubuntu LTS version.
2019-09-30 17:47:57 -04:00
d01035ef25 VMware: Move helper functions from vmware_host_config_manager to module util. 2019-09-30 16:55:36 -04:00
ad580a71c4 fix minor typos (#62950) 2019-09-30 15:31:35 -04:00
c8315bfd60 Prefer https:// links in the docs site (#62939)
This is a follow-up of last year's 1a11cec. It deals with links which
at that point either were not present or did not support https://.
2019-09-30 15:11:19 -04:00
7ecfa4a471 vmware guidlines: adjust the location of cloud-config-vcenter.ini.template (#62970)
Update the location of the cloud-config-vcenter.ini.template template.
The file has been moved by: 2e7d36a3f9.
2019-09-30 14:21:35 -04:00
c6c13b5626 Fixing typo mistake in testbed with section. Deploy template from content library is supported from 67U3 2019-09-30 11:54:15 -04:00
67213ccb4d Fix traceback for empty config (#62520)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-09-30 20:37:28 +05:30
9aff5f6007 ovirt_vm add reboot state (#62785)
* ovirt_vm add reboot state

* update pep8 syntax

* update docs

* correct whitespace
2019-09-30 10:46:19 -04:00
44a6c69562 Remove unused variables from nxos_ping / nxos_snapshot (#62933)
This was caught by our network collections lint jobs.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-09-30 10:12:31 -04:00
50dc41cca2 ovirt: Fixing typo in ovirt_disk examples (#62962) 2019-09-30 08:25:34 -04:00
c24a85c793 lookup: lmdb_kv: fix for py3 2019-09-30 11:00:00 +02:00
6370c63efc lookup: lmdb_kv: add tests 2019-09-30 11:00:00 +02:00
a2270ead2f new lookup plugin: LMDB - allow wildcard searches - make dbname configurable for with_lmdb_kv: - added built-in documentation - incorporate suggested changes by dw - comment spaces - outdent for the bot 2019-09-30 11:00:00 +02:00
62c0cae29a docker_container: fix idempotency for network IP addresses (#62928)
* Specifying IP addresses needs API version 1.22 or newer.

* Simplify code.

* Use IPAMConfig.IPv*Address instead of IPAddress and GlobalIPv6Address.

* Add changelog.

* Fix syntax errors.

* Add integration test.

* Don't rely on netaddr.

* Normalize IPv6 addresses before comparison.

* Install netaddr, and use it.
2019-09-30 10:47:02 +02:00
a79f7e575a docker_image and docker_login: move tests needing a registry into own target, add tests for docker_login (#62721)
* Move tests with docker registry into own target.

* Add docker_login tests.

* Add step which makes sure hello-world:latest is around.

* Make work inside docker container.

* Add dependency.

* Use plaintext password.

* Forgot check_mode.

* Add no_log to avoid double log output in verbose mode.
2019-09-30 06:09:00 +02:00
75c4e9ec05 Fix _validate_csr_subject and _validate_csr_signature (#62790)
On python 3, if there is no explicit "return True", the
function call will be seen as "False", thus failling the module
2019-09-29 16:17:38 +02:00
fd627e3b78 docker_container: document some of the unexpected behaviors. (#62325) 2019-09-29 14:52:47 +02:00
75dfe6c88a nsupdate: Use authoritative server for zone lookup (#62329)
Using a regular recursive resolver to lookup the zone name might not
work when the zone in question belong to a private/internal
domain. The authoritative server being used on the other hand will
definitely know about the zone(s) it's serving.

This approach is also consistent with the nsupdate module already
querying the specified authoritative server for TTL values.

The reason for the implementation having to loop until finding a
direct match is to account for different SOA responses triggered by
CNAMEs and DNAMEs. The previously used `dns.resolver.zone_for_name()`
function does the same.

Resolves #62052
2019-09-28 19:34:28 +02:00
ee91714eb2 New module: Add module to collect Amazon AWS IAM user info (cloud/amazon/iam_user_info) (#23382)
* AWS: new module iam_user_info

Signed-off-by: psharkey <psharkey@cleo.com>
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

Rename from iam_user_facts to iam_user_info.

Rename and target 2.10.

Fixing docs.

* Adding iam_user_info integration test.

Removing unnecessary tasks.

Fixing yamllint failure test/integration/targets/iam_user_info/defaults/main.yml:5:1: empty-lines: too many blank lines (1 > 0).

* name paramter is optional

* Switch to use AnsibleAWSModule.

* Convert to using fail_json_aws

* Rework asserts to inspect ARN.

* Move integration tests from iam_user_info to iam_user.

* Fix pep8 problems.

* ec2_argument_spec not needed with AnsibleAWSModule.

* Switch to use helper in AnsibleAWSModule.

* Add iam_user_info to the aws group.

* Add support for pagination and backoff.

* Check improper parameter usage first.

* Adding test cases for multiple users.

* Rmoving unneeded line.

* Remove unneeded imports.

* Switch to catch BotoCoreError.

* Adding tests for exception coverage.

* Compare user info directly with values from created user.
2019-09-28 22:00:59 +10:00
334d2ce764 mysql_replication: add CI tests for MariaDB (#62907) 2019-09-27 09:29:34 -04:00
c3eceb3a0d support creating an image from a volume (#59574)
* support creating an image from a volume

* leave filename/volume optional

* enforce volume/filename mutual exclusivity

* bump version_added to 2.10 for volume option

* add changelog fragment
2019-09-27 14:29:34 +02:00
3c8abc0b82 cron: add integration tests (#59830)
* cron: add integration tests

Use faketime in order to reduce waiting time. Using opensuse15
container:

    Tuesday 30 July 2019  23:03:19 +0000 (0:00:05.410)       0:01:28.291 **********
    ===============================================================================
    cron : install cron and faketime packages ------------------------------ 78.65s
    cron : wait 70 seconds max ---------------------------------------------- 5.41s
    Gathering Facts --------------------------------------------------------- 0.97s
    cron : enable cron service ---------------------------------------------- 0.72s
    cron : Use faketime with cron service ----------------------------------- 0.71s
    cron : command ---------------------------------------------------------- 0.41s
    cron : create directory for cron drop-in file --------------------------- 0.41s
    cron : add cron task ---------------------------------------------------- 0.40s
    cron : command ---------------------------------------------------------- 0.25s
    cron : command ---------------------------------------------------------- 0.25s
    cron : include_vars ----------------------------------------------------- 0.06s

* cron test, simplify: use Environment instead ExecStart

Thanks to mscherer for the suggestion.

* clean up comment: remove reference to outdated path

$OUTPUT_DIR is a plain path which doesn't reference any other
environment variables

* cron test: display elapsed time

* cron test: display some logs in case of failure

* cron test: handle FreeBSD

* cron tests: add checks
2019-09-26 21:50:54 +02:00
e7436e278f Remove Latin phrases from the docs (#62419)
* add styleguide about avoiding use of latin words
2019-09-26 15:12:24 -04:00
8b9c2533b5 Remove check_args from nxos (#62625)
* Remove check_args from nxos

* Clean up check_args from nxos
2019-09-26 15:02:09 -04:00
89abfcdb18 Remove check_args from eos & ios (#62623)
* Remove check_args from eos & ios

* Clean up check_args from eos & ios

* Missed ios_vrf
2019-09-26 15:01:53 -04:00
831e1bf2e0 Fix ansible-test PYTHONPATH handling.
Running from an installed version of ansible-test now results in tests using a dedicated directory for PYTHONPATH instead of using the site-packages directory where ansible is installed.

This provides consistency with tests running from source, which already used a dedicated directory.

Resolves https://github.com/ansible/ansible/issues/62716
2019-09-26 14:02:19 -04:00
d41050b28b Add some documentation about plugins in collections (#62465)
* Add some documentation about using plugins in collections

- FQCN requirements
- Sharing code in collections
- Limitations with inventory caching
2019-09-26 12:00:26 -04:00
de515522b6 allow option docker_storage_driver=overlay2 (#62874) 2019-09-26 11:34:49 -04:00
2375fd0990 find - clarify description of 'contains' (#62445) 2019-09-26 11:33:14 -04:00
d4064a965b Improved docs on docker_swarm_service (#62712)
* Improved docs on docker_swarm_service

Co-Authored-By: Piotr Wojciechowski <23406016+WojciechowskiPiotr@users.noreply.github.com>

Co-Authored-By: Felix Fontein <felix@fontein.de>
2019-09-26 11:30:59 -04:00
cea8a222a3 Update playbooks_environment.rst (#62800) 2019-09-26 10:42:23 -04:00
798c5a55fa Update win_dsc.py (#62863) 2019-09-26 10:38:14 -04:00
b33ae14949 doc: fix typos (#62852) 2019-09-26 10:18:29 -04:00
f8fcf7fcbb facts: detect FreeBSD jails guest (#62857)
* facts: detect FreeBSD jails

* PEP8 fix
2019-09-26 10:08:33 -04:00
5b1c047a56 postgresql: move CI test to separate targets (#62855) 2019-09-26 05:53:13 -04:00
992b81e8fc Added suffix note to process_name_exact parameter (#62849)
##### SUMMARY
<!--- Your description here -->


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2019-09-25 22:49:41 +01:00
cae4255a16 Fix broken link to powershell resources (#62845)
##### SUMMARY
The previous link (https://docs.microsoft.com/en-us/powershell/dsc/builtinresource ) is a 404 . MS has a new link https://docs.microsoft.com/en-us/powershell/dsc/resources/resources  with the same content

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2019-09-25 21:19:11 +01:00
2995ae4ffd Fix MSO examples (#62835)
Fix reported issues with the examples.
2019-09-25 18:29:36 +02:00
7dfd994a7e win_partition - Fix handling of maximum partition size (#58225)
* Fix handling of maximum partition size

* Added changelog fragment
2019-09-25 11:51:26 -04:00
53ba3c46cc postgresql: move CI test to separate targets (#62823) 2019-09-25 09:03:48 -04:00
3b409f2f50 win_format - Add allocation_unit_size (#56966)
* Fix allocation_unit_size

* Some final changes and added tests

* Cleanup...

* Fixes issues on 2012/R2

* Update tests for 2012/R2

* Suggested changes
2019-09-25 08:58:30 -04:00
7e01de96d7 add more anchors to collections docs (#62827) 2019-09-25 08:32:44 -04:00
322e225830 Fix issue when setting an empty pass to no_log param (#62804)
* Fix issue when setting an empty pass to no_log param

* Fix typo
2019-09-24 21:45:53 -04:00
1b3bf33bdf add anchors to support galaxy links (#62808) 2019-09-24 16:23:32 -04:00
8a4c8ae20a Add checks for Cloud Block Store (#62068) 2019-09-24 15:11:15 -04:00
09ac8c154a Update developing_modules_general_windows.rst (#62796)
Use American spelling of favor.
2019-09-24 13:37:49 -04:00
28d30a04aa SoftLayer: Added flavor option (#56036)
* Added flavor option

Added flavor option to allow for use of SoftLayer flavor templates when creating new virtual machines.

See here for examples of ordering a vm with the flavor parameter:
https://softlayer-python.readthedocs.io/en/latest/api/managers/vs.html

To see flavor options use:
`slcli vs create-options`

* Update sl_vm.py

* Update sl_vm.py

* fixed version
2019-09-24 11:18:49 -04:00
3299f29f7c update example document for zabbix_action module (#62667) 2019-09-24 11:15:33 -04:00
1520eba0a7 package_facts: improve return value documentation (#62725)
* Improve documentation for package_facts.

* Add sample return value.
2019-09-24 11:14:49 -04:00
3b2b418aad ovirt_host update force doc (#62491)
* ovirt_host update force doc

* update doc message
2019-09-24 11:06:49 -04:00
190b8fcd1c hcloud_volume: clarify volume size units (#62771) 2019-09-24 10:52:14 -04:00
7fa1e4f70f Fix sanity checks (#62782)
This PR fixes all new ACI sanity issues.
2019-09-24 09:00:00 -04:00
d4ec9422a3 Add proper error when trying to run on older PS versions (#62634) 2019-09-24 08:43:14 -04:00
7711524718 ce_sflow: update to fix bugs. (#59349)
* update to fix bugs.

* remove params which is not supported.

* update to remove some .

* update to remove some redundant code.

* update for missing import.

* Update ce_sflow.py

* Update ce_sflow.py

* Update ce_sflow.py

* Update ce_sflow.py

* Update ce_sflow.py

* Update ce_sflow.py
2019-09-24 05:49:42 -04:00
6be46b59fa postgresql: move CI tests to separate targets (#62773) 2019-09-24 10:42:08 +02:00
278398555d package_facts: check 'vital' and 'automated' values ('pkg' manager) (#62766) 2019-09-24 10:03:56 +02:00
7d344d00ef Fix whitespace issue in filter (#62768)
This fixes a reported issue.
2019-09-24 02:05:13 +02:00
a2846613b8 Apcon modules (#62028)
* Add APCON modules

* Fix cli regex

* revise for passing sanity tests

* Add unit test for apcon_command module
Remove apconos_config.py apconos_update.py apconos_cert.py for now

* Fix for santiy test

* test

* Ignore action-plugin-docs test

* Add apcon_command module

* conflict solved

* merge

* Fix for sanity test

* Revise integration test

* Mark integration test unstable

* Remove integration test temprorily

* 1. Ignored privilege escalation;
2. Ignored get_configure command;
3. Removed doc_fragments;
2019-09-23 16:42:17 -04:00
b17581a307 [Docs] Document the resource module builder (#62222) 2019-09-23 11:10:05 -04:00
fbf182c369 Improve type documentation. (#62178) 2019-09-23 16:26:13 +02:00
03b4d8f2a7 fixes option names in examples (#62706) 2019-09-23 09:19:38 -04:00
d6ef7c8530 module_utils-network-cloudengine: fix get_nc_next. (#62587)
* fix get_nc_next.

* add a changelog fragment.

* upadte for  changelgo fragment.

* merge two prs, one depens another.

* merge two prs, one depens another.

* update changelog.
2019-09-23 15:13:42 +02:00
bd8097ea91 Fix ios terminal regex for privilege escalation (#62479)
Fixes https://github.com/ansible/ansible/issues/61726

*  On some ios versions the passwrod prompt for enable
   command differs. Modify the regex to work with multiple
   password prompt patterns
   1) password:
   2) Password:
   3) Local_Password:
   4) Enter Local Password:
2019-09-23 15:14:47 +05:30
0530a08b67 postgresql: move CI tests to separate targets (#62732) 2019-09-23 04:28:52 -04:00
cb76be17d6 cloudflare_dns: Stick do RFC 2606 example domains (#62718)
It's not nice to use other people's domains in your examples.
2019-09-23 10:20:03 +02:00
fc6a37fe54 cloudflare_dns: Rename account_api_token parameter (#62707)
Name change triggered by the new parameter _api_token_ (8cabf1c) being
a bit too similar to the old name _account_api_token_. At the same
time _account_api_key_ is actually a better name for the original
parameter, in it mapping closer to the terminology used by Cloudflare.

Keeping _account_api_token_ as an alias for backward compatibility.
2019-09-21 23:03:23 +02:00
8cabf1c1d8 Support cloudflare API Tokens. (#62043)
API Tokens provide a new way to authenticate with the Cloudflare API.
They allow for scoped and permissioned access to resources.
2019-09-21 16:55:53 +02:00
c6dcf78f53 ACME modules: make compatible to Buypass ACME v1 CA, and fix bug in ACME v1 account update (#61693) 2019-09-21 16:53:15 +02:00
2e5137078d docker_login: fix Python 3 problem in #60381 (#62621)
* Fix Python 3 problem: run_command() returns native strings, not byte strings.

* Add changelog.
2019-09-21 15:13:31 +02:00
a7b239708e acme_* modules: deprecate acme_version default, announce that ACME v1 support will be deprecated eventually (#61667) 2019-09-21 15:01:29 +02:00
0239f70648 cloudtrail: Initial integration tests (#61919) 2019-09-20 18:46:37 -07:00
40660e7f6e iam_role : support managing max session duration and deleting the instance profile it creates (#62014)
* iam_role: Add support for managing MaxSessionDuration

* iam_role: Add support for deleting the IAM Instance Profiles we created

* iam_role: migrate all boto failures to fail_json_aws for consistency

* iam_role: test validity of path so we can throw a more understandable error

* iam_role: (integration tests) Split iam_role integration tests from sts_assume_role tests

- Make the iam_role tests more comprehensive
- Add tests for iam_role_info

* iam_role: (integration tests) Make some of our pauses optional

If the tests appear to be flakey we may need to enable standard_pauses
2019-09-20 13:26:29 -07:00
679d3a46fa doc: fix typo (#62668) 2019-09-20 22:10:52 +02:00
987265a6ef Account for empty strings when splitting the host pattern (#62442)
Improve tests
- add more unit test cases
- add specific integration test with more cases

Testing shows no major downside to calling .strip() twice in a comprehension vs. using a regular for loop and only calling .strip() once. Going with the comprehension for ease of maintenance and because comprehensions are optimized in CPython.
2019-09-20 16:03:51 -04:00
8d0c193b25 allow before/after diff to be NoneType (#62582)
when creating or deleting an object (e.g. via an API), before/after can
be `None` (or at least represented as such by the used library). to
avoid modules havig to do

    diff={'before': before or '', 'after': after or ''}

let's just convert `None` to an empty string that can be diffed properly
2019-09-20 15:47:18 -04:00
bb0fa0a622 k8s: apply no longer the default behaviour (#62632)
There are too many lingering uncertainties about the correctness of
apply behaviour. All tests seem to suggest it works, and it's definitely
performed well in real world application, but it may be a breaking
and unexpected change to default to apply

We will let apply bed in during 2.9 and allow people to opt in, we
may default to it in future (or not)
2019-09-20 08:22:42 -07:00
cced1a3cd1 ec2_vpc_subnet: Rename resource_tags > tags (#62663)
Most of the AWS module documentation refers to `tags` and not
`resource_tags`. This patch updates the documentation to match
other AWS module documentation. 😉

Signed-off-by: Major Hayden <major@redhat.com>
2019-09-20 15:36:11 +01:00
5ecbe9cbbb vcenter provider: Only rely on VMWARE_TEST_PLATFORM
Until now, the vcenter provider was switching between `static` and
`govcsim` depending on the presence of the following configuration file:
`test/integration/cloud-config-vcenter.ini`.

This was not consistent with Worldstream, which we enable with the
`VMWARE_TEST_PLATFORM` environment variable.

We now only rely on `VMWARE_TEST_PLATFORM` to know which platform should be
used. `govcsim` is still the default, this to preserve the original
behaviour.

This commit also rename the following variables to be consistent with the rest
of the code base. It also ensures they are alway defined, even with `govcsim`:

- `VCENTER_HOSTNAME`
- `VCENTER_USERNAME`
- `VCENTER_PASSWORD`
2019-09-20 10:33:44 -04:00
170b4e63ff fixed options (#62605) 2019-09-20 09:08:47 -05:00
7cfcf18a8c Update ovirt_vm.py (#62425)
* Update ovirt_vm.py
2019-09-20 09:40:14 -04:00
2969614c2c Fix link syntax and a typo in dev collections doc (#62650) 2019-09-20 09:36:23 -04:00
be9bf8cd15 postgresql: move CI test of *_publication, *_ext, *_slot to separate targets (#62646) 2019-09-20 12:47:13 +01:00
0c66e7ef10 VMware: Remove mentions of enable_vsan from vmware_cluster_ha example (#62616)
* VMware: Remove mentions of enable_vsan from vmware_cluster_ha example
* Add changelog fragment
2019-09-20 12:03:20 +05:30
6541bb0315 pids: Search for process name matches in the cmdline (#59318)
* Also search for process name matches in the cmdline
* Return integer pids
* Use correct variable name
* Fix linter concerns
2019-09-20 12:00:25 +05:30
41bfd2bf0e Include computer_name in VM instance facts (#62566) 2019-09-20 12:16:58 +08:00
153a322f54 Master (#62626)
* Update win_package.ps1

Update Test-Path to use -LiteralPath instead of -Path to fix issue where powershell will not detect path with special characters such as '=' and '[]'.

* Update win_package.ps1

modified other instances of -Path and changed to -LiteralPath.  All except line L243 since it is a different function.

* added literal path to get-itemproperty
2019-09-20 13:25:47 +10:00
2a206f0e4c update ce_bgp_af to fix bugs (#62589)
* update to fix bugs

* update to fix bugs
2019-09-19 22:34:11 -04:00
cee55ab718 mongodb_replicaset/test: properly kill the nodes
The `pids` module returns the list of the PID in a `pids` key.

This change ensures we correctly wait for the end of the previous mongod
instances before we start the next ones.

In addition, we remove an unnecessary `ignore_errors`.
2019-09-19 17:19:48 -04:00
85eba9d860 Fix test_galaxy failing test 2019-09-19 13:20:43 -07:00
7badeb6df0 [docs] split collections into user and dev guide sections (#62363)
* split collections into user and dev guide sections

* sentence case
2019-09-19 15:09:19 -05:00
6d35f9026f added networking porting guide info (#61999)
* added networking porting guide info

* Update docs/docsite/rst/porting_guides/porting_guide_2.9.rst

Co-Authored-By: Nathaniel Case <this.is@nathanielca.se>

* implemented review comments
2019-09-19 14:29:15 -05:00
4116d263c4 Add missing gcp modules to gcp module defaults group (#57779)
* Add missing gcp modules to gcp module defaults group

Fixes #56324

* Add changelog fragment for #57779
2019-09-19 20:25:47 +01:00
4cc4c44dd0 Add a representer for AnsibleUnsafeBytes (#62598)
* Add a representer for AnsibleUnsafeBytes

* changelog

* Add unit tests

Remove native string test until we have time to evaluate how this the function should work
Add non-ASCII characters to test cases

* Compare to the string on Python 2

Add a comment in the test about this behavior
2019-09-19 14:27:48 -04:00
c8e220a62e vm change to support specialized (#62586) 2019-09-19 09:45:24 -07:00
9a43a8fcfc Display leftover messages when shutting down. (#62431) 2019-09-19 10:37:14 -04:00
7b3d8431dd postgresql: move CI tests of *_tablespace, *_membership, *_idx to separate targets (#62575)
* postgresql: move CI tests of *_tablespace, *_membership, *_idx to separate targets

* postgresql: move CI tests of *_tablespace, *_membership, *_idx to separate targets, change formatting
2019-09-19 14:57:45 +01:00
7047b66d34 Add examples for various inventory setups to the documentation (#62323)
* Add examples for various inventory setups to the documentation. This closes #12480.

* Update docs/docsite/rst/user_guide/intro_inventory.rst

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

* Update docs/docsite/rst/user_guide/intro_inventory.rst

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

* Update wording in inventory examples

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

* Update wording in inventory examples

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

* Use code-block and rename groups in inventory setup examples

* Fix group name in inventory setup example

Co-Authored-By: Sandra McCann <samccann@redhat.com>
2019-09-19 09:32:04 -04:00
95525030e2 enables to set keys not present in existing config (#61607) 2019-09-19 07:14:26 -04:00
875cc156c9 Remove notifications for joshsouza (#62443) 2019-09-19 11:53:36 +01:00
70a33c3140 nsupdate: Don't mention the Microsoft DNS server (#62330)
Microsoft's DNS server uses GSS-TSIG to secure Dynamic DNS
updates. That is a Kerberos based form of TSIG neither supported by
the Ansible nsupdate module nor the underlying dnspython module.

Related to #57294 and #62238.
2019-09-19 11:45:53 +01:00
ea73e0c43a Update BOTMETA.yml (#62482) 2019-09-19 11:40:14 +01:00
7541dab1ef update to fix a bug. (#62417) 2019-09-19 05:15:48 -04:00
558ce6575d modify vmss to support specialized (#62571) 2019-09-19 14:29:49 +08:00
35463d45f4 Fix traceback empty config error to meaningful msg for IOS (#62538)
* fix empty config msg

* fix space

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
2019-09-19 10:13:36 +05:30
054519920e snapshot fix for backporting (#62559) 2019-09-19 11:42:08 +08:00
a684bb9f5b Ensure k8s apply works with check mode (#60572)
* Ensure k8s apply works with check mode

Update the new predicted object with fields from the previous object
before applying in check mode

Don't log output of `file` with `state: absent` on huge virtualenvs!

Fixes #60510

* Use openshift client fix to improve apply for check mode

Use new apply_object method to get a better approximation
of the expected object in check mode.

Requires released upgrade to openshift

* Add changelog fragment for k8s apply check mode fix

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

Co-Authored-By: Felix Fontein <felix@fontein.de>
2019-09-19 05:30:31 +02:00
bebb11b918 Disable setting of -s in shebang
RPM builds on Fedora and RHEL create a python shebang line with -s

This is not good for ansible since ansible has a lot of optional
features which need extra dependencies installed.  If the user installs
those extra dependencies to their home directory or to /usr/local then
the -s will keep them from being used.
2019-09-18 20:27:56 -07:00
978def38d8 error message updated (#62536)
* error message updated

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* test cases updated

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* error message updated

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>
2019-09-19 08:34:31 +05:30
1c64dba3c9 Fix plugin names for collection plugins. (#60317)
* Fix plugin names for collection plugins.

Add an integration test to verify plugin __name__ is correct for collection plugins.

* Fix collection loader PEP 302 compliance.

The `find_module` function now returns `None` if the module cannot be found. Previously it would return `self` for modules which did not exist.

Returning a loader from `find_module` which cannot find the module will result in import errors on Python 2.x when using implicit relative imports.

* add changelog

* sanity/units/merge fixes
2019-09-18 17:47:56 -07:00
cbe8271745 update ce_static_route to fix bugs (#62498) 2019-09-18 20:31:44 -04:00
b7897e3a8d cron - Only run get_bin_path() once (#62554) 2019-09-18 19:04:26 -04:00
064e443ea5 psexec - Fix kerb and interactive support (#62556) 2019-09-19 08:41:02 +10:00
d0c7b42e58 fix collection jinja2 cache issue (#62543)
* prevents premature lookup (and potential KeyError) of Jinja filter/test function cache that's not fully populated
2019-09-18 14:39:59 -07:00
bad338aca6 win_exec_wrapper - Be more defensive when trying to get output errors (#62376)
* win_exec_wrapper - Be more defensive when trying to get output errors

* Fix up property search
2019-09-19 06:53:56 +10:00
bf5b6695ec Add hint for config option priority (#62463)
* Add hint for config option priority

* Fix some spelling issues
2019-09-18 16:36:08 -04:00
864928365e Improve dconf documentation to include conversion problems (#62316) 2019-09-18 16:04:44 -04:00
d16ee65ecd Add link to become plugins in become docs (#62462) 2019-09-18 15:53:16 -04:00
a4a216640f chore/doc-module: sts_assume_role.py (#62475)
Update `Example` section with with the correct module usage.
2019-09-18 15:50:34 -04:00
951a80c8b0 cron - Use the default crontab executable in cron and cronvar modules (#59765)
In some remote environments, the `crontab` executable is
overloaded with a custom executable, which typically does
some pre/post processing before forwarding to crontab.

Instead of using the hardcoded `/usr/bin/crontab`, this uses
the `get_bin_path` utility to locate the default crontab executable.
2019-09-18 15:35:06 -04:00
b24f7d2800 vyosnoconfig tracebackfix (#62518)
* vyosnoconfig tracebackfix

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* vyos noconfig tracebackfix test cases added

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* test/integration/targets/vyos_lldp_global/tests/cli/empty_config.yaml
2019-09-18 21:58:39 +05:30
55f285a384 fix if equals error code if command not found (#62529) 2019-09-18 18:00:42 +02:00
2232232b45 fix delete to pass the right parameters (#62525) 2019-09-18 20:59:59 +05:30
cf8e84fc62 fix session_uid (#62523) 2019-09-18 20:38:31 +05:30
2e1c6a7839 Add fix for specifying current dir in collections_paths (#62478) 2019-09-18 08:04:22 -07:00
66e5427ffb cloudformation_info - fix KeyError (#62290)
* cloudformation_info - fix KeyError

* changelog
2019-09-18 09:58:58 -04:00
b87b359df5 postgresql: move CI tests of *_owner, *_info, *_ping, *_query to separate targets (#62500) 2019-09-18 14:22:13 +01:00
05ef39551a Remove unused variable from nxos module_utils (#62474)
This variable isn't used, remove it to make linters happy.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-09-18 09:11:47 -04:00
d5449eed11 tests: hcloud: Enable hcloud_floating_ip_info tests (#62494) 2019-09-18 13:55:05 +02:00
97b15e9f0c [stable-2.9] Stabilize nxos initiated copy for nxos_file_copy plugin (#62355)
* Retry spawn connection on failure

* Add debug logs

* Additional debug logs

* Close session before respawn attempt

* More debug info and increase loops

* Remove debug info and reset error dict on reconnect

* Add epdb debuger

* Add epdb debuger

* Add epdb debuger

* Wait before sending password and close pexpect session

* Fix comment typo

* Scrub error logs

* Scrub error logs

* Add more specific initial connect pattern

* Fix shippable errors

* Dont make remote_scp_server_password a hard requirement

* Add saftey check
2019-09-18 17:07:50 +05:30
fd7e156ccd Add hcloud_floating_ip module (#62409) 2019-09-18 11:26:53 +02:00
24ff3f257b fix azure_rm_rediscache notify notify_keyspace_events type (should be str) (#58922) 2019-09-18 17:01:28 +08:00
7d40f6d53e Remove obsolete MANIFEST.in entries. 2019-09-17 21:49:05 -07:00
e51fa5c972 luks_device: ansibot wasn't able to extract author (#62464)
Ansibullbot ignores lines without 'author' or dash [1].

The following command allows to check that no other module is impacted:

    rgrep -A1 -P "^author:[[:space:]]*$" lib/ansible/modules/ |grep -P "\.py-[[:space:]]*[^-][[:space:]A-Za-z\"'@()]+$" -B1

Related: https://github.com/ansible/ansibullbot/issues/1106.

[1] 02ae638641/ansibullbot/utils/moduletools.py (L828)
2019-09-18 00:32:24 -04:00
2d85cb3ded Update ce_info_center_global to fix bugs (#61283)
* Update ce_info_center_global to fix bugs

* Update ce_info_center_global to fix bugs

* Update ce_info_center_global to fix bugs
2019-09-18 00:15:14 -04:00
9bf0e69601 Update ce_bgp_neighbor to fix bugs (#60634) 2019-09-18 00:05:56 -04:00
8233389446 Update ce_netstream_export to fix bugs (#61652)
* Update ce_netstream_export to fix bugs

* Update ce_netstream_export to fix bugs
2019-09-17 23:56:15 -04:00
80fa2a0816 Update ce_netstream_aging to fix bugs (#61653)
* Update ce_netstream_aging to fix bugs

* Update ce_netstream_aging to fix bugs
2019-09-17 23:56:09 -04:00
027cd16b1a Update ce_snmp_target_host to fix bugs (#61842) 2019-09-17 23:20:58 -04:00
a260209098 Update ce_bgp_neighbor_af to fix bugs (#60937)
* Update ce_bgp_neighbor_af to fix bugs

* Update ce_bgp_neighbor_af to fix bugs

* Update ce_bgp_neighbor_af to fix bugs
2019-09-17 23:02:36 -04:00
3cde0b5693 Update ce_evpn_global to fix bugs (#61013) 2019-09-17 22:52:32 -04:00
80ead00838 Update ce_mtu to fix bugs (#61442) 2019-09-17 22:52:16 -04:00
12512f7319 Update ce_vxlan_arp to fix bugs (#61995)
* Update ce_vxlan_arp to fix bugs

* Update ce_vxlan_arp to fix bugs
2019-09-17 22:52:11 -04:00
e559fafbc4 Update ce_vxlan_vap to fix bugs (#61996) 2019-09-17 22:52:04 -04:00
90958b01c1 Update ce_evpn_bgp to fix bugs (#61136) 2019-09-17 22:08:27 -04:00
1a8c1c7365 Update ce_evpn_bgp_rr to fix bugs (#61168) 2019-09-17 22:08:12 -04:00
8eec5d2ab2 Update ce_interface_ospf to fix bugs (#61431) 2019-09-17 22:07:48 -04:00
698e3eae5e Update ce_ntp to fix bugs (#61654) 2019-09-17 21:56:51 -04:00
9d9863fec1 Update ce_ospf to fix bugs (#61684) 2019-09-17 21:56:44 -04:00
e1ca38e53a Update ce_snmp_traps to fix bugs (#61843) 2019-09-17 21:56:30 -04:00
5f35916b22 update ce_bgp to fix bugs (#60573)
* update ce_bgp to fix bugs

* update ce_bgp to fix bugs

* update ce_bgp to fix bugs

* update ce_bgp to fix bugs

* Update ce_bgp to fix bugs
2019-09-17 21:46:34 -04:00
db0f290ca3 Update ce_vrf_af to fix bugs (#61683) 2019-09-17 21:45:18 -04:00
466c3e63ce Update ce_stp to fix bugs (#61774) 2019-09-17 21:45:06 -04:00
b2d145d924 ce_mlag_interface:update to fix a bug (#60144)
* update to fix a bug

* ansible-test Ignoring 'blacklisted-name' on 'lib/ansible/modules/network/cloudengine/ce_mlag_interface.py' is unnecessary

* update

* update

* update for shippable

* update for shippable

* Update ce_mlag_interface.py

* Update ce_mlag_interface.py

* Update ce_mlag_interface.py

* Update ce_mlag_interface.py
2019-09-17 21:24:34 -04:00
acd459f909 Add missing changelog fragments. (#62471)
* Add missing default-test-container 1.9.2 fragment.
* Add missing default-test-container 1.9.3 fragment.
2019-09-17 17:33:58 -07:00
3b86dc3e12 WIP - Fix ansible-doc bugs and add integration tests. (#62461)
* Add integration tests for ansible-doc.

* Enable tests that now pass

* Cleanup processing of plugin docs

* Mostly separate the steps of processing plugin docs

  1) Acquire source data
  2) Transform and calculate additonal data
  3) Format data for output
  4) Output data

  format_plugin_doc() is still mixing transformation and formatting but
  that should be fixed in a devel-only change

* Raise exceptions in _get_plugin_doc() on errors.

* Remove check to exclude on blacklisted extensions.  We already request
  only .py files

* If there is no DOCUMENTATION entry in the plugin, raise an exception
  from _get_plugin_doc().  Everywhere we use _get_plugin_doc(), this is
  treated as an error

* If there is no ANSIBLE_METADATA raise an exception as well as
  displaying of docs assumes that this has been set.

* If there is neither DOCUMENTATION nor ANSIBLE_METADATA, warn about the
  lack of METADATA and error on the lack of DOCUMENTATION.  Lack of
  DOCUMENTATION is more important so it is what the user should see.

* Add a few special cases for backwards compat.  These should probably
  be made errors in 2.10:
  * no docs but has metadata shows no documentation rather than an error
  * empty plugin file shows no doumentation rather than an error

* Simplify backwards compatibility logic.
2019-09-17 15:45:30 -07:00
b68f5b406a test: bump default-test-container
VMware VSphere SDK needs an up to date version of `pip` for the
installation step. With the current image, we face the following error:

```
(...)
02:27 Collecting git+https://github.com/vmware/vsphere-automation-sdk-python.git (from -r /root/ansible/test/lib/ansible_test/_data/requirements/integration.cloud.vcenter.txt (line 2))
02:27   Cloning https://github.com/vmware/vsphere-automation-sdk-python.git to /tmp/pip-req-build-pm27t16b
02:33 Requirement already satisfied: pyvmomi in /usr/local/lib/python3.6/dist-packages (from -r /root/ansible/test/lib/ansible_test/_data/requirements/integration.cloud.vcenter.txt (line 1)) (6.7.1.2018.12)
02:33 Requirement already satisfied: lxml>=4.3.0 in /usr/local/lib/python3.6/dist-packages (from vSphere-Automation-SDK==1.4.0->-r /root/ansible/test/lib/ansible_test/_data/requirements/integration.cloud.vcenter.txt (line 2)) (4.4.0)
02:33 Processing ./\\localhost/tmp/pip-req-build-pm27t16b/lib/vapi-runtime/vapi_runtime-2.12.0-py2.py3-none-any.whl
02:33 Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: '/root/ansible/\\\\localhost/tmp/pip-req-build-pm27t16b/lib/vapi-runtime/vapi_runtime-2.12.0-py2.py3-none-any.whl'
```

Bump default-test-container to 1.9.3 to get an up to date release of
`pip` (was 19.0.2, is now 19.2.3).
2019-09-17 17:35:57 -04:00
d3ec5ca80f Update pip module docs (#62359)
* Clarifying pip module requirements in reference to #47361

* Further clarifying message with link to ansible_python_interpreter

* Clarifies pip behavior

* incorporates review feedback
2019-09-17 16:30:51 -04:00
459677877a hcloud_networ_info: be more resilient is network already exists
We may already have an existing network or subnet. This commit ensures
we don't raise an error in this case.
e.g: https://app.shippable.com/github/ansible/ansible/runs/143559/145/tests
2019-09-17 16:20:38 -04:00
9f7b124a6f Mark ansible-test cloud credentials as sensitive. 2019-09-17 13:08:14 -07:00
23c7bf6481 Fix access to exception using Python 3 scoping rules (#62268) 2019-09-17 13:28:37 -04:00
edf15b346f test: disable hcloud_floating_ip_info
Temporarily disable `hcloud_floating_ip_info`, this until #62414 is
resolved.
2019-09-17 13:19:40 -04:00
9addad0f4a fix ios_lldp_global (#62420) 2019-09-17 22:11:20 +05:30
f11429a80d fix typos in network modules (#62320)
* fix typos in network modules
2019-09-17 11:01:28 -05:00
aa673400da Update OpenNebula modules maintainers (#62281) 2019-09-17 10:52:03 -05:00
f9e7af4413 BOTMETA: Enable automerge (#62410)
It's been over 7 days since devel because 2.10 and automerge was disabled, therefore `version_added` should be correct for any current PRs.

Follow on from https://github.com/ansible/ansible/pull/61674
2019-09-17 16:28:46 +01:00
ea6e96985a Remove leading space in warning messages (#62002)
ci_complete
2019-09-17 10:16:00 -05:00
32fbde67f7 BOTMETA.yml: update for plugins/netconf/ce.py (#62000)
* update for plugin/netconf/ce.py

* update for plugin/netconf/ce.py

* update
2019-09-17 10:14:27 -05:00
0631e057e9 Redact sensitive values by default in ansible-test 2019-09-17 08:09:17 -07:00
84d9b3e589 Fix "JSON object must be str, bytes or bytearray, not list" (#62350) 2019-09-17 10:00:19 -04:00
5cd3be9129 gather_facts action plugin: Fix loading network facts modules for smart gathering (#59856)
* fix smart gathering for network_os in gather_facts action plugin

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* Fix detection of network_os for smart gathering

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* Add unittest

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* make pep8 happy

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2019-09-17 18:35:44 +05:30
74e4993628 Fix network_cli exec_command connection init (#62344)
* Fix network_cli exec_command connection init

Fixes https://github.com/ansible/ansible/issues/61596

*  If `exec_command` method is invoked from module side
   on connection object to execute the command on target
   host check if connection is created if not create the
   connection.

* Fix review comment
2019-09-17 09:00:54 -04:00
7a5a5e7c87 Fix traceback error in IOS and IOSXR when ran without config (#62400)
* fixes issue 61321

* complete iosxr

* fix ios_vlans

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
2019-09-17 18:24:50 +05:30
c1126afbfb ce_bgp_neighbor_af: fix a typo in module's parameter (#62403)
* ce_bgp_neighbor_af: fix a typo in module's parameter

* ce_bgp_neighbor_af: fix a typo in module's parameter, add version_added and changelog

* ce_bgp_neighbor_af: fix a typo in module's parameter, add aliase
2019-09-17 13:34:07 +01:00
98415dec86 postgresql_copy: move ci tests to a separate target (#62398) 2019-09-17 13:32:45 +01:00
b0668e17ed nxos_telemetry replaced state (#62368) 2019-09-17 16:49:30 +05:30
d8d3790d6a Bump acme-test-container version. (#62381) 2019-09-17 13:06:33 +02:00
a6857d6359 postgresql_table: add reference to postgresql_idx in seealso (#62387) 2019-09-17 11:55:48 +01:00
f9fd1f3626 To fix ios_l3_interfaces resource module round trip failure (#61642)
* fix 61396

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* add ios_l3_interfaces rtt tests

* remove unnecessary config

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* change test description

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* remove rtt and move to new PR
2019-09-17 13:40:32 +05:30
037401b6e0 fix plugins/netconf/ce.py for netconf/capability/exchange (#60569) 2019-09-17 08:00:55 +02:00
8bc397c229 Bug fixes to the Infoblox NIOS modules (#58521)
* Update nios_ptr_record to fix bug #58378

* Update to api.py to fix bug #58378 and #56856

* Update test_nios_ptr_record.py to fix bug #58378

* Update nios_ptr_record_idempotence.yml to fix bug #58378

*  Update test_nios_ptr_record.py to fix bug ansible#58378
2019-09-17 09:45:50 +05:30
b73e7721df Mark AWS credentials in ansible-test as sensitive.
This avoids displaying the credentials in CI when retrying tests at maximum verbosity.
2019-09-16 20:21:23 -07:00
6d8743d5f1 test: temp disable azure_rm_azurefirewall
Disabled `azure_rm_azurefirewall` until #62307 is fixed.
2019-09-16 21:24:30 -04:00
3e4d5aeee3 [WIP] VMware: Fix fragile sort order in vmware_vcenter_statistics (#62288)
* vmware_vcenter_statistics: Fix fragile sort order

* vmware_vcenter_statistics: Python 2.6 compatibility
2019-09-16 14:50:39 -07:00
a8dddff5ec Use to_native for error messages, fix docs typo 2019-09-16 12:11:41 -07:00
d4738596ce test: cleanup sanity/ignore.txt to avoid A100
See: https://app.shippable.com/github/ansible/ansible/runs/143332/5/console
```
21:30 ERROR: Found 1 validate-modules issue(s) which need to be resolved:
21:30 ERROR: test/sanity/ignore.txt:1608:1: A100: Ignoring 'option-incorrect-version-added' on 'lib/ansible/modules/cloud/openstack/os_keystone_endpoint.py' is unnecessary (75%)
21:30 See documentation for help: https://docs.ansible.com/ansible/devel/dev_guide/testing/sanity/validate-modules.html
21:30 ERROR: The 1 sanity test(s) listed below (out of 1) failed.
```
2019-09-16 12:10:14 -07:00
119acc1afe Remove unused variable for junos_user (#62311)
This isn't used any place, lets remove it to fix lint checks on our
network collections.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-09-16 14:06:11 -04:00
b1afb37ac9 Add implicit localhost hostvars note (#61956) 2019-09-16 14:00:29 -04:00
7a36606574 fixed build error for docs (#62356) 2019-09-16 12:21:06 -05:00
31fe1d1daf BOTMETA: add the vmware_httpapi team
Add the new `vmware_httpapi` for the new modules based on
`module_utils/vmware_httpapi`.

The `vmware_httpapi` label does not exist yet.
2019-09-16 12:17:54 -04:00
448a8c4e5f Fix os_keystone_endpoint endpoint_interface docs (#62283)
The os_keystone_endpoint module has two interface arguments -
'interface' for authentication, and 'endpoint_interface' for the
endpoint being registered. Currently the module documentation only
covers 'interface', when in fact it should cover 'endpoint_interface'
and pick up 'interface' from the standard OpenStack module parameter
documentation.
2019-09-16 11:02:43 -05:00
ac56d35e19 Fix azure_rm_virtualmachinescalesetinstance_info doc error (#62335)
* update azure_rm_virtualmachinescalesetinstance doc to use correct module name in examples
2019-09-16 10:54:20 -05:00
f44bfccb56 fix typos in storage modules (#62333) 2019-09-16 10:12:15 -05:00
b4dcd7c835 Network and address range tests (#62338)
* commit network and address_range

* remove test_cp_mgmt_network from ignore.txt
2019-09-16 11:03:03 +02:00
6bb8861b0e unique tests (#62328) 2019-09-16 11:00:28 +02:00
47cf4e6565 Commands tests (#62322)
* commands tests

* add space in order to delete it and tun shipable tests again

* delete space in order to run shipable tests again
2019-09-16 13:51:21 +05:30
ebdf78d6e4 Forth pr 18 tests (#62216)
* Update test_cp_mgmt_network.py

* 18 tests
2019-09-16 13:32:27 +05:30
a9a5f4e40d Change enable to enabled for junos_interfaces module (#62321)
Fixes #62319

Change `enable` option to `enabled` in junos_interfaces
and junos_lldp_interfaces
data model to be in sync with other network platform
resource modules added in 2.9 version.
2019-09-16 12:17:27 +05:30
4de3e2b440 Fix typos in remote_management modules (#62336) 2019-09-16 12:07:25 +05:30
74a3eec1d9 win_format - Idem not working if file exist but same fs (#59819)
* win_format - Idem not working if file exist but same fs

* Test fix

* Fix test assertion syntax

* Update tests.yml
2019-09-15 22:45:44 -04:00
c7662d8b2f correct behaviour of win_iis_webapplication when no applicationpool is specified (#61227)
* correct behaviour of win_iis_webapplication when no applicationpool is specified

* documentation for win_iis_webapplication apppool change
2019-09-15 22:27:18 -04:00
99796dfa87 win_find - Fix deduped files mistaken for directories (#58680)
* win_find - Fix deduped files mistaken for directories

* Update win_find.ps1

* Update win_find.py

* Update win_find.ps1
2019-09-15 20:02:05 -04:00
8def67939d Support large folder size comparisons for win_find (#58466)
* Support large folder size comparisons for win_find

Changed [int] to [int64] to support larger folders. Otherwise module fails as soon as a large folder is encountered.

* Create 58466-FIX_win_find-Bug-Get-FileStat_fails_on_large_files.yml
2019-09-15 19:04:59 -04:00
d361ff4122 Fix check mode support in win_group (#61977)
* Fix check mode support in win_group

* Fix copy/paste error
2019-09-16 06:45:43 +10:00
a0bec0bc32 Remove deprecated letsencrypt alias of acme_certificate (#61648) 2019-09-14 23:24:32 +02:00
14bccef2c2 Add ecs_domain module (#62007)
* Add ecs_domain module

* Fixes to integration tests and module

* Fixes to tests and module

* Corrections to revalidation behavior, cna only revalidate domains in expiring.

* Remove debugs for final test run, fix sanity check test fails.

* Add checks for domain status

* Add changelog fragment for new module.

* Removed extra space in backtick

* Minor fixes to make behavior more consistent and correct documentation.

* Update lib/ansible/modules/crypto/entrust/ecs_domain.py

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

* Update lib/ansible/modules/crypto/entrust/ecs_domain.py

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

* Update lib/ansible/modules/crypto/entrust/ecs_domain.py

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

* Apply suggestions from code review

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

* Change casing of verification method enum, remove redundant changelog fragment

* Return ov_eligible and ev_eligible fields even if false, as long as they're returned by ECS API
2019-09-14 19:33:48 +02:00
32d965e2c6 Fix display of sanity test doc links.
The documentation links are now displayed when running from an install.

Previously the links were only displayed when running from source.
This was due to ansible-test checking for the presence of documentation files locally, which are only present when running from source.
The check is no longer necessary since there is a sanity test in place to enforce the presence of documentation for all sanity tests.
2019-09-13 22:24:14 -07:00
3a5c68205c Third pr 18 tests (#62215)
* Update test_cp_mgmt_network.py

* 18 tests
2019-09-14 09:39:21 +05:30
271825cfaf Add unit tests for check_point ansible modules (#62214)
* Update test_cp_mgmt_network.py

* 18 tests
2019-09-14 09:38:06 +05:30
2421ad3e87 azure: re-balance tests to avoid timeout
- azure_rm_azurefirewall currently takes more than 25m to run: #62307
- azure_rm_manageddisk takes around 2 minutes
2019-09-13 18:19:01 -04:00
f6a51b3f07 revert back to contiguous (#62301) 2019-09-13 15:25:32 -05:00
d933278f3d Add version 2.14 to the removed_in list (#62298)
devel is now 2.10, so this needs to be bumped as well.
2019-09-13 14:32:11 -05:00
05ded87848 Add httpapi VMware REST VmwareRestModule (#60914)
* Initial commit of VMware HttpApi REST

New directory structure created for httpapi-based modules. These will
live in the 'vmware_httpapi' directory under 'modules/cloud'.  The
AnsibleModule class was extended to create the VmwareRestModule class
that lives in the 'vmware_httpapi' directory under 'module_utils'. It
implements comms with the httpapi plugin, and also provides debugging
output, url and filtering generation by object, and support for
multiple VMware REST APIs. It also provides dynamic handling of HTTP
return codes that can be tailored to each module's needs.
2019-09-13 14:34:11 -04:00
5be0668fb0 Ensure we don't erase unsafe context in TaskExecutor.run on bytes (#62287)
* Ensure we don't erase unsafe context in TaskExecutor.run on bytes. Fixes #62237

* Remove unused import

* Add missing import

* use args splatting for to_unsafe_text/bytes

* Add security issue to changelog

* fix yaml linting issue
2019-09-13 13:14:35 -05:00
7d51cac330 Don't treat no checksum as a checksum match (#62146)
Fixes #61978
* moar tests for get_url fetch behavior with existing file
* add changelog fragment
2019-09-13 13:24:15 -04:00
08279c7d54 Update default test container with Python 3.8b4 (#62100) 2019-09-13 12:38:47 -04:00
098a13dff4 Re-enable some docker_swarm tests. (#61875) 2019-09-13 12:08:45 -04:00
7917d4def7 Standardize eos resource modules (#61736)
* Fix eos_l3_interfaces case sensitivity

* Unify EOS module notes

* Add normalize_interfaces to eos_l2_interfaces

* Pull normalize_interface into eos_interfaces

* Add normalize_interface to lag_interfaces

* Add normalize_interface to lldp_interfaces

* Add normalize_interface to lacp_interfaces

* more module cleanup

* Add changelog
2019-09-13 09:35:50 -04:00
200ed25648 Fix for junos cli_config replace option (#62131)
* Fix for junos cli_config replace option

*  For device that support replace option by loading
   configuration from a file on device `config` option
   is not required and value of `replace` option is the
   path of configuration file on device. This fix allows
   invoking run() function in cli_config if `config` option
   is None and `replace` option is not boolean

*  The command to replace running config on junos device
   is `load override <filename>` and not `load replace <filename>`
   This is fixed in the junos cliconf plugin.

* Add integration test
2019-09-13 18:52:33 +05:30
2d19150757 Update mitogen link (#62247) 2019-09-13 09:20:19 -04:00
efdf52a254 remove undefined YAML anchor (#62273) 2019-09-13 08:50:42 -04:00
c7f9c3f27e Add unit tests for check_point ansible modules (#62213)
* Update test_cp_mgmt_network.py

* 17 tests
2019-09-13 13:54:29 +02:00
c226c1015e Update junos_user.py (#60459) 2019-09-13 15:49:06 +05:30
e33700c5e2 Update BOTMETA.yml (#62123) 2019-09-13 07:36:15 +01:00
991b865cb6 Update junos_config.py (#62221)
Add the commands alias to match UX of IOS, EOS etc.
2019-09-13 11:04:36 +05:30
1c3effe92e VMware: Change return key results from VMware modules (#62161)
Following module used internal results key as part of return json, this commit
changes this to appropriate values -
* vmware_datastore_maintenancemode.py
* vmware_host_kernel_manager.py
* vmware_host_ntp.py
* vmware_host_service_manager.py
* vmware_tag.py

Fixes: #62083

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-09-13 09:57:04 +05:30
041c52d629 Add info about layering properties 2019-09-12 18:55:13 -07:00
5deb01c84d Remove suggestion to go caving 2019-09-12 18:55:13 -07:00
9b348e690c Improve documentation on doc fragments
Add information and examples on how to use additional properites from a doc fragment
2019-09-12 18:55:13 -07:00
46ffcd6c44 ansible-galaxy - add config to control the display wheel (#61902)
* ansible-galaxy - add config to control the display wheel

* Fix changelog and make test more stable

* Don't use display thread at all if progress wheel isn't being shown
2019-09-13 11:06:18 +10:00
b010acfb27 nxos_bfd_global - add missing import of re (#62226) 2019-09-13 07:37:30 +10:00
c324503f5a Updating link for guest_id info (#61988) 2019-09-12 15:19:36 -05:00
09f1c286e0 Add some details to any_errors_fatal documentation (#62029) 2019-09-12 16:15:02 -04:00
0e72cbd451 openssh_keypair file permissions/ownership: add porting guide entry (#62176)
* Add porting guide entry for 2.9.
2019-09-12 15:05:01 -05:00
c1773d5d2b document suboptions for type:list options too (#62177) 2019-09-12 16:00:06 -04:00
740ec90688 sanity ignores for a collection need to go to tests/sanity/ (#62182)
collections use tests/ not test/ as the folder for tests
2019-09-12 15:55:19 -04:00
48a39f5616 typo: missing-subption-docs → missing-suboption-docs (#62180)
updates the name of the test and all ignore.txt entries
2019-09-12 14:51:20 -05:00
dc7a765e57 fix fact caching plugin name from json to jsonfile (#62198) 2019-09-12 15:45:43 -04:00
a2e61f67d5 core: Handle empty extra vars in cli (#61831)
Fixes: #61497

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-09-12 15:43:41 -04:00
a6ec6c3175 Fixes #56832: Remove warning when falling back to apt-get if aptitude is missing. (#61782) 2019-09-12 15:29:36 -04:00
606e13919e Always specify header of connection keep-alive regardless of python v… (#62218)
* Always specify header of connection keep-alive regardless of python version.

* Add chgangelog fragment

* Fixes to changelog fragment
2019-09-12 21:05:23 +02:00
6952295114 explicited RouterOS does not support connection: local (#62203) 2019-09-12 13:45:28 -04:00
46f633598e Add guidelines for when to use a doc_fragment (#61828) 2019-09-12 12:55:50 -04:00
c0f3777fe2 nxos_l2_interfaces: fix for integration tests failing to setup layer2 (#61887) 2019-09-12 21:46:52 +05:30
c4894b512d [stable-2.9] fix nxos_config tests for httpapi (#62082)
* fix nxos_config tests for httpapi

* Remove become parameter
2019-09-12 21:46:00 +05:30
f582d74f7c Fix bfd cmd order and test issues (#61943) 2019-09-12 21:45:37 +05:30
6e72893d78 nxos_lacp_interfaces: fix integration test dependencies (#61947)
* nxos_lacp_interfaces: fix integration test dependencies

* Add conditional mode test to m/d/r tests
2019-09-12 21:45:04 +05:30
621f273767 Revert "svc: fix a typo (#62174)" (#62212)
This reverts commit d838a9021a.

was not a typo, 'ed' is added later on and 'stop' goes to 'stopped'
2019-09-12 11:19:05 -04:00
c3c54302af Don't fail if exos can't configure cli columns (#51364)
* Don't fail if exos can't configure cli columns

Signed-off-by: Misha Komarovskiy <zombah@gmail.com>
2019-09-12 11:12:44 -04:00
6691527799 fix typos in commands modules (#62197) 2019-09-12 09:54:45 -05:00
742eebc92c fix typos in identity modules (#62200) 2019-09-12 09:54:15 -05:00
655f771547 fix typos in web_infrastructure modules (#62202) 2019-09-12 09:53:05 -05:00
d838a9021a svc: fix a typo (#62174) 2019-09-12 10:32:52 -04:00
c170ab5e31 Add exception handling when retrieving k8s client (#60726) 2019-09-12 15:02:52 +01:00
7e91998049 fix typos in cloud modules (#62194)
* fix typos in cloud modules

* fix typos in cloud modules, fix ci tests
2019-09-13 00:01:14 +10:00
3dbf89e8ae added version support to aws_ssm lookup (#61045) 2019-09-12 14:49:09 +01:00
6936187bbe fix typos in net_tools_modules (#62201) 2019-09-12 14:47:17 +01:00
dee529dc66 fix typos in clustering modules (#62196) 2019-09-12 23:45:34 +10:00
a72ea8440a elasticache_info: fix a typo (#62204) 2019-09-12 23:44:53 +10:00
f1766457a2 Handle cases where normal commit operation throws a prompt (#62132)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-09-12 16:25:56 +05:30
4e6270750a Set no_log to True for junos_user encrypted_password (#62184)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-09-12 12:38:40 +02:00
cd4882e229 Fix ansible-test vcenter test filtering.
The default behavior of the ansible-test vcenter plugin is to use the govcsim container to run tests.

However, unless the govcsim mode was specified using the VMWARE_TEST_PLATFORM environment variable, the filter code would skip the tests unless the tests ran on Shippable or the user had an ansible-core-ci key.

Now the filter correctly recognizes that govcsim is the default.
2019-09-12 02:13:57 -07:00
cdc4926340 Fix ansible-test collections requirements installation. (#62181)
* Fix location of unit test requirements.

* Preserve ansible-test unit test requirements.

* Remove redundant unit test requirements.

* Fix location of network test requirements.

* Preserve ansible-test network test requirements.

* Remove redundant network test requirements.

* Add missing ordereddict requirements.

* Load collection requirements correctly.

* Add changelog fragment.
2019-09-12 02:00:33 -07:00
4393940a41 Docs formatting: recursively preprocess suboptions (#61900)
* Simplify code, move option massaging code into own function.
* Process suboptions recursively.
2019-09-11 19:08:52 -05:00
6c78f02121 Add missing changelog entry for ansible-test fix.
PR https://github.com/ansible/ansible/pull/62119 was missing a changelog entry.
2019-09-11 13:03:36 -07:00
1dac0df7e5 Remove deleted file from sanity ignore list. 2019-09-11 12:54:32 -07:00
8b42de29fa hall: remove the module for supporting nonexistent messenger (#62152) 2019-09-11 20:33:03 +01:00
5b3526535c luks_device.py: allows user explicity define luks format version (#61812)
* luks_device.py: allow the user create LUKS based on specific versions

- Allow user pass an option 'type' that explicits define the version of LUKS
  container that will be created. It should be 'luks1' or 'luks2' format.
- If 'label' option is defined the 'type' option will be 'luks2' independently
  of the option 'type' informed by user. (labels NEED luks2 format)

Fixes: #58973
Signed-off-by: Alexandre Mulatinho <alex@mulatinho.net>

* added the changelog fragment

Signed-off-by: Alexandre Mulatinho <alex@mulatinho.net>

* luks_device.py: make it fail in certain conditions

- Not allow user especify luks1 type and label at the same playbook

Signed-off-by: Alexandre Mulatinho <alex@mulatinho.net>
2019-09-11 20:45:33 +02:00
5eb5f74083 fix typos in modules (#62135) 2019-09-11 13:40:22 -05:00
1b2fd2cb5f rabbitmq_publish fix for incorrectly stating message was not published to the queue (#61960)
* Pika v1.0.0 and above were causing issues for publish_message.  Updated
to ensure publish_message works with pika 0.13.1 and 1.0.0 and above.

* Adding changelog fragment for rabbitmq_publish fix.

* Updating return value.
2019-09-11 20:29:05 +02:00
2064fc3fc5 Added AWS SAML Federation Module (#55821)
* Added AWS SAML Federation Module

* iam_saml_federation: (integration tests) initial integration tests
2019-09-11 10:00:05 -07:00
a999f07010 Allow tower inventory plugin to accept integer inventory_id (#61338) 2019-09-11 11:48:38 -04:00
179eb623d7 docs: avoid confusing double negation (#62143)
Avoid "no backward incompatible interface" term which uses a double
negation and replaces it with easier "backward compatible interface"
contruct.
2019-09-11 11:26:22 -04:00
c0ea9f021b Added zabbix module zabbix_user (#56815)
This pull request adds a module to manage Zabbix users.
Tested with Zabbix Server(3.0, 4.0, 4.2).
2019-09-11 11:07:07 -04:00
9d67bfa31b Added zabbix module zabbix_user_info
[update] Fix zabbix_user_info module to use missing_required_lib helper and add zabbix logout processing.

Fixed the following issue.

* https://github.com/ansible/ansible/pull/58002
* https://github.com/ansible/ansible/issues/58459

change version_added 2.9 to 2.10
2019-09-11 10:48:36 -04:00
a9d4415657 Several enhancements for Radware modules and their unit testing (#61467)
* Adding support for Plugin runnable type
Adding support for device arrays in vdirect_runnable module.
Adding "output" dictionary to the vdirect_runnable module result dictionary.

* Adding support for Plugin runnable type
Adding support for device arrays in vdirect_runnable module.
Adding "output" dictionary to the vdirect_runnable module result dictionary.
2019-09-11 10:42:26 -04:00
fa03f438e7 routeros_facts: fix for error when there's more than 10 interfaces (#61376)
* fix: proper regex for preprocessing routeros output

* test: regression test

* test: fix nondeterministic unit test
2019-09-11 19:42:07 +05:30
c5a4086ed7 Add proper hostname cleanup for nxos tests (#61810) 2019-09-11 19:40:14 +05:30
b03091213d Call get_capabilities to initiate device connection (#62103) 2019-09-11 19:38:54 +05:30
b7ab8f9411 Clean up more linting errors for nxos modules (#62069)
This removes a few unused variables and duplicate functions being
defined.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-09-11 09:35:09 -04:00
7173267095 Fix test_cp_mgmt flake8 issues (#62129)
This commit deletes unused imports for the check_point cp_mgmt tests.
2019-09-11 08:53:44 -04:00
f79d03d292 Elaborate on note that docker-priv only works with integration (#62035) 2019-09-11 08:20:49 -04:00
bcc3620182 Fix typos in database modules and their integration tests (#62125) 2019-09-11 08:19:25 -04:00
b9a70aa76a New module: zabbix_valuemap (#60132)
* Adding zabbix_valuemap module

* Minor corrections

* Fixing typos

Co-Authored-By: Dusan Matejka <D3DeFi@users.noreply.github.com>

* Sorting mappings based on the 'value' field

* Updating

Co-Authored-By: John R Barker <john@johnrbarker.com>

* Fixing "version_added"
2019-09-11 12:17:32 +01:00
3a05955ec8 fix regex in plugins/terminal/iosxr.py (#54817)
Fixes situations where iosxr terminals that do not contain new line "/r/n" at the beginning of CLI timeouts due to regex error. Just make "/r/n" optional including "*" character in the regex
2019-09-11 14:35:15 +05:30
aaa6d2ecb0 Fix ansible-test pytest plugin loading. (#62119)
* Avoid assertion rewriting in pytest plugins.

Adding PYTEST_DONT_REWRITE to the ansible-test pytest plugin docstrings disables assertion rewriting in pytest for those plugins.

This avoids warnings during test execution if the plugins are loaded multiple times (such as being imported within tests).

* Run ansible-test pytest plugins early.

The ansible-test pytest plugins need to load and run earlier than conftest modules.

To facilitate this, the pytest_configure function is run during loading, which works since they are loaded (but not always run) before conftest modules are loaded.

A check has also been added to the pytest_configure functions to prevent them from running multiple times in the same process.

* Load pytest plugins using an env var.

The -p command line option loads plugins before conftest, but only during collection.
The PYTEST_PLUGINS environment variable loads plugins before confest, both during collection and test execution.
2019-09-10 23:27:05 -07:00
9b149917a6 lookup_rabbitmq pika > 1.0.0 is_closing bug fix (#61959)
* In pika v1.0.0 BlockingChannel.is_closing was removed.  Updating
plugin accordingly.

Ref: https://github.com/pika/pika/pull/1034

* Adding change fragment for is_closing bug.

* Updated change fragment description.
2019-09-11 08:23:27 +02:00
ff53ca76b8 Return commands key instead of xml in result for junos rm (#62041)
Fixes https://github.com/ansible/ansible/issues/61773

*  Change `xml` key name to `commands` key to be in sync with
   other platform resource modules.
2019-09-11 11:06:08 +05:30
6fb1d56fdc Fix ansible-test coverage --all (#62115) 2019-09-11 15:12:38 +10:00
53aa258d78 hostname: Use hostnamectl for Systemd strategy (#59974)
Use hostnamectl command to get current hostname for host while using
systemd strategy.

Fixes: #59438

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-09-11 10:27:17 +05:30
b0fd1043e1 hostname: Add support for Astra Linux Common Edition (#59607)
Add support Astra Linux Common Edition in hostname module
2019-09-11 08:13:39 +05:30
a7bc11ce67 Work around virtualenv/venv issue in ansible-test. (#62111)
Creating a virtual environment using `venv` when running in a virtual environment created by `virtualenv` results in a copy of the original virtual environment instead of creation of a new one.

To work around this, `ansible-test` now identifies when it is running in a `virtualenv` created virtual environment and uses the real Python interpreter to create the `venv` virtual environment.
2019-09-10 19:27:12 -07:00
cd8161a948 hostname: Add support for Kylin linux (#62053)
* Add support for Kylin linux to hostname module
2019-09-11 07:24:57 +05:30
414d844ed2 AWS ec2_vpc_net: Enable ipv6 CIDR assignment (#60983)
* AWS ec2_vpc_net: Enable ipv6 CIDR assignment

Enable IPv6 CIDRs in ec2_vpc_net, and fix ec2_vpc_subnet tests that
were depending on the aws cli for CIDR assignment.

Related to: #27800
2019-09-10 19:25:36 -04:00
983f0ad5a0 Properly exclude tests/output/ from code coverage. 2019-09-10 15:50:22 -07:00
f110abb806 Fix ansible-test to ignore tests/output/. (#62084)
The `test/results/` directory for Ansible test output was already ignored when not using git.

When Ansible Collections were switched to `tests/output/` the ignore entry was previously overlooked.
2019-09-10 15:49:40 -07:00
0f52b18f3f bump hcloud version to 1.4.1 (#62097)
* bump hcloud version to 1.4.1

`hcloud`<=1.4.0 has requirement `requests==2.20.0`. This prevents the
installation of the Vcenter Automation SDK which depends on `requests>=2.22.0`.

`hcloud` 1.4.1 does not have the problem: 8bff356efb
Bumping the dependency will resolve the issue.
2019-09-10 16:49:23 -04:00
72023d7462 mount: Check if src exists before mounted (#61752)
Fixes: #59183

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-09-10 21:42:10 +05:30
a3e9d14702 Update ovirt_vm.py (#62072)
Typo fix: "IDE" is not an acceptable choice for disk type, "ide" is a valid choice
2019-09-10 10:42:06 -05:00
7a79c12e52 Update my handle (#61966) 2019-09-10 10:06:32 -05:00
e589e22b7e mysql_info: fix typo (#62067) 2019-09-10 09:10:35 -05:00
8b24fe1f0a postgresql: fix typos in modules (#62065) 2019-09-10 09:08:29 -05:00
76b5b90bd6 issue #61672: make jenkins_plugin module work in a session when CSRF … (#61673)
* issue #61672: make jenkins_plugin module work in a session when CSRF enabled

This commit modifies the signature of `fetch_url` so that a cookie jar can be
specified allowing multiple calls to operate with the same session.  It uses
a similar construct to the `Request` class to initialise the cookie jar if
it is not provided.

The jenkins_plugin module is modified to create a cookie jar if CSRF is
enabled.  This cookie jar is then submitted with every call to fetch_url.
Also changed is to submit the crumb in the request headers rather than
in the data field.

This has been tested with Jenkins 2.176.

* issue #61672: fix jenkins_script module

This commit modifies the jenkins_script module to use the authorization crumb
in a session in a similar fashion to the jenkins_plugin change for the same
issue.
2019-09-10 09:44:37 -04:00
dfc023209f fix(azure_rm_containerregistry): Fixed sku idempostency (#61009) 2019-09-10 16:35:05 +08:00
064e8e1ef4 Fix ansible-doc traceback and sanity test. (#62040)
* Fix ansible-doc traceback for removed modules.

This avoids tracebacks with errors like the following when a module has been removed:

module module_name missing documentation (or could not parse documentation): 'NoneType' object does not support item assignment

* Fix ansible-doc sanity test warning handling.

Warnings about removed modules/plugins on stderr are now properly ignored.

Previously an ansible-doc error could result in unrelated errors going undetected because tests were stopped early and the underlying error was ignored.
2019-09-10 00:29:34 -07:00
603c8c171f fix ci (#57216) 2019-09-10 13:23:04 +08:00
c19cea9b03 openssh_keypair: make sure public key has same permissions as private key (#61658)
* Make sure public key has same permissions as private key.

* Add changelog.

* Text, not binary.
2019-09-10 06:44:04 +02:00
c77ab11051 Fix issues with ansible-test --venv option. (#62033)
* Fix ansible-test venv activation.

When using the ansible-test --venv option, an execv wrapper for each python interpreter is now used instead of a symbolic link.

* Fix ansible-test execv wrapper generation.

Use the currently running Python interpreter for the shebang in the execv wrapper instead of the selected interpreter.

This allows the wrapper to work when the selected interpreter is a script instead of a binary.

* Fix ansible-test sanity requirements install.

When running sanity tests on multiple Python versions, install requirements for all versions used instead of only the default version.

* Fix ansible-test --venv when installed.

When running ansible-test from an install, the --venv delegation option needs to make sure the ansible-test code is available in the created virtual environment.

Exposing system site packages does not work because the virtual environment may be for a different Python version than the one on which ansible-test is installed.
2019-09-09 18:32:29 -07:00
e3ea89801b Update playbooks_prompts.rst (#62003)
Fixed typo: "wierd" > "weird"
2019-09-10 06:57:01 +05:30
cc758ea574 Revert "shippable: temporary bump the timeout for Azure jobs"
The Azure timeout should not accure anymore since
173d47d1f4.

This reverts commit aaa8835311.
2019-09-09 18:17:25 -07:00
b437a19f6d create-deprecated-issues script can now add to a specified project (#61901)
* create-deprecated-issues script can now add to a specified project

* Migrate the create deprecated issues script into a subcommand of build-ansible

* Remove deprecated-issue script from ignore list
2019-09-09 17:28:52 -07:00
e0ebc8c9b4 Fixup aws_secret integration tests (#61241)
* aws_secret: (integration tests) Move tests to using module_defaults

* Update hacking aws security policy to enable management of secrets

* aws_secret: (integration tests) Fixup integration tests
- Update tests to use resource_prefix as a prefix rather than a suffix
- Pause after role creation to cope with AWS being slow (and returning before the role it ready)
2019-09-09 15:23:19 -07:00
50e09be14f Allow the use of _paramiko_conn even if the connection hasn't been started. (#61570)
* Allow the use of _paramiko_conn even if the connection hasn't been started.

I'm not sure what the benefit is of Noneing paramiko_conn on close, but will keep for now

* Fix test

* Try to fix up net_put & net_get

* Add changelog
2019-09-09 16:59:20 -04:00
6e8d430872 win_become - don't dispose logon token until end (#61905) 2019-09-10 06:37:07 +10:00
900a51b283 VMware: Fix issue with order of changes in vmware_vcenter_statistics 2019-09-09 16:01:54 -04:00
528f9a6672 Fix ec2_vpc_vgw broken tests (#60981)
* Fix ec2_vpc_vgw broken tests

Add waiter function to wait for API to report detached vgw is available.
Also catch extra error code in attach retry as EC2 sometimes reports that
the vgw is available several seconds before permitting the attachment.

Fixes: #53185

* Re-enable ec2_vgc_vgw test target
2019-09-09 15:57:09 -04:00
6f74fca238 New module for AWS Step Functions state machines (#59116)
* add new module: aws_stepfunctions_state_machine

* add integration tests for new module: aws_stepfunctions_state_machine

* fix sanity checks

* use files/ folder instead for integration test

* rename role name in integration test

* attempt further permissions

* iam states prefix

* iam integration test prefix

* add iam policy for running step functions state machine actions

* slightly increase iam permission scope

* rename integration test folder to proper name

* move main() method to end of file

* move contents of integration-policy.json for state machines to compute-policy.json

* make check_mode return proper changed value + add check_mode integration tests

* rename module to aws_step_functions_state_machine

* fix missed rename in integration test variable

* add purge_tags option

* bump to version 2.10
2019-09-09 10:08:21 -07:00
4e2c70c13e Include version_added in report.py (#61857) 2019-09-09 11:40:38 -05:00
3ea8e0a144 VMware: not ssl.SSLContext if validate_certs false (#57185)
Python < 2.7.9 does not have the ssl.SSLContext attribute.
ssl.SSLContext is only required when we want to validate the SSL
connection. If `validate_certs` is false, we don't initialize the
`ssl_context` variable.

Add unit-test coverage and a little refactoring:

- avoid the use of `mocker`, when we can push `monkeypatch` which is
  `pytest`'s default.
- use `mock.Mocker()` when possible

closes: #57072
2019-09-09 21:41:46 +05:30
1f38a12057 Fix behaviour of module_utils/ec2 compare_policies when dealing with bare bools and ints. (#61115)
* module_utils/ec2: (unit tests) Move unit tests for module_utils/ec2.py into test/units/module_utils

- compare_policies was refactored from s3_bucket
- "ec2_utils" doesn't seem to have ever existed

* module_utils/ec2: (unit tests) Add unit test for comparing quoted and unquoted bools and numbers within policies

As per https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html

"Values are enclosed in quotation marks. Quotation marks are optional for numeric
and Boolean values."

* module_utils/ec2: Explicitly convert bools and ints to strings when comparing policies

See also: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html
2019-09-09 12:08:25 -04:00
646a0b9024 Add missed eos modules to porting guide (#61994) 2019-09-09 12:07:42 -04:00
9d93076a99 Debug location of ansible-connection when found (#61998) 2019-09-09 12:06:54 -04:00
02c7f2f518 Add collections ticket stub (#62001)
* Add collections ticket stub

* typo

Co-Authored-By: John R Barker <john@johnrbarker.com>
2019-09-09 10:47:47 -05:00
28227c95a4 for capability/exchange/1.0 (#60630)
* for capability/exchange/1.0

* for capability/exchange/1.0

* update for shippable

* Update ce.py

* Update ce.py
2019-09-09 14:33:34 +01:00
6fa8abf162 fix: adds prefix length error to eos cli plugin (#61747) 2019-09-09 09:28:40 -04:00
483e76ee58 Allow junos_config changes the candidate configuration only (#61969)
This allows junos_config to changes the candidate configuration only and
does not commit it as the active configuration at once w/ the
'check_commit' option.
2019-09-09 18:22:57 +05:30
7b28960ebe VMware: Add new module VMware vSAN health infos (#58636) 2019-09-09 14:59:31 +05:30
3703c3bb1a atomic_image: Fix absent state (#61827)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-09-09 14:38:32 +05:30
df49a9e58c purefa_info: Fix failure due to API version check (#61925) 2019-09-09 09:14:46 +02:00
92099d7f2f Remove unnecessary pass statement (#61749)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-09-09 10:12:11 +05:30
a680ff2ade Clean up unused imports for nxos related code (#61856)
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-09-08 22:53:24 -04:00
6ccb245a2d test_cp_mgmt_address_range module (#61867)
* test_cp_mgmt_address_range module

* fix test issues

- file location
- api_call is missing from facts
- metclass and import items
2019-09-09 06:51:39 +05:30
d40ba28fb4 docker_container: improve port range parsing error behavior (#61740)
* Improve port range parsing.

* Add changelog.
2019-09-08 20:30:18 +02:00
943888b955 Fixes to ecs_certificate cert chain for #61738 (#61858)
* Fixes to ecs_certificate cert chain for #61738

* Added changelog fragment

* Fixes to ecs_certificate for cleaner join, and better integration test

* Fix integration test formatting

* End cert chain with a \n

* Update changelogs/fragments/61738-ecs-certificate-invalid-chain.yaml

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

* Update main.yml
2019-09-07 07:58:25 +02:00
cac93cbd1f os_port allowed_address_pairs and extra_dhcp_opts list of dicts comparison fix (#56577)
* compare list of dicts

* update example for dhcp_server_opts to include ip_version which is automatically added by openstack

* add note about dhcp_server_opts

* add changelog fragment

* fix forgotten exception+pass

* no need to excplicitly check for None

* fix oops

* fix import error

* missed missing_required_lib

* changelog fragment formatting and grammar fixes

* update requirements in documentation and fix spelling
2019-09-06 22:44:25 +02:00
b8650c0a50 aws_asg: Fix idempotency when using tags and metrics (#61284)
* Update AWS hacking policy to enable ASG Tagging management

* aws_asg: Add tests for ASG Tagging (including idempotency)

* aws_asg: ignore sort order when comparing tags on the ASG (fix idempotency)

* ec2_asg: (integration tests) test for idempotency when managing metrics collection

* ec2_asg: sort list of enabled metrics to ensure clean comparisons.
2019-09-06 12:48:40 -07:00
d7604844c2 Update the number of contributors in README: 4600+ (#61949) 2019-09-06 15:07:27 -04:00
8331c8fdc3 Properly hide limit and list-hosts args from ansible-inventory (#61618)
* Properly hide limit and list-hosts args from ansible-inventory. Fixes #61604

* Add changelog fragment

* Consolidate limit

* Fix positional argument with --graph

* Properly error for hidden arguments

* linting issue

* host pattern changelog
2019-09-06 11:43:50 -05:00
61efffcbe1 User - correct group removal description in docs (#61936) 2019-09-06 12:16:33 -04:00
e4d4e49388 Fix mysql.py logic related to 53326 (#61832) 2019-09-06 13:53:54 +01:00
4f29b5a76b Fix ansible-connection persist after playbook run complete issue (#61591)
* Fix ansible-connection persist after playbook run issue

*  PR https://github.com/ansible/ansible/pull/59153 to add support
   for delaying the ansible-connection added an old issue of
   ansible-connection persisting even after playbook run is finished
   till either command timeout or connect timeout is triggered.
   ansible-connection persist after playbook execution is done
   and also delays the connection initilization untill a method
   in invoked from module side on the connection object.

* Add chanegelog
2019-09-06 14:23:18 +05:30
e6fe52bc56 Update os_security_group_rule.py (#61262)
Currently, this module does not support to add 132 SCTP rule in security group rule of openstack. Could we add this support in this module? Thanks~
2019-09-06 02:32:34 -04:00
7f4328ad12 allow external collections under the ansible NS (#61908)
* fixes #59988
2019-09-05 18:50:22 -07:00
f58899eef7 Update release name for 2.10
Add a list of previously used release names to make it easy to tell what
release names are no longer usable.

Add a test that new release names have been added to the used list.

Fixes #61616
2019-09-05 18:36:06 -07:00
832e03d932 Fixup iam_group integration tests and return value documentation (#61243)
* iam_group: (integration tests) migrate tests to module_defaults

* iam_group: (integration tests) migrate to using temporary user and group with {{ resource_prefix }}

* iam_group: (integration tests) fix test, checking the return values

* iam_group: (integration tests) Add some more tests around the behaviour of 'changed'

* iam_group: (docs) Update documentation of iam_group return value

* Update AWS testing policies to enable group/user management
2019-09-05 19:25:36 -04:00
cbe511de1f ec2_vpc_subnet test cleanup (#61663)
* aws_vpc_subnet: (integration tests) migrate to module_defaults

* aws_vpc_subnet: (integration tests) remove hard coded assumption that AZ A exists.

While Amazon now tends to enable all AZs in a region, new customers in us-west-1 are only assigned 2 out of the 3 AZs, which might not include AZ a

* ec2_vpc_subnet: (integration tests) General cleanup

- use "is changed" rather than .changed
- clean up labelling of a couple of assertions (C&P fail)
2019-09-05 15:56:54 -07:00
d49d52eb5f Add tests for new alias deprecation functionality (#61476)
* Add tests for the alias deprecation added in #61245
2019-09-05 15:47:42 -07:00
59afffa334 Fix rpm dependencies for ansible-test
Needs to require ansible = version rather than ansible-version
2019-09-05 15:03:50 -07:00
7d303e54f6 meraki_organization - Add warning about organization deletion (#61886)
* meraki_organization - Add warning about organization deletion
The documentation is now more explicit about the ramifications of using `state: absent` in a task.
2019-09-05 16:02:19 -05:00
1425d23513 To fix IOSXR L3 Interfaces idempotency failures (#61860)
* fix zuul idemptency failures

* adding eol

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
2019-09-05 16:39:15 -04:00
375eb9723a Add caution about handlers & import to Pitfalls (#61060)
* Add caution about handlers & import to Pitfalls on the playbooks_reuse page.
The fact that handlers lose their name: when using import_tasks:, while logical, is not intuitive and should be noted.
Co-Authored-By: Sandra McCann <samccann@redhat.com>
2019-09-05 14:18:09 -05:00
ce8af1c8c5 Typo 'state:' net_lldp (#61543)
'state:' should be "absent" not "lldp"
2019-09-05 14:15:19 -05:00
a365e77cc3 Connect before reading the prompt? (#61797) 2019-09-05 14:48:16 -04:00
394a05108d Update mso_schema_template_deploy.py (#61849)
module names are incorrect in EXAMPLES:  changed module names from 'mso_schema_template' to 'mso_schema_template_deploy'
2019-09-05 10:55:56 -05:00
513bddb44a VMware: Add disk_mode parameter in vmware_guest_disk (#60406)
* Solve issue 58592

Added support to select disk_mode.
2019-09-05 11:52:12 -04:00
1aca1f86b6 don't set default:None in documentation when there is no default (#61111)
otherwise "None" will be rendered as a string on docsite
2019-09-05 10:48:11 -05:00
70f501d5c8 Update hashi_vault.py documentation with kv V2 example (#61221) 2019-09-05 11:42:39 -04:00
08e01380e6 azure_rm_iothub: disable the functional test (#61854)
The test fails with: Operation failed with status: 'Unauthorized'
This commit disable the test until the situation is resolved.

See: https://github.com/ansible/ansible/issues/61852
2019-09-05 11:03:12 -04:00
7132466327 test: disable the docker swarm tests (#61816)
`docker_swarm` tests tend to hang during the creation of the Swarn
cluster.

See: https://github.com/ansible/ansible/issues/61815
2019-09-05 10:47:31 -04:00
2fbe4ca102 Fix galaxy server reference in the docs (#61823) 2019-09-05 10:47:19 -04:00
173d47d1f4 Rebalance Azure tests groups 2019-09-05 09:28:26 -04:00
aadb192846 documentation: modify the link to the docker.txt listing all images (#61838)
The file was moved.
2019-09-05 08:07:09 -05:00
cc9adf7f1a Unify ios_logging documentation with accepted options (#61777)
* Unify ios_logging documentation with accepted options

* Apply suggestions from code review

Co-Authored-By: Alicia Cozine <879121+acozine@users.noreply.github.com>

* Copy suggestion over to eos_logging
2019-09-05 08:58:57 -04:00
f406b8b4c4 Fix bug preventing wait_condition from being respected when using apply (#61493) 2019-09-05 22:49:30 +10:00
223dab99ea gitlab_hook: Update documentation (#61837)
* Update docs for note_events

Fixes: #61833

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-09-05 17:09:59 +05:30
e06dbe6e4f Azure _info modules: fix returned ansible_facts when called as _info (#61805)
* Fix Azure _info modules which still returned ansible_facts.

* Adjust PR #.

* Fix wrong assignment.

* Reorganize code for clarity.
2019-09-05 11:51:56 +02:00
2a932ad7cf Fix power command ResetType mapping logic (#59927)
* fix power command ResetType mapping logic

* add changelog fragment
2019-09-05 05:39:21 -04:00
823c108fac ovirt: Fix API calls in ovirt_storage_domain (#61825)
* Fixed argument in _attached_sds_service API
* Fixed argument in _maintenance API

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-09-05 15:00:18 +05:30
c723eb2f04 Remove unused import from iosxr facts (#61785)
This is no longer needed and can be removed.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-09-04 22:16:15 -04:00
3a7b77a94c ansible-galaxy fix --server option for roles (#61820) 2019-09-05 11:46:44 +10:00
f81b7dd10a Remove unsed import for eos facts module (#61795)
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-09-04 19:50:12 -04:00
8214d188cf Don't truncate the last character from galaxy urls. Fixes #61624 (#61775) 2019-09-05 07:06:42 +10:00
adfaefb732 ec2_launch_template: Fix integration tests (#61260)
* ec2_launch_template: (integration tests) make sure security_token is optional

* ec2_launch_template: (integration tests) add dependencies at the top level so they're pulled into the docker containers

* Update Hacking Compute Policies for Launch Templates
2019-09-04 15:33:01 -04:00
7be672e1c2 Remove unsed import for junos facts (#61787)
This is no longer needed.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-09-04 15:00:19 -04:00
41055b5dc8 Proposals aren't really used much, delete it (#61800) 2019-09-04 13:56:57 -05:00
ff05991265 s3 - improve waiting for the bucket (#61802) 2019-09-04 14:50:08 -04:00
4c8407fb83 Fix documentation and facts_from_proxy value in the netapp_e_facts module. (#61072) 2019-09-04 14:34:58 -04:00
44eaea9f80 Remove unused import for cisco ios facts (#61790)
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-09-04 14:22:38 -04:00
7efaad711e Minify ansible (#61792)
* make all comments special to survive minify
* minified css
2019-09-04 12:57:05 -05:00
736938625b Remove unused import for vyos facts (#61784)
This is no longer needed and can be removed.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-09-04 13:54:08 -04:00
0c73e47a42 fix erroneous failures in docker_compose due to deprecation warnings … (#61650)
* fix erroneous failures in docker_compose due to deprecation warnings from docker (#60961)

* Update error handling to work with new method of capturing output

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

* update error handling

* fix syntax error

* fix indentation

* fix indentation (again)

* remove erroneous line
2019-09-04 19:34:05 +02:00
d5c8d325e4 codebuild/codepipeline - fix regex for shippable resource_prefix (#61783)
* Fix bad assumption about shippable resource_prefix for codebuild and codepipeline tests
* Update test/integration/targets/aws_codepipeline/defaults/main.yml
2019-09-04 12:48:37 -04:00
1dea661ce8 Allow 13 asterisk characters in password field without warning (#54893)
On OpenBSD, 13 asterisk characters as a password hash, marks the
account as disabled. Otherwise daily(8) script which executes
security(8) will email operator about not properly locked accounts.

Before the diff, we see following warning:

> [WARNING]: The input password appears not to have been hashed. The 'password' argument must be encrypted for this module to work properly.

After the diff, warning is gone.
2019-09-04 11:49:16 -04:00
de826b437d Minify theme (#61734)
* moved most ansible edits out of theme.css
* remove unnecessary edit to theme.css
* replace with upstream minified theme.css for 0.4.3
2019-09-04 10:45:16 -05:00
49b775f0f7 aluvenko isn't reviewing anymore (#61764)
* aluvenko isn't reviewing anymore

aluvenko hasn't been around for a while, so remove them

* Update BOTMETA.yml
2019-09-04 16:39:58 +01:00
ee4b3b8854 Fix systemd start state with deactivating service state 2019-09-04 08:01:33 -07:00
a795f6941e Make *_bgp modules collection safe (#61761)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-09-04 10:29:00 -04:00
9ee0deea24 aws_codebuild tests - add retries and delay instead of a pause task (#61731)
- Add retries instead of a pause task
- Shorten the IAM role name length
- Put the IAM role name in defaults/main.yml instead
- Fix the aws_codepipeline tests too
2019-09-04 09:59:35 -04:00
91ccb03552 aws_s3 - wait for the bucket before setting ACLs (#61735)
* Wait for the bucket to become available if possible before setting ACLs
2019-09-04 09:42:28 -04:00
531e0560cb add trustcacerts option for JAVA keytool (#61750)
* add trustcacerts option for JAVA keytool

* fixed whitespace

* added type in documentation
2019-09-04 13:07:20 +01:00
c1e02d5c7a Remove choices from gather_network_resources facts and fix negated all, min (#61362)
* remove choices from gather_network_resources facts and allow negating subset without needing to add a new subset specific for negation

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* negated all, min should not return any fact

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2019-09-04 16:31:10 +05:30
2672dc9694 Fixes IOS L3 intermittent zuul failure (#61682)
* fix ios l3 intermittent failure

* fix self

* dict to ordered dict

* fix diff_again fn

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* remove orderdict as its expensive

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* update verify fn

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
2019-09-04 15:51:05 +05:30
01f4081b66 Fix creation of DigitalOcean droplets using digital_ocean_droplet module (#61655)
* Omit disallowed 'id' attribute in request body to create a droplet

* Add changelog fragment for PR #61655
2019-09-04 02:28:56 -04:00
3f9316bca2 debian: prepare the ansible-test package
- Generate an extra package for `ansible-test`.
- Manually install the files because CDBS get confused by our two
  Python packages
- Refresh the package descriptions to match what is done with the RPM
2019-09-03 22:00:24 -07:00
2ebeadfc14 Migrate ec2_eip module to boto3 (#61575)
* Migrate ec2_eip module to boto3

This patch is a step towards the integration of several PRs that have
attempted to migrate this code

closes #55190
closes #45478

Follow-up PRs will address the outstanding changes made in #55190
2019-09-03 22:46:29 -04:00
00add5b668 Set win_pagefile as unstable as thats what it is (#61732) 2019-09-04 12:29:29 +10:00
47ce938121 Read update file as utf-8 (#55253) 2019-09-03 21:54:10 -04:00
091ab12692 Fix issues and limitations in account mgmt commands (#58441)
* fix issues and limitations in account mgmt commands

* fix pep8 and example yaml errors

* remove new option and update option aliases

* find next empty slot when adding user via PATCH
2019-09-03 21:44:33 -04:00
088d821f75 Fix KeyError exceptions in GetLogs command (#59877)
* fix KeyError exceptions in GetLogs command

* add changelog fragment

* refine the list of LogEntry properties to collect
2019-09-03 21:44:07 -04:00
86b38a0ead Add ucs_query (#60607)
* Add ucs_query

* fix sanity erros

* Change version_added to 2.10
2019-09-03 21:34:46 -04:00
a09b89f567 osx_defaults - doc tweaks (#60881)
* [osx_default] We are looking for the "defaults" executable, not "osx_defaults"

* [osx_default] Add example for setting system wide default
2019-09-03 20:16:39 -04:00
f1180f3d3f Fix documentation to reflect CLI usage for collections-path (#60164) 2019-09-03 16:50:58 -04:00
9be8a98aa2 Update the rpm spec file to include ansible-test
* Include ansible-test in a subpackage
* Sync with the ansible engine spec file
* Addresses https://github.com/ansible/ansible/issues/60380 to the
  extent that we're likely to fix that.
2019-09-03 13:41:41 -07:00
6cf025425e Fix Decode Bug in Py3 (#61691)
* Fix Decode Bug in Py3

* Update fortios.py

* Remove special char from name

* Ensure full compatibility when ansible is install from Py2
2019-09-03 15:37:00 -04:00
411b208147 Add example of "parent_group" usage in aws_ec2.py (#60430)
##### SUMMARY
Looks like the "parent_group" option in "keyed_groups" is a very recent feature that is not being documented. 
This pull request just adds a simple example of the usage of this useful feature.



##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2019-09-03 20:33:47 +01:00
9797857a67 Fix Python 2.7 compat (#58816) 2019-09-03 20:24:41 +01:00
5f9fe6b9c8 Removed additional fetch from config context because it is now available in the host from Netbox v2.6 onwards (#59028)
* Removed additional fetch and config context as an option as it is now available in the host from Netbox v2.6

* Added config-context as an option
2019-09-03 20:23:28 +01:00
b46e661d39 ovirt search name with space (#59184)
* init ovirt_search_name_with_space

* add search_by_name with whitespace

* add comments
2019-09-03 20:22:37 +01:00
d4147b55dd Issue #41447 - support AWS Aurora S3 privileges in mysql_user module (#59663) 2019-09-03 20:22:07 +01:00
fad405ac42 postgresql: Move PgMembership to module_utils (#61598)
* postgresql: move PgMembership to module_utils

* postgresql: move PgMembership to module_utils, optimize logic
2019-09-03 20:14:09 +01:00
7c92c4214c Fixes #59613 (#60041) 2019-09-03 15:08:08 -04:00
5d7d4a93c8 docs: Update apt_key.py add requirements of gpg (#61552)
* docs: Update apt_key.py add requirements of gpg. The module needs to have gpg installed, otherwise it will end up with error {"changed": false, "msg": "Failed to find required executable gpg in paths: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

Co-Authored-By: John R Barker <john@johnrbarker.com>
2019-09-03 13:53:44 -05:00
763fa4e85f version_added: '2.10' for post branch commits (#61678)
Due to bot automerge a few PRs were merged before version_added had been updated.

https://github.com/ansible/ansible/pull/61674
2019-09-03 19:53:10 +01:00
47b9c5bf04 Ecs taskdefinition secrets (#60112)
* adding specific examples for using environment and secrets in the container definition
2019-09-03 11:17:22 -05:00
c9e7a2122d Increase unit test timeout to account for long image download times (#61717) 2019-09-03 12:14:55 -04:00
9c1dc0ea7f grafana_plugin: update documentation (#60600) 2019-09-03 12:10:47 -04:00
bdc87a5651 datadog_monitor: Add process alert support (#60325) 2019-09-03 12:10:07 -04:00
bfaa29303b adding a collection local try section (#61626) 2019-09-03 11:33:32 -04:00
a10606484c Fix required_together statement - access_logs_s3_prefix is not required as per the documentation (#52017) 2019-09-03 11:26:38 -04:00
c4fd2096bf Fix examples for bigip_file_copy (#61686) 2019-09-03 11:16:31 -04:00
7e7b7bb0b6 Correct indentation of the code in the example (#61622) 2019-09-03 10:09:47 -05:00
54906a68fe Docs - Add Meraki to platform option list (#61651) 2019-09-03 11:04:39 -04:00
ca3078de5f Remove duplicated word
We print "%s success", so there's too much success going on.
2019-09-03 20:31:40 +05:30
bcbcac3bd8 net_user documentation typo configured_password (#61556)
password -> configured_password in the last example
2019-09-03 10:00:20 -05:00
3e2521dfb2 botmeta: unmaintain resmo from cloudstack (#61561) 2019-09-03 15:56:40 +01:00
615f9949c0 Update unit tests requirements/units.txt path (#61656) 2019-09-03 15:49:15 +01:00
4b9b5d3745 Remove unnecessary information (#61657) 2019-09-03 15:47:20 +01:00
58acc8d082 Clarity on mutual exclusion of Username and Token (#61668)
##### SUMMARY
Although there is an example showing that username is not required with personal access token, it will be nice to more clearly state in options description. 
##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2019-09-03 15:41:42 +01:00
8e22a60f97 ansible-test: vcenter+Worldstream: hide password
Hide the temporary password when `ansible-test` is called with the
`--redact` parameter.
2019-09-03 10:34:34 -04:00
7dbd6116d8 Fix typesetting of "GitLab" (#61702) 2019-09-03 09:22:26 -05:00
74e6c460b4 Fix missing pass of IPXe params to API client call, fixes #32910 (#32912) 2019-09-03 10:07:15 -04:00
9744ce1e1d Rename checkpoint to check_point due to legal reasons, fix #61145 (#61172)
* Fix #61145

* Fix type keyword

* Removed file fragment
2019-09-03 19:05:50 +05:30
39f35ac5bb Fix network resource module wording and typographical errors (#61613) 2019-09-03 09:11:46 -04:00
036f173962 Remove willthames from AWS and Openshift notifications (#61670)
I no longer desire to be mentioned on most AWS changes.
If there are modules I'm on the authors list then I'll remain
notified.

Also remove me from openshift and kubectl plugins, I don't use
those.
2019-09-03 13:55:36 +01:00
d20d10b5c5 Avoid infinite recursion on login (#61617) 2019-09-03 08:55:20 -04:00
447c7d9ff0 Update homebrew_cask example docs (#61637)
Changed homebrew_cask module flag from "allow_external_apps" to "accept_external_apps" in example section
2019-09-03 16:56:29 +05:30
68f9cd14cb feat: support postgres 11 in azure_rm_postgresqlserver (#58727) 2019-09-03 14:00:33 +08:00
e7c6134fd0 VMware: Fix get_tags_for_vm API in vmware_vm_info module (#61697)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-09-03 11:25:16 +05:30
e4d72dd981 luks_device.py: Allow manipulate LUKS containers with label or UUID (#61603)
* luks_device.py: Allow manipulate LUKS containers with label or UUID

- Allow create a LUKS2 container format with label support
- Allow manipulate (open, close, modify) an LUKS container based on
  both label (LUKS2 format) or UUID instead of using devices only.

Fixes: #58973
Signed-off-by: Alexandre Mulatinho <alex@mulatinho.net>

* test_luks_device.py: organizing tests to support labels

- Add label on some tests and fix errors reported by Shippable

Signed-off-by: Alexandre Mulatinho <alex@mulatinho.net>

* luks_device.py: adjusting versions and messages

- Modifying version_added from 2.9 to 2.10
- Fixing some messages
- Created a changelog fragment
- Moving blkid from scope

Fixes #58973
Signed-off-by: Alexandre Mulatinho <alex@mulatinho.net>
2019-09-03 05:40:09 +02:00
6f7cd8370a Ansible FTD Module improvements and tests update. (#60640)
* Ansible FTD Module improvements and tests update.

* Fix sanity tests

* Fix formatting
2019-09-03 08:38:11 +05:30
7197c41fff influxdb: Add support for 'path' parameter (#61173)
While it's possible to host InfluxDB on a different path prefix
(through a reverse proxy such as nginx or traefik), the Ansible
influxdb_* modules did't support that use case.

The patch adds a 'path' parameter, which is passed to the influxdb
Python client.

Example for connecting to InfluxDB running on http://localhost/influxdb

    - hosts: all
      tasks:
        - influxdb_database:
            database_name: test
            path: influxdb
            port: 80
2019-09-02 22:17:25 +02:00
9ccef9e819 perf: reduce getting handler variables (#59969)
* perf: reduce getting handler variables

ci_complete

* Do not re-create templar
2019-09-02 10:57:08 -04:00
606e2ff03a Disable Automerge (#61674)
A few PRs have been automerged since devel became 2.10 even though they still had `version_added: 2.9`

Lets disable automerge till:
a) We find a proper fix (automerge should so `rebuild_merge`?)
b) We wait 7 days since devel became 1.10 to cause stale_ci
2019-09-02 12:08:05 +02:00
f1a1b72f07 os_server - add "tag" to instance nics (#61119)
A custom "tag" could be passed to the instance metadata with the nics.
Add support for the "tag" to the module.
2019-09-02 05:07:53 -04:00
6e6c2f5cea Set the default value for the managed_disk_type (#60749) 2019-09-02 15:54:58 +08:00
52a665e224 #59096 Fix for not working azure_rm_aks (#59097) 2019-09-02 15:50:11 +08:00
cf86a5e07a kubevirt: also add wait_sleep (#61020) 2019-09-01 17:53:31 -07:00
de6e2de0c4 Remove unused import for iosxr l3_interfaces (#61563)
This was caught by our ansible network collections migration script.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-08-31 14:47:02 -04:00
21b101f8e1 add option to define keysize at luks partition creation (#61522)
* add option to define keysize at luks partition creation

* Bump version_added.

* Extend tests.
2019-08-31 19:32:41 +02:00
a6d9401c88 postgresql modules: explicit defaults for bool params (#61538) 2019-08-31 18:27:57 +02:00
4d057e0331 Make sure postgresql tests are run for all postgres_* modules (#61647) 2019-08-31 18:12:40 +02:00
e89048f68a Check module names in action plugin without collection attached (#60947)
* Check for eos_config in action plugin by module name, not entire fqmn

* Modify toher action plugins to find module name

* Restore missing `not`

* Cover netconf plugin as well

* Whoops
2019-08-30 21:11:44 -04:00
3d78dad84b Update Fedora 29 test image 2019-08-30 19:49:40 -04:00
24ad1dffc9 To fix iosxr_l3_interfaces module zuul tests (#61592)
* fix 61540

* fix utils
2019-08-30 19:36:15 -04:00
aaa8835311 shippable: temporary bump the timeout for Azure jobs 2019-08-30 18:47:51 -04:00
1ff20e9804 apt_repository: implement update cache retrying (#57266)
* use exponential backoff
* make cache update retries and max delay in between configurable
2019-08-30 16:14:15 -04:00
fd4ff54580 apt: honor cache_update=false on auto-install deps (#56549)
* apt: honor cache_update=false on auto-install deps
* add porting guide
2019-08-30 15:57:58 -04:00
01ae6991bd apt: use exponential backoff for apt update cache retries (#60527)
* make retries and max delay configurable
2019-08-30 15:55:38 -04:00
e218c9814c ansible-test - Continue if the git command returns an error (#61605)
* ansible-test - Contiune if the git command returns an error

* Just return stdout

* Use to_text() when displaying exception

* Add a message property to SubprocessError
2019-08-30 12:03:39 -07:00
1d40d2b572 fix width (#61619) 2019-08-30 13:44:41 -05:00
35359959de aws_codecommit: Fix integration tests and Add support for updating the description (#61263)
* Update DevOps AWS policy
- Fix typos in permission names
- While AWS claims you can use 'arn:aws:codecommit:*' it errors unless you use '*'

* aws_codecommit: (integration tests) Migrate to module_defaults

* aws_codecommit: (integration tests) Fix integration tests

* aws_codecommit: (integration tests) Add tests for updating the description

* aws_codecommit: Add support for updating the description and rename "comment" option to "description"
2019-08-30 11:25:37 -07:00
0e1ec04efb roadmap should reflect upstream release, not downstream (#61611) 2019-08-30 13:07:24 -04:00
8f6dbb732a [WIP] Cleanups and version bumping for 2.10 (#61572)
* Cleanups and version bumping for 2.10

* Fix changelog url now that stable has been branched

* Fix the lenth of the porting guide title now that the version is two digits
2019-08-30 09:54:12 -07:00
0c2590d3df Run ec2_vol_facts integration tests in CI (#48755)
Filter owner aliases by 'amazon' since amazon marketplace may not be activated
2019-08-30 08:47:32 -07:00
e4e5005640 Fix ansible-test coverage path handling. (#61528)
* Fix ansible-test coverage path handling.
* Split CI unit tests into two groups.
2019-08-30 00:18:49 -07:00
951dac7691 Azure fix _info/_facts return values for some modules (#61584)
* Azure fix _info/_facts return values for some modules

* Further test fixes

* securitygroup fixes after the move to _info module
2019-08-30 16:00:47 +10:00
cd24d57636 Add IOPs bandwidth support to volumes (#61577) 2019-08-30 01:12:39 -04:00
3bd69a47ec Skip certain tests on 2016 (#61585) 2019-08-30 14:59:00 +10:00
4063d58339 Use relative submodule status in ansible-test.
The `git submodule status` command is relative to the current git repository by default.
When running from a repository subdirectory paths can be returned above the current directory.
Specifying the current directory with `git submodule status` avoids listing submodules above that directory.

This will fix issues when testing a collection that is rooted below the repository root when that repository uses submodules.
2019-08-29 20:29:38 -07:00
a7fd6e99d9 Refactor galaxy collection API for v3 support (#61510)
* Refactor galaxy collection API for v3 support

* Added unit tests for GalaxyAPI and starting to fix other failures

* finalise tests

* more unit test fixes
2019-08-30 11:55:19 +10:00
82c1becd24 Bug fixes for GCP modules (#61512) 2019-08-29 19:16:36 -04:00
18142 changed files with 258080 additions and 2224609 deletions

View File

@ -0,0 +1,257 @@
trigger:
batch: true
branches:
include:
- devel
- stable-*
pr:
autoCancel: true
branches:
include:
- devel
- stable-*
schedules:
- cron: 0 7 * * *
displayName: Nightly
always: true
branches:
include:
- devel
- stable-*
variables:
- name: checkoutPath
value: ansible
- name: coverageBranches
value: devel
- name: pipelinesCoverage
value: coverage
- name: entryPoint
value: test/utils/shippable/shippable.sh
- name: fetchDepth
value: 500
resources:
containers:
- container: default
image: quay.io/ansible/azure-pipelines-test-container:1.9.0
pool: Standard
stages:
- stage: Sanity
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Test {0}
testFormat: sanity/{0}
targets:
- test: 1
- test: 2
- test: 3
- test: 4
- test: 5
- stage: Units
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Python {0}
testFormat: units/{0}
targets:
- test: 2.6
- test: 2.7
- test: 3.5
- test: 3.6
- test: 3.7
- test: 3.8
- test: 3.9
- test: '3.10'
- stage: Windows
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Server {0}
testFormat: windows/{0}/1
targets:
- test: 2012
- test: 2012-R2
- test: 2016
- test: 2019
- test: 2022
- stage: Remote
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
targets:
- name: macOS 11.1
test: macos/11.1
- name: RHEL 7.9
test: rhel/7.9
- name: RHEL 8.4 py36
test: rhel/8.4@3.6
- name: RHEL 8.4 py38
test: rhel/8.4@3.8
- name: FreeBSD 12.2
test: freebsd/12.2
- name: FreeBSD 13.0
test: freebsd/13.0
groups:
- 1
- 2
- 3
- 4
- 5
- stage: Docker
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: linux/{0}
targets:
- name: Alpine 3
test: alpine3
- name: CentOS 6
test: centos6
- name: CentOS 7
test: centos7
- name: CentOS 8
test: centos8
- name: Fedora 33
test: fedora33
- name: Fedora 34
test: fedora34
- name: openSUSE 15 py2
test: opensuse15py2
- name: openSUSE 15 py3
test: opensuse15
- name: Ubuntu 18.04
test: ubuntu1804
- name: Ubuntu 20.04
test: ubuntu2004
groups:
- 1
- 2
- 3
- 4
- 5
- stage: Galaxy
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Python {0}
testFormat: galaxy/{0}/1
targets:
- test: 3.8
- test: 3.9
- test: '3.10'
- stage: Generic
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Python {0}
testFormat: generic/{0}/1
targets:
- test: 3.8
- test: 3.9
- test: '3.10'
- stage: Incidental_Remote
displayName: Incidental Remote
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: i/{0}
targets:
- name: macOS 11.1
test: macos/11.1
- name: RHEL 7.9
test: rhel/7.9
- name: RHEL 8.4 py36
test: rhel/8.4@3.6
- name: RHEL 8.4 py38
test: rhel/8.4@3.8
- name: FreeBSD 12.2
test: freebsd/12.2
- name: FreeBSD 13.0
test: freebsd/13.0
- stage: Incidental_Docker
displayName: Incidental Docker
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: i/linux/{0}
targets:
- name: CentOS 6
test: centos6
- name: CentOS 7
test: centos7
- name: CentOS 8
test: centos8
- name: Fedora 33
test: fedora33
- name: Fedora 34
test: fedora34
- name: openSUSE 15 py2
test: opensuse15py2
- name: openSUSE 15 py3
test: opensuse15
- name: Ubuntu 18.04
test: ubuntu1804
- name: Ubuntu 20.04
test: ubuntu2004
- stage: Incidental_Windows
displayName: Incidental Windows
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Server {0}
testFormat: i/windows/{0}
targets:
- test: 2012
- test: 2012-R2
- test: 2016
- test: 2019
- test: 2022
- stage: Incidental
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: i/{0}/1
targets:
- name: IOS Python
test: ios/csr1000v/
- name: VyOS Python
test: vyos/1.1.8/
- name: AWS Python 2.7
test: aws/2.7
- name: AWS Python 3.6
test: aws/3.6
- name: Cloud Python
test: cloud/
- stage: Summary
condition: succeededOrFailed()
dependsOn:
- Sanity
- Units
- Windows
- Remote
- Docker
- Galaxy
- Generic
- Incidental_Remote
- Incidental_Docker
- Incidental_Windows
- Incidental
jobs:
- template: templates/coverage.yml

View File

@ -0,0 +1,20 @@
#!/usr/bin/env bash
# Aggregate code coverage results for later processing.
set -o pipefail -eu
agent_temp_directory="$1"
PATH="${PWD}/bin:${PATH}"
mkdir "${agent_temp_directory}/coverage/"
options=(--venv --venv-system-site-packages --color -v)
ansible-test coverage combine --export "${agent_temp_directory}/coverage/" "${options[@]}"
if ansible-test coverage analyze targets generate --help >/dev/null 2>&1; then
# Only analyze coverage if the installed version of ansible-test supports it.
# Doing so allows this script to work unmodified for multiple Ansible versions.
ansible-test coverage analyze targets generate "${agent_temp_directory}/coverage/coverage-analyze-targets.json" "${options[@]}"
fi

View File

@ -0,0 +1,60 @@
#!/usr/bin/env python
"""
Combine coverage data from multiple jobs, keeping the data only from the most recent attempt from each job.
Coverage artifacts must be named using the format: "Coverage $(System.JobAttempt) {StableUniqueNameForEachJob}"
The recommended coverage artifact name format is: Coverage $(System.JobAttempt) $(System.StageDisplayName) $(System.JobDisplayName)
Keep in mind that Azure Pipelines does not enforce unique job display names (only names).
It is up to pipeline authors to avoid name collisions when deviating from the recommended format.
"""
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
import os
import re
import shutil
import sys
def main():
"""Main program entry point."""
source_directory = sys.argv[1]
if '/ansible_collections/' in os.getcwd():
output_path = "tests/output"
else:
output_path = "test/results"
destination_directory = os.path.join(output_path, 'coverage')
if not os.path.exists(destination_directory):
os.makedirs(destination_directory)
jobs = {}
count = 0
for name in os.listdir(source_directory):
match = re.search('^Coverage (?P<attempt>[0-9]+) (?P<label>.+)$', name)
label = match.group('label')
attempt = int(match.group('attempt'))
jobs[label] = max(attempt, jobs.get(label, 0))
for label, attempt in jobs.items():
name = 'Coverage {attempt} {label}'.format(label=label, attempt=attempt)
source = os.path.join(source_directory, name)
source_files = os.listdir(source)
for source_file in source_files:
source_path = os.path.join(source, source_file)
destination_path = os.path.join(destination_directory, source_file + '.' + label)
print('"%s" -> "%s"' % (source_path, destination_path))
shutil.copyfile(source_path, destination_path)
count += 1
print('Coverage file count: %d' % count)
print('##vso[task.setVariable variable=coverageFileCount]%d' % count)
print('##vso[task.setVariable variable=outputPath]%s' % output_path)
if __name__ == '__main__':
main()

View File

@ -0,0 +1,24 @@
#!/usr/bin/env bash
# Check the test results and set variables for use in later steps.
set -o pipefail -eu
if [[ "$PWD" =~ /ansible_collections/ ]]; then
output_path="tests/output"
else
output_path="test/results"
fi
echo "##vso[task.setVariable variable=outputPath]${output_path}"
if compgen -G "${output_path}"'/junit/*.xml' > /dev/null; then
echo "##vso[task.setVariable variable=haveTestResults]true"
fi
if compgen -G "${output_path}"'/bot/ansible-test-*' > /dev/null; then
echo "##vso[task.setVariable variable=haveBotResults]true"
fi
if compgen -G "${output_path}"'/coverage/*' > /dev/null; then
echo "##vso[task.setVariable variable=haveCoverageData]true"
fi

View File

@ -0,0 +1,27 @@
#!/usr/bin/env bash
# Upload code coverage reports to codecov.io.
# Multiple coverage files from multiple languages are accepted and aggregated after upload.
# Python coverage, as well as PowerShell and Python stubs can all be uploaded.
set -o pipefail -eu
output_path="$1"
curl --silent --show-error https://ansible-ci-files.s3.us-east-1.amazonaws.com/codecov/codecov.sh > codecov.sh
for file in "${output_path}"/reports/coverage*.xml; do
name="${file}"
name="${name##*/}" # remove path
name="${name##coverage=}" # remove 'coverage=' prefix if present
name="${name%.xml}" # remove '.xml' suffix
bash codecov.sh \
-f "${file}" \
-n "${name}" \
-X coveragepy \
-X gcov \
-X fix \
-X search \
-X xcode \
|| echo "Failed to upload code coverage report to codecov.io: ${file}"
done

View File

@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Generate code coverage reports for uploading to Azure Pipelines and codecov.io.
set -o pipefail -eu
PATH="${PWD}/bin:${PATH}"
if ! ansible-test --help >/dev/null 2>&1; then
# Install the devel version of ansible-test for generating code coverage reports.
# This is only used by Ansible Collections, which are typically tested against multiple Ansible versions (in separate jobs).
# Since a version of ansible-test is required that can work the output from multiple older releases, the devel version is used.
pip install https://github.com/ansible/ansible/archive/devel.tar.gz --disable-pip-version-check
fi
# Generate stubs using docker (if supported) otherwise fall back to using a virtual environment instead.
# The use of docker is required when Powershell code is present, but Ansible 2.12 was the first version to support --docker with coverage.
ansible-test coverage xml --stub --docker --color -v || ansible-test coverage xml --stub --venv --venv-system-site-packages --color -v

View File

@ -0,0 +1,34 @@
#!/usr/bin/env bash
# Configure the test environment and run the tests.
set -o pipefail -eu
entry_point="$1"
test="$2"
read -r -a coverage_branches <<< "$3" # space separated list of branches to run code coverage on for scheduled builds
export COMMIT_MESSAGE
export COMPLETE
export COVERAGE
export IS_PULL_REQUEST
if [ "${SYSTEM_PULLREQUEST_TARGETBRANCH:-}" ]; then
IS_PULL_REQUEST=true
COMMIT_MESSAGE=$(git log --format=%B -n 1 HEAD^2)
else
IS_PULL_REQUEST=
COMMIT_MESSAGE=$(git log --format=%B -n 1 HEAD)
fi
COMPLETE=
COVERAGE=
if [ "${BUILD_REASON}" = "Schedule" ]; then
COMPLETE=yes
if printf '%s\n' "${coverage_branches[@]}" | grep -q "^${BUILD_SOURCEBRANCHNAME}$"; then
COVERAGE=yes
fi
fi
"${entry_point}" "${test}" 2>&1 | "$(dirname "$0")/time-command.py"

View File

@ -0,0 +1,25 @@
#!/usr/bin/env python
"""Prepends a relative timestamp to each input line from stdin and writes it to stdout."""
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
import sys
import time
def main():
"""Main program entry point."""
start = time.time()
sys.stdin.reconfigure(errors='surrogateescape')
sys.stdout.reconfigure(errors='surrogateescape')
for line in sys.stdin:
seconds = time.time() - start
sys.stdout.write('%02d:%02d %s' % (seconds // 60, seconds % 60, line))
sys.stdout.flush()
if __name__ == '__main__':
main()

View File

@ -0,0 +1,42 @@
# This template adds a job for processing code coverage data.
# It will upload results to Azure Pipelines and codecov.io.
# Use it from a job stage that completes after all other jobs have completed.
# This can be done by placing it in a separate summary stage that runs after the test stage(s) have completed.
jobs:
- job: Coverage
displayName: Code Coverage
container: default
workspace:
clean: all
steps:
- checkout: self
fetchDepth: $(fetchDepth)
path: $(checkoutPath)
- task: DownloadPipelineArtifact@2
displayName: Download Coverage Data
inputs:
path: coverage/
patterns: "Coverage */*=coverage.combined"
- bash: .azure-pipelines/scripts/combine-coverage.py coverage/
displayName: Combine Coverage Data
- bash: .azure-pipelines/scripts/report-coverage.sh
displayName: Generate Coverage Report
condition: gt(variables.coverageFileCount, 0)
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: Cobertura
# Azure Pipelines only accepts a single coverage data file.
# That means only Python or PowerShell coverage can be uploaded, but not both.
# Set the "pipelinesCoverage" variable to determine which type is uploaded.
# Use "coverage" for Python and "coverage-powershell" for PowerShell.
summaryFileLocation: "$(outputPath)/reports/$(pipelinesCoverage).xml"
# Override the root (sources) path specified in the coverage XML files.
# This allows coverage to be reported in Azure Pipelines even if the report was generated in a container.
pathToSources: "$(Agent.BuildDirectory)/$(checkoutPath)"
displayName: Publish to Azure Pipelines
condition: gt(variables.coverageFileCount, 0)
- bash: .azure-pipelines/scripts/publish-codecov.sh "$(outputPath)"
displayName: Publish to codecov.io
condition: gt(variables.coverageFileCount, 0)
continueOnError: true

View File

@ -0,0 +1,55 @@
# This template uses the provided targets and optional groups to generate a matrix which is then passed to the test template.
# If this matrix template does not provide the required functionality, consider using the test template directly instead.
parameters:
# A required list of dictionaries, one per test target.
# Each item in the list must contain a "test" or "name" key.
# Both may be provided. If one is omitted, the other will be used.
- name: targets
type: object
# An optional list of values which will be used to multiply the targets list into a matrix.
# Values can be strings or numbers.
- name: groups
type: object
default: []
# An optional format string used to generate the job name.
# - {0} is the name of an item in the targets list.
- name: nameFormat
type: string
default: "{0}"
# An optional format string used to generate the test name.
# - {0} is the name of an item in the targets list.
- name: testFormat
type: string
default: "{0}"
# An optional format string used to add the group to the job name.
# {0} is the formatted name of an item in the targets list.
# {{1}} is the group -- be sure to include the double "{{" and "}}".
- name: nameGroupFormat
type: string
default: "{0} - {{1}}"
# An optional format string used to add the group to the test name.
# {0} is the formatted test of an item in the targets list.
# {{1}} is the group -- be sure to include the double "{{" and "}}".
- name: testGroupFormat
type: string
default: "{0}/{{1}}"
jobs:
- template: test.yml
parameters:
jobs:
- ${{ if eq(length(parameters.groups), 0) }}:
- ${{ each target in parameters.targets }}:
- name: ${{ format(parameters.nameFormat, coalesce(target.name, target.test)) }}
test: ${{ format(parameters.testFormat, coalesce(target.test, target.name)) }}
- ${{ if not(eq(length(parameters.groups), 0)) }}:
- ${{ each group in parameters.groups }}:
- ${{ each target in parameters.targets }}:
- name: ${{ format(format(parameters.nameGroupFormat, parameters.nameFormat), coalesce(target.name, target.test), group) }}
test: ${{ format(format(parameters.testGroupFormat, parameters.testFormat), coalesce(target.test, target.name), group) }}

View File

@ -0,0 +1,45 @@
# This template uses the provided list of jobs to create test one or more test jobs.
# It can be used directly if needed, or through the matrix template.
parameters:
# A required list of dictionaries, one per test job.
# Each item in the list must contain a "job" and "name" key.
- name: jobs
type: object
jobs:
- ${{ each job in parameters.jobs }}:
- job: test_${{ replace(replace(replace(replace(job.test, '/', '_'), '.', '_'), '-', '_'), '@', '_') }}
displayName: ${{ job.name }}
container: default
workspace:
clean: all
steps:
- checkout: self
fetchDepth: $(fetchDepth)
path: $(checkoutPath)
- bash: .azure-pipelines/scripts/run-tests.sh "$(entryPoint)" "${{ job.test }}" "$(coverageBranches)"
displayName: Run Tests
- bash: .azure-pipelines/scripts/process-results.sh
condition: succeededOrFailed()
displayName: Process Results
- bash: .azure-pipelines/scripts/aggregate-coverage.sh "$(Agent.TempDirectory)"
condition: eq(variables.haveCoverageData, 'true')
displayName: Aggregate Coverage Data
- task: PublishTestResults@2
condition: eq(variables.haveTestResults, 'true')
inputs:
testResultsFiles: "$(outputPath)/junit/*.xml"
displayName: Publish Test Results
- task: PublishPipelineArtifact@1
condition: eq(variables.haveBotResults, 'true')
displayName: Publish Bot Results
inputs:
targetPath: "$(outputPath)/bot/"
artifactName: "Bot $(System.JobAttempt) $(System.StageDisplayName) $(System.JobDisplayName)"
- task: PublishPipelineArtifact@1
condition: eq(variables.haveCoverageData, 'true')
displayName: Publish Coverage Data
inputs:
targetPath: "$(Agent.TempDirectory)/coverage/"
artifactName: "Coverage $(System.JobAttempt) $(System.StageDisplayName) $(System.JobDisplayName)"

1
.gitattributes vendored
View File

@ -1,2 +1 @@
.github/ export-ignore
hacking/ export-ignore

1704
.github/BOTMETA.yml vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,54 +0,0 @@
---
name: 🐛 Bug report
about: Create a report to help us improve
---
<!--- Verify first that your issue is not already reported on GitHub -->
<!--- Also test if the latest release and devel branch are affected too -->
<!--- Complete *all* sections as described, this form is processed automatically -->
##### SUMMARY
<!--- Explain the problem briefly below -->
##### ISSUE TYPE
- Bug Report
##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
```
##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below
```
##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->
<!--- Paste example playbooks or commands between quotes below -->
```yaml
```
<!--- HINT: You can paste gist.github.com links for larger files -->
##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->
<!--- Paste verbatim command output between quotes -->
```paste below
```

263
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@ -0,0 +1,263 @@
---
name: 🐛 Bug report
description: Create a report to help us improve
body:
- type: markdown
attributes:
value: >
**Thank you for wanting to report a bug in ansible-core!**
⚠
Verify first that your issue is not [already reported on
GitHub][issue search] and keep in mind that we may have to keep
the current behavior because [every change breaks someone's
workflow][XKCD 1172].
We try to be mindful about this.
Also test if the latest release and devel branch are affected too.
**Tip:** If you are seeking community support, please consider
[starting a mailing list thread or chatting in IRC][ML||IRC].
[ML||IRC]:
https://docs.ansible.com/ansible-core/devel/community/communication.html?utm_medium=github&utm_source=issue_form--bug_report.yml#mailing-list-information
[issue search]: ../search?q=is%3Aissue&type=issues
[XKCD 1172]: https://xkcd.com/1172/
- type: textarea
attributes:
label: Summary
description: Explain the problem briefly below.
placeholder: >-
When I try to do X with ansible-core from the devel branch on GitHub, Y
breaks in a way Z under the env E. Here are all the details I know
about this problem...
validations:
required: true
- type: dropdown
attributes:
label: Issue Type
description: >
Please select the single available option in the drop-down.
<details>
<summary>
<em>Why?</em>
</summary>
We would do it by ourselves but unfortunatelly, the curent
edition of GitHub Issue Forms Alpha does not support this yet 🤷
_We will make it easier in the future, once GitHub
supports dropdown defaults. Promise!_
</details>
# FIXME: Once GitHub allows defining the default choice, update this
options:
- Bug Report
validations:
required: true
- type: input
attributes:
label: Component Name
description: >
Write the short name of the rst file, module, plugin, task or
feature below, *use your best guess if unsure*.
**Tip:** Cannot find it in this repository? Please be advised that
the source for some parts of the documentation are hosted outside
of this repository. If the page you are reporting describes
modules/plugins/etc that are not officially supported by the
Ansible Core Engineering team, there is a good chance that it is
coming from one of the [Ansible Collections maintained by the
community][collections org]. If this is the case, please make sure
to file an issue under the appropriate project there instead.
[collections org]: /ansible-collections
placeholder: dnf, apt, yum, pip, user etc.
validations:
required: true
- type: textarea
attributes:
label: Ansible Version
description: >-
Paste verbatim output from `ansible --version` below, under
the prompt line. Please don't wrap it with tripple backticks — your
whole input will be turned into a code snippet automatically.
render: console
value: |
$ ansible --version
placeholder: |
$ ansible --version
ansible [core 2.11.0b4.post0] (detached HEAD ref: refs/) last updated 2021/04/02 00:33:35 (GMT +200)
config file = None
configured module search path = ['~/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = ~/src/github/ansible/ansible/lib/ansible
ansible collection location = ~/.ansible/collections:/usr/share/ansible/collections
executable location = bin/ansible
python version = 3.9.0 (default, Oct 26 2020, 13:08:59) [GCC 10.2.0]
jinja version = 2.11.3
libyaml = True
validations:
required: true
- type: textarea
attributes:
label: Configuration
description: >-
Paste verbatim output from `ansible-config dump --only-changed`
below, under the prompt line.
Please don't wrap it with tripple backticks — your
whole input will be turned into a code snippet automatically.
render: console
value: |
$ ansible-config dump --only-changed
placeholder: |
$ ansible-config dump --only-changed
DEFAULT_GATHERING(~/src/github/ansible/ansible/ansible.cfg) = smart
DEFAULT_HOST_LIST(~/src/github/ansible/ansible/ansible.cfg) = ['~/src/github/ansible/ansible/hosts']
DEFAULT_VAULT_PASSWORD_FILE(~/src/github/ansible/ansible/ansible.cfg) = ~/src/github/ansible/ansible/vault/print-password.sh
validations:
required: true
- type: textarea
attributes:
label: OS / Environment
description: >-
Provide all relevant information below, e.g. target OS versions,
network device firmware, etc.
placeholder: RHEL 8, CentOS Stream etc.
validations:
required: true
- type: textarea
attributes:
label: Steps to Reproduce
description: |
Describe exactly how to reproduce the problem, using a minimal test-case. It would *really* help us understand your problem if you could also pased any playbooks, configs and commands you used.
**HINT:** You can paste https://gist.github.com links for larger files.
value: |
<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)
```
placeholder: |
1. Implement the following playbook:
```yaml
---
# ping.yml
- hosts: all
gather_facts: false
tasks:
- ping:
...
```
2. Then run `ANSIBLE_DEBUG=1 ansible-playbook ping.yml -vvvvv`
3. An error occurs.
validations:
required: true
- type: textarea
attributes:
label: Expected Results
description: >-
Describe what you expected to happen when running the steps above.
placeholder: >-
I expected X to happen because I assumed Y and was shocked
that it did not.
validations:
required: true
- type: textarea
attributes:
label: Actual Results
description: |
Describe what actually happened. If possible run with extra verbosity (`-vvvv`).
Paste verbatim command output and don't wrap it with tripple backticks — your
whole input will be turned into a code snippet automatically.
render: console
placeholder: >-
Certificate did not match expected hostname: files.pythonhosted.org. Certificate: {'notAfter': 'Apr 28 19:20:25 2021 GMT', 'subjectAltName': ((u'DNS', 'r.ssl.fastly.net'), (u'DNS', '*.catchpoint.com'), (u'DNS', '*.cnn.io'), (u'DNS', '*.dollarshaveclub.com'), (u'DNS', '*.eater.com'), (u'DNS', '*.fastly.picmonkey.com'), (u'DNS', '*.files.saymedia-content.com'), (u'DNS', '*.ft.com'), (u'DNS', '*.meetupstatic.com'), (u'DNS', '*.nfl.com'), (u'DNS', '*.pagar.me'), (u'DNS', '*.picmonkey.com'), (u'DNS', '*.realself.com'), (u'DNS', '*.sbnation.com'), (u'DNS', '*.shakr.com'), (u'DNS', '*.streamable.com'), (u'DNS', '*.surfly.com'), (u'DNS', '*.theverge.com'), (u'DNS', '*.thrillist.com'), (u'DNS', '*.vox-cdn.com'), (u'DNS', '*.vox.com'), (u'DNS', '*.voxmedia.com'), (u'DNS', 'eater.com'), (u'DNS', 'ft.com'), (u'DNS', 'i.gse.io'), (u'DNS', 'picmonkey.com'), (u'DNS', 'realself.com'), (u'DNS', 'static.wixstatic.com'), (u'DNS', 'streamable.com'), (u'DNS', 'surfly.com'), (u'DNS', 'theverge.com'), (u'DNS', 'vox-cdn.com'), (u'DNS', 'vox.com'), (u'DNS', 'www.joyent.com')), 'subject': ((('countryName', u'US'),), (('stateOrProvinceName', u'California'),), (('localityName', u'San Francisco'),), (('organizationName', u'Fastly, Inc'),), (('commonName', u'r.ssl.fastly.net'),))}
Exception:
Traceback (most recent call last):
File "/usr/local/lib/python2.6/dist-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/local/lib/python2.6/dist-packages/pip/commands/install.py", line 335, in run
wb.build(autobuilding=True)
File "/usr/local/lib/python2.6/dist-packages/pip/wheel.py", line 749, in build
self.requirement_set.prepare_files(self.finder)
File "/usr/local/lib/python2.6/dist-packages/pip/req/req_set.py", line 380, in prepare_files
ignore_dependencies=self.ignore_dependencies))
File "/usr/local/lib/python2.6/dist-packages/pip/req/req_set.py", line 620, in _prepare_file
session=self.session, hashes=hashes)
File "/usr/local/lib/python2.6/dist-packages/pip/download.py", line 821, in unpack_url
hashes=hashes
File "/usr/local/lib/python2.6/dist-packages/pip/download.py", line 659, in unpack_http_url
hashes)
File "/usr/local/lib/python2.6/dist-packages/pip/download.py", line 853, in _download_http_url
stream=True,
File "/usr/local/lib/python2.6/dist-packages/pip/_vendor/requests/sessions.py", line 521, in get
return self.request('GET', url, **kwargs)
File "/usr/local/lib/python2.6/dist-packages/pip/download.py", line 386, in request
return super(PipSession, self).request(method, url, *args, **kwargs)
File "/usr/local/lib/python2.6/dist-packages/pip/_vendor/requests/sessions.py", line 508, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python2.6/dist-packages/pip/_vendor/requests/sessions.py", line 618, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python2.6/dist-packages/pip/_vendor/cachecontrol/adapter.py", line 47, in send
resp = super(CacheControlAdapter, self).send(request, **kw)
File "/usr/local/lib/python2.6/dist-packages/pip/_vendor/requests/adapters.py", line 506, in send
raise SSLError(e, request=request)
SSLError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Max retries exceeded with url: /packages/ef/ab/aa12712415809bf698e719b307419f953e25344e8f42d557533d7a02b276/netapp_lib-2020.7.16-py2-none-any.whl (Caused by SSLError(CertificateError("hostname 'files.pythonhosted.org' doesn't match either of 'r.ssl.fastly.net', '*.catchpoint.com', '*.cnn.io', '*.dollarshaveclub.com', '*.eater.com', '*.fastly.picmonkey.com', '*.files.saymedia-content.com', '*.ft.com', '*.meetupstatic.com', '*.nfl.com', '*.pagar.me', '*.picmonkey.com', '*.realself.com', '*.sbnation.com', '*.shakr.com', '*.streamable.com', '*.surfly.com', '*.theverge.com', '*.thrillist.com', '*.vox-cdn.com', '*.vox.com', '*.voxmedia.com', 'eater.com', 'ft.com', 'i.gse.io', 'picmonkey.com', 'realself.com', 'static.wixstatic.com', 'streamable.com', 'surfly.com', 'theverge.com', 'vox-cdn.com', 'vox.com', 'www.joyent.com'",),))
ERROR: Command "/usr/bin/python2.6 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check -r /root/ansible/test/lib/ansible_test/_data/requirements/units.txt -r tests/unit/requirements.txt -c /root/ansible/test/lib/ansible_test/_data/requirements/constraints.txt" returned exit status 2.
ERROR: Command "docker exec d47eb360db4ce779c1f690db964655b76e68895c4360ff252c46fe7fe6f5c75a /usr/bin/env ANSIBLE_TEST_CONTENT_ROOT=/root/ansible_collections/netapp/ontap LC_ALL=en_US.UTF-8 /usr/bin/python3.6 /root/ansible/bin/ansible-test units --metadata tests/output/.tmp/metadata-9i2qfrcl.json --truncate 200 --redact --color yes --requirements --python default --requirements-mode only" returned exit status 1.
validations:
required: true
- type: markdown
attributes:
value: >
*One last thing...*
*Please, complete **all** sections as described, this form
is [processed automatically by a robot][ansibot help].*
Thank you for your collaboration!
[ansibot help]:
/ansible/ansibullbot/blob/master/ISSUE_HELP.md#for-issue-submitters
- type: checkboxes
attributes:
label: Code of Conduct
description: |
Read the [Ansible Code of Conduct][CoC] first.
[CoC]: https://docs.ansible.com/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_form--bug_report.yml
options:
- label: I agree to follow the Ansible Code of Conduct
required: true
...

26
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,26 @@
# Ref: https://help.github.com/en/github/building-a-strong-community/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
blank_issues_enabled: false # default: true
contact_links:
- name: 🔐 Security bug report 🔥
url: https://docs.ansible.com/ansible/latest/community/reporting_bugs_and_features.html?utm_medium=github&utm_source=issue_template_chooser
about: |
Please learn how to report security vulnerabilities here.
For all security related bugs, email security@ansible.com
instead of using this issue tracker and you will receive
a prompt response.
For more information, see
https://docs.ansible.com/ansible/latest/community/reporting_bugs_and_features.html
- name: 📝 Ansible Code of Conduct
url: https://docs.ansible.com/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_template_chooser
about: ❤ Be nice to other members of the community. ☮ Behave.
- name: 💬 Talks to the community
url: https://docs.ansible.com/ansible/latest/community/communication.html?utm_medium=github&utm_source=issue_template_chooser#mailing-list-information
about: Please ask and answer usage questions here
- name: ⚡ Working groups
url: https://github.com/ansible/community/wiki
about: Interested in improving a specific area? Become a part of a working group!
- name: 💼 For Enterprise
url: https://www.ansible.com/products/engine?utm_medium=github&utm_source=issue_template_chooser
about: Red Hat offers support for the Ansible Automation Platform

View File

@ -1,38 +0,0 @@
---
name: 📝 Documentation Report
about: Ask us about docs
---
<!--- Verify first that your improvement is not already reported on GitHub -->
<!--- Also test if the latest release and devel branch are affected too -->
<!--- Complete *all* sections as described, this form is processed automatically -->
##### SUMMARY
<!--- Explain the problem briefly below, add suggestions to wording or structure -->
<!--- HINT: Did you know the documentation has an "Edit on GitHub" link on every page ? -->
##### ISSUE TYPE
- Documentation Report
##### COMPONENT NAME
<!--- Write the short name of the rst file, module, plugin, task or feature below, use your best guess if unsure -->
##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
```
##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below
```
##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. OS version, browser, etc. -->
##### ADDITIONAL INFORMATION
<!--- Describe how this improves the documentation, e.g. before/after situation or screenshots -->
<!--- HINT: You can paste gist.github.com links for larger files -->

View File

@ -0,0 +1,199 @@
---
name: 📝 Documentation Report
description: Ask us about docs
body:
- type: markdown
attributes:
value: >
**Thank you for wanting to report a problem with ansible-core
documentation!**
Please fill out your suggestions below. If the problem seems
straightforward, feel free to go ahead and
[submit a pull request] instead!
⚠
Verify first that your issue is not [already reported on
GitHub][issue search].
Also test if the latest release and devel branch are affected too.
**Tip:** If you are seeking community support, please consider
[starting a mailing list thread or chatting in IRC][ML||IRC].
[ML||IRC]:
https://docs.ansible.com/ansible-core/devel/community/communication.html?utm_medium=github&utm_source=issue_form--documentation_report.yml#mailing-list-information
[issue search]: ../search?q=is%3Aissue&type=issues
[submit a pull request]:
https://docs.ansible.com/ansible-core/devel/community/documentation_contributions.html
- type: textarea
attributes:
label: Summary
description: >
Explain the problem briefly below, add suggestions to wording
or structure.
**HINT:** Did you know the documentation has a `View on GitHub`
link on every page? Feel free to use it to start a pull request
right from the GitHub UI!
placeholder: >-
I was reading the ansible-core documentation of version X and I'm having
problems understanding Y. It would be very helpful if that got
rephrased as Z.
validations:
required: true
- type: dropdown
attributes:
label: Issue Type
description: >
Please select the single available option in the drop-down.
<details>
<summary>
<em>Why?</em>
</summary>
We would do it by ourselves but unfortunatelly, the curent
edition of GitHub Issue Forms Alpha does not support this yet 🤷
_We will make it easier in the future, once GitHub
supports dropdown defaults. Promise!_
</details>
# FIXME: Once GitHub allows defining the default choice, update this
options:
- Documentation Report
validations:
required: true
- type: input
attributes:
label: Component Name
description: >
Write the short name of the rst file, module, plugin, task or
feature below, *use your best guess if unsure*.
**Tip:** Be advised that the source for some parts of the
documentation are hosted outside of this repository. If the page
you are reporting describes modules/plugins/etc that are not
officially supported by the Ansible Core Engineering team, there
is a good chance that it is coming from one of the [Ansible
Collections maintained by the community][collections org]. If this
is the case, please make sure to file an issue under the
appropriate project there instead.
[collections org]: /ansible-collections
placeholder: docs/docsite/rst/dev_guide/debugging.rst
validations:
required: true
- type: textarea
attributes:
label: Ansible Version
description: >-
Paste verbatim output from `ansible --version` below, under
the prompt line. Please don't wrap it with tripple backticks — your
whole input will be turned into a code snippet automatically.
render: console
value: |
$ ansible --version
placeholder: |
$ ansible --version
ansible [core 2.11.0b4.post0] (detached HEAD ref: refs/) last updated 2021/04/02 00:33:35 (GMT +200)
config file = None
configured module search path = ['~/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = ~/src/github/ansible/ansible/lib/ansible
ansible collection location = ~/.ansible/collections:/usr/share/ansible/collections
executable location = bin/ansible
python version = 3.9.0 (default, Oct 26 2020, 13:08:59) [GCC 10.2.0]
jinja version = 2.11.3
libyaml = True
validations:
required: true
- type: textarea
attributes:
label: Configuration
description: >-
Paste verbatim output from `ansible-config dump --only-changed`
below, under the prompt line.
Please don't wrap it with tripple backticks — your
whole input will be turned into a code snippet automatically.
render: console
value: |
$ ansible-config dump --only-changed
placeholder: |
$ ansible-config dump --only-changed
DEFAULT_GATHERING(~/src/github/ansible/ansible/ansible.cfg) = smart
DEFAULT_HOST_LIST(~/src/github/ansible/ansible/ansible.cfg) = ['~/src/github/ansible/ansible/hosts']
DEFAULT_VAULT_PASSWORD_FILE(~/src/github/ansible/ansible/ansible.cfg) = ~/src/github/ansible/ansible/vault/print-password.sh
validations:
required: true
- type: textarea
attributes:
label: OS / Environment
description: >-
Provide all relevant information below, e.g. OS version,
browser, etc.
placeholder: Fedora 33, Firefox etc.
validations:
required: true
- type: textarea
attributes:
label: Additional Information
description: |
Describe how this improves the documentation, e.g. before/after situation or screenshots.
**HINT:** You can paste https://gist.github.com links for larger files.
placeholder: >-
When the improvement is applied, it makes it more straightforward
to understand X.
validations:
required: true
- type: markdown
attributes:
value: >
*One last thing...*
*Please, complete **all** sections as described, this form
is [processed automatically by a robot][ansibot help].*
Thank you for your collaboration!
[ansibot help]:
/ansible/ansibullbot/blob/master/ISSUE_HELP.md#for-issue-submitters
- type: checkboxes
attributes:
label: Code of Conduct
description: |
Read the [Ansible Code of Conduct][CoC] first.
[CoC]: https://docs.ansible.com/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_form--documentation_report.yml
options:
- label: I agree to follow the Ansible Code of Conduct
required: true
...

View File

@ -1,25 +0,0 @@
---
name: ✨ Feature request
about: Suggest an idea for this project
---
<!--- Verify first that your feature was not already discussed on GitHub -->
<!--- Complete *all* sections as described, this form is processed automatically -->
##### SUMMARY
<!--- Describe the new feature/improvement briefly below -->
##### ISSUE TYPE
- Feature Idea
##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
##### ADDITIONAL INFORMATION
<!--- Describe how the feature would be used, why it is needed and what it would solve -->
<!--- Paste example playbooks or commands between quotes below -->
```yaml
```
<!--- HINT: You can also paste gist.github.com links for larger files -->

View File

@ -0,0 +1,192 @@
---
name: ✨ Feature request
description: Suggest an idea for this project
body:
- type: markdown
attributes:
value: >
**Thank you for wanting to suggest a feature for ansible-core!**
💡
Before you go ahead with your request, please first consider if it
would be useful for majority of the ansible-core users. As a
general rule of thumb, any feature that is only of interest to a
small sub group should be [implemented in a third-party Ansible
Collection][contribute to collections] or maybe even just your
project alone. Be mindful of the fact that the essential
ansible-core features have a broad impact.
If unsure, consider filing a [new proposal] instead outlining your
use-cases, the research and implementation considerations. Then,
start a discussion on one of the public [IRC meetings] we have just
for this.
<details>
<summary>
❗ Every change breaks someone's workflow.
</summary>
[![❗ Every change breaks someone's workflow.
](https://imgs.xkcd.com/comics/workflow.png)
](https://xkcd.com/1172/)
</details>
⚠
Verify first that your idea is not [already requested on
GitHub][issue search].
Also test if the devel branch does not already implement this.
**Tip:** If you are seeking community support, please consider
[starting a mailing list thread or chatting in IRC][ML||IRC].
[contribute to collections]:
https://docs.ansible.com/ansible-core/devel/community/contributing_maintained_collections.html?utm_medium=github&utm_source=issue_form--feature_request.yml
[IRC meetings]:
https://docs.ansible.com/ansible-core/devel/community/communication.html?utm_medium=github&utm_source=issue_form--feature_request.yml#irc-meetings
[issue search]: ../search?q=is%3Aissue&type=issues
[ML||IRC]:
https://docs.ansible.com/ansible-core/devel/community/communication.html?utm_medium=github&utm_source=issue_form--feature_request.yml#mailing-list-information
[new proposal]: ../../proposals/issues/new
- type: textarea
attributes:
label: Summary
description: >
Describe the new feature/improvement you would like briefly below.
What's the problem this feature will solve?
What are you trying to do, that you are unable to achieve
with ansible-core as it currently stands?
* Provide examples of real-world use cases that this would enable
and how it solves the problem you described.
* How do you solve this now?
* Have you tried to work around the problem using other tools?
* Could there be a different approach to solving this issue?
*Know **exactly** what you want?* Consider filing a [new proposal]
instead outlining your research and implementation considerations.
[new proposal]: ../../proposals/issues/new
placeholder: >-
I am trying to do X with ansible-core from the devel branch on GitHub and
I think that implementing a feature Y would be very helpful for me and
every other user of ansible-core because of Z.
validations:
required: true
- type: dropdown
attributes:
label: Issue Type
description: >
Please select the single available option in the drop-down.
<details>
<summary>
<em>Why?</em>
</summary>
We would do it by ourselves but unfortunatelly, the curent
edition of GitHub Issue Forms Alpha does not support this yet 🤷
_We will make it easier in the future, once GitHub
supports dropdown defaults. Promise!_
</details>
# FIXME: Once GitHub allows defining the default choice, update this
options:
- Feature Idea
validations:
required: true
- type: input
attributes:
label: Component Name
description: >
Write the short name of the module, plugin, task or feature below,
*use your best guess if unsure*.
Be aware that a lot of content that used to reside in this repository
previously, is now hosted under [individual collection
projects][collections org].
If this is the case, please make sure to file an issue under the
appropriate project there instead.
[collections org]: /ansible-collections
placeholder: dnf, apt, yum, pip, user etc.
validations:
required: true
- type: textarea
attributes:
label: Additional Information
description: |
Describe how the feature would be used, why it is needed and what it would solve.
**HINT:** You can paste https://gist.github.com links for larger files.
value: |
<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)
```
placeholder: >-
I asked on https://stackoverflow.com/.... and the community
advised me to do X, Y and Z.
validations:
required: true
- type: markdown
attributes:
value: >
*One last thing...*
*Please, complete **all** sections as described, this form
is [processed automatically by a robot][ansibot help].*
Thank you for your collaboration!
[ansibot help]:
/ansible/ansibullbot/blob/master/ISSUE_HELP.md#for-issue-submitters
- type: checkboxes
attributes:
label: Code of Conduct
description: |
Read the [Ansible Code of Conduct][CoC] first.
[CoC]: https://docs.ansible.com/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_form--feature_request.yml
options:
- label: I agree to follow the Ansible Code of Conduct
required: true
...

View File

@ -1,8 +0,0 @@
---
name: 🔥 Security bug report
about: How to report security vulnerabilities
---
For all security related bugs, email security@ansible.com instead of using this issue tracker and you will receive a prompt response.
For more information, see https://docs.ansible.com/ansible/latest/community/reporting_bugs_and_features.html

View File

@ -8,7 +8,7 @@
- Bugfix Pull Request
- Docs Pull Request
- Feature Pull Request
- New Module Pull Request
- Test Pull Request
##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below -->

14
.github/RELEASE_NAMES.yml vendored Normal file
View File

@ -0,0 +1,14 @@
---
- 2.12.0 Dazed and Confused
- 2.11.0 Hey Hey, What Can I Do
- 2.10.0 When the Levee Breaks
- 2.9.0 Immigrant Song
- 2.8.0 How Many More Times
- 2.7.0 In the Light
- 2.6.0 Heartbreaker
- 2.5.0 Kashmir
- 2.4.0 Dancing Days
- 2.3.0 Ramble On
- 2.2.0 The Battle of Evermore
- 2.1.0 The Song Remains the Same
- 2.0.0 Over the Hills and Far Away

23
.gitignore vendored
View File

@ -32,11 +32,16 @@ docs/man/man3/*
docs/docsite/_build
docs/docsite/*.html
docs/docsite/htmlout
docs/docsite/rst/conf.py
docs/docsite/rst/index.rst
docs/docsite/rst/cli/ansible-*.rst
docs/docsite/rst/cli/ansible.rst
docs/docsite/rst/dev_guide/collections_galaxy_meta.rst
docs/docsite/rst/dev_guide/testing/sanity/index.rst.new
docs/docsite/rst/modules/*.rst
docs/docsite/rst/collections/*.rst
!docs/docsite/rst/collections/all_plugins.rst
docs/docsite/rst/collections/*/*.rst
docs/docsite/rst/playbooks_directives.rst
docs/docsite/rst/plugins_by_category.rst
docs/docsite/rst/plugins/*/*.rst
@ -64,6 +69,7 @@ credentials.yml
results.xml
coverage.xml
/test/units/cover-html
/test/integration/inventory
/test/integration/targets/*/backup/
/test/cache/*
# Development
@ -71,11 +77,22 @@ coverage.xml
venv
Vagrantfile
.vagrant
ansible.egg-info/
/shippable/
# Backwards compatibility with `stable-2.9` and earlier branches.
# Also used in the `devel` branch during early Ansible 2.10 development.
/lib/ansible.egg-info/
# First used in the `devel` branch during Ansible 2.10 development.
/lib/ansible_base.egg-info/
# First used in the `devel` branch during Ansible 2.11 development.
/lib/ansible_core.egg-info/
# vendored lib dir
lib/ansible/_vendor/*
!lib/ansible/_vendor/__init__.py
# test stuff
/test/integration/cloud-config-*.*
!/test/integration/cloud-config-*.*.template
.python-version
/hacking/tests/selinux/*.mod
/hacking/tests/selinux/*.pp
# Release directory
packaging/release/ansible_release
/.cache/
@ -99,5 +116,3 @@ test/units/.coverage.*
/SYMLINK_CACHE.json
changelogs/.plugin-cache.yaml
.ansible-test-timeout.json
# ansible-test temporary metadata file for use with delgation
/metadata-*.json

View File

@ -1,10 +0,0 @@
Coding Guidelines
=================
Hi! Thanks for your interest in contributing to Ansible. We document our Coding Guidelines in the [Developer Guide](https://docs.ansible.com/ansible/devel/dev_guide/). We particularly suggest you review:
* [Contributing your module to Ansible](https://docs.ansible.com/ansible/devel/dev_guide/developing_modules_checklist.html)
* [Development conventions, tips and pitfalls](https://docs.ansible.com/ansible/devel/dev_guide/developing_modules_best_practices.html)
Our [Community Guide](https://docs.ansible.com/ansible/devel/community/) may also help you connect with the community of Ansible developers.

View File

@ -2,15 +2,18 @@ include README.rst
include COPYING
include SYMLINK_CACHE.json
include requirements.txt
include shippable.yml
recursive-include docs *
include docs/docsite/rst/collections/all_plugins.rst
exclude docs/docsite/rst_warnings
exclude docs/docsite/rst/conf.py
exclude docs/docsite/rst/index.rst
recursive-exclude docs/docsite/_build *
recursive-exclude docs/docsite/_extensions *.pyc *.pyo
include examples/hosts
include examples/ansible.cfg
include examples/scripts/ConfigureRemotingForAnsible.ps1
include examples/scripts/upgrade_to_ps3.ps1
include lib/ansible/keyword_desc.yml
recursive-include lib/ansible/executor/powershell *.ps1
recursive-include lib/ansible/module_utils/csharp *.cs
recursive-include lib/ansible/module_utils/powershell *.psm1
@ -20,20 +23,18 @@ recursive-include lib/ansible/config *.yml
recursive-include licenses *.txt
recursive-include packaging *
recursive-include test/ansible_test *.py Makefile
recursive-include test/cache .keep
recursive-include test/integration *
recursive-include test/lib/ansible_test/config *.template
recursive-include test/lib/ansible_test/_data *.cfg *.ini *.json *.ps1 *.psd1 *.py *.sh *.txt *.yml coveragerc inventory
recursive-include test/lib/ansible_test/_data/injector ansible ansible-config ansible-connection ansible-console ansible-doc ansible-galaxy ansible-playbook ansible-pull ansible-test ansible-vault pytest
recursive-include test/lib/ansible_test/_data/sanity/validate-modules validate-modules
recursive-include test/results .keep
recursive-include test/lib/ansible_test/config *.yml *.template
recursive-include test/lib/ansible_test/_data *.cfg *.ini *.ps1 *.txt *.yml coveragerc
recursive-include test/lib/ansible_test/_util *.cfg *.json *.ps1 *.psd1 *.py *.sh *.txt *.yml
recursive-include test/lib/ansible_test/_util/controller/sanity/validate-modules validate-modules
recursive-include test/sanity *.json *.py *.txt
recursive-include test/support *.py *.ps1 *.psm1 *.cs
exclude test/sanity/code-smell/botmeta.*
recursive-include test/units *
include Makefile
include MANIFEST.in
include changelogs/CHANGELOG*.rst
include contrib/README.md
recursive-include contrib/inventory *.py *.ini *.yml *.yaml
include changelogs/changelog.yaml
recursive-include hacking/build_library *.py
include hacking/build-ansible.py

View File

@ -1,5 +0,0 @@
# Module Maintainer Guidelines
The Ansible Module Maintainer Guidelines can now be found in the [official Ansible community guide](https://docs.ansible.com/ansible/latest/community/maintainers.html).
See also the [Developers Guide](https://docs.ansible.com/ansible/latest/dev_guide/)

159
Makefile
View File

@ -5,18 +5,20 @@
# useful targets:
# make clean ---------------- clean up
# make webdocs -------------- produce ansible doc at docs/docsite/_build/html
# make coredocs ------------- produce core doc at docs/docsite/_build/html
# make sdist ---------------- produce a tarball
# make srpm ----------------- produce a SRPM
# make rpm ----------------- produce RPMs
# make deb-src -------------- produce a DEB source
# make deb ------------------ produce a DEB
# make docs ----------------- rebuild the manpages (results are checked in)
# make gettext -------------- produce POT files for docs
# make generate-po ---------- generate language specific po file
# make needs-translation ---- generate list of file with unstranlated or fuzzy string for a specific language
# make tests ---------------- run the tests (see https://docs.ansible.com/ansible/devel/dev_guide/testing_units.html for requirements)
########################################################
# variable section
NAME = ansible
NAME = ansible-core
OS = $(shell uname -s)
PREFIX ?= '/usr/local'
SDIST_DIR ?= 'dist'
@ -32,23 +34,15 @@ else
ASCII2MAN = @echo "ERROR: rst2man from docutils command is not installed but is required to build $(MANPAGES)" && exit 1
endif
PYTHON=python
PYTHON ?= python
GENERATE_CLI = hacking/build-ansible.py generate-man
SITELIB = $(shell $(PYTHON) -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")
# fetch version from project release.py as single source-of-truth
VERSION := $(shell $(PYTHON) packaging/release/versionhelper/version_helper.py --raw || echo error)
ifeq ($(findstring error,$(VERSION)), error)
$(error "version_helper failed")
endif
MAJOR_VERSION := $(shell $(PYTHON) packaging/release/versionhelper/version_helper.py --majorversion)
CODENAME := $(shell $(PYTHON) packaging/release/versionhelper/version_helper.py --codename)
# if a specific release was not requested, set to 1 (RPMs have "fancier" logic for this further down)
RELEASE ?= 1
# Get the branch information from git
ifneq ($(shell which git),)
GIT_DATE := $(shell git log -n 1 --format="%ci")
@ -67,6 +61,9 @@ DATE := $(shell date --utc --date="$(GIT_DATE)" +%Y%m%d%H%M)
CPUS ?= $(shell nproc)
endif
# Intenationalisation and Localisation
LANGUAGES ?=
# DEB build parameters
DEBUILD_BIN ?= debuild
DEBUILD_OPTS = --source-option="-I"
@ -98,32 +95,6 @@ PBUILDER_CACHE_DIR = /var/cache/pbuilder
PBUILDER_BIN ?= pbuilder
PBUILDER_OPTS ?= --debootstrapopts --variant=buildd --architecture $(PBUILDER_ARCH) --debbuildopts -b
# RPM build parameters
RPMSPECDIR= packaging/rpm
RPMSPEC = $(RPMSPECDIR)/ansible.spec
RPMDIST = $(shell rpm --eval '%{?dist}')
ifneq ($(OFFICIAL),yes)
RPMRELEASE = 100.git$(DATE)$(GITINFO)
endif
ifeq ($(PUBLISH),nightly)
# https://fedoraproject.org/wiki/Packaging:Versioning#Snapshots
RPMRELEASE = $(RELEASE).$(DATE)git.$(GIT_HASH)
endif
RPMVERSION ?= $(shell $(PYTHON) packaging/release/versionhelper/version_helper.py --baseversion)
RPMRELEASE ?= $(shell $(PYTHON) packaging/release/versionhelper/version_helper.py --rpmrelease)
RPMNVR = "$(NAME)-$(RPMVERSION)-$(RPMRELEASE)$(RPMDIST)$(REPOTAG)"
# MOCK build parameters
MOCK_BIN ?= mock
MOCK_CFG ?=
# dynamically add repotag define only if specified
ifneq ($(REPOTAG),)
EXTRA_RPM_DEFINES += --define "repotag $(REPOTAG)"
endif
# ansible-test parameters
ANSIBLE_TEST ?= bin/ansible-test
TEST_FLAGS ?=
@ -149,18 +120,10 @@ tests:
tests-py3:
$(ANSIBLE_TEST) units -v --python $(PYTHON3_VERSION) $(TEST_FLAGS)
.PHONY: tests-nonet
tests-nonet:
$(ANSIBLE_TEST) units -v --python $(PYTHON_VERSION) $(TEST_FLAGS) --exclude test/units/modules/network/
.PHONY: integration
integration:
$(ANSIBLE_TEST) integration -v --docker $(IMAGE) $(TARGET) $(TEST_FLAGS)
.PHONY: authors
authors:
sh hacking/authors.sh
# Regenerate %.1.rst if %.1.rst.in has been modified more
# recently than %.1.rst.
%.1.rst: %.1.rst.in
@ -177,7 +140,7 @@ clean:
@echo "Cleaning up distutils stuff"
rm -rf build
rm -rf dist
rm -rf lib/ansible.egg-info/
rm -rf lib/ansible*.egg-info/
@echo "Cleaning up byte compiled python stuff"
find . -type f -regex ".*\.py[co]$$" -delete
find . -type d -name "__pycache__" -delete
@ -191,21 +154,18 @@ clean:
rm -f ./docs/man/man1/*
@echo "Cleaning up output from test runs"
rm -rf test/test_data
rm -rf shippable/
rm -rf logs/
rm -rf .cache/
rm -f test/units/.coverage*
rm -rf test/results/*/*
find test/ -type f -name '*.retry' -delete
@echo "Cleaning up RPM building stuff"
rm -rf MANIFEST rpm-build
@echo "Cleaning up symlink cache"
rm -f SYMLINK_CACHE.json
@echo "Cleaning up Debian building stuff"
rm -rf debian
rm -rf deb-build
rm -rf docs/json
rm -rf docs/js
@echo "Cleaning up authors file"
rm -f AUTHORS.TXT
@echo "Cleaning up docsite"
$(MAKE) -C docs/docsite clean
@ -223,6 +183,7 @@ install_manpages:
.PHONY: sdist_check
sdist_check:
$(PYTHON) -c 'import setuptools, sys; sys.exit(int(not (tuple(map(int, setuptools.__version__.split("."))) > (39, 2, 0))))'
$(PYTHON) packaging/sdist/check-link-behavior.py
.PHONY: sdist
@ -242,77 +203,7 @@ sdist_upload: clean docs
.PHONY: changelog
changelog:
PYTHONPATH=./lib packaging/release/changelogs/changelog.py release -vv && PYTHONPATH=./lib packaging/release/changelogs/changelog.py generate -vv
.PHONY: rpmcommon
rpmcommon: sdist
@mkdir -p rpm-build
@cp dist/*.gz rpm-build/
@cp $(RPMSPEC) rpm-build/$(NAME).spec
.PHONY: mock-srpm
mock-srpm: /etc/mock/$(MOCK_CFG).cfg rpmcommon
$(MOCK_BIN) -r $(MOCK_CFG) $(MOCK_ARGS) --resultdir rpm-build/ --bootstrap-chroot --old-chroot --buildsrpm --spec rpm-build/$(NAME).spec --sources rpm-build/ \
--define "rpmversion $(RPMVERSION)" \
--define "upstream_version $(VERSION)" \
--define "rpmrelease $(RPMRELEASE)" \
$(EXTRA_RPM_DEFINES)
@echo "#############################################"
@echo "Ansible SRPM is built:"
@echo rpm-build/*.src.rpm
@echo "#############################################"
.PHONY: mock-rpm
mock-rpm: /etc/mock/$(MOCK_CFG).cfg mock-srpm
$(MOCK_BIN) -r $(MOCK_CFG) $(MOCK_ARGS) --resultdir rpm-build/ --bootstrap-chroot --old-chroot --rebuild rpm-build/$(NAME)-*.src.rpm \
--define "rpmversion $(RPMVERSION)" \
--define "upstream_version $(VERSION)" \
--define "rpmrelease $(RPMRELEASE)" \
$(EXTRA_RPM_DEFINES)
@echo "#############################################"
@echo "Ansible RPM is built:"
@echo rpm-build/*.noarch.rpm
@echo "#############################################"
.PHONY: srpm
srpm: rpmcommon
@rpmbuild --define "_topdir %(pwd)/rpm-build" \
--define "_builddir %{_topdir}" \
--define "_rpmdir %{_topdir}" \
--define "_srcrpmdir %{_topdir}" \
--define "_specdir $(RPMSPECDIR)" \
--define "_sourcedir %{_topdir}" \
--define "upstream_version $(VERSION)" \
--define "rpmversion $(RPMVERSION)" \
--define "rpmrelease $(RPMRELEASE)" \
$(EXTRA_RPM_DEFINES) \
-bs rpm-build/$(NAME).spec
@rm -f rpm-build/$(NAME).spec
@echo "#############################################"
@echo "Ansible SRPM is built:"
@echo " rpm-build/$(RPMNVR).src.rpm"
@echo "#############################################"
.PHONY: rpm
rpm: rpmcommon
@rpmbuild --define "_topdir %(pwd)/rpm-build" \
--define "_builddir %{_topdir}" \
--define "_rpmdir %{_topdir}" \
--define "_srcrpmdir %{_topdir}" \
--define "_specdir $(RPMSPECDIR)" \
--define "_sourcedir %{_topdir}" \
--define "_rpmfilename $(RPMNVR).%%{ARCH}.rpm" \
--define "__python `which $(PYTHON)`" \
--define "upstream_version $(VERSION)" \
--define "rpmversion $(RPMVERSION)" \
--define "rpmrelease $(RPMRELEASE)" \
$(EXTRA_RPM_DEFINES) \
-ba rpm-build/$(NAME).spec
@rm -f rpm-build/$(NAME).spec
@echo "#############################################"
@echo "Ansible RPM is built:"
@echo " rpm-build/$(RPMNVR).noarch.rpm"
@echo "#############################################"
PYTHONPATH=./lib antsibull-changelog release -vv --use-ansible-doc && PYTHONPATH=./lib antsibull-changelog generate -vv --use-ansible-doc
.PHONY: debian
debian: sdist
@ -385,10 +276,30 @@ epub:
webdocs:
(cd docs/docsite/; CPUS=$(CPUS) $(MAKE) docs)
.PHONY: coredocs
coredocs:
(cd docs/docsite/; CPUS=$(CPUS) $(MAKE) coredocs)
.PHONY: gettext
gettext:
(cd docs/docsite/; CPUS=$(CPUS) $(MAKE) gettext)
.PHONY: generate-po
generate-po:
(cd docs/docsite/; CPUS=$(CPUS) LANGUAGES=$(LANGUAGES) $(MAKE) generate-po)
.PHONY: needs-translation
needs-translation:
(cd docs/docsite/; CPUS=$(CPUS) LANGUAGES=$(LANGUAGES) $(MAKE) needs-translation)
.PHONY: linkcheckdocs
linkcheckdocs:
(cd docs/docsite/; CPUS=$(CPUS) $(MAKE) linkcheckdocs)
.PHONY: generate_rst
generate_rst: lib/ansible/cli/*.py
mkdir -p ./docs/man/man1/ ; \
PYTHONPATH=./lib $(GENERATE_CLI) --template-file=docs/templates/man.j2 --output-dir=docs/man/man1/ --output-format man lib/ansible/cli/*.py
$(PYTHON) $(GENERATE_CLI) --template-file=docs/templates/man.j2 --output-dir=docs/man/man1/ --output-format man lib/ansible/cli/*.py
docs: generate_rst

View File

@ -1,4 +1,4 @@
|PyPI version| |Docs badge| |Chat badge| |Build Status| |Code Of Conduct| |Mailing Lists| |License|
|PyPI version| |Docs badge| |Chat badge| |Build Status| |Code Of Conduct| |Mailing Lists| |License| |CII Best Practices|
*******
Ansible
@ -7,13 +7,13 @@ Ansible
Ansible is a radically simple IT automation system. It handles
configuration management, application deployment, cloud provisioning,
ad-hoc task execution, network automation, and multi-node orchestration. Ansible makes complex
changes like zero-downtime rolling updates with load balancers easy. More information on `the Ansible website <https://ansible.com/>`_.
changes like zero-downtime rolling updates with load balancers easy. More information on the Ansible `website <https://ansible.com/>`_.
Design Principles
=================
* Have a dead simple setup process and a minimal learning curve.
* Manage machines very quickly and in parallel.
* Have an extremely simple setup process with a minimal learning curve.
* Manage machines quickly and in parallel.
* Avoid custom-agents and additional open ports, be agentless by
leveraging the existing SSH daemon.
* Describe infrastructure in a language that is both machine and human
@ -28,13 +28,10 @@ Design Principles
Use Ansible
===========
You can install a released version of Ansible via ``pip``, a package manager, or
our `release repository <https://releases.ansible.com/ansible/>`_. See our
You can install a released version of Ansible with ``pip`` or a package manager. See our
`installation guide <https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html>`_ for details on installing Ansible
on a variety of platforms.
Red Hat offers supported builds of `Ansible Engine <https://www.ansible.com/ansible-engine>`_.
Power users and developers can run the ``devel`` branch, which has the latest
features and fixes, directly. Although it is reasonably stable, you are more likely to encounter
breaking changes when running the ``devel`` branch. We recommend getting involved
@ -53,18 +50,26 @@ Get Involved
* Submit a proposed code update through a pull request to the ``devel`` branch.
* Talk to us before making larger changes
to avoid duplicate efforts. This not only helps everyone
know what is going on, it also helps save time and effort if we decide
know what is going on, but it also helps save time and effort if we decide
some changes are needed.
* For a list of email lists, IRC channels and Working Groups, see the
`Communication page <https://docs.ansible.com/ansible/latest/community/communication.html>`_
Coding Guidelines
=================
We document our Coding Guidelines in the `Developer Guide <https://docs.ansible.com/ansible/devel/dev_guide/>`_. We particularly suggest you review:
* `Contributing your module to Ansible <https://docs.ansible.com/ansible/devel/dev_guide/developing_modules_checklist.html>`_
* `Conventions, tips, and pitfalls <https://docs.ansible.com/ansible/devel/dev_guide/developing_modules_best_practices.html>`_
Branch Info
===========
* The ``devel`` branch corresponds to the release actively under development.
* The ``stable-2.X`` branches correspond to stable releases.
* Create a branch based on ``devel`` and set up a `dev environment <https://docs.ansible.com/ansible/latest/dev_guide/developing_modules_general.html#common-environment-setup>`_ if you want to open a PR.
* See the `Ansible release and maintenance <https://docs.ansible.com/ansible/latest/reference_appendices/release_and_maintenance.html>`_ page for information about active branches.
* See the `Ansible release and maintenance <https://docs.ansible.com/ansible/devel/reference_appendices/release_and_maintenance.html>`_ page for information about active branches.
Roadmap
=======
@ -76,7 +81,7 @@ Authors
=======
Ansible was created by `Michael DeHaan <https://github.com/mpdehaan>`_
and has contributions from over 4000 users (and growing). Thanks everyone!
and has contributions from over 5000 users (and growing). Thanks everyone!
`Ansible <https://www.ansible.com>`_ is sponsored by `Red Hat, Inc.
<https://www.redhat.com>`_
@ -84,16 +89,16 @@ and has contributions from over 4000 users (and growing). Thanks everyone!
License
=======
GNU General Public License v3.0
GNU General Public License v3.0 or later
See `COPYING <COPYING>`_ to see the full text.
.. |PyPI version| image:: https://img.shields.io/pypi/v/ansible.svg
:target: https://pypi.org/project/ansible
.. |PyPI version| image:: https://img.shields.io/pypi/v/ansible-core.svg
:target: https://pypi.org/project/ansible-core
.. |Docs badge| image:: https://img.shields.io/badge/docs-latest-brightgreen.svg
:target: https://docs.ansible.com/ansible/latest/
.. |Build Status| image:: https://api.shippable.com/projects/573f79d02a8192902e20e34b/badge?branch=devel
:target: https://app.shippable.com/projects/573f79d02a8192902e20e34b
.. |Build Status| image:: https://dev.azure.com/ansible/ansible/_apis/build/status/CI?branchName=devel
:target: https://dev.azure.com/ansible/ansible/_build/latest?definitionId=20&branchName=devel
.. |Chat badge| image:: https://img.shields.io/badge/chat-IRC-brightgreen.svg
:target: https://docs.ansible.com/ansible/latest/community/communication.html
.. |Code Of Conduct| image:: https://img.shields.io/badge/code%20of%20conduct-Ansible-silver.svg
@ -105,3 +110,6 @@ See `COPYING <COPYING>`_ to see the full text.
.. |License| image:: https://img.shields.io/badge/license-GPL%20v3.0-brightgreen.svg
:target: COPYING
:alt: Repository License
.. |CII Best Practices| image:: https://bestpractices.coreinfrastructure.org/projects/2372/badge
:target: https://bestpractices.coreinfrastructure.org/projects/2372
:alt: Ansible CII Best Practices certification

View File

@ -1 +1 @@
../test/lib/ansible_test/_data/cli/ansible_test_cli_stub.py
../test/lib/ansible_test/_util/target/cli/ansible_test_cli_stub.py

View File

@ -0,0 +1,473 @@
====================================================
ansible-core 2.12 "Dazed and Confused" Release Notes
====================================================
.. contents:: Topics
v2.12.0b2
=========
Release Summary
---------------
| Release Date: 2021-10-11
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
Minor Changes
-------------
- ansible-test - Update the ``base`` and ``default`` containers from Python 3.10.0rc2 to 3.10.0.
Security Fixes
--------------
- Do not include params in exception when a call to ``set_options`` fails. Additionally, block the exception that is returned from being displayed to stdout. (CVE-2021-3620)
Bugfixes
--------
- ansible-test - Fix path to inventory file for ``windows-integration`` and ``network-integration`` commands for collections.
- ansible-test - Update distribution test containers to version 3.1.0.
- ansible-test - Use the correct variable to reference the client's SSH key when generating inventory.
- ansible-test pslint - Fix error when encountering validation results that are highly nested - https://github.com/ansible/ansible/issues/74151
v2.12.0b1
=========
Release Summary
---------------
| Release Date: 2021-09-27
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
Major Changes
-------------
- Python Controller Requirement - Python 3.8 or newer is required for the control node (the machine that runs Ansible) (https://github.com/ansible/ansible/pull/74013)
- ansible-test - All "cloud" plugins which use containers can now be used with all POSIX and Windows hosts. Previously the plugins did not work with Windows at all, and support for hosts created with the ``--remote`` option was inconsistent.
- ansible-test - Collections can now specify controller and target specific integration test requirements and constraints. If provided, they take precedence over the previously available requirements and constraints files.
- ansible-test - Integration tests run with the ``integration`` command can now be executed on two separate hosts instead of always running on the controller. The target host can be one provided by ``ansible-test`` or by the user, as long as it is accessible using SSH.
- ansible-test - Most container features are now supported under Podman. Previously a symbolic link for ``docker`` pointing to ``podman`` was required.
- ansible-test - New ``--controller`` and ``--target`` / ``--target-python`` options have been added to allow more control over test environments.
- ansible-test - Python 3.8 - 3.10 are now required to run ``ansible-test``, thus matching the Ansible controller Python requirements. Older Python versions (2.6 - 2.7 and 3.5 - 3.10) can still be the target for relevant tests.
- ansible-test - SSH port forwarding and redirection is now used exclusively to make container ports available on non-container hosts. When testing on POSIX systems this requires SSH login as root. Previously SSH port forwarding was combined with firewall rules or other port redirection methods, with some platforms being unsupported.
- ansible-test - Sanity tests always run in isolated Python virtual environments specific to the requirements of each test. The environments are cached.
- ansible-test - Sanity tests are now separated into two categories, controller and target. All tests except ``import`` and ``compile`` are controller tests. The controller tests always run using the same Python version used to run ``ansible-test``. The target tests use the Python version(s) specified by the user, or all available Python versions.
- ansible-test - Sanity tests now use fully pinned requirements that are independent of each other and other test types.
- ansible-test - Tests run with the ``centos6`` and ``default`` test containers now use a PyPI proxy container to access PyPI when Python 2.6 is used. This allows tests running under Python 2.6 to continue functioning even though PyPI is discontinuing support for non-SNI capable clients.
- ansible-test - The ``future-import-boilerplate`` and ``metaclass-boilerplate`` sanity tests are limited to remote-only code. Additionally, they are skipped for collections which declare no support for Python 2.x.
- ansible-test - The ``import`` and ``compile`` sanity tests limit remote-only Python version checks to remote-only code.
- ansible-test - Unit tests for controller-only code now require Python 3.8 or later.
- ansible-test - Version neutral sanity tests now require Python 3.8 or later.
- junit callback - The ``junit_xml`` and ``ordereddict`` Python modules are no longer required to use the ``junit`` callback plugin.
Minor Changes
-------------
- Add ``end_batch`` meta task.
- Allow connection and become passwords to be set by file/executable script. Also document this was already the case for vault.
- CLI - Remove ``__requires__`` attribute for ``pkg_resources``
- Collections can define action_groups in ``meta/runtime.yml``.
- Introduce a config option to enable/disable emitting warning about Jinja2 version being old for ``jinja2_native``. The option is on by default, only in CI it is off.
- Make the code structure of ansible-doc's generic snippet feature more maintainable.
- On RHEL 9, CentOS Stream 9 etc., use /usr/bin/python3 as the default interpreter; /usr/libexec/platform-python is just a backwards-compatibility symbolic link there.
- PowerShell - Added support for optional module_util imports by scanning for ``-Optional`` at the end of the import declaration
- Python 2.6 Target Support - Deprecate Python 2.6 for targets, requiring Python 2.7 or newer. ``ansible-core==2.13`` will drop support for Python 2.6. (https://github.com/ansible/ansible/pull/74165)
- Task - Add a resolved_action attribute for Task objects to get the final resolved plugin.
- Templar - remove ``_fail_on_lookup_errors`` and ``_fail_on_filter_errors`` instance variables that were never used. (https://github.com/ansible/ansible/pull/73785)
- The AnsiballZ Python wrapper now changes the working directory to ``~`` or ``/`` if the current one is not accessible. This allows become to drop privileges on macOS when using pipelining.
- Update test container ansible-core-test-container to version 3.6.0
- Update test container ansible-core-test-container to version 3.7.0
- Update test container default-test-container to version 3.6.0
- Update test container default-test-container to version 3.7.0
- Update vendored copy of ``six`` to 1.16.0 to eliminate warnings for deprecated python loader methods in Python 3.10+ (https://github.com/ansible/ansible/issues/74659)
- Update vendored copy of distro to 1.6.0
- Vendor ``distutils.version`` due to it's deprecation in Python 3.10 and impending removal in Python 3.12 (https://github.com/ansible/ansible/issues/74599)
- YAML parsing - Create common utils for loading and dumping YAML that prefer the C extensions if available
- ``include_role`` - Allow use of ``omit`` in the ``from_*`` arguments (https://github.com/ansible/ansible/issues/66349)
- ``uri``/``get_url`` - Expose ``unredirected_headers`` to modules to allow user control
- `ansible.plugins.callback.CallbackBase.host_label()` has been factored out as a static method (https://github.com/ansible/ansible/pull/73814).
- action_groups can include actions from other groups by using the special ``metadata`` dictionary field.
- add a quick short circuit when checking if a string is a template to improve performance on large strings (https://github.com/ansible/ansible/issues/74336)
- add host label to retry print statements
- added new function to module utils to choose best possible locale.
- adds the ``undef`` keyword to the templating environment. This allows for directly creating Undefined values in templates. It is most useful for providing a hint for variables which must be overridden.
- ansbile-doc now also shows snippets for inventory and lookup, adding to existing modules.
- ansible adhoc, clarified the help to some options, also added some comments to code.
- ansible-cli - remove unnecessary trailing space in ``ansible --version`` (https://github.com/ansible/ansible/issues/74875).
- ansible-config can now list and dump for specific documentable plugins by specifying them in the command line
- ansible-config has new 'init' option to create, highly commented, example configurations as ini (ansible.cfg), environment variables (shell) or Ansible variable files (YAML)
- ansible-config now supports displaying plugin configuration info.
- ansible-doc - ``version_added`` in ``attributes`` now comes with ``version_added_collection`` (https://github.com/ansible/ansible/pull/74602).
- ansible-doc - show ``version_added`` for the plugin/module itself in text output, and improve ``version_added`` formatting (https://github.com/ansible/ansible/pull/73602).
- ansible-doc now supports 'attributes' for plugins as per proposal.
- ansible-doc pretty cli options output.
- ansible-doc, improve handling of rstisms, try to make the display more meaningfull for the terminal users.
- ansible-galaxy - Allow specification of client_id override value for Keycloak Token (https://github.com/ansible/ansible/issues/75593).
- ansible-galaxy - Allow validate_certs to be configured for individual Galaxy servers (https://github.com/ansible/ansible/issues/75677).
- ansible-galaxy - Installing a collection from a git repository without specifying a version (or using the version ``HEAD``) will clone the repository using --depth=1.
- ansible-galaxy - Non-HTTP exceptions from Galaxy servers are now a warning and only fatal if the collection to download|install|verify is not available from any of the servers (https://github.com/ansible/ansible/issues/75443).
- ansible-test - A new ``base`` test container is available. It is similar to the ``default`` test container, but contains no pre-installed Python packages other than ``pip`` and its dependencies.
- ansible-test - Add RHEL 8.4 as a remote.
- ansible-test - Add ``--prime-venvs`` option to create virtual environments without running tests.
- ansible-test - Add constraint for ``decorator`` for Python versions prior to 3.5.
- ansible-test - Add support for Windows Server 2022.
- ansible-test - Add support for an ansible-test configuration file in collections under ``tests/config.yml``.
- ansible-test - Add support for testing with Python 3.10.
- ansible-test - Added a ``--prime-containers`` option to support downloading containers without running tests.
- ansible-test - Adding DigitalOcean cloud support to ansible-test (https://github.com/ansible/ansible/pull/74222).
- ansible-test - All "cloud" plugins have been refactored for more consistency. For those that use docker containers, management of the containers has been standardized.
- ansible-test - All "cloud" plugins now use fixed hostnames and ports in tests. Previously some tests used IP addresses and/or randomly assigned ports.
- ansible-test - Changes made to the ``hosts`` file on test systems are now done using an Ansible playbook for both POSIX and Windows systems. Changes are applied before a test target runs and are reverted after the test target finishes.
- ansible-test - Clean up code in the cloud plugins.
- ansible-test - Collections can declare their remote-only code (modules/module_utils and related tests) as controller-only.
- ansible-test - Collections can limit the Python versions used for testing their remote-only code (modules/module_utils and related tests).
- ansible-test - Command line help has been updated to hide the ``--remote`` option (and related options) when the user lacks an API key to use the feature.
- ansible-test - Constraints provided by ``ansible-test`` for Python package installs have been reduced.
- ansible-test - Default settings are now applied to unknown versions of known ``--remote`` platforms.
- ansible-test - Distribution specific test containers have been updated to version 3.0.0.
- ansible-test - Environment checking (``pip``, ``python``, ``~/.ssh/known_hosts``, etc.) is no longer performed when running integration tests.
- ansible-test - Environment variables exposed by "cloud" plugins are now available to the controller for role based tests. Previously only script based tests had access to the exposed environment variables.
- ansible-test - Fedora 32 and 33 (``fedora32`` and ``fedora33``) containers have been updated and now allow for ssh in more container environments.
- ansible-test - Fedora 34 (``fedora34``) container has been added.
- ansible-test - Installation of ``cryptography`` no longer occurs when it is already installed. This avoids downgrading existing OS packages.
- ansible-test - Minor code cleanup.
- ansible-test - More efficient string splitting.
- ansible-test - Most scripts used internally by ``ansible-test`` no longer have a shebang or the executable bit set.
- ansible-test - Move code from ``_data`` directory to ``_util`` directory.
- ansible-test - Relocate change classification code.
- ansible-test - Remove CI provider support for Shippable, now that the service has been discontinued.
- ansible-test - Remove check for legacy ``core`` and ``extras`` directories.
- ansible-test - Remove deprecated container ``fedora32``.
- ansible-test - Remove deprecated remote platforms ``freebsd/11.4`` and ``rhel/8.3```.
- ansible-test - Removed the warning filter for ``PyYAML`` in the ``import`` sanity test.
- ansible-test - Removed unused pip constraints. Collections may need to add their own constraints if they depended on any which were removed.
- ansible-test - Reorganize code for individual commands.
- ansible-test - Reorganize integration test implementation by command.
- ansible-test - Rewrite the ``compile`` sanity test to improve error handling and support Python 3.10.
- ansible-test - Sanity test warnings relating to Python version support have been improved.
- ansible-test - Set minimum version constraints for ``pytest``.
- ansible-test - Split out shell command implementation.
- ansible-test - The "injector" scripts are now generated at runtime to avoid issues with symlinks and shebangs.
- ansible-test - The HTTP Tester can now be used without the ``--docker`` or `--remote`` options. It still requires use of the ``docker`` command to run the container.
- ansible-test - The HTTP Tester has been converted to a "cloud" plugin and can now be requested using the ``cloud/httptester`` alias. The original ``needs/httptester`` alias is still supported for backwards compatibility.
- ansible-test - The ``--docker-keep-git`` option (used only for testing ansible-core) has been renamed to ``--keep-git``.
- ansible-test - The ``--python`` option can be used without another delegation option such as the ``--venv`` or ``--docker`` options.
- ansible-test - The ``ansible-test coverage`` commands ``combine``, ``report``, ``html`` and ``xml`` now support delegation.
- ansible-test - The ``default`` test container has been updated to version 3.4.0 and now uses Python 3.9 by default instead of Python 3.6.
- ansible-test - The ``docker run`` option ``--link`` is no longer used to connect test containers. As a result, changes are made to the ``/etc/hosts`` file as needed on all test containers. Previously containers which were used with the ``--link`` option did not require changes to the ``/etc/hosts`` file.
- ansible-test - The ``import`` sanity test now requires that Ansible modules guard instantiation of ``AnsibleModule`` with a ``if __name__ == '__main__'`` conditional, or equivalent logic.
- ansible-test - The ``import`` sanity test now requires that non-modules do not instantiate ``AnsibleModule`` on import.
- ansible-test - The ``validate-modules`` sanity test codes ``ansible-deprecated-module`` and ``collection-deprecated-module`` have been added.
- ansible-test - The ``validate-modules`` sanity test codes ``last-line-main-call``, ``missing-if-name-main`` and ``missing-main-call`` have been removed.
- ansible-test - The ``validate-modules`` sanity test no longer enforces the ``missing-if-name-main``, ``last-line-main-call`` or ``missing-main-call`` checks on non-deleted Ansible modules. Modules are still required to instantiate ``AnsibleModule`` when ``__name__ == '__main__'``.
- ansible-test - Unit tests are now run in separate contexts (``controller``, ``modules``, ``module_utils``), each using separate invocations of ``pytest``.
- ansible-test - Unit tests other than ``modules`` and ``module_utils`` are now run only on Python versions supported by the controller (Python 3.8+).
- ansible-test - Update ``typed-ast`` constraint to version 1.4.3 for compatibility with Python 3.10.
- ansible-test - Update distribution test containers from version 2.0.1 to 2.0.2.
- ansible-test - Update the Ansible Core and Ansible Collection default test containers to 3.2.0 and 3.2.2 respectively.
- ansible-test - Update the ``import`` sanity test to avoid a new warning in Python 3.10.
- ansible-test - Update the ``runtime-metadata`` sanity test to handle a new warning on Python 3.10.
- ansible-test - Updated the ``default`` containers to version 4.0.1.
- ansible-test - Updated the help message for failed tests in the ``azure`` test plugin.
- ansible-test - Upgrade ``pylint`` to version 2.9.3 and update its dependencies to the latest versions as well.
- ansible-test - Using an unknown ``--docker`` or ``--remote`` environment now requires specifying a Python version.
- ansible-test - add freebsd/13.0 as a remote option.
- ansible-test - aws creates and exposes a new tiny_prefix variable to provide a shorter prefix for the AWS tests.
- ansible-test - display recent ``ssh`` debug logs after connection failures (https://github.com/ansible/ansible/pull/75374)
- ansible-test - validate-modules now properly checks ``attributes`` for plugins (https://github.com/ansible/ansible/pull/74602).
- ansible-test - virtualenv-isolated.sh is no longer provided. Prefer virtualenv.sh in its place.
- ansible-test validate-modules - enforce that ``_info`` and ``_facts`` modules set ``supports_check_mode=True`` (https://github.com/ansible/ansible/pull/75324).
- ansible-vault - remove support for ``PyCrypto`` (https://github.com/ansible/ansible/issues/72646)
- apt - added an ``allow_downgrade`` option to enable safe downgrade of packages without using ``force`` which doesn't verify signatures (https://github.com/ansible/ansible/issues/29451, https://github.com/ansible/ansible/pull/74852).
- apt, added a 'lock_timeout' to be more resilient when encountering the apt db already locked and handle it w/o haveing to rerun task.
- async tasks - the use of the task-level ``ANSIBLE_ASYNC_DIR`` variable within ``environment:`` is no longer valid. Use the shell configuration variable ``async_dir`` instead.
- async_wrapper, better reporting on timeout, slight refactor on reporting itself.
- basic module_util - Clean up ``selinux`` compat import.
- blockinfile - Remove unused code for Ansible 1.x.
- cache base - More efficient string splitting.
- callback API - implemented ``v2_runner_on_async_ok`` and ``v2_runner_on_async_failed`` callbacks (https://github.com/ansible/ansible/pull/74953).
- cli scripts - remove trailing blank space in help after newline when outputting.
- collection - match skip message as per role installation.
- command - update the user warning message to point out command name (https://github.com/ansible/ansible/pull/74475).
- config lookup now can handle plugin settings.
- config, default site for ansible-core is now under /ansbile-core/.
- connection base - Avoid using deprecated ``@abstractproperty`` decorator.
- constructed - a new options ``trailing_separator`` and ``default_value`` to deal with key's value empty on keyed group.
- cron - ``name`` is now a required parameter always
- cron - ``reboot`` parameter has been dropped in favor of ``special_time: reboot``
- cron, removed previously deprecated 'reboot' and now requires either 'name' as unique identifier.
- default callback plugin - displays output for ``v2_runner_on_async_ok`` and ``v2_runner_on_async_failed`` callbacks.
- deprecate ``_remote_checksum()`` and remove all internal uses (https://github.com/ansible/ansible/pull/74848)
- dnf - Add ``cacheonly`` option (https://github.com/ansible/ansible/issues/69397).
- dnf - allow for ``download_only`` to be run without root privileges (https://github.com/ansible/ansible/issues/75530)
- encrypt - add new parameter ``ident`` to specify version of BCrypt algorithm to be used (https://github.com/ansible/ansible/issues/74571).
- fact cache - Remove deprecated backwards compatibility shim for the FactCache `update` method to accept multiple arguments.
- fact cache - Remove the deprecated location for FactCache. Import FactCache from `ansible.vars.fact_cache` instead.
- facts - add fiber channel facts for HP-UX (https://github.com/ansible/ansible/pull/57406)
- galaxy - support role artifact download from API response ``download_url`` location (https://github.com/ansible/ansible/issues/73103).
- get_distribution - ``lib.ansible.module_utils.common.sys_info.get_distribution`` now returns distribution information for all platforms not just Linux (https://github.com/ansible/ansible/issues/17587)
- get_distribution_version - ``lib.ansible.module_utils.common.sys_info.get_distribution_version`` now returns the version for all platfroms not just Linux (https://github.com/ansible/ansible/issues/17587)
- git - Add ``accept_newhostkey`` option (https://github.com/ansible/ansible/issues/69846).
- hostname - add support RedOS (https://github.com/ansible/ansible/issues/74779).
- import_role - Template tasks_from, vars_from, defaults_from, and handlers_from with --extra-vars (https://github.com/ansible/ansible/issues/69097).
- include_vars - add ``hash_behaviour`` option (https://github.com/ansible/ansible/pull/72944).
- ini - added new parameter ``allow_no_value`` to ini lookup plugin (https://github.com/ansible/ansible/issues/50594).
- ini lookup - add case sensitive option (https://github.com/ansible/ansible/issues/74601)
- interpreter discovery - allow the default list of ``INTERPRETER_PYTHON_FALLBACK`` to be changed using a variable
- interpreter discovery - prefer Python 3 over Python 2
- inventory plugins - Remove the deprecated cache interface. Set top level keys in the inventory plugin's `_cache` attribute (a dictionary) instead.
- jinja2_native - short-circuit ``ast.literal_eval`` for non-string values
- module_utils distro - when a 'distro' package/module is in PYTHONPATH but isn't the real 'distro' package/module that we expect, gracefully fall back to our own bundled distro.
- modules - add Anolis distro in hostname.py. project website https://openanolis.org/
- move all builtin modules to use the best possible locale function instead of hardcoding 'C'.
- password - add new parameter ``ident`` to specify version of BCrypt algorithm to be used (https://github.com/ansible/ansible/issues/74571).
- password - add new parameter ``seed`` in lookup plugin (https://github.com/ansible/ansible/pull/69775).
- password_hash uses passlib default if option isn't set
- playbook - Error if a playbook is an empty list instead of just skipping
- playbook - Error if using ``include`` instead of ``import_playbook``
- replaced examples/ansible.cfg with instructions on how to generate an up to date copy.
- service - add description how service module works internally (https://github.com/ansible/ansible/issues/74507).
- service_facts now handles more states/statuses from systemd and in a more reliable way (failed, not-found, masked).
- setup - add ``epoch_int`` option to date_time facts (https://github.com/ansible/ansible/pull/73822).
- ssh - added pkcs11 support by adding the pkcs11_provider option in the ssh connection module. (https://www.github.com/ansible/ansible/pull/32829)
- ssh connection, can not configure ssh_transfer_method with a variable.
- ssh connection, ssh_transfer_method is now configurable via variable.
- subelements lookup - Use generator in instance type check.
- tempfile - Remove unnecessary conditional for creating a temporary directory.
- template - Add comment attributes (``comment_start_string`` and ``comment_end_string``)
- unicode utils - Fix ``__all__`` which was incorrectly declared as a string instead of a tuple.
- user - Add ``umask`` option (https://github.com/ansible/ansible/issues/40359).
- user module - Remove unused code.
- validation testcases for check_* APIs (https://github.com/ansible/ansible/issues/55994).
- winrm - Allow explicit environment variables to be passed through to the ``kinit`` call for Kerberos authentication
- yaml dumper - YAML representer for AnsibleUndefined (https://github.com/ansible/ansible/issues/75072).
- yum - Add ``cacheonly`` option (https://github.com/ansible/ansible/issues/69397).
Breaking Changes / Porting Guide
--------------------------------
- Action, module, and group names in module_defaults must be static values. Their values can still be templates.
- Fully qualified 'ansible.legacy' plugin names are not included implicitly in action_groups.
- Unresolvable groups, action plugins, and modules in module_defaults are an error.
- ansible-test - Automatic installation of requirements for "cloud" test plugins no longer occurs. The affected test plugins are ``aws``, ``azure``, ``cs``, ``hcloud``, ``nios``, ``opennebula``, ``openshift`` and ``vcenter``. Collections should instead use one of the supported integration test requirements files, such as the ``tests/integration/requirements.txt`` file.
- ansible-test - The HTTP Tester is no longer available with the ``ansible-test shell`` command. Only the ``integration`` and ``windows-integration`` commands provide HTTP Tester.
- ansible-test - The ``--disable-httptester`` option is no longer available. The HTTP Tester is no longer optional for tests that specify it.
- ansible-test - The ``--httptester`` option is no longer available. To override the container used for HTTP Tester tests, set the ``ANSIBLE_HTTP_TEST_CONTAINER`` environment variable instead.
- ansible-test - Unit tests for ``modules`` and ``module_utils`` are now limited to importing only ``ansible.module_utils`` from the ``ansible`` module.
- conditionals - ``when`` conditionals no longer automatically parse string booleans such as ``"true"`` and ``"false"`` into actual booleans. Any non-empty string is now considered true. The ``CONDITIONAL_BARE_VARS`` configuration variable no longer has any effect.
- hostname - Drops any remaining support for Python 2.4 by using ``with open()`` to simplify exception handling code which leaked file handles in several spots
- hostname - On FreeBSD, the string ``temporarystub`` no longer gets written to the hostname file in the get methods (and in check_mode). As a result, the default hostname will now appear as ``''`` (empty string) instead of ``temporarystub`` for consistency with other strategies. This means the ``before`` result will be different.
- hostname - On OpenRC systems and Solaris, the ``before`` value will now be ``''`` (empty string) if the permanent hostname file does not exist, for consistency with other strategies.
- intersect, difference, symmetric_difference, union filters - the default behavior is now to be case-sensitive (https://github.com/ansible/ansible/issues/74255)
- unique filter - the default behavior is now to fail if Jinja2's filter fails and explicit ``case_sensitive=False`` as the Ansible's fallback is case-sensitive (https://github.com/ansible/ansible/pull/74256)
Deprecated Features
-------------------
- ansible-test - The ``--docker-no-pull`` option is deprecated and has no effect.
- ansible-test - The ``--no-pip-check`` option is deprecated and has no effect.
- include action is deprecated in favor of include_tasks, import_tasks and import_playbook.
- module_utils' FileLock is scheduled to be removed, it is not used due to its unreliable nature.
Removed Features (previously deprecated)
----------------------------------------
- The built-in module_util ``ansible.module_utils.common.removed`` was previously deprecated and has been removed.
- connections, removed password check stubs that had been moved to become plugins.
- task, inline parameters being auto coerced into variables has been removed.
Security Fixes
--------------
- templating engine fix for not preserving usnafe status when trying to preserve newlines. CVE-2021-3583
Bugfixes
--------
- Add RockyLinux to fact gathering (https://github.com/ansible/ansible/pull/74530).
- Add unicode support to ``ansible-inventory`` CLI (https://github.com/ansible/ansible/issues/57378)
- Add yaml representer for VarsWithSources (https://github.com/ansible/ansible/pull/68525).
- Added page describing terminal plugins to docsite
- AnsibleModule.set_mode_if_different - don't check file existence when check_mode is activated (https://github.com/ansible/ansible/issues/61185).
- Apply ``display_failed_stderr`` callback option on loop item results. (https://github.com/ansible/ansible/issues/74864)
- Binary GnuPG keys downloaded via URLs by the 'ansible.builtin.apt_key' module were corrupted so 'gpg' could not import them (https://github.com/ansible/ansible/issues/74424).
- Ensure end_play ends play, not batch (https://github.com/ansible/ansible/issues/73971)
- Ensure we get full path for extra vars into cliargs to avoid realpath issues after initial load.
- Fix ``keys()`` implementation of ``BaseFileCacheModule`` to strip the prefix from the key and only return keys that share the same prefix as the cache.
- Fix ``when`` evaluation on Native Jinja and Python 3.10.
- Fix templating task action with host-specific vars (https://github.com/ansible/ansible/issues/75568)
- Fully qualified 'ansible.legacy' and 'ansible.builtin' plugin names work in conjunction with module_defaults.
- Give a warning instead of an error if a handler name contains undefined variables and has no listen topics (https://github.com/ansible/ansible/issues/58841).
- Improve resilience of ``ansible-galaxy collection`` by increasing the page size to make fewer requests overall and retrying queries with a jittered exponential backoff when rate limiting HTTP codes (520 and 429) occur. (https://github.com/ansible/ansible/issues/74191)
- Jinja2 globals should be accessible even when importing a template without the context (https://github.com/ansible/ansible/issues/75371)
- PlayContext - Remove deprecated ``make_become_cmd`` (https://github.com/ansible/ansible/issues/74136)
- PowerShell - Ignore the ``LIB`` environment variable when compiling C# Ansible code
- Prevent ``ansible_failed_task`` from further templating (https://github.com/ansible/ansible/issues/74036)
- Remove 'default' from ssh plugin as we want to rely on default from ssh itself or ssh/config.
- Replace usage of private dnf.Base() attribute by future dnf API
- Save unreachable hosts between plays by adding them to the PlayIterator's _play._removed_hosts (https://github.com/ansible/ansible/issues/66945).
- Solaris - correct version check in svcadm_supports_sync (https://github.com/ansible/ansible/pull/73860).
- Task depth - Prevent exception when the task depth exceeds Pythons recursion depth (https://github.com/ansible/ansible/issues/73996)
- Templating - Ensure we catch exceptions when calling ``.filters()`` or ``.tests()`` on their respective plugins and properly error, instead of aborting which results in no filters being added to the jinja2 environment (https://github.com/ansible/ansible/pull/74127)
- The ``apt_key`` module did not properly handle GnuPG errors (https://github.com/ansible/ansible/issues/74477)
- The error message about the failure to import a ```gpg`` key by the ``apt_key`` module was incorrect (https://github.com/ansible/ansible/issues/74423).
- Update network user guide to explain use of cli_parse and validate plugins.
- Variable Manager - Only check if ``play.hosts`` is a template when the play hasn't been finalized (https://github.com/ansible/ansible/issues/73926)
- WorkerProcess - Python 3.5 fix for workaround for stdout deadlock in multiprocessing shutdown to avoid process hangs. (https://github.com/ansible/ansible/issues/74149)
- ``AnsibleModule.run_command`` - Address thread safety issues, concerning mutating the environment, current working directory, and umask. (https://github.com/ansible/ansible/issues/74783)
- ``failed_when``/``changed_when`` - Catch templating errors to prevent masking of module output (https://github.com/ansible/ansible/issues/37187)
- ``heuristic_log_sanitize`` - Return the full string if there is no password (https://github.com/ansible/ansible/issues/75542)
- ``pip`` now uses the ``pip`` Python module installed for the Ansible module's Python interpreter, if available, unless ``executable`` or ``virtualenv`` were specified.
- advanced_host_list inventory plugin - Fixed variable referenced before assignment when hostname/range could not be parsed.
- ansiballz - avoid treating path to site_packages as regex; escape it. This prevents a crash when ansible is installed to, or running from, an oddly named directory like ``ansi[ble``
- ansible-doc - in text output, do not show empty ``version_added_collection`` values (https://github.com/ansible/ansible/pull/74999).
- ansible-doc can now dump kewyords with --metadata-dump (still just for internal use)
- ansible-doc, fix output for internal metadata dump option
- ansible-doc, make inventory plugin selection for snippets generic and not a hardcoded list
- ansible-galaxy - Fix a bug with build_ignore when installing collections from source (https://github.com/ansible/ansible/issues/75528).
- ansible-galaxy - Fix handling HTTP exceptions from Galaxy servers. Continue to the next server in the list until the collection is found.
- ansible-galaxy - Improve error message from dependency resolution when a candidate has inconsistent requirements (https://github.com/ansible/ansible/issues/75139).
- ansible-inventory - handle an exception while parsing inventory in toml format (https://github.com/ansible/ansible/issues/74404).
- ansible-playbook, more robust handling of --list-hosts and undefined vars in hosts keyword.
- ansible-pull - update documentation for ``--directory`` option to clarify path must be absolute.
- ansible-pull, restore other options to use as repo other than git.
- ansible-test - Add constraint for ``pyspnego>=0.1.6`` for Python 3.10 - https://github.com/ansible/ansible/pull/74612
- ansible-test - Avoid publishing the port used by the ``pypi-test-container`` since it is only accessed by other containers. This avoids issues when trying to run tests in parallel on a single host.
- ansible-test - Failure to download test results from a remote host no longer hide test failures. If a download failure occurs after tests fail, a warning will be issued instead.
- ansible-test - Fix docker container IP address detection. The ``bridge`` network is no longer assumed to be the default.
- ansible-test - Fix traceback when generating coverage reports and no coverage directory exists.
- ansible-test - Random port selection is no longer handled by ``ansible-test``, avoiding possible port conflicts. Previously ``ansible-test`` would, under some circumstances, use one host's available ports to determine those of another host.
- ansible-test - Running tests in a single test run with multiple "cloud" plugins no longer results in port conflicts. Previously two or more containers with overlapping ports could not be used in the same test run.
- ansible-test - Tab completion after options like ``--docker`` which accept an optional argument will no longer provide incorrect completions.
- ansible-test - The ``--python`` and ``--venv`` options are no longer ignored by some commands, such as ``coverage``.
- ansible-test - The ``docker inspect`` command is now used to check for existing images instead of the ``docker images`` command. This resolves an issue where a ``docker pull`` would be unnecessarily executed for an image referenced by checksum.
- ansible-test - Use ``--strict`` for ``pytest`` on Python 2.6 since ``--strict-markers`` is not available.
- ansible-test - Use documented API to retrieve build information from Azure Pipelines.
- ansible-test - Use pwsh to generate correct coverage line counts for stub files to get a more accurate coverage result
- ansible-test - add packaging python module to ``ansible-doc`` sanity test requirements.
- ansible-test - allow the same listening port on all container interfaces
- ansible-test - ensure the correct unit test target is given when the ``__init__.py`` file is modified inside the connection plugins directory
- ansible-test - make the ``a/`` and ``b/`` prefixes an optional match since these can be turned off with the ``diff.noprefix`` setting in ``git``
- ansible-test - restrict ``packaging`` to ``< 21.0`` for Python ``< 3.6`` (https://github.com/ansible/ansible/pull/75186).
- ansible-test validate-modules - EXAMPLES will no longer be marked as invalid YAML when it uses Ansible-specific YAML tags (https://github.com/ansible/ansible/pull/74384).
- ansible-test validate-modules - correctly validate positional parameters to ``AnsibleModules`` (https://github.com/ansible/ansible/pull/75332).
- ansible.builtin.cron - Keep non-empty crontabs, when removing cron jobs (https://github.com/ansible/ansible/pull/74497).
- ansible.utils.encrypt now handles missing or unusable 'crypt' library.
- ansible_test - add constraint for ``MarkupSafe`` (https://github.com/ansible/ansible/pull/74666)
- apt_key - set --recv argument as last one in apt-key command when using env var HTTP_PROXY (https://github.com/ansible/ansible/issues/74946)
- arg_spec - remove unused imports
- async_status, ensure we always get documented returns
- async_status, resurrected module to deprecate for those that were invoking it directly.
- basic - skip over module parameters which are used in ``journal.send`` API call (https://github.com/ansible/ansible/issues/71343).
- become - fix a regression on Solaris where chmod can return 5 which we interpret as auth failure and stop trying become tmpdir permission fallbacks
- become - work around setfacl not existing on modern Solaris (and possibly failing on some filesystems even when it does exist)
- callbacks, restore displaying delegation to host as host label.
- cli defaults for ssh args set to None as '' was bypassing normal default.
- command - remove unreachable code path when trying to convert the value for ``chdir`` to bytes (https://github.com/ansible/ansible/pull/75036)
- command module, clarify order of remove/creates checks.
- command module, correctly handles chdir to symlinks.
- command module, move to standarized messages in 'msg' vs abusing 'stdout'.
- command module, now all options work in ad-hoc execution.
- command module, now always returns what we documented as 'returns always'.
- config - use ``callbacks_enabled`` instead ``callback_enabled`` in a deprecated message (https://github.com/ansible/ansible/issues/70028).
- config lookup, can also handle collection plugins now
- config, ensure 'quoted' lists from ini or env do not take the quotes literally as part of the list item.
- connection ssh, no ssh_args cli option, so removed doc entry.
- constants, internal _deprecated function always requires version.
- correct doc links for become on warnings over world readable settings.
- correctly use world readable setting since old constant is not 'settable' anymore.
- dnf - align the return value of the list argument with the ``yum`` module (https://github.com/ansible/ansible/issues/75483)
- dnf - properly capture transaction error (https://github.com/ansible/ansible/issues/72651)
- dnf - refactor code to use `dnf whatprovides` API (https://github.com/ansible/ansible/issues/73503).
- dnf - support non-english environments (https://github.com/ansible/ansible/issues/75021)
- dnf module - Use all components of a package name to determine if it's installed (https://github.com/ansible/ansible/issues/75311).
- do not trigger interpreter discovery in the forced_local module path as they should use the ansible playbook python unless otherwise configured.
- facts - detect homebrew installed at /opt/homebrew/bin/brew
- facts, service_mgr, handle issues if ps command fails or returns empty.
- filter plugins - patch new versions of Jinja2 to prevent warnings/errors on renamed filter decorators (https://github.com/ansible/ansible/issues/74667)
- find - fix a bug where ``size`` argument was ignored for regular files with ``file_type`` of ``any``.
- find action, correctly convert path to text when warning about skiping.
- find does not ignore errors from os.walk anymore and issues warnings as expected.
- gather_facts, improved message on timeout.
- gather_facts, package, service - fix using module_defaults for the modules in addition to the action plugins. (https://github.com/ansible/ansible/issues/72918)
- get_bin_path, clarify with quotes what the missing required executable is.
- get_url - Fixed checksum validation for binary files (leading asterisk) in checksum files (https://github.com/ansible/ansible/pull/74502).
- getent, fix return data for when there are multiple results for the same key
- git - Fix git path used when .git file is present (https://github.com/ansible/ansible/issues/75608).
- host_group_vars vars plugin fixed ini entry, section and key were reversed.
- hostname - Add Rocky Linux support
- hostname - No longer modifies system files in get_* methods and therefore when consulted in check_mode (https://github.com/ansible/ansible/issues/66432)
- include - Remove deprecated ``static`` argument for ``include`` (https://github.com/ansible/ansible/issues/74135)
- includes - Remove the deprecated ability to specify ``tags`` as ``vars`` on includes (https://github.com/ansible/ansible/issues/74144)
- ini lookup - better error on mixed/bad parameters
- ini lookup - handle errors for duplicate keys and missing sections (https://github.com/ansible/ansible/issues/74601)
- interpreter discovery - Debian 8 and lower will avoid unsupported Python3 version in interpreter discovery
- interpreter discovery is now handling special (ansible_network_os) cases in less noisy ways.
- interpreter_discovery - hide warning 'No python interpreters...' when ANSIBLE_PYTHON_INTERPRETER=auto_silent (https://github.com/ansible/ansible/issues/74274).
- module_common - handle exception when multiple workers try to create the cache directory
- module_defaults - Fix action defaults for legacy actions/modules (https://github.com/ansible/ansible/issues/75279).
- module_utils - detect symlinked init systems, even if unable to read /proc/1/comm (https://github.com/ansible/ansible/issues/74866).
- netconf - catch and handle exception to prevent stack trace when running in FIPS mode
- network module_utils - fix bug where ``to_bits()`` returned the ``str`` type instead of a useful value.
- paramiko_ssh - mark connection as connected when ``_connect()`` is called (https://github.com/ansible/ansible/issues/74081)
- password - Handle passlib wrapped algos bsd_nthash, django_argon2, django_bcrypt, ldap_bcrypt, ldap_bsdi_crypt, ldap_des_crypt, ldap_hex_md5, ldap_hex_sha1, ldap_md5_crypt, ldap_pbkdf2_sha1, ldap_pbkdf2_sha256, ldap_pbkdf2_sha512, ldap_sha1_crypt, ldap_sha256_crypt, ldap_sha512_crypt, roundup_plaintext (https://github.com/ansible/ansible/pull/75527).
- pause - ensure control characters are always set to an appropriate value (https://github.com/ansible/ansible/issues/73264)
- pkg_mgr.py - Lower the priority of rpm-ostree detection to avoid false positives on systems not using it as the main package manager (https://github.com/ansible/ansible/issues/74578)
- play - validate the ``hosts`` entry in a play (https://github.com/ansible/ansible/issues/65386)
- playbook loaded from collection subdir now does not ignore subdirs.
- plugin config now allows list type options to have multiple valid choices (#74225).
- psrp - Always cleanup the last run pipeline if a second pipeline is invoked to avoid violating any resource limits.
- psrp - Fix error when resetting a connection that was initialised but not connected - (https://github.com/ansible/ansible/issues/74092).
- psrp - Try to clean up any server-side resources when resetting a connection.
- recursive_diff - handle condition when parameters are not dict (https://github.com/ansible/ansible/issues/56249).
- register - Ensure that ``register`` used on ``set_fact`` or ``include_vars`` does not automatically wrap the facts as unsafe. (https://github.com/ansible/ansible/issues/21088)
- rekey_on_member - handle undefined positional arguments better.
- remote tmpdir permissions - fix type error in macOS chmod ACL fallback (https://github.com/ansible/ansible/pull/74613).
- replace - better handling of file operation exceptions (https://github.com/ansible/ansible/pull/74686).
- roles - allow for role arg specs in new meta file (https://github.com/ansible/ansible/issues/74525).
- roles - fix unexpected ``AttributeError`` when an empty ``argument_specs.yml`` is present (https://github.com/ansible/ansible/pull/75604).
- roles - make sure argspec validation task is tagged with ``always`` (https://github.com/ansible/ansible/pull/74994).
- roles - make sure argspec validation task templates suboptions (https://github.com/ansible/ansible/issues/75070).
- schema validation now uses dynamic range of versions for valid deprecation entries vs hardcoded out of date list.
- script inventory plugin - Remove deprecated caching support (https://github.com/ansible/ansible/issues/74143)
- sequence - fix error message so that unrecognized options to the plugin display correctly as a list and normalize error messages.
- service - compare version without LooseVersion API (https://github.com/ansible/ansible/issues/74488).
- set ssh host_key_checking defaults to True, restoring original behaviour (https://github.com/ansible/ansible/issues/75168)
- setup module should now not truncate hpux interface names.
- setup module, fix filter to adjust for missing ``ansible_`` prefix on query.
- setup, while gathering linux hardware facts be more resilient to errors and try to return more info.
- slurp - Fix error messages for unreadable files and directories(https://github.com/ansible/ansible/issues/67340).
- slurp - handle error when ``path`` is a directory and not a file (https://github.com/ansible/ansible/pull/74930).
- slurp - improve the logic in the error handling and remove ``os.stat()`` call (https://github.com/ansible/ansible/pull/75038)
- ssh connection now correctly handle ssh_transfer_method and scp_if_ssh interactions.
- ssh connection, fix interaction between trasnfer settings options.
- ssh connection, use self.host which has the most up2date info instead of pc.remote_addr
- ssh_connection - rename ``retries`` to ``reconnection_retries`` to avoid conflicts with task vars (https://github.com/ansible/ansible/issues/75142).
- ssh_connection - set the default for ``reconnection_retries`` back to ``0`` (https://github.com/ansible/ansible/issues/75142).
- subversion - fix stack trace when getting information about the repository (https://github.com/ansible/ansible/issues/36498)
- system_service - use a context manager for file handling.
- task_executor, Actions using AnsibleActionFail/Skip will now propagate 'results' if given
- task_executor/ssh_connection - use the ``retries`` value from ``ssh_connection`` settings, not the default from the ``Task`` field attributes (https://github.com/ansible/ansible/issues/75142).
- template - ensure Jinja2 overrides from template header are used (https://github.com/ansible/ansible/issues/75275)
- unarchive - allow extracting archives that contain files which size exceeds free system memory (https://github.com/ansible/ansible/issues/73985).
- unarchive - fail when zipinfo binary is not found in executable paths (https://github.com/ansible/ansible/issues/39029).
- unarchive - move failure for missing binary to ``can_handle_archive()`` rather than ``__init__()``
- uri - Fix traceback and provide error message when trying to use non-string or mapping for ``form-multipart`` body - https://github.com/ansible/ansible/issues/74276
- urls - Fix logic in matching ``unredirected_headers`` to perform case insensitive matching
- validate_argument_spec, correct variable precedence and merge method and add missing examples
- variable manager, avoid sourcing delegated variables when no inventory hostname is present. This affects scenarios like syntax check and imports.
- version test - improve error message when an empty version is provided
- yum - Fixed typo in failure message (https://github.com/ansible/ansible/pull/72964).
- yum - When upgrading, every architecture of a package is now included in the module results, instead of just one (https://github.com/ansible/ansible/issues/73284).
- yum - fix ``yumstate`` return value when wildcards are used in the ``list`` argument (https://github.com/ansible/ansible/issues/74557)
- yum - fix parsing of multiple subsequent empty lines from ``yum check-update`` output (https://github.com/ansible/ansible/issues/70949)
- yum - yum action plugin changes to support 'use' as an alias of 'use_backend' (https://github.com/ansible/ansible/issues/70774).
Known Issues
------------
- ansible-test - Tab completion anywhere other than the end of the command with the new composite options will provide incorrect results. See https://github.com/kislyuk/argcomplete/issues/351 for additional details.

1063
changelogs/changelog.yaml Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +1,22 @@
---
title: ansible-core
release_tag_re: '(v(?:[\d.ab\-]|rc)+)'
pre_release_tag_re: '(?P<pre_release>(?:[ab]|rc)+\d*)$'
changes_file: changelog.yaml
changes_format: combined
keep_fragments: true
always_refresh: true
ignore_other_fragment_extensions: true
mention_ancestor: false
notesdir: fragments
prelude_section_name: release_summary
new_plugins_after_name: removed_features
sections:
- ['major_changes', 'Major Changes']
- ['minor_changes', 'Minor Changes']
- ['breaking_changes', 'Breaking Changes / Porting Guide']
- ['deprecated_features', 'Deprecated Features']
- ['removed_features', 'Removed Features (previously deprecated)']
- ['security_fixes', 'Security Fixes']
- ['bugfixes', 'Bugfixes']
- ['known_issues', 'Known Issues']

View File

@ -0,0 +1,7 @@
minor_changes:
- >
get_distribution - ``lib.ansible.module_utils.common.sys_info.get_distribution`` now returns
distribution information for all platforms not just Linux (https://github.com/ansible/ansible/issues/17587)
- >
get_distribution_version - ``lib.ansible.module_utils.common.sys_info.get_distribution_version`` now
returns the version for all platfroms not just Linux (https://github.com/ansible/ansible/issues/17587)

View File

@ -1,2 +0,0 @@
bugfixes:
- Fixed role's hash_params behavior to not union (https://github.com/ansible/ansible/issues/20596).

View File

@ -0,0 +1,4 @@
bugfixes:
- register - Ensure that ``register`` used on ``set_fact`` or ``include_vars``
does not automatically wrap the facts as unsafe.
(https://github.com/ansible/ansible/issues/21088)

View File

@ -0,0 +1,4 @@
minor_changes:
- Python 2.6 Target Support - Deprecate Python 2.6 for targets, requiring Python 2.7 or newer.
``ansible-core==2.13`` will drop support for Python 2.6.
(https://github.com/ansible/ansible/pull/74165)

View File

@ -1,4 +0,0 @@
bugfixes:
- TaskQueueManager - Ensure ``has_dead_workers`` can function, by using the
correct reference, and only allow an exit code of 0.
(https://github.com/ansible/ansible/issues/29124)

View File

@ -1,2 +0,0 @@
bugfixes:
- rabbitmq_policy - Add full check for rabbit policy changes (https://github.com/ansible/ansible/issues/29264)

View File

@ -1,2 +0,0 @@
minor_changes:
- add purge_tags parameter to s3_bucket to allow preservation of existing tags when updating tags.

View File

@ -0,0 +1,2 @@
minor_changes:
- deprecate ``_remote_checksum()`` and remove all internal uses (https://github.com/ansible/ansible/pull/74848)

View File

@ -1,3 +0,0 @@
bugfixes:
- uri - Handle multiple Content-Type headers correctly
(https://github.com/ansible/ansible/pull/31238)

View File

@ -0,0 +1,3 @@
minor_changes:
- ssh - added pkcs11 support by adding the pkcs11_provider option in the
ssh connection module. (https://www.github.com/ansible/ansible/pull/32829)

View File

@ -1,2 +0,0 @@
minor_changes:
- getent - add service parameter to getent to lookup specified service

View File

@ -0,0 +1,2 @@
bugfixes:
- subversion - fix stack trace when getting information about the repository (https://github.com/ansible/ansible/issues/36498)

View File

@ -0,0 +1,4 @@
bugfixes:
- >-
``failed_when``/``changed_when`` - Catch templating errors to prevent masking of module output
(https://github.com/ansible/ansible/issues/37187)

View File

@ -0,0 +1,2 @@
bugfixes:
- unarchive - fail when zipinfo binary is not found in executable paths (https://github.com/ansible/ansible/issues/39029).

View File

@ -1,3 +0,0 @@
---
bugfixes:
- "os_quota - fix failure to set compute or network quota when volume service is not available"

View File

@ -1,2 +0,0 @@
bugfixes:
- dnsmadeeasy - force the date to be rendered with C (POSIX system default) locale as English short date names are required by API

View File

@ -1,2 +0,0 @@
minor_changes:
- xml - Introduce ``insertbefore`` and ``insertafter`` to specify the position (https://github.com/ansible/ansible/pull/44811)

View File

@ -1,2 +0,0 @@
bugfixes:
- cowsay - Fix issue with an empty cow_whitelist (https://github.com/ansible/ansible/issues/45631)

View File

@ -1,2 +0,0 @@
minor_changes:
- vmware_cluster_facts now supports tag facts (https://github.com/ansible/ansible/issues/46458).

View File

@ -1,2 +0,0 @@
minor_changes:
- vmware_host_facts now supports tag facts (https://github.com/ansible/ansible/issues/46461).

View File

@ -1,2 +0,0 @@
minor_changes:
- Add folder option in vmware_datastore_cluster to place datastore cluster in specific folder (https://github.com/ansible/ansible/issues/48010).

View File

@ -1,2 +0,0 @@
minor_changes:
- "meraki_* - Idempotency check has been rewritten. The new version is more thorough."

View File

@ -1,2 +0,0 @@
minor_changes:
- "meraki_network - Add support for enabling or disabling VLANs on a network."

View File

@ -1,2 +0,0 @@
minor_changes:
- meraki_network - Add support for disabling remote status page on a network.

View File

@ -1,2 +0,0 @@
minor_changes:
- meraki_ssid - Add examples to documentation.

View File

@ -1,3 +0,0 @@
---
bugfixes:
- "nagios - Removed redundant type check which caused crashes. Guardrails added elsewhere in earlier change."

View File

@ -1,2 +0,0 @@
minor_changes:
- "docker_container - add ``mounts`` option."

View File

@ -1,2 +0,0 @@
minor_changes:
- Restrict vcenter_folder to vCenter only, since folder creation api is not supported on ESXi hostsystem (https://github.com/ansible/ansible/issues/49938).

View File

@ -0,0 +1,2 @@
minor_changes:
- ini - added new parameter ``allow_no_value`` to ini lookup plugin (https://github.com/ansible/ansible/issues/50594).

View File

@ -1,2 +0,0 @@
minor_changes:
- vApp setting can be set while VM creation in vmware_guest (https://github.com/ansible/ansible/issues/50617).

View File

@ -1,2 +0,0 @@
bugfixes:
- aws_ses_identity module works when region is provided using config or environment variables rather than the region parameter (https://github.com/ansible/ansible/issues/51531)

View File

@ -1,3 +0,0 @@
bugfixes:
- "meraki_ssid - Provides more accurate change results for some operations."
- "meraki_ssid - Improved documentation about parameter dependencies."

View File

@ -1,2 +0,0 @@
bugfixes:
- apt_repository - Fix crash caused by ``cache.update()`` raising an ``IOError`` due to a timeout in ``apt update`` (https://github.com/ansible/ansible/issues/51995)

View File

@ -1,2 +0,0 @@
minor_changes:
- vmware - The VMware modules can now access a server behind a HTTP proxy (https://github.com/ansible/ansible/pull/52936)

View File

@ -1,2 +0,0 @@
minor_changes:
- Implement config options for ``display_ok_hosts`` and ``display_skipped_hosts`` in unixy callback plugin

View File

@ -1,2 +0,0 @@
minor_changes:
- Add managed object identifier (moId) and vim reference (vimref) of virtual machine in guest facts (https://github.com/ansible/ansible/issues/53372).

View File

@ -1,4 +0,0 @@
---
bugfixes:
- Fix privilege escalation support for the docker connection plugin when
credentials need to be supplied (e.g. sudo with password).

View File

@ -1,2 +0,0 @@
bugfixes:
- ec2_launch_template - Only 'volume' and 'instance' are valid resource types for tag specifications.

View File

@ -1,3 +0,0 @@
bugfixes:
- rds_instance - Don't hardcode the license models because there are accepted values undocumented by AWS.
Rely on the exception handling instead to provide a helpful error for invalid license models.

View File

@ -1,2 +0,0 @@
minor_changes:
- "meraki_* - Meraki modules now return data when no changes are made."

View File

@ -1,2 +0,0 @@
minor_changes:
- Allow debugger to take a templated value (https://github.com/ansible/ansible/pull/53587)

View File

@ -1,3 +0,0 @@
---
minor_changes:
- "meraki_admin - Add support for check mode."

View File

@ -1,3 +0,0 @@
---
minor_changes:
- "meraki_config_template - Enable check mode."

View File

@ -1,2 +0,0 @@
minor_changes:
- "meraki_content_filtering - Add support for check mode."

View File

@ -1,2 +0,0 @@
minor_changes:
- meraki_snmp - Add support for check mode.

View File

@ -1,3 +0,0 @@
---
minor_changes:
- "meraki_vlan - Add support for check mode."

View File

@ -1,2 +0,0 @@
minor_changes:
- meraki_mr_l3_firewall - Integration test now uses net_id in some tests for improved code coverage.

View File

@ -1,2 +0,0 @@
bugfixes:
- "meraki_switchport - improve reliability with native VLAN functionality."

View File

@ -1,2 +0,0 @@
minor_changes:
- Ansible will now warn if two aliases of the same option are used for Python modules.

View File

@ -1,2 +0,0 @@
minor_changes:
- Meraki modules now return data in snake_case instead of camelCase. The ANSIBLE_MERAKI_FORMAT environment variable can be set to camelcase to revert back to camelcase until deprecation in Ansible 2.13.

View File

@ -1,2 +0,0 @@
minor_changes:
- Remove duplicate implementation of memory reservation parameter in vmware_guest (https://github.com/ansible/ansible/issues/54335).

View File

@ -1,2 +0,0 @@
bugfixes:
- "setup.ps1 - Support non NETBIOS compliant hostnames (https://github.com/ansible/ansible/issues/54550)"

View File

@ -1,2 +0,0 @@
minor_changes:
- Check return value of FindByInventoryPath API used for finding folder value (https://github.com/ansible/ansible/issues/54823).

View File

@ -1,2 +0,0 @@
bugfixes:
- "docker_container - fix idempotency of ``log_options`` when non-string values are used. Also warn user that this is the case."

View File

@ -1,2 +0,0 @@
minor_changes:
- pluribus networks modules to handle empty output string.

View File

@ -1,2 +0,0 @@
minor_changes:
- Add folder option in vmware_dvswitch to place distributed switch in a network specific folder (https://github.com/ansible/ansible/issues/54986).

View File

@ -1,2 +0,0 @@
bugfixes:
- template lookup - restore variables between calls (https://github.com/ansible/ansible/issues/55113)

View File

@ -1,3 +0,0 @@
bugfixes:
- "openssl_csr - the cryptography backend's idempotency checking for basic constraints was broken."
- "openssl_csr - SAN normalization for IP addresses for the pyOpenSSL backend was broken."

View File

@ -1,2 +0,0 @@
bugfixes:
- ec2_instance - make Name tag idempotent (https://github.com/ansible/ansible/pull/55224)

View File

@ -1,2 +0,0 @@
bugfixes:
- Fixed loading namespaced documentation fragments from collections.

View File

@ -1,2 +0,0 @@
bugfixes:
- "docker_host_info - ``network_filters`` needs docker-py 2.0.2, ``disk_usage`` needs docker-py 2.2.0."

View File

@ -1,2 +0,0 @@
bugfixes:
- "docker_swarm_service_info - work around problems with older docker-py versions such as 2.0.2."

View File

@ -1,3 +0,0 @@
bugfixes:
- "openssl_csr, openssl_csr_info - use ``ipaddress`` module bundled with Ansible for normalizations needed for pyOpenSSL backend."
- "acme_certificate - use ``ipaddress`` module bundled with Ansible for normalizations needed for OpenSSL backend."

View File

@ -1,2 +0,0 @@
minor_changes:
- ec2 - Remove deprecated ``device_type`` option (https://github.com/ansible/ansible/issues/55306)

View File

@ -1,2 +0,0 @@
minor_changes:
- ec2_instance - Remove deprecated ``network.ebs_optimized`` option (https://github.com/ansible/ansible/issues/55307)

View File

@ -1,2 +0,0 @@
minor_changes:
- ec2_lc - Remove deprecated ``device_type`` option (https://github.com/ansible/ansible/issues/55308)

View File

@ -1,2 +0,0 @@
minor_changes:
- apt - Remove deprecated ``installed`` and ``removed`` aliases (https://github.com/ansible/ansible/issues/55311)

Some files were not shown because too many files have changed in this diff Show More