Compare commits

..

1060 Commits

Author SHA1 Message Date
71affa9d7c New release v2.7.14 2019-10-17 09:46:03 -07:00
0fd656e996 [stable-2.7] Properly mask no_log values is sub parameters during failure (#63405)
(cherry picked from commit 156330b485)

Co-authored-by: Sam Doran <sdoran@redhat.com>
2019-10-14 15:31:15 -07:00
b65984981f [stable-2.7] 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
(cherry picked from commit ce402f003f)

Co-authored-by: Jill R <4121322+jillr@users.noreply.github.com>
2019-10-14 14:18:46 -07:00
40618d70e6 [stable-2.7] Wrap CLI passwords as AnsibleUnsafeText (#63352) (#63392)
* [stable-2.7] Wrap CLI passwords as AnsibleUnsafeText (#63352)

* isa string should rewrap as unsafe in get_validated_value

* _is_unsafe shouldn't be concerned with underlying types

* Start with passwords as text, instead of bytes

* Remove unused imports

* Add changelog fragment

* Update changelog with CVE.
(cherry picked from commit baeff7462d)

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

* Update tests
2019-10-11 10:31:10 -07:00
90e74dd260 Fix for plugins which used the boto libraries leaking the boto credentials to logs
(cherry picked from commit 3753304d20)

https://github.com/ansible/ansible/pull/63366
2019-10-10 21:21:45 -07:00
c2f528b768 Fix whitespace issue in filter (backport 2.7)
This fixes reported issue #60276

This is a backport of #62768
2019-10-08 09:14:02 -07:00
537dcebbe4 Fix pylint issue. 2019-10-01 16:16:47 -07:00
634a1e2782 Limit Shippable matrix check to ansible repo.
(cherry picked from commit ada02f1966)
2019-10-01 16:16:47 -07:00
6b4d2e2267 Replace old shippable.py with new check_matrix.py. (#60022)
This new script does not depend on ansible-test and provides much more robust job matrix testing.

It is also run on every job in the matrix now, to detect issues with jobs being re-run after matrix changes are made.

(cherry picked from commit d3da8e4a5b)
2019-10-01 16:16:47 -07:00
1f0a1d9e10 backport #62611 (#62618) 2019-09-19 14:31:11 -05:00
34b1ded2cb [stable-2.7] Mark ansible-test cloud credentials as sensitive..
(cherry picked from commit 9f7b124a6f)

Co-authored-by: Matt Clay <matt@mystile.com>.
2019-09-17 18:10:43 -07:00
23c33ccb38 [stable-2.7] Mark AWS credentials in ansible-test as sensitive.
This avoids displaying the credentials in CI when retrying tests at maximum verbosity.
(cherry picked from commit b73e772)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-09-17 13:31:39 -07:00
dec03d06c8 [stable-2.7] Redact sensitive values by default in ansible-test.
(cherry picked from commit 0631e057e9)

Co-authored-by: Matt Clay <matt@mystile.com>.
2019-09-17 13:18:42 -07:00
9f2acf2f2a documentation: modify the link to the docker.txt listing all images (#61838) (#61850)
The file was moved.

(cherry picked from commit aadb192846)
2019-09-05 10:39:01 -05:00
00a65ac1ed Mark aws_s3 tests as unstable 2019-09-04 14:01:44 -07:00
09545a6974 Update Fedora 29 test image
(cherry picked from commit 3d78dad84b)
2019-09-03 21:30:53 -07:00
f9fb595a0b Fix typo in postgresql_privs.py (#61365) (#61428)
Change 'default_prives' to 'default_privs'

(cherry picked from commit 0074fa5672)
2019-08-28 11:42:18 -05:00
e32670ef1d Update Ansible release version to v2.7.13.post0. 2019-08-15 19:56:28 -07:00
24007b5d4b New release v2.7.13 2019-08-15 14:07:21 -07:00
62138612c8 [stable-2.7] Start dbus when setting up postgresql tests.
(cherry picked from commit c309570540)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-08-15 13:13:55 -07:00
d728127310 prevent templating of passwords from prompt (#59246) (#59553)
* prevent templating of passwords from prompt (#59246)

* prevent templating of passwords from prompt

  fixes CVE-2019-10206

(cherry picked from commit e9a37f8e31)

* Improve performane of UnsafeProxy __new__

This adds an early return to the __new__ method of the UnsafeProxy object
which avoids creating the unsafe object if the incoming object is already
unsafe.

(cherry picked from commit c1e23c22a9)
(cherry picked from commit 490f17c7f9)
2019-08-12 18:06:35 -07:00
6444278f44 Remove Python 2.6 from Windows tests (#60235)
(cherry picked from commit 3a3727d200)
2019-08-09 15:06:40 -07:00
6145631302 add eol banner (#59254)
(cherry picked from commit 00699735e9)
2019-08-07 07:23:13 -07:00
a063287e74 [stable-2.7] Wait for Ansible Tower instance to be ready
(cherry picked from commit ea209e1c2f)

Co-authored-by: Sam Doran <sdoran@redhat.com>
2019-08-02 13:57:30 -07:00
2e66d73940 Remove redundant "Sanity Tests »" from page title.
The docs now have multi-level breadcrumbs so including "Sanity Tests »" in the title on a sanity test page is redundant.

(cherry picked from commit b4494fa547)
(cherry picked from commit dd42aac878)
2019-07-26 10:40:55 -07:00
cf817e4436 psexec - update example for for delegation example (#59475) (#59481)
(cherry picked from commit 3581e63ca8)
2019-07-25 15:45:00 -05:00
8d66a9979a [stable-2.7] Fix nightly rpm release
The nightly rpm builds were using a timestamp from the last git commit
in their Release field.  Unfortunately, that was using author timestamp
which is nonsequential.  Change to using commit timestamp which is
sequential.

note that this still has a cornercase if the branch's history is ever
rewritten.
(cherry picked from commit 97edfcc)

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2019-07-24 09:49:48 -07:00
6ec0632bec [stable-2.7] Re-enable docker_container tests (#59425)
Mark dependent container's ipc_mode as shareable
(cherry picked from commit 266d6e77a9)

Co-authored-by: Felix Fontein <felix@fontein.de>
2019-07-24 09:20:11 -07:00
df7e6c147b disable s3_lifecycle tests (#59311)
(cherry picked from commit 1d3f2c7764)
2019-07-22 19:00:47 -07:00
de3f32df4f Correct a documentation of the jenkins_plugin module (#59330)
It's a backport of #59139
2019-07-22 16:12:23 -05:00
3f0de5c438 [stable-2.7] Improve setup_docker tests to work with RHEL 8 GA (#58649)
- use include_vars to set appropriate packages and pip packages per distribution and version
- install an older version of Docker CE on RHEL 8 since a dependency is unavailable
- disable warnings on tasks that are ok
- skip tests for CentOS/RHEL 6.
(cherry picked from commit d50c8c2b83)

Co-authored-by: Sam Doran <sdoran@redhat.com>
2019-07-17 15:37:46 -07:00
9b1575cfeb [stable-2.7] Improve dnf test formatting and fix RHEL 8 module name (#58648)
- use single include_vars task rather than multiple set_fact tasks
- use multi-line YAML to break up long conditionals
- use version() test rather than direct comparisions
- use different appstream package on RHEL since '@swig:3.0/default' is not working in the GA.
(cherry picked from commit 16d6fcf514)

Co-authored-by: Sam Doran <sdoran@redhat.com>
2019-07-17 15:37:12 -07:00
4e63b681f2 Add a banner message to warn when not on latest documentation (#58526) (#58765)
* add banner to versions that are not latest
(cherry picked from commit 35b6345bdc)
2019-07-08 14:21:31 -05:00
0d14de6bf6 [stable-2.7] Fix unicode error in changelog generation
(cherry picked from commit fed90ef)

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2019-07-05 11:47:32 -07:00
20f6ba5da8 Update Ansible release version to v2.7.12.post0. 2019-07-03 13:41:32 -07:00
1fb35cd857 New release v2.7.12 2019-07-03 09:44:13 -07:00
7d4e9b279e [stable-2.7] Skip tests with unsatisfied deps (#55853)
* Skip gitlab tests if dependencies aren't met

* Skip certain unittests if passlib is not installed

* Fix tests with deps on paramiko to skip if paramiko is not installed

* Use pytest to skip for cloudstack

If either on Python-2.6 or the cs library is not installed we cannot run
this test so skip it.
(cherry picked from commit 8acf71f78f)

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2019-07-01 07:43:51 -07:00
28816088e4 Make nuage_vspk test more reliable
- don't background the nuage-vsd-sim
- increase the asncy timeout
- use uri to actually query the simulator API to make sure it is ready for connections

(cherry picked from commit 911a2ec6d3)
2019-06-26 14:54:15 -07:00
1a2bafa510 [stable-2.7] Fix nuage_vspk integration test:
- Wait for API to be ready.
- Enumerate test cases on controller.
(cherry picked from commit 29de0619e8)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-06-26 14:54:15 -07:00
b7f15c69b1 [2.7] docsite: remove lexers which have been fixed in Pygments 2.4.0 (#58101)
* docsite: remove lexers which have been fixed in Pygments 2.4.0 (#57508)

* Remove lexers which have been fixed in Pygments 2.4.0.
* Add Pygments >= 2.4.0 to test runner.
* Fix pages that triggered lexer errors.

Co-Authored-By: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
(cherry picked from commit 505c99265c)

* fixes 'could not lex literal_block' errors
2019-06-26 09:05:33 -05:00
e5595cddfa [stable-2.7] also allow None Type for safe eval (#58269)
(cherry picked from commit 8555b72)

Co-authored-by: markafarrell <mark.andrew.farrell@gmail.com>
2019-06-25 18:07:02 -07:00
c7fece19e5 Docs: add Pygments lexer for Ansible output (#50318) (#58356)
* Add specialized lexer for Ansible output.

* Make linter happy.

* Use different tokens.

(cherry picked from commit 9657a21438)
2019-06-25 14:38:11 -05:00
db11ff2848 [stable-2.7] Add Fedora 30 to test matrix (#57713)
Remove Fedora 28 from test matrix.
(cherry picked from commit 7b9d991f78)

Co-authored-by: Sam Doran <sdoran@redhat.com>
2019-06-24 14:58:17 -07:00
4f1ea957bc [stable-2.7] Add work-around for scp issue in tests.
(cherry picked from commit 414ac12ddd)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-06-21 15:38:17 -07:00
a9288b3c53 [stable-2.7] passwordstore lookup - replace expired GPG key (#58141)
- Replace private key that expired an 2019-06-20 with a key that does not expire
- Document how to generate a new GPG key using an input file
(cherry picked from commit b9d77b997e)

Co-authored-by: Sam Doran <sdoran@redhat.com>
2019-06-20 15:33:18 -07:00
17cbece6df Backport/2.7/55655 (#58097)
* Add dropdown version selection to docsite (#55655)

(cherry picked from commit f3720c90e0)
2019-06-19 15:51:52 -05:00
84c4fb38bd [stable-2.7] Change integration tests in order to pass on Fedora 30 (#58081)
* Use different package for DNF tests
    Ninja caused errors in Fedora 30. This works in both Fedora 29 and 30.

* Fix git integration tests
    Git >= 2.21.0 has either a bug or change in behavior where it errors when fetching a
    repository containing submodules that are behind the upstream submodule commits.
    It's weird and I don't fully understand it.

    Get around this my checking out specific commits from a repository rather than
    switch the origin URL.

* Fix PostgreSQL tests
    The error message is slightly different.
(cherry picked from commit 18feeb51a8)

Co-authored-by: Sam Doran <sdoran@redhat.com>
2019-06-19 10:10:31 -07:00
a11c3edfa4 safe_eval fix (#57188)
* just dont pass locals

 - also fix globals
 - added tests

* fixed tests

(cherry picked from commit b9b0b23015)
2019-06-17 17:17:38 -07:00
af6bf131fc docs: correct default for assemble module remote_src param (#57636)
* docs: correct default for assemble module remote_src param
* update ignore.txt now that test passes
2019-06-10 21:39:36 -05:00
1b757b76fb Clarify documentation on dockerfile. (#57570) (#57632)
(cherry picked from commit 433e00c219)
2019-06-10 21:33:56 -05:00
1049e5e064 [stable-2.7] Limit tests to paramiko < 2.5.0.
(cherry picked from commit 1e6edf2ccc)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-06-10 16:13:39 -07:00
755bdc4f15 acme_certificate: fix docs (#57557) (#57568)
* Fix indentation.
* Forgot when condition for second acme_certificate call.

(cherry picked from commit 9d67f476e6)
2019-06-10 10:27:23 -05:00
5dcb20dfdb Replace links to AWS module guidelines with links to devel docsite since (#57466)
the GUIDELINES.md has been moved to the docsite.
2019-06-10 09:56:28 -05:00
31fc9f9260 backport 57316 (#57424) 2019-06-05 15:27:27 -05:00
0b5ab1e041 Fix assignments in docker tests. (#57249)
(cherry picked from commit 7cd229aa97)
2019-06-03 08:40:13 -07:00
fa1cef7190 ansible-test: prefer shlex.quote (#56823)
(cherry picked from commit 484c023316)
2019-05-28 12:42:49 -07:00
634690ede5 [stable-2.7] Validate types before asserting lengths (#56882)
(cherry picked from commit 9c5b721)

Co-authored-by: Matt Martz <matt@sivel.net>
2019-05-24 09:11:52 -07:00
4c40e88851 Update Ansible release version to v2.7.11.post0. 2019-05-23 12:38:41 -07:00
a25e32f247 New release v2.7.11 2019-05-23 10:44:05 -07:00
e045506876 [stable-2.7] win_get_url: ignore defender false positive in tests (#56825)
* [stable-2.7] win_get_url: ignore defender false positive in tests (#56812)
(cherry picked from commit 124400f319)

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

* Adapt tests to work without remote_tmp_dir.
2019-05-23 09:38:11 -07:00
52de0b4e61 Removed misleading padding from highlighted results of a search query (#55464) (#56654)
(cherry picked from commit 0330ea616e)
2019-05-21 12:52:33 -05:00
c452837c5d Backport/2.7/docs default lists (#56667)
* Improve rendering of default lists (#56041)

(cherry picked from commit 53ed1bfc49)

* Add compat tojson filter for jinja2 versions missing it (#56596)

(cherry picked from commit 3f4a22d8ef)
2019-05-21 11:48:59 -05:00
9e9db8a17d Speed up the Sphinx documentation build (#55593) (#56662)
* speeds up the docs build by changing the navigation collapse setting

(cherry picked from commit 47a440774f)
2019-05-21 11:25:35 -05:00
61643874f2 Expose timeout option to Redfish modules
(cherry picked from commit d8536e47d3)
2019-05-20 18:33:27 -07:00
aa616b436c Fix VyOS cli prompt issues (#56389)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
(cherry picked from commit 30ccc8e1bd)

Add changelog for vyos prompt fix
2019-05-20 18:18:25 -07:00
85b21c2c9b Backport PR for fixing NIOS_ZONE module idempotency (#56346)
* To fix the issue where nios_zone module was running second time for same object (#55595)

* fix for 55128 issue

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* review comment fix

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
(cherry picked from commit 661f7be0fe)

* changelog for 2.7 backport

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* changelog for 2.7 backport

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* shippable fix

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
2019-05-20 18:17:25 -07:00
a8e14cfe1f connection/docker: add privilege escalation support
As described in #53385 (and #31759), the docker connection driver did
not support privilege escalation. This commit is a shameless
cut-and-paste of the privilege escalation support from the `local`
connection plugin into the `docker` plugin.

This is a backport to stable-2.7 of #55816.
2019-05-20 18:14:48 -07:00
6bc671a46a Backport/2.7/55695 (#56253)
* sysctl will now return an error if the value is invalid

sysctl can fail to set a value even if it returns an exit status 0. More
details: https://bugzilla.redhat.com/show_bug.cgi?id=1264080. Because of
this in case of an invalid value or a read-only file system, sysctl
module would return OK, even though it didn't set anything. To be sure
that sysctl correctly applied the changes we also need to check the
output of stderr.

(cherry picked from commit 0432b7f252)

* Run sysctl with LANG=C

Because we are parsing sysctl stderr we need to make sure that errors
are persistent across different system language settings.

(cherry picked from commit a16128f778)

* Add changelog fragment for sysctl

(cherry picked from commit 3ad9d4d83c)
2019-05-20 18:10:31 -07:00
9c670d9d05 Fix vyos_command integration test (#56091)
This has been broken for some time, but only noticed recently.  Because
vyos_command isn't supported on ansible_connection=local, update our
testing to account for that.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
(cherry picked from commit 59d20e004e)
2019-05-20 17:11:34 -07:00
2d414b2778 Update default roles_path documentation (#56320) (#56665)
(cherry picked from commit c1ebc8d9c2)
2019-05-20 17:11:43 -05:00
f4ce200b97 creates reversed glob TOCs for porting guide and roadmap index pages (#56655) 2019-05-20 17:10:11 -05:00
dca3154f8c clean backport of PR 56355 (#56651) 2019-05-20 17:07:49 -05:00
634b89ac01 [stable-2.7] Changing the license to Apache 2
(cherry picked from commit ea4842c0d3)

Co-authored-by: EvgenyF <evgenyf@radware.com>
2019-05-20 12:31:29 -07:00
84ade9f7b6 fix backport issues (#56648) 2019-05-20 13:28:29 -05:00
d9d5cca69e oom_killer and oom_score_adj are available since docker-py 1.8.0. (#56012)
* oom_killer and oom_score_adj are available since docker-py 1.8.0.

* Add changelog.

(cherry picked from commit f692261ea0)
2019-05-20 11:12:35 -07:00
13862f8f34 Adjust to stable-2.7 return value names. 2019-05-20 09:26:33 -07:00
5daef29e4d docker_container: use restart() API function instead of stop/start sequence (#55894)
* Improve container restart.

* Adjust tests.

* Add changelog.

* Quote options.

* Move tests for restart/recreate options to start/stop tests.

* Fix changelog name.

(cherry picked from commit 95d1564f70)
2019-05-20 09:26:33 -07:00
3db80f68f7 win_acl - fix network path qualifier parsing (#55970)
(cherry picked from commit cc3b8b9f72)
2019-05-17 23:20:10 -04:00
616763e290 [stable-2.7] Bump erlang ping to 1:20.3.8.18-1
(cherry picked from commit 4b00141)

Co-authored-by: Matt Martz <matt@sivel.net>
2019-05-16 12:00:19 -04:00
27702365a8 [stable-2.7] Nullify improperly licensed test file
(cherry picked from commit 940d58e)

Co-authored-by: James Tanner <tanner.jc@gmail.com>
2019-05-15 15:17:53 -04:00
ac416f00ca [stable-2.7] Clarify documentation an reboot delay paramaters (#55934). (#55959)
(cherry picked from commit 0e8a6e08ce)

Co-authored-by: Sam Doran <sdoran@redhat.com>
2019-05-06 10:05:50 -05:00
954462c24f fix documentation for docker_container publish_ports option (#56093) (#56099)
The documentation for the docker_container publish_ports options
erroneously stated that container ports must be "exposed" in order to
be "published".

(cherry picked from commit 5e74ecb4fd)
2019-05-06 10:03:13 -05:00
7705c9044d Update openssl_privatekey.py (#55438) (#56066)
Docs: Update lib/ansible/modules/crypto/openssl_privatekey.py

Co-Authored-By: snagoor <nagoor.s@gmail.com>
(cherry picked from commit 2925f6960e)
2019-05-06 09:57:17 -05:00
a44b62a2dd [stable-2.7] Install rabbitmq from s3 in tests..
(cherry picked from commit e105f5b436)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-04-30 12:47:05 -05:00
5ab7ec153f Properly reset timezone in user test when it was originally n/a (#55389)
(cherry picked from commit b4e83642c8)
2019-04-24 18:11:00 -06:00
b394d309f1 [stable-2.7] User - Fix shadow file parsing on AIX (#55230)
Implement a new method for shadow file parsing so it can be subclassed..
(cherry picked from commit f27eccabbd)

Co-authored-by: Sam Doran <sdoran@redhat.com>
2019-04-24 18:11:00 -06:00
17961e6335 tests: vultr: fix tests due to vultr API changes (#55621)
(partly cherry picked from commit e0ea5bb)
2019-04-24 18:09:56 -06:00
8a8c9ed089 vultr_server: fix idempotency for private network and IPv6 options (#55619)
* vultr_server: fix idempotency for private network and IPv6 options

* add changelog

(partly cherry picked from commit 1705ef5f26)
2019-04-24 18:09:56 -06:00
6f3b0e7177 [2.7] docker_swarm_service: Pass correct types on secrets/configs gid,uid,mode (#55617)
* Pass correct types on secrets/configs gid,uid,mode

* Add changelog fragment

* Fix idempotency
2019-04-23 22:05:17 -06:00
f31374914f [stable-2.7] Move missing library abort to use rather than import (#55648)
* [stable-2.7] Move missing library abort to use rather than import for netconf (#55384).
(cherry picked from commit b442706b54)

Co-authored-by: Nathaniel Case <this.is@nathanielca.se>

* Add changelog

* missing_required_lib not in 2.7
2019-04-23 20:31:25 -06:00
9aa9c11a1a vsphere_guest: corrected fix #19716 misbehaviour (#55285)
* creating machines without vm_extra_config is possible
* power state operation on absent machines will fail

(cherry picked from commit 93758a5141)
2019-04-23 20:28:18 -06:00
d9c065d217 win_service - simply env test (#55498)
(cherry picked from commit 62badd76a5)
2019-04-23 20:27:37 -06:00
ed1640e9dc [2.7] docker_container: fix support for docker-py 1.7.0 (#55496)
* In theory, some 2.7 modules support docker-py 1.7.0.

* Add changelog.
2019-04-23 20:27:16 -06:00
e51edbfa1e win_region - fix format issues when using psrp (#55487)
(cherry picked from commit f247c21d23)
2019-04-23 20:26:29 -06:00
22194345d0 Update Ansible docsite CSS to fix multi-page printing issue (#51472) (#55666)
* Update css to fix multi-page printing issue
* Add margin edit

(cherry picked from commit 51ac4d3441)
2019-04-23 14:03:46 -05:00
e093b8a07e SCP filename validation docs (#55399)
* SCP filename validation docs

* Update docs/docsite/rst/reference_appendices/faq.rst

Co-Authored-By: jborean93 <jborean93@gmail.com>

* Update docs/docsite/rst/reference_appendices/faq.rst

Co-Authored-By: jborean93 <jborean93@gmail.com>

* Update docs/docsite/rst/reference_appendices/faq.rst

Co-Authored-By: jborean93 <jborean93@gmail.com>

* edits to scp FAQ entry

* zeut alors I have missed one

* incorporate jborean feedback

* adds link to bug report

(cherry picked from commit 8542f16fa9)
2019-04-23 12:35:44 -06:00
44b3f967bf ansible-test yamllint: fix UnicodeDecodeError (#55364)
* ansible-test yamllint: fix UnicodeDecodeError

* Conditional fix

(cherry picked from commit f8bebc61c8)
2019-04-22 10:04:28 -07:00
ab725bb86e psrp - Fix raw and script tests for connection plugin (#55357)
* psrp - Fix raw and script tests for connection plugin

* Fix error propagation with raw in psrp

* uncomment test

(cherry picked from commit fdf9df89f5)
2019-04-17 06:56:49 -07:00
ad953171eb redhat_subscription: Fix usage of ConfigParser (#54815)
(cherry picked from commit 09f68fc659)
2019-04-16 16:56:18 -07:00
8d259f6e64 psrp - fix test_command rc for win_reboot (#55354)
(cherry picked from commit 49655a452d)
2019-04-16 16:55:54 -07:00
08c2fb8626 psrp - Fix fetch for large files (#55351)
* psrp - Fix fetch for large files

* Fix typo

(cherry picked from commit 52946c49a4)
2019-04-16 16:35:18 -07:00
01eb82cb40 win_feature - get tests working on psrp (#55353)
(cherry picked from commit 15c331cb48)
2019-04-16 16:21:01 -07:00
b0f6ca287b win_whoami - Fix tests to work over psrp (#55352)
(cherry picked from commit 33c2a9cea7)
2019-04-16 16:20:47 -07:00
653e9da228 ACI: Ensure we use native strings for signature (#55161)
* ACI: Ensure we use native strings for signature

* Add changelog fragment
2019-04-16 15:35:36 -07:00
ca49ae7ba5 nxos_interface DI delay only when operation state check is requested (#55355)
* nxos_interface:DI: delay only when operation state check is requested (#54862)

* nxos_interface:DI: should only use delay when operation state check is requested

There is a 10 second delay that is added for every interface that is changed.
This delay should only occur when a task sets one of the `want` vars.

* /return/continue/

(cherry picked from commit 0fe6bf911a)

* changelog

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2019-04-16 15:02:07 -07:00
1435b6771a meraki_vlan - Remove unnecessary API calls when net_id is specified (#54939)
* Remove unnecessary API calls when net_id is specified

* Remove temp_get_nets commented out code

(cherry picked from commit fb3cc7f687)
2019-04-16 15:01:19 -07:00
3604fe8517 backport #55193 to 2.7 2019-04-16 15:00:22 -07:00
f27481a6e8 docker_container: improve log_options idempotency by converting to string (#54955)
* Warn when log_options values are not strings.

* Add changelog.

* Improve message.

* Improve formatting and formulation of other messages.

* Add test for warning.

* Trying double escaping.

(cherry picked from commit d64b17731d)
2019-04-16 14:59:19 -07:00
1a499c6a6a [stable-2.7] Fix ansible-test unicode error with redact option.
(cherry picked from commit 2ef4ba3b4d)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-04-15 17:12:00 -07:00
bcf0770a04 remove become_plugins ref from backported fix 2019-04-15 14:01:28 -07:00
fb96c007b5 win_domain - fix for checking for domain on new host (#55195)
(cherry picked from commit 6039ff9a24)
2019-04-12 12:28:27 -07:00
5d58a7cadb Correct plugin loader context for persistent (#54860)
* Correct plugin loader context for persistent

(cherry picked from commit 6579dfda17)
2019-04-12 12:28:03 -07:00
a79c57b1e1 Backport/2.7/55083 (#55141)
* The Univention modules have a issue with an unassigned variable.

The variable diff is only assigned if state is 'present', else the
variable is unused. But the module will return the diff variable as a
return value. If the state isn't 'present' the module will fail with an
python UnboundLocalError exception.

(cherry picked from commit 26fa97922a)

* Add a changelog fragment for PR 55083.

(cherry picked from commit b4ae654890)
2019-04-12 12:20:36 -07:00
6814d1cb57 Increase async timeout for psrp connection test (#55068)
(cherry picked from commit 58e076b64c)
2019-04-12 12:18:38 -07:00
c44c38cdc2 Clarify platform EOS and NXOS table settings (#55096) (#55174)
(cherry picked from commit 7a1e2ef746)
2019-04-11 18:29:56 -05:00
b65aaa8f9a [stable-2.7] Compat fix for ansible-core-ci on Python 3.7.
(cherry picked from commit 5b133f3455)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-04-10 10:47:42 -07:00
c58f0a7b8d doc: preseve block-quote structure (#53293) (#55072)
Without the `::`, the indentation of the example block is lost.

(cherry picked from commit 0b579a0837)
2019-04-10 11:52:31 -05:00
c5666e5185 meraki_admin - Added recently added return fields for query (#51876) (#55048)
* Added recently added return fields for query
* Defined type of string for older fields too
* Fix incorrect type for org_id

(cherry picked from commit 9f7584e311)
2019-04-10 11:51:55 -05:00
4b28413446 Backport/2.7/50183 (#55035)
* gcp: documentation update (#50183)

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

(cherry picked from commit ae404d1476)

* Add changelog-document for gcp_inventory improvement
2019-04-10 11:50:06 -05:00
f030191782 [stable-2.7] Fix apache shutdown in subversion test.
(cherry picked from commit 58f4947ffe)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-04-08 11:19:33 -07:00
910d21e15c Allow all of yum version compare operators (#54603)
* Allow all of yum version compare operators

* * yum: name="foo >= VERSION" integration test
* changelog fragment

(cherry picked from commit 1532e31ec0)
2019-04-08 10:28:24 -07:00
d262f35789 fix dnf module removal in dnf upstream 4.2.2+ (#54923)
* fix dnf module removal in dnf upstream 4.2.2+

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

* Remove extra blank line in changelog fragment.
2019-04-08 10:19:02 -07:00
712e79eb5e ufw: fix default, direction is not necessary for it (#54799)
* Correct behavior so that direction isn't required for default.
* Add more tests.
* 'disabled' values cannot be changed.
* Include 'not specified' in messages.

(cherry picked from commit 7d27348356)
2019-04-08 10:18:14 -07:00
99815d5b54 Limit supervisor in tests to < 4.0.0. (#54937)
Tests fail when using version 4.0.0.

(cherry picked from commit 4b3662605d)
2019-04-05 18:32:45 -07:00
737cd948d6 Meraki performance fixes for net and org lookups (#51395)
* Performance fixes for net and org lookups
- Both methods had duplicate lookups
- This should significantly improve performance
- Currently untested

* Add ChangeLog file

* Change from bugfix to bugfixes and change indent

(cherry picked from commit c254b93796)
2019-04-04 12:06:38 -07:00
e852164d48 correct openssl rsa to genrsa in acme doc fragment (#54744)
* correct openssl rsa to genrsa in acme doc fragment

* acme_certificate.py - updated route53 example to include wait: yes

(cherry picked from commit c11af3dbef)
2019-04-04 12:04:38 -07:00
eeb6ec1097 acme_certficate: allow to write files to CWD (#54754)
* Allow to write files to CWD.

* Add changelog.

(cherry picked from commit e422f18898)
2019-04-04 12:03:55 -07:00
a8a318e588 Fix copy module to reset filesystem acls (#51868)
The controller's fixup_perms2 uses filesystem acls to make the temporary
file for copy readable by an unprivileged become user. On Python3, the
acls are then copied to the destination filename so we have to remove
them from there.

We can't remove them prior to the copy because we may not have
permission to read the file if the acls are not present. We can't
remove them in atomic_move() because the move function shouldn't know
anything about controller features. We may want to generalize this into
a helper function, though.

Fixes #44412

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
(cherry picked from commit d15812fabf)
2019-04-04 12:03:03 -07:00
7871e63783 Add type of group in nxos_linkagg module doc (#54769)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit 6155701e36)
2019-04-04 11:59:35 -07:00
b79d1002f8 changelog
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2019-04-04 11:59:35 -07:00
5d9bac9cfb nxos_igmp_snooping: group-timeout fails when igmp snooping disabled (#53079)
* nxos_igmp_snooping: group-timeout fails when igmp snooping disabled

group-timeout config will be rejected by the device if `ip igmp snooping` is disabled.

  * raise a failure for this condition

  * reorder the command list so that group-timeout is always last

* SA fixes

* SA fixes

* only call gt_dependency if gt

(cherry picked from commit 8c33ba3ecd)
2019-04-04 11:59:35 -07:00
903e6cd2d6 httpapi/nxos_facts: raise ConnectionError is missing code (#53406)
* `nxos_facts` crashes with certain nxos images; e.g. `7.0(3)I7(3)` as a result of this call:
  ```
        data = self.run('show lldp neighbors', output='json')
  ```
  ...which returns `ERROR: No neighbour information` when the device has no neighbors.

* This response causes httpapi's `handle_reponse()` to raise a ConnectionError, which is caught by `utils/jsonrpc.py` which is expecting `code` in the exception data:

  ```
             except ConnectionError as exc:
                 display.vvv(traceback.format_exc())
                 error = self.error(code=exc.code, message=to_text(exc))
  ```

* Found by: `nxos_facts/tests/common/not_hardware.yaml:7`

(cherry picked from commit 874fd70d10)
2019-04-04 11:59:35 -07:00
7dcfa2c45c nxos_user: fails to remove usernames with embedded '\' (#53149)
Example: username ucs-DOMAIN\\x password 0 foo

Found by `common/sanity` test.

(cherry picked from commit fd6e45bc75)
2019-04-04 11:59:35 -07:00
e6baa85517 nxos_evpn_vni: exclude legacy N3k from sanity test (#53452)
The test was only skipping N3K|N35, needs to also skip N3L (legacy n3048 chassis).

(cherry picked from commit 495bd02dbf)
2019-04-04 11:59:35 -07:00
2985d32e29 network.py:ActionModule:run: does not honor _handle_src_option failures (#52745)
* network.py:ActionModule:run: does not honor _handle_src_option failures

PR #50301 moved template error handling out of run() and into its
own method in `_handle_src_option`; however, after the change run()
ignores the return value so any errors are ignored.

Reproduceable with `nxos_config/tests/common/src_invalid.yaml`

Verified fix with `nxos_config/tests/common/src_*` tests.

Ref:
71113ee291 (diff-7477bf046013758366cc85b06f90709aR43)

* nxos_config/tests/common/src_basic: Updated to test with src

This test was not actually testing with `src:` as it should have.

* Revert 412d7e change to plugins/action/network.py

PR #52912 fixed this already.

* nxos_config: fix src_invalid test

(cherry picked from commit d69239c440)
2019-04-04 11:59:35 -07:00
57607ffcd2 nxos_interfaces_ospf: fix passive-interface states & check_mode (#54260)
* nxos_interfaces_ospf: fix passive-interface states & check_mode

This fix addresses issues #41704 and #45343.

The crux of the problem is that `passive-interface` should have been treated as a tri-state value instead of a boolean.

The `no` form of the command disables the passive state on an interface (allows it to form adjacencies and send routing updates).  It's essentially an override for `passive-interface default` which enables passive state on all OSPF interfaces.\*
This `no` config will be present in `running-config`.

   \**See `router ospf` configuration.*

Since both enable and disable states are explicit configs, the proper way to remove either of these is with the `default` syntax.

Passive-interface config syntax:
```
  ip ospf passive-interface              # enable  (nvgens)
  no ip ospf passive-interface           # disable (nvgens)
  default ip ospf passive-interface      # default (removes config, does not nvgen)
```

Code changes:

* `passive_interface` param changed from boolean to string, restricted to `true`,`false`,`default`.

* Several passive-interface specific checks were added because the existing module logic tends to test for true or false and doesn't handle the None case.

* Fixed `check_mode`.

Sanity verified on: N9K,N7K,N3K,N6K

* Fix doc header

* Unit tests for passive-interface

* doc fix #2

* Fix indent for SA

* Remove 'default' keyword, restore bool behavior

* remove changes to sanity

(cherry picked from commit 20fb77c49b)
2019-04-04 11:59:35 -07:00
a8f5619786 Fix regular expression for timeout (#53994)
(cherry picked from commit 07212c395b)
2019-04-04 11:59:35 -07:00
bb5f18f61e nxos_linkagg: group type mismatch causes idempotency failure (#53653)
* nxos_linkagg: `group` type mismatch causes idempotency failure

* `group` values need to be cast; e.g.

```
 want = {'group': '20'}
 have = {'group': 20}
```

* Found with N7K `sanity` test

* nxos_linkagg: change group param type to str

(cherry picked from commit 66fe6bfa0b)
2019-04-04 11:59:35 -07:00
1f5d412cc3 nxos_ospf_vrf: sanity.yaml test: fix timer_throttle_lsa_hold (#53561)
* The test was setting `lsa max` value to 2222 but the default `lsa hold` value is 5000.

* `hold` must be less than `max` or else the device raises a clierror, so I just added a lower non-default `hold` value to satisfy the cli.

(cherry picked from commit c1e9f594d2)
2019-04-04 11:59:35 -07:00
3dbb182d41 nxos_pim_rp_address: N7K sanity test fix when removing rp w/pfx-list (#53556)
The N7K is another platform that raises an error when trying to remove
an RP w/prefix-list specified. These tests are now skipped for N7K.

(cherry picked from commit c5de2233d0)
2019-04-04 11:59:35 -07:00
0684744c01 nxos_igmp_snooping: more group-timeout fixes (#53553)
* Fixed another problem where `group-timeout` was processed before `ip igmp snooping` was enabled

* `sanity` playbook:
 * N6K: `show ip igmp snooping | json` succeeds on the device but doesn't return any data in body; added a skip to the sanity playbook to keep it out of CI
 * Added a setup task to do initial cleanup on the device

(cherry picked from commit 07774b4ccf)
2019-04-04 11:59:35 -07:00
fbc8171a86 nxos_user: auth.yaml test: stronger test password needed (#53533)
Basic passwords are rejected by the nxos device unless `no password strength-check`
is configured. This change just makes the password meet the minimum strength checks.

(cherry picked from commit 591e0ffb69)
2019-04-04 11:59:35 -07:00
8b1a934f1c nxos_pim_rp_address: update sanity test to work with legacy N3K (#53471)
Test yaml fixes for n3048:

* 3048 does not support bidir option
* 3048 cannot remove rp-address if prefix-list/route-map is present
  * yes: no ip pim rp-address x.x.x.x
  *  no: no ip pim rp-address x.x.x.x prefix-list foo
  *  no: no ip pim rp-address x.x.x.x route-map bar

This test now passes on N9k/N7k/N6k/N3k.

(cherry picked from commit ea0ef3b2e1)
2019-04-04 11:59:35 -07:00
ca5467b5f2 nxos_hsrp: fix 'sh_preempt': <unknown enum:> (#52858)
* nxos_hsrp: fix 'sh_preempt': <unknown enum:>

Some older nxos images fail to set this attr value. This fix checks for
unknown enum and issues a second (unstructured) call to the device to get
the data.

* add whitespace for pep8

(cherry picked from commit 5dc65d0dfc)
2019-04-04 11:59:35 -07:00
0bb0729455 Fix 'defaults' option in the nxos_config module (#51076)
* Fix 'defaults' option in the nxos_config module

Nxos get_config is allways called with the 'all' option.
* Fix flag's calculation
* Add tests

* nxos_config: the 'backup' option take into account the value of 'defaults' option

If 'defaults' option is true, the running-config backup is done with the all
keyword.

(cherry picked from commit 87a01df6ad)
2019-04-04 11:59:35 -07:00
41d999998d Match VLAN ID as whole line instead of searching for digits in line (#51019)
Searching for digits somewhere in the output line will also match VLAN name (lines) starting with digits.

Fixes issue #50998

(cherry picked from commit b1c295386f)
2019-04-04 11:59:35 -07:00
d06193d013 fix eos_l2_interface insufficient commands (#50754)
(cherry picked from commit 1d4dbd76c0)
2019-04-04 11:59:35 -07:00
49d6a18343 fix eos_l2_interface invalid command (#50644)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit 1400d161c0)
2019-04-04 11:59:35 -07:00
5d73a98000 Add missing parameters in get_config vyos (#50855)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit fc0f20a35e)
2019-04-04 11:59:35 -07:00
cb5f043df2 Add multiline config example in cli_config docs (#51413)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit f712e86728)
2019-04-04 11:59:35 -07:00
34cf510d77 Removes superfluous commands nxos_vlan (#51796)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit 88df4e22d3)
2019-04-04 11:59:35 -07:00
0ca658e562 Add type in eos_config module docs (#53117)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit 5f577c7e79)
2019-04-04 11:59:35 -07:00
03764027c5 Fix nxos action plugin for nxos_install_os (#53768)
* Fix nxos action plugin for nxos_install_os

* Update module docs

(cherry picked from commit 4c2a3bfed5)
2019-04-04 11:59:35 -07:00
b6f52a4b81 Fix netconf plugin dispatch response
Fixes #53236

*  If dispatch() rpc response has data element
   return the xml string from `<data>` element
   else return the complete xml string from
   `<rpc-reply>`.

(cherry picked from commit aac5ef5e13)
2019-04-04 11:59:13 -07:00
78ebe74b61 fix remove_orphans using APIs exposed via AnsibleDockerClient (#54316)
Co-Authored-By: sluther <neenach2002@gmail.com>

(cherry picked from commit 5517b0384f)
2019-04-04 11:54:11 -07:00
3af578ff20 Update Ansible release version to v2.7.10.post0. 2019-04-04 10:30:52 -07:00
e75f58f305 New release v2.7.10 2019-04-03 15:38:53 -07:00
56bb3d53f2 [stable-2.7] Reduce testing of Ubuntu versions.
Removing:

- Ubuntu 14.04 with Python 2.7
- Ubuntu 16.04 with Python 3.5

Keeping:

- Ubuntu 16.04 with Python 2.7
- Ubuntu 18.04 with Python 3.6.
(cherry picked from commit c8f2becb7a)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-04-02 22:51:53 -07:00
110b60fdb8 Backport/2.7/54105 pamd: fix idempotence issue when removing rules (#54105) 2019-04-01 14:36:29 -07:00
384781d0ea [stable-2.7] replace - fixed combined before and after usage (#31452)
When using before and after in combination, the opposite behavior was induced. This PR makes the the replacement happen between the specified patterns as intended.

* Added integration tests
* Add changelog, porting guide entry, and minor doc fixes.
(cherry picked from commit cf69ec5db0)

Co-authored-by: Evan Kaufman <evan.kaufman@gmail.com>
2019-04-01 14:30:44 -07:00
fc2336aef2 Allow AnsibleVaultEncryptedUnicode to pass through exec_jsonrpc (#48306)
* Allow AnsibleVaultEncryptedUnicode to pass through exec_jsonrpc

* Add changelog

(cherry picked from commit f05979932b)

Conflicts:
	lib/ansible/module_utils/connection.py
2019-04-01 13:54:28 -07:00
635ff3966f Catch all request timeouts for winrm connection (#54104)
* Catch all request timeouts for winrm connection

The current implementation only catches 'ConnectTimeout' exceptions.
Instead we should catch 'Timout' which also catches ReadTimeout
exceptions.

Improves on: #51744

Co-Authored-By: westphahl <westphahl@gmail.com>

* Changelog for winrm error handling improvement
2019-04-01 13:44:12 -07:00
71bec85253 win_user_right - fix non json output issue (#54495)
(cherry picked from commit e2d2874d81)
2019-04-01 13:43:02 -07:00
748fc4612c Get tests working on older Ansible versions 2019-04-01 13:42:12 -07:00
b967c99ea3 win_acl - remove test return values
(cherry picked from commit 1034b892df)
2019-04-01 13:42:12 -07:00
8a05e37298 win_acl - fix support for registry paths (#54427)
(cherry picked from commit 10f006036c)
2019-04-01 13:42:12 -07:00
68c5555cc5 [stable-2.7] fix issue in random_mac filter with short prefixes (#53928)
(cherry picked from commit 1e3428a766)

Co-authored-by: Anton Roman <antonroman@gmail.com>
2019-04-01 13:41:01 -07:00
13ab3a4f3d [2.7] openssl_certificate: fix state=absent (#54348)
* openssl_certificate: fix state=absent (#54298)

* Fix state=absent.

* Add changelog.

(cherry picked from commit 534c833bb3)

* openssl_certificate: update for #54298 (state=absent fix) (#54353)

* Update for #54298: Certificate is abstract, so instantiating doesn't work.

* Add test for removal.

(cherry picked from commit 5bb5c9d295)
2019-04-01 13:38:45 -07:00
78844c800f Fix Foreman returning host parameters (#54101)
* Fix Foreman returning host parameters 

Foreman (1.20) returns the `all_parameters` key as a list of dicts, not a dict of key-value pairs.

* Fix for type error

The empty type here should be a dict, not a list as is has a `get` done
on it next.

(cherry picked from commit e94e80c79e)

* Return dict directly to avoid failing key lookup

(cherry picked from commit 545b98645d)

* Add changelog fragment for #54333
2019-04-01 13:30:36 -07:00
08dbeff204 meraki_vlan - Document DHCP responses (#54142)
* Added documentation for new DHCP responses.

* Added the actual DHCP options documentation

(cherry picked from commit 0b37828377)
2019-04-01 13:29:29 -07:00
e31620e9db Backport/2.7/53496: fix azure_rm.py not showing nic info for vmss #53496 (#54379)
* fix azure_rm.py not showing nic info for vmss (#53496)

* fix vmss nic

* resolve comments

(cherry picked from commit 710b05fae7)

* add changelog
2019-04-01 13:27:39 -07:00
3c4affeafc Add response documentation. (#54276)
(cherry picked from commit 5566ae81da)
2019-03-25 20:04:46 -07:00
1cc5196922 backport: add missing hostvars properties in azure_rm.py inventory (#53046) (#54318)
* add missing hostvars properties in azure_rm.py inventory (#53046)

* add missing hostvars properties

* fix lint

* fix lint

* add security group

* fix lint

(cherry picked from commit 71042e1a79)

* add changelog
2019-03-25 20:04:11 -07:00
59000d01b6 openssl_*: proper mode support (#54085)
* Add write helper.

* Adjust modules (except openssl_certificate).

* Adding tests for mode (with openssl_privatekey).

* Add openssl_certificate support.

* Never, ever remove the output file before actually trying to generate new content for it.

Removal is only allowed when state=absent, or when the object has been regenerated and the result needs to be written to that place.

* Add changelog.

* Extend test.

(cherry picked from commit d7a273273a)
2019-03-25 20:03:43 -07:00
e6bf08d9ec grafana_datasource: use the Ansible helpers to get basic auth header (#54183)
* grafana_datasource: use the Ansible helpers to get basic auth header

Module was not using the helpers, so an error occured in python3.

Fixes: #49147

* Update grafana_datasource_fix_basic_auth_python3_issue.yaml
2019-03-25 14:04:32 -07:00
3546594331 openssl_dhparam: fix state=absent (#54296)
* Fix remove.

* Add changelog.

(cherry picked from commit 121990d8c5)
2019-03-25 14:03:34 -07:00
0f4c6793f9 meraki_admin - Add documentation for tags and network access (#51415)
* Add documentation for tags and network access
* Documentation changes from dag and sam
* Change examples to include proper YAML and not dict
* Update lib/ansible/modules/network/meraki/meraki_admin.py

Co-Authored-By: kbreit <kevin.breit@kevinbreit.net>
(cherry picked from commit bcbcd209f4)
2019-03-25 13:57:13 -07:00
ae5e6b5aef [2.7] include_tasks: fix traceback if no file specified (#54044) (#54164)
* include_tasks: fix traceback if no file specified (#54044)



(cherry picked from commit c5609c51bf)

* fix typo
2019-03-22 11:35:16 -07:00
6e4c344a6b dict is dict (#54057)
(cherry picked from commit d1a688b1d7)
2019-03-22 11:33:07 -07:00
9173941100 Handle empty output in remote_exists (backport of #52010 to 2.7) (#54103)
* flatpak_remote: Handle empty output in remote_exists (#52010)

`flatpak remote-list -d` can return an empty output on Fedora 29 (version 1.2.0).

(cherry picked from commit fcb6f136cd)

* Adds changelog fragment for 52010 backport
2019-03-22 11:30:21 -07:00
3d5bf87b9d openssl_publickey: fix handling of OpenSSH private keys with passphrase (#54192)
* Cleanup.
* Make sure that OpenSSH passphrases are handled correctly.
* Add changelog.

(cherry picked from commit 1a94cf140c)
2019-03-22 11:16:01 -07:00
e55cd56bd9 [stable-2.7] Disable failing azure_rm_managed_disk test.
(cherry picked from commit 1a286a95e5)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-03-21 07:10:47 -07:00
dedd76899a [stable-2.7] Pin the ansible-runner version in tests.
The tests need to be updated to support newer ansible-runner releases.
(cherry picked from commit 777b726e4f)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-03-20 15:31:55 -07:00
a4dc6b78eb [stable-2.7] Add constraint for deepdiff.
(cherry picked from commit 9a135fbcef)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-03-19 15:18:52 -07:00
1d55f4a4e5 Backport/2.7/51898 (#52100)
* remove non-standard GetManagerAttributes, SetManagerAttributes (#51898)

(cherry picked from commit 3b20b186d7)

* add changelog fragment

* fix merge error in default Manager command

* add back {Get/Set}ManagerAttributes commands and deprecate them
2019-03-19 15:18:25 -07:00
e8dcf0f088 fix constructed functionality in openstack inventory plugin
This is a backport of #48833 for stable-2.7.

The compose, groups, and keyed_groups functionality of the openstack
inventory plugin was broken:

- the plugin was not passing the correct variables to the
  Constructable methods for compose and groups
- the plugin was simply never calling the appropriate method for
  implementing keyed_groups

This commit fixes both issues.

(cherry picked from commit 5a9c767662)
2019-03-19 15:16:50 -07:00
8856a01eab Revert "Add constraint for deepdiff."
This reverts commit 05772233ad.

I mistakenly merged this before it hit devel.  The devel change was
modified to change this in a different place.  Reverting so that we can
make that fix properly.
2019-03-19 14:25:30 -07:00
05772233ad Add constraint for deepdiff.
This is a backport of #54036.

(cherry picked from commit 12612a4e748e0b1f1bfe28d67fc8eb772350dd5f)
2019-03-19 11:59:14 -07:00
7ef076db0e Backport/2.7/54028 tower_settings: "get" isn't implemented, "value" parameter is required (#54051)
* tower_settings: "get" isn't implemented, "value" parameter is required (#54028)

* tower_settings doc: 'get' isn't implemented

* tower_settings: fix typo in argument_spec

(cherry picked from commit ac7df0ef65)

* Add changelog fragment for tower_settings bugfix
2019-03-19 11:12:09 -07:00
a11a56f27d win_psexec - support paths with a space (#54009)
(cherry picked from commit 7ab77f6c8a)
2019-03-19 11:09:55 -07:00
22c540a7c5 Use shared remote_tmp_dir to simplfy tests (#53721)
(cherry picked from commit b044bb431e)
2019-03-19 11:09:55 -07:00
c37646cf56 win_file - fix glob like paths (#54003)
(cherry picked from commit c053bc1fc7)
2019-03-19 11:09:55 -07:00
16be92f480 win_copy - fix glob like paths (#54006)
(cherry picked from commit 2f1bc34589)
2019-03-19 11:09:55 -07:00
0668265bdb win_certificate_store - fix glob like paths (#54007)
(cherry picked from commit eb18df1a0f)
2019-03-19 11:09:55 -07:00
ee3a7033fd win_find - fix glob like paths (#54005)
(cherry picked from commit 8a4079ddbf)
2019-03-19 11:09:55 -07:00
c8914a1678 windows - Fix module utils with glob paths (#53835)
* windows - Fix module utils with glob paths

* fix link util tests when using DOS 8.3 paths

(cherry picked from commit 980ca564ce)
2019-03-18 14:32:53 -07:00
19385f1ee1 win_slurp - fix glob like paths (#53831)
(cherry picked from commit d00418c924)
2019-03-18 14:32:53 -07:00
edfc44ec51 win_owner - fix glob like paths (#53830)
* win_owner - fix glob like paths

* Fix issues on older PS versions

(cherry picked from commit d063cefb64)
2019-03-18 14:32:53 -07:00
f9e6a89993 win_acl_inheritance - fix glob like paths (#53829)
(cherry picked from commit 3cfa71bff0)
2019-03-18 14:32:53 -07:00
73bf34ed41 win_acl - fix glob file paths (#53828)
(cherry picked from commit aba6f5f50d)
2019-03-18 14:32:53 -07:00
b0c6499b60 win_tempfile - return absolute path on created temp file (#53827)
* win_tempfile - return absolute path on created temp file

* Fix tests for CI

(cherry picked from commit 4f9de45785)

8
2019-03-18 14:32:53 -07:00
1cd21e2f50 Only use ports in the range 9001-9060.
(cherry picked from commit 77f7e5a986)
2019-03-18 14:32:18 -07:00
d8a75faa53 Reference RFC 8555 instead of latest draft. (#53674) (#53836)
(cherry picked from commit a043570579)
2019-03-18 14:31:13 -07:00
833b29b39c [stable-2.7] Correctly count processors on ARM systems. (#52884) (#53798)
* [stable-2.7] Correctly count processors on ARM systems. (#52884)

- Add unit tests for Linux CPU info
- Add cpuinfo output from several systems for unit tests

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 55306906cf)

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

* Add changelog
2019-03-18 14:29:37 -07:00
aa859597b1 Make the timeout decorator raise an exception out of the function's scope (#49921)
* Revert "allow caller to deal with timeout (#49449)"

This reverts commit 63279823a7.

Flawed on many levels

* Adds poor API to a public function
* Papers over the fact that the public function is doing something bad
  by catching exceptions it cannot handle in the first place
* Papers over the real cause of the issue which is a bug in the timeout
  decorator
* Doesn't reraise properly
* Catches the wrong exception

Fixes #49824
Fixes #49817

* Make the timeout decorator properly raise an exception outside of the function's scope

signal handlers which raise exceptions will never work well because the
exception can be raised anywhere in the called code.  This leads to
exception race conditions where the exceptions could end up being
hanlded by unintended pieces of the called code.

The timeout decorator was using just that idiom.  It was especially bad
because the decorator syntactically occurs outside of the called code
but because of the signal handler, the exception was being raised inside
of the called code.

This change uses a thread instead of a signal to manage the timeout in
parallel to the execution of the decorated function.  Since raising of
the exception happens inside of the decorator, now, instead of inside of
a signal handler, the timeout exception is raised from outside of the
called code as expected which makes reasoning about where exceptions are
to be expected intuitive again.

Fixes #43884

* Add a common case test.

Adding an integration test driven from our unittests.  Most of the time
we'll timeout in run_command which is running things in a subprocess.
Create a test for that specific case in case anything funky comes up
between threading and execve.

* Don't use OSError-based TimeoutError as a base class

Unlike most standard exceptions, OSError has a specific parameter list
with specific meanings.  Instead follow the example of other stdlib
functions, concurrent.futures and multiprocessing and define a separate
TimeoutException.

* Add comment and docstring to point out that this is not hte Python3 TimeoutError

(cherry picked from commit bd072fe83a)
2019-03-18 12:55:37 -07:00
799b51ba0b Handle binary files when scanning metadata in python 3 (#53773) (#53784)
(cherry picked from commit c2466c545b)
2019-03-18 12:54:30 -07:00
4840952f3d win_reboot - Fix rc validation when using psrp and add extra docs - 2.7 (#53718)
* win_reboot - Fix rc validation when using psrp and add extra docs (#53711)

* win_reboot - Fix rc validation when using psrp and add extra docs

* Revert boot time command and fix docs

(cherry picked from commit 3d23e47c53)

* win_reboot - fix broken tests after recent commit (#53722)


(cherry picked from commit d9795bad98)
2019-03-18 12:53:28 -07:00
f7a1911758 win_psexec: make the tests more stable (#53716) (#53720)
(cherry picked from commit 33939f7fe8)
2019-03-18 12:41:10 -07:00
166ef9f668 [stable-2.7] Fix checksum file parsing in get_url (#53685) (#53694)
* [stable-2.7] Fix checksum file parsing in get_url (#53685)

* Fix checksum file parsing. Fixes #48790

* guard invalid int conversion

Co-Authored-By: sivel <matt@sivel.net>

* Remove extra newline.
(cherry picked from commit 77217fdd24)

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

* Remove use of undefined variable
2019-03-18 12:40:31 -07:00
81d893d6ee 2.7: yum: fix disable_excludes in repoquery fallback (#53697)
* yum: fix disable_excludes in repoquery fallback (#53552)

Fixes #53134

(cherry picked from commit 42731ec73f)

* Add changelog for #53552 (#53695)


(cherry picked from commit e0a7f01f0b)
2019-03-18 12:30:16 -07:00
abf5f7583e [stable-2.7] Don't raise AnsibleConnectionFailure if the ssh process has already died. (#53534)
* Don't raise AnsibleConnectionFailure if the ssh_process has already died. Fixes #53487

* Better support for file not found messages

* Add changelog fragment
(cherry picked from commit e9f9bca)

Co-authored-by: Matt Martz <matt@sivel.net>
2019-03-18 10:56:04 -07:00
1b14a2d946 [stable-2.7] Changelog lint and generation bug fixes. (#53792)
* Add missing dict entry for changelog generation.
* Enforce str and list types on sections.
* Check type of section list items.
* Support non-ascii characters in changelogs..
(cherry picked from commit 90a38670be)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-03-15 10:10:58 -07:00
e0db8e6efb win_chocolatey_source - don't rely on cmd to get source info (#53837)
(cherry picked from commit e0c0e9a10b)
2019-03-15 10:10:31 -07:00
0a03d0ee0e win_chocolatey - Fix incompatibilities with latest Chocolatey release (#53841)
(cherry picked from commit cac3c6efcf)
2019-03-15 10:10:31 -07:00
ac93b3d5e7 Update Ansible release version to v2.7.9.post0. 2019-03-14 20:22:51 -07:00
b4cba61b67 New release v2.7.9 2019-03-14 11:10:27 -07:00
15c5d85251 [stable-2.7] Keep existing to_yaml behavior with pyyaml >= 5.1. (#53772)
In pyyaml versions before 5.1 the default_flow_style for yaml.dump
was None. Starting with 5.1 it is now False. This change explicitly
sets the value to None to maintain the original to_yaml behavior.

The change to pyyaml was made in the following commit:

507a464ce6
(cherry picked from commit 7f0e09aa31)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-03-13 18:29:14 -07:00
bd15658f2c Backport/2.7/51953 (#53657)
* Backporting the logical changes from #51953 to restore functionality on the newer 1Password CLIs v0.5.5+.

* Adding changelog fragment for this backport PR.
2019-03-11 15:18:40 -07:00
091c7c46d3 [stable-2.7] Ensure Clear Linux parsing is actually parsing a Clear Linux host and all others fall back to NA (#53298) (#53541)
* [stable-2.7] Ensure Clear Linux parsing is actually parsing a Clear Linux host and all others fall back to NA (#53298)

Fixes a bug where parse_distribution_file_ClearLinux() was called on CoreOS (and probably many other distros) and it returned True since it successfully parses the distribution file. Since this file exists on many Linux distributions and they are a very similar format, add an additional check to make sure it is Clear Linux.

Change the order in which distribution files are processed so NA is last. This prevents a match on CoreOS hosts since they also have /etc/os-release and the called matching function for NA is very general and will match CoreOS.

* Add changelog

* Add unit tests

Only add tests for Clear Linux parsing since that was the cause of this issue.
(cherry picked from commit 1d91e03119)

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

* Use different import for 2.7
2019-03-11 15:16:43 -07:00
ca63a2a968 docker_container: show warnings, fix/improve tests (#53440)
* Output warnings from docker daemon on container create and update.

* Accept warning for blkio_weight instead of idempotency.

* Value quoting.

* Avoid loop variable conflict.

* Add changelog.

* Make one test case faster.

* Add 'Docker warning: ' prefix.

* Add a generalized warning reporting function.

(cherry picked from commit 3117900b1e)
2019-03-11 13:27:31 -07:00
5769d46aa3 use composed vars in constructed groups (#53152)
* changelog

* combine provided variables and host vars inside of constructing groups to take into account composed variables

let composed variables "win"

* fix whitespace

* Allow user to control hash behavior

(cherry picked from commit 4172d68dc3)
2019-03-11 13:21:48 -07:00
2773e215f7 [2.7] docker_swarm: removing nodes requires docker >= 2.4.0 (#53592)
* Removing a swarm node does not work with docker-py < 2.4.0, since it calls client.inspect_node(). (#53565)

For the same reason, docker_node requires docker >= 2.4.0.

(cherry picked from commit c75da35595)

* Reconstructing a change from devel which is required to make usage detection work this way.
2019-03-11 13:20:30 -07:00
b84d9a8365 apply node_id parameter to swarm node removal (#53503)
(cherry picked from commit be39e757e3)
2019-03-11 13:15:05 -07:00
07e4ae0806 [stable-2.7] Allow dict2items to work with hostvars (#53538).
(cherry picked from commit 414440e323)

Co-authored-by: Matt Martz <matt@sivel.net>
2019-03-11 13:14:01 -07:00
c93bfe9931 allow nontype configdata (#53365)
(cherry picked from commit 90bcff3d92)
2019-03-11 12:53:52 -07:00
3944f51677 [docker_image] fix the changed state for tagging and pushing (#53451)
* [docker_image] fix the changed state for tagging and pushing

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

* [docker_image] add tests for (force) tagging and force pushing

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

* [docker_image] add a news fragment for the fixed force tag/push behavior

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
(cherry picked from commit 13ab9a61a8)
2019-03-11 12:53:26 -07:00
a32e8c42b9 Fix for "AttributeError: 'module' object has no attribute 'cursors'" (#49191) (#53445)
* Fix for "AttributeError: 'module' object has no attribute 'cursors'" (#49191) (#1)

* Fix for "AttributeError: 'module' object has no attribute 'cursors'" (#49191)

* Adding changelog fragment for issue #49191 and the following PR.

* Update lib/ansible/module_utils/mysql.py

Co-Authored-By: timorunge <timorunge@users.noreply.github.com>
(cherry picked from commit b45b599433)
2019-03-11 12:52:49 -07:00
7e83675227 module_utils/mysql: Fixing unexpected keyword argument 'cursorclass' error after migratio… (#47809)
* Fixing unexpected keyword argument 'cursorclass' error after migration from MySQLdb to PyMySQL

* Adoptions for mysql.py as suggested by felixfontein.

* Adding changelog fragment.

(cherry picked from commit 47190088b4)
2019-03-11 12:52:49 -07:00
b658139d63 test: fix get_url issues in CI for Ubuntu 14.04
(cherry picked from commit 0f2041abbd)
2019-03-11 12:50:35 -07:00
S
edd7e53b8b Fixed win_file crash with hidden files (#52584)
* Fixed crash with hidden files

added "-force" parameter on "Get-Item" cmdlet. this is needed to get file info if the file is "hidden" 
without this option modules like win_file, win_template, win_copy crashes on hidden files. this is because with "test-path" it sees that the file exists, but "get-item" can't get the file info. 
for more information on "-force option": https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-item

* Add changelog and integration tests

* fix tests for older Windows versions

(cherry picked from commit 3bc474bf99)
2019-03-11 11:53:23 -07:00
e0294275d7 win_domain: fix issue when running without credential delegation (#53480)
* win_domain: fix issue when running without credential delegation

* Add check for reboot is required to complete role e install

* Fix changelog sanity issue

* removed meta file accidentally committed

(cherry picked from commit 008db85d44)
2019-03-11 11:53:04 -07:00
c4748fd011 openssl_csr: improve subject validation (#53198)
* Improve subject field validation.

* Add country name idempotency test.

* Add failed country name test.

* Add changelog.

(cherry picked from commit b2e992cecd)
2019-03-11 11:52:43 -07:00
9135dbd820 Trying to work around spurious test failures. (#53472)
(cherry picked from commit e4f2e15b96)
2019-03-11 11:51:49 -07:00
82ccbd939c Clarify that do until loops are unsupported on include tasks (#49581) (#53628)
(cherry picked from commit 0d7e95b4db)
2019-03-11 13:50:36 -05:00
63b2794607 Warn user to send a password if the privatekey is password protected (#53360) (#53527)
* Warn user to send a password if the privatekey is password protected on openssl_cert and openssl_csr docs 

Co-Authored-By: johnwesley <johnwesley@users.noreply.github.com>
2019-03-11 13:50:13 -05:00
96aa6babc1 Mark ec2_vpc_vgw as disabled to avoid hitting the resource limit (#53082)
* Mark ec2_vpc_vgw as disabled to avoid hitting the resource limit (#53082)

(cherry picked from commit c4d0c58c5a)
2019-03-08 22:39:38 -08:00
3380defd67 [2.7] docker_swarm_service: rename return variable to swarm_service (#53408)
* docker_swarm_service: rename return variable to swarm_service (#53229)

* Rename return variable to swarm_service.

* Add changelog.

* Add that old name will stay in Ansible 2.7.x.

(cherry picked from commit 61abbfc269)

* Keep old variable for backwards compatibility.
2019-03-06 14:48:32 -08:00
3eccd83891 openssl_csr: improve invalid SAN error messages (#53201)
* Improve invalid SAN error messages.

* Add changelog.

(cherry picked from commit 628326b879)
2019-03-06 14:47:40 -08:00
3d351c5367 2.7 way to make sure no SANs are there. 2019-03-06 14:46:52 -08:00
94b5a03b0e openssl_certificate: make sure extensions are present when they are queried by assertonly (#53207)
* Make sure extensions are present when they are queried by assertonly provider.

* Add changelog.

(cherry picked from commit 6249bb8ea4)
2019-03-06 14:46:52 -08:00
ba261abe29 re-add EAP to Stop for older branch 2019-03-06 14:28:41 -08:00
8bb830c1b4 win_chocolatey_source - fix state=disabled with no source (#53097)
(cherry picked from commit be7768efc7)
2019-03-06 14:28:41 -08:00
bfe072c9dc winrm - try and recover from a send input failure (#53187)
(cherry picked from commit ae24bbff4a)
2019-03-06 14:28:06 -08:00
ed12e93f73 [stable-2.7] Python 2: accept both long and int for type=int (module options) (#53289)
* Added unit test.
(cherry picked from commit 07fcb60d55)

Co-authored-by: Felix Fontein <felix@fontein.de>
2019-03-06 14:21:51 -08:00
2f0b727acf backport correct examples (#53411) 2019-03-06 14:36:04 -06:00
2f91d399ec [2.7] docker_swarm_service: don't crash when publish isn't specified (#53262)
* Don't crash when publish isn't specified.

* Add changelog.

* Add validation code.

* Use generic supertype of dict.
2019-03-04 12:02:39 -08:00
72f4d1b22b Make clear which option is used by which provider. (#53208)
(cherry picked from commit 6b948ab031)
2019-03-04 12:02:18 -08:00
03ceec9c78 properly convert inputs to handle bytes/unicode (#53072) (#53124)
* properly convert inputs to handle bytes/unicode (#53072)

* properly convert inputs to handle bytes/unicode

  fixes #52186

* Update changelogs/fragments/nmap_bytes_fix.yml

Co-Authored-By: bcoca <bcoca@users.noreply.github.com>
(cherry picked from commit 55dc63be3a)

* updated as per fb

* spacer
2019-03-04 12:00:49 -08:00
5aabb5ea02 docker_swarm: support older docker-py versions (#53129)
* Decreasing docker_swarm requirements.

* Fixing docker-py / docker API version requirements, and some comments.

* Add changelog.

* Only send parameters specified by user to docker daemon.

* Extend labels test: not specifying == keep labels.

* Bump minimally required docker-py version for docker_node and docker_node_facts to 2.4.0.

* Prevent crashing when publish or healthcheck is not provided.

* Similarly to docker_swarm tests, only execute docker_node tests on real VMs and restart docker daemon when tests are done.

(cherry picked from commit 8e26c2dfbe)
2019-03-04 07:37:39 -08:00
122e73d062 [2.7] docker_swarm_service: fix problem with UpdateConfig on certain docker daemons (#53224)
* Avoid KeyError when UpdateConfig isn't returned.

* Add changelog.
2019-03-04 07:35:22 -08:00
597db1dc28 [2.7] openssl_certificate, fixed has_expired to check the cert expiration date (#53203)
* Type error in openssl_certificate (#47508)

* Fixed #47505: Type error in openssl_certificate
* Use to_bytes instead of str.encode in SelfSignedCertificate. Updates #47508
* Use to_bytes instead of str.encode in OwnCACertificate
* Added integration tests for openssl_certificate: selfsigned_not_before/after and ownca_not_before/after

(cherry picked from commit 5b1c68579d)

* openssl_certificate, fixed has_expired to check the cert expiration date (#53168)

(cherry picked from commit d5d92e4a70)

* Use fixed timestamp in past instead of relative time (relative times are a feature of devel).

* Add changelog for #47508.
2019-03-04 07:34:14 -08:00
59beb460d8 docs: SAN prefixes are required for openssl_csr (#53144)
The openssl_csr docs use “should” where (at least following IETF nomenclature) “must” would be more accurate.

See #53141 

+label: docsite_pr

(cherry picked from commit 14d4a4fc3b)
2019-03-04 07:30:33 -08:00
bded9a1d65 If the private_ip has been provided for the new network interface it shouldn't also be added to top level parameters for run_instances
changelog

(cherry picked from commit d16ec175fc)
2019-03-04 07:30:12 -08:00
0b453abfa4 [backport 2.7] Fixed lvol ValueError with float size. (#52836)
* Fixed lvol ValueError with float size.

(cherry picked from commit 85bd54dfa7)

* Fixed lvol ValueError with float size.

(cherry picked from commit ecdd835b6c)

* Initialized locale using system default.
Changed size validation from float() to locale.atof().

(cherry picked from commit d187b95929)

* Added changelog fragment.

(cherry picked from commit d1f6b1220c)

* Used C locale instead of relying on system locale.

(cherry picked from commit 90b3d96869)
2019-03-04 07:29:24 -08:00
d44f80cb92 [stable-2.7] Modify the correct variable when setting available hashing algorithms (#52994)
* Revert "use list instead of tuple and remove md5 on ValueError (#51357)" c459f040da.
* Modify the correct variable when determining available hashing algorithms.
(cherry picked from commit 23a6b88dd2)

Co-authored-by: Sam Doran <sdoran@redhat.com>
2019-03-02 12:27:46 -08:00
9c7d36ccb5 get_url: return no change in check mode when checksum matches
Signed-off-by: Tony Finch <dot@dotat.at>
2019-03-01 15:29:46 -08:00
5d4a777d16 Backport/2.7/51853 (#53153)
* Add support for macro contexts that have colons (#51853)

Currently when used with macro contexts that have a colon inside, 
macro_name gets truncated. A common case is contexts that represent a 
Windows drive. Examples:

  - 'C_DRIVE_THRESHOLD: "C:"'
  - 'C_DRIVE_THRESHOLD: "D:"'

This happens because line 189 assumes there are only one colon in 
macro_name, and thus two substrings to join.

To solve this, it is necessary considering that macro_name could have 
more that one colon. After the split, the first element is the proper 
Zabbix macro name. Then, the solution is joining all the remaining 
substrings after that.

This is backwards compatible in the case macro_name have only one colon.

(cherry picked from commit d1d4f4bd27)

* Add support for macro contexts that have colons

Currently when used with macro contexts that have a colon inside,
macro_name gets truncated. A common case is contexts that represent a
Windows drive. Examples:

  - 'C_DRIVE_THRESHOLD: "C:"'
  - 'C_DRIVE_THRESHOLD: "D:"'

This happens because line 189 assumes there are only one colon in
macro_name, and thus two substrings to join.

To solve this, it is necessary considering that macro_name could have
more that one colon. After the split, the first element is the proper
Zabbix macro name. Then, the solution is joining all the remaining
substrings after that.

This is backwards compatible in the case macro_name have only one colon.
2019-03-01 15:26:48 -08:00
9e40404d9a Documentation update for labels operations on swarm/node (#53083)
* Update lib/ansible/modules/cloud/docker/docker_node.py
* Update lib/ansible/modules/cloud/docker/docker_swarm.py

Co-Authored-By: WojciechowskiPiotr <23406016+WojciechowskiPiotr@users.noreply.github.com>
(cherry picked from commit ec4cf26d60)
2019-03-01 15:25:24 -08:00
8b9c96aad5 Diff feature is only available in devel. 2019-03-01 15:25:24 -08:00
25ca40de88 docker_swarm: more integration tests (#53035)
* Add more tests.

* Added tests for CA options.

* Don't run in docker-in-docker situations where docker daemon becoming instable is really dangerous. Also, restart docker daemon after tests.

* Only run CA tests when openssl_certificate can be run (which is not the case for RHEL7, see #34054).

* Add comment on why docker-based CI runs are skipped.

(cherry picked from commit 04bfec9dfe)
2019-03-01 15:25:24 -08:00
05f7fbc93a docker_swarm: fix ca_force_rotate idempotency (#53039)
* Fix ca_force_rotate idempotency.

* Add changelog.

(cherry picked from commit dec97381bc)
2019-03-01 15:25:24 -08:00
c4144398bb Fix force when state==present. (#53003)
(cherry picked from commit 76e0e0080b)
2019-03-01 15:25:24 -08:00
7c500a4002 docker_swarm: extend tests (part I) (#53005)
* Restructure tests.

* Allow tests to work when ansible_default_ipv4.address is undefined.

(cherry picked from commit e017d94766)
2019-03-01 15:25:24 -08:00
2ee64fd507 docker_swarm: fix idempotency (#52976)
* Improve idempotency checking: only consider parameters which are part of the generated spec.

* Properly handle rotate_worker_token and rotate_manager_token.

(cherry picked from commit 42ae6cdb95)
2019-03-01 15:25:24 -08:00
aed59e5695 docker_swarm: make labels work with older docker daemon versions (#52895)
* Make labels work with older docker daemon versions.

* Fix idempotence detection.

* Add changelog.

(cherry picked from commit a1ec307d43)
2019-03-01 15:25:24 -08:00
7a9e7daf44 Improve documentation on remote_addrs. (#52893)
(cherry picked from commit 3c39fe5871)
2019-03-01 15:25:24 -08:00
23d9efc1f3 docker_swarm: hopefully fix debug CI problems, and fix check mode (#52825)
* Let's see some debug output.

* Also check LocalNodeState.

* Improve tests.

* Actually implement check mode.

* Add changelog.

* Add pretty-printing and more output.

(cherry picked from commit 81d58cfef6)
2019-03-01 15:25:24 -08:00
8ae9f99979 Don't run integration tests for OS'es older than Windows 2016 (#53057) 2019-03-01 15:23:22 -08:00
6bd7ef4838 Ensure play order is obeyed (#49897)
* Ensure play order is obeyed

 it was being ignored depending on other options
 also added tests for each order (except shuffle) both serial and not
 fixes #49846


(cherry picked from commit cfba6dfe91)
2019-03-01 15:13:11 -08:00
2aa96cdec5 [Backport 2.7] VMware: Fix KeyError in vmware_host_config_manager 2019-03-01 15:12:57 -08:00
88106ce626 fix no_log indentation so AWS temporary credentials aren't displayed in tests
(cherry picked from commit 6cacbcba66)
2019-03-01 15:11:42 -08:00
2c1381aeb5 Don't die when kernel memory accounting is not supported by runc build. (#53163)
(cherry picked from commit e4c2cbcca2)
2019-03-01 09:35:18 -08:00
f56c3fdc89 add link to AWS module details (#53126)
* add link to AWS module details (in 2.7 docs to stable-2.7 branch)
2019-02-28 13:41:10 -06:00
096b3f8eb9 [Backport 2.7] VMware: Handle customValue in inventory
* VMware: Refactor guest inventory plugin

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit e41b98ffb5)
2019-02-27 08:35:22 -08:00
8de92123f3 [2.7] cloudscale: fix compatibilty with older py3 versions (#52822) (#52915)
* cloudscale: fix compatibilty with older py3 versions (#52822)

* cloudscale: fix compatibilty with older py3 versions

* add doc fragment

(cherry picked from commit ee416fd01d)

* cloudscale: improve error handling (#53054)


(cherry picked from commit ca91ac2ca0)
2019-02-27 08:23:50 -08:00
a79523acff Loader invalid plugin nicer error (#52754)
* stop processing invalid plugins

(cherry picked from commit 514b974182)
2019-02-26 10:42:04 -08:00
6c131061a0 ACI: Fix examples in documentation 2019-02-26 10:19:14 -08:00
441e4ff99f win_certificate_store - Fix exception handling typo (#52906)
(cherry picked from commit 1126f76d4d)
2019-02-26 10:15:40 -08:00
788ba0b911 OpenSUSE - Add OpenSUSE 15 test containers (#52793)
* OpenSUSE - Add OpenSUSE 15 test containers ci_complete

* Reset matrix back to normal

* Set container version instead of latest

* Remove old Docker completion file

(cherry picked from commit 3635c59b23)
2019-02-26 10:15:18 -08:00
6ac135e8b3 [Backport 2.7] Add missing ConnectionError imports
Small fix

(cherry picked from commit 51c5e60e49)
2019-02-26 10:13:49 -08:00
affba46115 Fix idempotence in rabbitmq_plugin (#52166)
* Fix idempotence in rabbitmq_plugin

* Add changelog fragment

(cherry picked from commit 540b07b884)
2019-02-26 10:07:00 -08:00
8fba0ab199 Backport into 2.7
Katello: Added product to the dict choices (#49776)

* Added product to the dict choices.

Following issue 48594 where product is not a recognised choice: https://github.com/ansible/ansible/issues/48594

* fixed doc

added - product to the doc

* split line 549

to correct ci test splitting line 549

* Create 49776-product_fix_katello_foreman_module.yaml

changelog fragment creation

(cherry picked from commit d3fcdae4ad)
2019-02-22 11:04:29 -08:00
6cef018b71 rhsm_repository: Properly handle no repos (#51938)
When no repos are defined, the `repo` variable is undefined. Therefore
append it only to the result if a repo was found. Otherwise Ansible will
fail with an UnboundLocalError.

(cherry picked from commit 0469134f16)
2019-02-22 10:45:17 -08:00
2d4096daf0 Fix trackback on providing arguemnt --all to ansible-doc command (#52034)
* Remove redundant argument from the function caller
* Add unit test
* Add changelog
2019-02-22 10:44:19 -08:00
e7cf6b7513 Filter DNSimple request by record name. (#49981)
* Filter DNSimple request by record name.

The request was not filtered and DNSimple returns only the first 100
records so if the number of records is larger the check could fail.

This patch fixes the issue and also makes the check to perform better.

* Add changelog fragment.

(cherry picked from commit e0274adafe)
2019-02-22 10:43:12 -08:00
bcd1289ff2 Suse add py3 package vars (#52794)
(cherry picked from commit 80652ad054)
2019-02-22 10:42:34 -08:00
cc45ba277c test - add setup target that creates the nobody user (#52750)
* test - add setup target that creates the nobody user

* do not set explicit gid/uid for nobody user

* Do no create group and only touch basic attributes

(cherry picked from commit 17bfc60423)
2019-02-22 10:42:11 -08:00
b8e8e2baa0 Fixing state=present for jenkins_plugin module (#52051) (#52535)
* Fixing state=present for jenkins_plugin module (#52051)


(cherry picked from commit 5f4840aaa8)

* Adding changelog fragment for PR #52051 (#52687)


(cherry picked from commit ee14b123f3)
2019-02-21 19:27:10 -08:00
573a1106cd Updating update_url for jenkins_plugin (#52086) (#52536)
* Updating update_url for jenkins_plugin (#52086)


(cherry picked from commit f49469f7bf)

* Adding changelog fragment for PR #52086 (#52689)


(cherry picked from commit 280e8911ce)
2019-02-21 19:26:39 -08:00
ac4447f2c4 Plugin errors backport (#52749)
* Fix missing tracebacks in ansible-inventory

(cherry picked from commit b62693299b)

* remove usless tb initiator

  always pass proper tb
2019-02-21 19:26:10 -08:00
eb1f8e60e0 test - add Python 3 package for OpenSUSE in setup_openssl (#52775)
(cherry picked from commit 63c22f6eb0)
2019-02-21 17:06:48 -08:00
f1566f07db fix filesystem tests on OpenSUSE 15+ (#52716)
(cherry picked from commit 5e3e0eb946)
2019-02-21 17:06:01 -08:00
f80e9070a5 Backport/2.7/52540 (#52545)
* fixed deallocated vm facts problem (#52540)

(cherry picked from commit d6600b0ab6)

* added changelog
2019-02-21 17:03:59 -08:00
ec8c1cb34a fix bug #47154 (#49881)
(cherry picked from commit 61743ab39a)

backport bugfix for urpmi module

add changelog
2019-02-21 17:03:14 -08:00
24318d51e5 [2.7]: dnsimple: fix KeyError: 'record_type' (#52646)
* v2 dnsimple api uses type vs record_type (#39301)

* v2 dnsimple api uses type vs record_type

https://developer.dnsimple.com/v2/zones/records/#listZoneRecords

* replace prio with priority

(cherry picked from commit bb6a82d2a9)

* add changelog
2019-02-21 17:02:18 -08:00
a998c267c2 win_chocolatey - fix beta version parsing (#52601)
(cherry picked from commit 1ec376abca)
2019-02-21 17:01:28 -08:00
773b20886c test suse: get tests working on newer OpenSUSE distributions (#52539)
(cherry picked from commit c312287731)
2019-02-21 16:43:25 -08:00
bf7597efe1 backport/2.7/40092 (#51909)
* mysql_user: Match quotes, double quotes and backticks when checking current privileges

(cherry picked from commit 1ae0e21383)

* Add changelog fragment for PR #40092

(cherry picked from commit 8974ce3c78)

* mysql_user: fix malformed regex used to check current privileges
2019-02-21 16:41:26 -08:00
fd881d9407 Update Ansible release version to v2.7.8.post0. 2019-02-21 12:48:25 -08:00
cf6c765871 New release v2.7.8 2019-02-21 09:17:52 -08:00
cb844ae32b Backport/2.7/45269 (#52466)
* Fixing issues with azure_rm_virtualmachine crashing (#45269)

* vm fixes

(cherry picked from commit f04139bfa3)

* added changelog
2019-02-18 13:50:55 -08:00
a17d9f1cc6 git: kill gpg-agent in tests on newer OpenSUSE hosts (#52476)
(cherry picked from commit bb0a69e084)
2019-02-18 10:06:09 -08:00
211fe600a4 fixing force_update in azure_rm_mysqldatabase (#52389)
(cherry picked from commit fa73abcf5d)
2019-02-18 09:57:12 -08:00
474d76c0dd Fixing azure_rm_postgresqldatabase force_update parameter (#52388)
(cherry picked from commit 8422e23533)
2019-02-18 09:47:01 -08:00
40055b4507 Fixing managed disk facts (#51781)
(cherry picked from commit 0c8c72a0bf)
2019-02-18 09:24:26 -08:00
0e4f07b5ae resolved conflict 2019-02-18 08:48:29 -08:00
0fed03fa85 merge conflict 2019-02-18 08:48:08 -08:00
f85cd0b0c2 Backport/2.7/49704 (#52467)
* backport image crash fix

* adding changelog fragment
2019-02-18 08:47:35 -08:00
2800f23274 alternatives - fix OpenSUSE dir on newer distros (#52458)
(cherry picked from commit 3ecd6e19f7)
2019-02-18 08:46:05 -08:00
f8e29c81f1 zypper_repository: fix return check on newer OpenSUSE versions (#52457)
(cherry picked from commit d6453a79f5)
2019-02-18 08:45:14 -08:00
7ab05d551f zypper: fix tests to use new URL for OpenSUSE 15.0 (#52453)
(cherry picked from commit 4b296da6a2)
2019-02-18 08:44:40 -08:00
3929cfea85 merged change 2019-02-18 08:44:16 -08:00
e531356d07 Backport/2.7/50120 (#52444)
* fixed crash in facts (#50120)

(cherry picked from commit 756ad176cc)

* added changelog
2019-02-18 08:43:42 -08:00
bbf2d6b637 opensuse - install password-store from specific repo (#52439)
(cherry picked from commit 4a94bd8d9d)
2019-02-18 08:42:59 -08:00
b159fc38ce Send openstack inventory logs to stderr (#51827) 2019-02-18 08:42:11 -08:00
7fb1549152 Native Jinja2: raise undefined error immediately (#52237)
Fixes #52158

(cherry picked from commit 50d7483632)
2019-02-18 08:31:26 -08:00
dc3b7aebd6 Backport/2.7/51548 - Properly handle unauthenticated yum proxy config (#52245)
* Properly handle unauthenticated yum proxy config (#51915)

Fixes #51548

Signed-off-by: Adam Miller <admiller@redhat.com>
(cherry picked from commit 2721ed260e)

* Fix: Yum module does not use proxy when username is not set #51548 (#51994)

* add test of yum with proxy

* Properly handle unauthenticated yum proxy config

Fixes #51548

* shell executable is bash

(cherry picked from commit c2a409a9e0)
2019-02-14 12:45:31 -08:00
b97caade8a Backport: Raise AnsibleConnectionError on winrm connnection errors (#52227)
* Raise AnsibleConnectionError on winrm con errors

Currently all uncaught exceptions of the requests library that is used
in winrm will lead to an "Unexpected failure during module execution".

Instead of letting all exceptions bubble up we catch the connection
related errors (inkl. timeouts) and re-raise them as
AnsibleConnectionError so Ansible will mark the host as unreachable and
exit with the correct return code.

This is especially important for Zuul (https://zuul-ci.org) to
distinguish between failures and connection/host related errors.

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

Co-Authored-By: westphahl <westphahl@gmail.com>

* Add changelog fragment
2019-02-14 12:43:24 -08:00
805c9fa712 Update command/shell docs with note about modules for rebooting(#51499)
(cherry picked from commit ad386290b4)
2019-02-14 12:42:22 -08:00
b7b4182bbd Install the NuGet package provider if needed (#52129)
* Install the NuGet package provider if needed

* Add the changelog fragment file
2019-02-14 12:41:16 -08:00
396a2f7471 [stable-2.7] Disallow use of remote home directories containing .. in their path (CVE-2019-3828) (#52133) (#52173)
* Disallow use of remote home directories containing .. in their path

* Add CVE to changelog
(cherry picked from commit b34d141)

Co-authored-by: Matt Martz <matt@sivel.net>
2019-02-13 09:23:06 -08:00
7918323832 Backport/2.7/51764 (#52126)
* Update GetBiosBootOrder to use standard spec resources (#51764)

* update GetBiosBootOrder to use standard spec resources

* handle case where BootOrder is present but BootOptions is missing

(cherry picked from commit e0538610bf)

* add changelog fragment and fix merge issue
2019-02-13 08:23:13 -08:00
6438ab2c46 ufw: check values for direction depending on situation (#50402)
* Check values of 'direction'.

* Add changelog.

* Update lib/ansible/modules/system/ufw.py

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

* Update lib/ansible/modules/system/ufw.py

(cherry picked from commit 4d3d8dd60f)
2019-02-13 08:12:07 -08:00
821f43eb9a refines vmware sample scenario page (#47320) (#52134)
(cherry picked from commit cd7232eeb7)
2019-02-12 17:34:09 -06:00
03100cb647 Add Windows Server 2019 to Shippable matrix (#51685)
* Test out Server 2019 - ci_complete

* run tests and continue on error - ci_complete

* Add the full matrix back in

(cherry picked from commit 0334c20630)
2019-02-12 10:29:28 -08:00
cc5088c9e1 win become - fix token elevation issues
This is an implementation of 8bffcf8e50
that was done in the PR https://github.com/ansible/ansible/pull/48082 to devel.
The changes have been manually brought across to the the stable-2.7 branch as it
cannot be cleanly cherry picked due to the substantial differences in become
between these versions.

Currently we impersonate the `SYSTEM` token in order to elevate our become
process with the highest privileges it has available but there are some edge
cases where the first `SYSTEM` token we come across doesn't have the
`SeTcbPrivilege` which is required for the above. This PR adds a further check
in the search for a `SYSTEM` token to make sure it has the `SeTcbPrivilege`
before continuing.
2019-02-11 18:21:23 -08:00
7f33c7def5 Backport/2.7/51028 (#52048)
* get standard properties for each firmware entry (#51028)


(cherry picked from commit 63f7536594)

* add changelog fragment
2019-02-11 15:06:12 -08:00
c3271befda Prevent bug in 'ufw --dry-run reset' to delete firewall rules. 2019-02-11 12:24:43 -08:00
0093b69935 openssl_csr: ignore empty strings in altnames (#51473)
* Ignore empty strings in altnames.

* Add changelog.

* Add idempotence check without SAN.

* Fix bug in cryptography backend.

(cherry picked from commit 9b1cbcf3a4)
2019-02-11 12:10:22 -08:00
e7e47ca1fc [Backport 2.7] spot instance request stay opened when module exit with timeout
Fixes: #51534

* set valid_until equal to current time + spot_wait_timeout
* add setting ValidUntil to  value
* add changelog fragment
* fix shebang issue

(cherry picked from commit d40f0313e2)
2019-02-11 11:49:18 -08:00
ec6a30b9ca meraki_admin - Add documentation about absent priority (#51766)
* Add documentation about absent priority

* Remove 7 at the end of file

(cherry picked from commit f9f7b29a5a)
2019-02-11 11:46:35 -08:00
df359e036c [stable-2.7] ios retry config if section filter fails (#49485) (#51871)
* [stable-2.7] ios retry config if section filter fails (#49485)

* Attempt to work around devices that don't understand | section

* Fix case of no flags
(cherry picked from commit 6caed0c)

Co-authored-by: Nathaniel Case <this.is@nathanielca.se>

* Add changelog
2019-02-11 11:22:07 -08:00
aa73f8ea3c Backport/2.7/46478 - haproxy - fixes naming collision (#51822)
* fix drain mode 'bool' (#30833) (#46478)


(cherry picked from commit 4376417743)

* Create 46478-haproxy-fix-drain-mode.yaml
2019-02-11 11:20:02 -08:00
1492f46d78 yum: disableexcludes is supported on centos6 (#51698)
(cherry picked from commit 33b07f322c)
2019-02-11 11:18:29 -08:00
a200cfb07f acme_challenge_cert_helper: fix bad module.fail_json() call (#51795)
* Fix bad module.fail_json() call.

* Add changelog.

(cherry picked from commit c9b08db979)
2019-02-11 11:17:04 -08:00
718e011168 psrp - do not display bootstrap wrapper for eachach task (#51779)
(cherry picked from commit 146a89b612)
2019-02-11 11:16:17 -08:00
0708c80c40 fix string_format sanity check (#51780)
* newer version of Pylint moved the impl; use conditional import to find for new/old

(cherry picked from commit 6654c7aeea)
2019-02-11 11:15:22 -08:00
90203d0a11 Correct integration tests for the win_disk_facts module (#51044)
* Correct integration tests for the win_disk_facts module

* Exclude W2K8, W2K8-R2 from tests run under CI
2019-02-11 11:14:54 -08:00
fe79534415 Backport aws ec2 missing region discovery (#51626)
* aws_ec2 Implement the missing 'region discovery' (#51333)

* aws_ec2 Implement the missing 'region discovery'

  fixes #45288

  tries to use api as documented (which seems to fail in latest boto3 versions)
  and fallback to boto3 'hardcoded' list of regions

* fixes and cleanup, add error for worst case scenario

* fix tests, remove more unused code

* add load_name

* acually load the plugin

* set plugin as required

* reverted test changes, removed options tests

* fixes as per feedback and cleanup

* Allow default regions list to use flexible credential types
2019-02-11 11:13:48 -08:00
bedfa3f3ff Update Ansible release version to v2.7.7.post0. 2019-02-07 17:16:24 -08:00
11a2bafa21 New release v2.7.7 2019-02-07 14:08:13 -08:00
ad71a9a7ed Get docker tests working on OpenSUSE (#51896)
(cherry picked from commit c92fcf0b57)
2019-02-07 13:54:22 -08:00
ac3a3ce599 [stable-2.7] fix azure_rm_deployment test
* recent changes to args for hosted template file broke the test; changed test to use a specific known-working commit instead of `master`.
* long-term may want to consider hosting the template in httptester or just embedding a local copy
(cherry picked from commit 46bf387)

Co-authored-by: Matt Davis <mrd@redhat.com>
2019-02-07 13:15:22 -08:00
7589d496fc remove default from delegate_facts to inherit (#45492) (#51553)
* remove default from delegate_facts to inherit (#45492)

* remove default from delegate_facts to inherit

fixes #45456

* test delegate_facts

* added note about inheritance and defaults

* yamllint

(cherry picked from commit 8743e6ae2e)

* added changelog
2019-02-04 14:16:32 -08:00
bdf7f42b7c test win_setup - make py3 compatible (#51693)
(cherry picked from commit f78cdcd2c5)
2019-02-04 12:57:27 -08:00
aedad64c8f win_service - use custom binary for tests (#51689)
(cherry picked from commit 2e99dea867)
2019-02-04 12:57:06 -08:00
06505fc521 add pause to make test more stable (#51680)
(cherry picked from commit ebc9e4caf7)
2019-02-04 12:54:08 -08:00
d56d7997c4 Add response documentation (#51647)
(cherry picked from commit 4493ba86ec)
2019-02-04 12:52:56 -08:00
d064534df6 Added description to single net interface (#51602)
* Added description to single net interface

* ec2_instance single iface description changelog

(cherry picked from commit b8790abcbe)
2019-02-04 12:45:09 -08:00
483aa64216 Fixes issue where uppercase named A_Record delete was getting skipped (#51592)
* Fixes issue where uppercase named A_Record delete was getting skipped (#51539)

* fixes 51193

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* fixes 51193

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* fixes 51193

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
(cherry picked from commit 15cef845ca)

* shippable fix

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
2019-02-04 12:44:30 -08:00
22c4745b96 Add coherency between check and normal mode for copy plugin action see issue #24633 (#51582)
* Add coherency between check and normal mode see issue #24633

* Add changelog fragment for the PR

* Make change following PR comment

* Remove trailing whitespace

(cherry picked from commit 240d1a6afb)
2019-02-04 12:43:38 -08:00
6ce98295c1 fix for proper variable name 2019-02-04 12:35:53 -08:00
9168e6844a win_power_plan: fix for Windows 10 and Server 2008 compatibility (#51471)
(cherry picked from commit f27078df52)
2019-02-04 12:35:53 -08:00
ce033c6762 [k8s] Always check envvars when auth parameter is not provided (#51495)
* Always check envvars when auth parameter is not provided

This will make it so that all code using the get_api_client
method will make use of the environment variables, instead of
silently ignoring them if default values haven't been set. This
affects at least the k8s lookup plugin.

* Add changelog

(cherry picked from commit 0be66113d4)
2019-02-04 12:35:30 -08:00
3bf030ddcc Handle complex quoting in extra args in pull cli (#50212)
* added proper testing

fixes #40729

(cherry picked from commit b6824669df)
(cherry picked from commit e010034151)
2019-02-04 12:27:00 -08:00
aa37d4bdd7 Correct spelling in meraki_ssid documentation (#51563) (#51584)
Fix spelling error for address, which was addres.

+label: docsite_pr

(cherry picked from commit c8484e19ca)
2019-02-01 17:30:34 -06:00
af977daec7 Adjusting to differences between Ansible 2.7 and Ansible 2.8.
(cherry picked from commit 6cdb357826ffb1446e4ceb1050349fe30f511b41)
2019-01-31 08:42:29 -08:00
03bc4be1c3 Add integration tests for docker_image options (#48574)
* Add integration tests for docker_image options

Tests for options in docker_image module

Signed-off-by: Akshay Gaikwad <akgaikwad001@gmail.com>

* Add force option tests

Signed-off-by: Akshay Gaikwad <akgaikwad001@gmail.com>

* Add repository option tests

Signed-off-by: Akshay Gaikwad <akgaikwad001@gmail.com>

* Modify test for option force

Signed-off-by: Akshay Gaikwad <akgaikwad001@gmail.com>
(cherry picked from commit 0493ef359a)
2019-01-31 08:42:29 -08:00
7b0c342dce [2.7] docker_container: userns_mode description updated to mention valid value (#51470)
* description updated to mention valid value

The only valid value for userns_mode on docker run command is "host". This should be mentioned in description because it is hard to find in docker documentation as well: https://github.com/docker/docker.github.io/issues/7071

(cherry picked from commit d9135f3960)

* Update lib/ansible/modules/cloud/docker/docker_container.py

Co-Authored-By: TimoKramer <4785848+TimoKramer@users.noreply.github.com>
(cherry picked from commit 27dc399885)
2019-01-31 08:41:51 -08:00
1d3f29d4be ansible-test: make the httptester for Windows more resiliant around the shell chosen (#51416)
(cherry picked from commit ce8db479f0)
2019-01-29 17:53:32 -08:00
67606bfa66 aci_aaa_user: Fix an issue with clear_password_history 2019-01-29 17:31:32 -08:00
30824c92e6 [stable-2.7] Toshio is now release manager for 2.8 and future 2.6 (#51452).
(cherry picked from commit b0ac7d9652)

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2019-01-29 17:29:12 -08:00
97a3e4acc0 Allow check_mode with supports_generate_diff capability in cli_config (#51384)
* If network cliconf support `supports_generate_diff` in
  that case diff between running and cnadidate config
  is generated within Ansible and if check_mode is enabled
  in that case return only diff without actually invoking
  edit_config()

(cherry picked from commit 8f5cd049d6)
2019-01-29 11:09:04 -08:00
0d5f083a52 aci_aaa_user: Fix changing user description
This fixes a reported problem with the aci_aaa_user module.
2019-01-29 11:06:18 -08:00
c372d95c69 add network roles info (#49501) (#51400)
* add network roles info
* add role update instructions
* implemented feedback

Co-Authored-By: samccann <samccann@redhat.com>
(cherry picked from commit 47d22bbcd8)
2019-01-28 15:10:58 -06:00
34113f6cc5 Docs: Fix highlight line (#50756)
(cherry picked from commit 646c34dcde)
2019-01-28 10:13:05 -08:00
6c61fabdd1 Sort suboptions and subresults in docs. (#50315)
Fixes #50041.

(cherry picked from commit 4c473ecef4)
2019-01-28 10:13:05 -08:00
50d06d9889 Docs: Show parameter types (in purple) (#49966)
* Docs: Show parameter types (in purple)

* Changes based on feedback

* Remove leftover statement after review

* Simplify TOC and support section

* Add missing 'v' to version_added

* Remove the v for version

* Update docs/templates/plugin.rst.j2

Co-Authored-By: dagwieers <dag@wieers.com>

* Update docs/templates/plugin.rst.j2

Co-Authored-By: dagwieers <dag@wieers.com>

* Move Author into Support section

* Avoid more "isn't included in any toctree" errors

* Add Red Hat support section, list module status

(cherry picked from commit 76450fd1c2)
2019-01-28 10:13:05 -08:00
a22f46bacf Docs: Add a "seealso" section to the module docs (#45949)
* Docs: Add a separate  "seealso" section to the module docs
to list related modules and/or related references. This clears up the notes
section for things that are actual notes.

So you can add a section in your module documentation and four types of
references are possible.

    seealso:

    # Reference by module name
    - module: aci_tenant

    # Reference by module name, including description
    - module: aci_tenant
      description: ACI module to create tenants on a Cisco ACI fabric.

    # Reference by rST documentation anchor
    - ref: aci_guide
      description: Detailed information on how to manage your ACI infrastructure using Ansible.

    # Reference by Internet resource
    - name: APIC Management Information Model reference
      description: Complete reference of the APIC object model.
      link: https://developer.cisco.com/docs/apic-mim-ref/

This PR also includes:

- Implements ansible-doc support
- Implements schema support for the seealso options
- Updates to the development documentation
- Rename filter convert_symbols_to_format to rst_ify, cfr the existing html_ify and tty_ify filters
  - This makes the existing template a lot easier to read and fixes the confusion I had myself rereading the template (again).
- We fixed the possible suboption types (which was limited to 'bool' only)

* Use latest stable instead of devel docs

(cherry picked from commit baf0ad2309)
2019-01-28 10:13:05 -08:00
14bb798052 added build artifact to .gitignore (#47518)
(cherry picked from commit e1c2dd383a)
2019-01-28 10:13:05 -08:00
51cd9c991b [2.7] docker_swarm_service: Fix endpoint mode idempotency (#51370)
* docker_swarm_service: Fix endpoint mode idempotency (#51232)

* Fix endpoint mode idempotency

* Remove newline

(cherry picked from commit ee39853426)

* Add changelog.
2019-01-28 10:10:50 -08:00
f759b5463b Backport #47219 fixes Python 3.7 bugs
* Resolve invalid-unary-operand-type.

* Resolve stop-iteration-return.

(cherry-picked from c24c19594e)
2019-01-25 09:03:36 -08:00
7d52c07df2 ansible-test: add Ubuntu 18.04 container (#50790)
* ansible-test: Add Ubuntu 18.04 to Shippable CI nodes

* re-add ubuntu1604/3 to matrix

* forgot to add environment for git kill gpg-agent

(cherry picked from commit 828df4b336)
2019-01-24 12:00:16 -08:00
44d7c1e23e [stable-2.7] Catch sshpass authentication errors and don't retry multiple times to prevent account lockout (#50776)
* Catch SSH authentication errors and don't retry multiple times to prevent account lock out

Signed-off-by: Sam Doran <sdoran@redhat.com>

* Subclass AnsibleAuthenticationFailure from AnsibleConnectionFailure

Use comparison rather than range() because it's much more efficient.

Signed-off-by: Sam Doran <sdoran@redhat.com>

* Add tests

Signed-off-by: Sam Doran <sdoran@redhat.com>

* Make paramiko_ssh connection plugin behave the same way

Signed-off-by: Sam Doran <sdoran@redhat.com>

* Add changelog

Signed-off-by: Sam Doran <sdoran@redhat.com>.
(cherry picked from commit 9d4c0dc111)

Co-authored-by: Sam Doran <sdoran@redhat.com>
Signed-off-by: Sam Doran <sdoran@redhat.com>
2019-01-24 10:38:08 -08:00
f67081e97b Clarify gather_facts and highlight important lines
Clarify gather_facts and highlight important lines

+label: docsite_pr
2019-01-24 10:37:00 -08:00
bb28719541 fix ansible_connect_timeout variable in connection plugins and nxos_install_os timeout check (#51209)
* fix ansible_connect_timeout variable in connection plugins and nxos_install_os timeout check (#50965)

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit a1ea7e430a)

* changelog

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2019-01-24 10:23:01 -08:00
44474bf424 file - allow touch on files not owned by user (#50964)
* file - allow touch on files not owned by user

* use Sentinal value and preserved existing args

* Do no instantiate the Sentinel object

(cherry picked from commit 419727a6da)
2019-01-24 10:22:11 -08:00
e828d54675 Redo #50208 on a per-plugin basis 2019-01-24 10:21:43 -08:00
22448ce99e [stable-2.7] Disable failing azure_rm_postgresqlserver test..
(cherry picked from commit 37767849ee)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-01-22 22:34:56 -08:00
e44468738f win_chocolatey: Fix hang on missing/required base env vars (#51154)
* win_chocolatey: Fix crash on missing/required base env vars

* Add changelog fragment

(cherry picked from commit 5540d66747)
2019-01-21 18:34:04 -08:00
b2fbd7fd35 [backport/2.7] Update vmware.py minor typo
"supported added" changed to "support added"

(cherry picked from commit 0d97629e4d)
2019-01-21 08:33:32 -08:00
8f2e6abbcf check for chroot in systemd module (#43904)
* check for result['status'] in systemd module

* instead of checking for result['state'], actually check for chroot and warn

* allow systemctl status to work if in a chroot, update warn text

* simply change warning message


(cherry picked from commit 37960ccc87)
2019-01-21 08:32:51 -08:00
278aa94f1f [stable-2.7] Fix subversion integration test on Fedora 29. (#51089)
* Fix subversion integration test on Fedora 29.

This upgrades the sqlite-libs and subversion packages to make sure
that the version of sqlite expected by subversion is installed.

* Fix compatibility with RHEL and CentOS.
(cherry picked from commit d4dbc7f2e0)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-01-18 16:24:32 -08:00
970669b70e reboot - Fix connection timeout reset (#51000)
* only reset if we could retrieve the conn timeout

(cherry picked from commit 9fa46e7f94)
2019-01-18 13:27:41 -08:00
4a89749dd5 Prevent duplicate role insertion into roles: (#50552)
* Corner case in which import_role would add another instance of a role with the same signature into roles: when it already existed there.

  roles:
	- name: a
  tasks:
       - import_role: name=a

  would execute role 'a' 3 times instead of the intended 2 (x2 in roles: phase +1 in tasks:)

* added tests

(cherry picked from commit eca7c3c8c7)
2019-01-18 12:58:43 -08:00
41214d4426 Merge pull request #50160 from Rylon/backport/2.7/47213
Fix an issue retrieving some types of 1Password items. (#47213)
2019-01-18 12:49:51 -08:00
016bc83b58 ensure we have required systemd env var (#50607)
* ensure we have required systemd env var
* add clarification about systemd and user scope

  fixes #50272


(cherry picked from commit a7e81ba500)
2019-01-18 12:48:18 -08:00
9c19df3fd2 fix new inventory azure_rm.py (#50006)
* fix new inventory

* fix lint

* resolve comments

* resolve comments

* add defensive code

* fix response not match handler

* remove useless import

* fix lint

* add changelog

(cherry picked from commit 0f846f39ca)
2019-01-18 12:44:17 -08:00
8fcdb0a73c ansible-test git: kill gpg-agent to remove locks (#50917)
* ansible-test git: kill gpg-agent to remove locks

* skip gpg-agent kill for OpenSUSE

(cherry picked from commit 3db6b9b416)
2019-01-18 12:42:48 -08:00
f2d4187761 archive: Fix check if archive is created in path to be removed (#29420) (#49444)
* archive: Fix check if archive is created in path to be removed (#29420)

(cherry picked from commit 3a45de4209)

* add changelog
2019-01-18 12:41:23 -08:00
80b5b33e2b setup_rabbitmq - fix erlang pinned dependencies (#51048)
(cherry picked from commit 18c35b69fb)
2019-01-17 16:57:47 -08:00
74050cf69f Update Ansible release version to v2.7.6.post0. 2019-01-17 11:17:09 -08:00
1594ccf533 New release v2.7.6 2019-01-17 09:16:01 -08:00
49f0ab85d6 ansible-test: fix cloud_init_data_facts for Ubuntu 18.04 (#50916)
(cherry picked from commit 03669cdcdd)
2019-01-14 22:28:20 -08:00
e70aa001bf ansible-test: fix dpkg_selections on Ubuntu 18.04 (#50915)
(cherry picked from commit a54eb58156)
2019-01-14 22:28:20 -08:00
bca3066a27 ansible-test: add postgresql var file for Ubuntu 18.04 (#50914)
(cherry picked from commit 8c5b2048de)
2019-01-14 22:28:20 -08:00
19597c559a ansible-test: rename setup_mysql_db Ubuntu name to work with 18.04 (#50907)
(cherry picked from commit 518699988f)
2019-01-14 22:28:20 -08:00
4ca81631b6 ansible-test: apt cleanup and futher 18.04 fixes (#50906)
(cherry picked from commit bbad033a5e)
2019-01-14 22:28:20 -08:00
18a3916a76 ansible-test setup_dep_repo trust package repo (#50795)
(cherry picked from commit 2fcc3593cc)
2019-01-14 22:28:20 -08:00
7130ffddf6 test subversion - support Ubuntu 18.04 (#50791)
(cherry picked from commit 91522bd9c4)
2019-01-14 22:28:20 -08:00
8cc23c0802 [2.7] [docker_container] Failing on non-string env values (#50899)
* [docker_container] Failing on non-string env values (#49843)

* [docker_container] Failing on non-string env values

Fixes #49802

* Clarify failure message

Co-Authored-By: DBendit <David@ibendit.com>

* Fixup from review

(cherry picked from commit d62d7176b0)

* Turn fail into warning for 2.7 backport.

* Fix test for backport

The behaviour in the backport is to warn rather than error
2019-01-14 20:02:24 -08:00
2730e43e7b docker_swarm_service: Documentation fixes (#50861)
* Describe labels and container_labels correctly

* Clarify reserve_memory and limit_memory docs

* Remove default from container_labels doc

* Remove trailing whitespace

* Document min api version for configs and secrets

* Add changelog fragment

* Specify type on labels and container_labels

* Consolidate required API version descriptions

* Update reserve and limit memory docs

* Use correct power-of-two units

* Remove description about limit_memory minimum 4mb

(cherry picked from commit 644057e9ec)
2019-01-14 12:44:29 -08:00
361f34b4fe redfish_utils: fix reference to local variable 'systems_service' (#50298)
* fixes issue 50296

* fixes the indentation of the return statement

* Adds a conditional test into `_find_systems_resource()` to check the existence
of the Members of System resource

* updates the error message

* harden the conditional test

* Add a changelog

(cherry picked from commit 94a1d86d70)
2019-01-14 12:43:49 -08:00
40cec0e4f4 docker_swarm_service: Don’t add difference when update_order is None (#50655)
* Don’t add difference when update_order is None

* Add changelog fragment

(cherry picked from commit cde292cc43)
2019-01-14 12:38:31 -08:00
776dadc5a3 docker_swarm_service: use exact name match when finding services (#50665)
* docker_swarm_service: use exact name match when finding services

The Docker API's filtering support allows filtering for substring
matches which means that when we filter the list of running services we
may accidentally match a service called "foobar" when looking for a
service named "foo".

Fix this by filtering the list of services returned from the Docker API
so that name matches are exact. It is still worth passing the filter
parameter to the Docker API because it reduces the number of results
passed back which may be important for remote Docker connections.

Closes 50654.

* add changelog fragment for #50654

(cherry picked from commit fd32760d7a)
2019-01-14 12:38:05 -08:00
11c1580b23 [2.7] icinga2_host: fix use_proxy option (#50865)
* fix use_proxy option in icinga2_host (#47671)


(cherry picked from commit e7b91f331b)

* Move changelog fragment to changelogs/fragments/.
2019-01-14 12:37:23 -08:00
12ee5c9f6e [Backport #46774] fix ec2_instance check mode 2019-01-14 12:36:54 -08:00
c532169697 docker_volume: revert #47390 (#50663)
* Revert "Fix option change detection / force support for docker_volume. (#47390)"

This reverts commit 8ef994fbc5.

* Update changelog.

* Adjusting tests.

(cherry picked from commit 0e7a9a2771)
2019-01-14 12:36:00 -08:00
f201aa8948 [Backport 2.7] VMware: Fix vmware_vm_inventory
* Added documentation around using vmware dynamic inventory plugin
* Fixed bug for populating host_ip in hostvars for given inventory host
* VMware: Add properties in vmware_vm_inventory

Fixes: #50249

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit af914695e6)
2019-01-14 12:35:21 -08:00
d20040296b added missing docs for option in acl module (#50775)
* added missing docs for option in acl module
* remove acl from ignore

(cherry picked from commit 91d8383898)
2019-01-14 12:34:39 -08:00
41c98d208b Move errors from import to connect (#50034) (#50036)
* Move errors from import to connect (#50034)

(cherry picked from commit bf4ad56479)

* Add changelog fragment.
2019-01-14 12:32:16 -08:00
ffd1590a63 [stable-2.7] Cleanup integration test inventory. (#50753)
* Move var_blending test inventory into test.
* Remove Amazon specific inventory entry for tests.
* Remove Azure specific inventory entry for tests.
* Move var_precedence test inventory into test.
* Move unicode test inventory into test.
* Remove unused inventory entry.
* Move gathering_facts test inventory into test.
* Move delegate_to test inventory into test.
* Clean up inventory for binary_modules test.
* Clean up integration test inventory..
(cherry picked from commit e5094e8071)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-01-11 19:46:38 -08:00
63bb122e37 [stable-2.7] Add unstable alias to s3_bucket integration tests (#50508)
(cherry picked from commit d21ed42f4b)

Co-authored-by: Sloane Hertel <shertel@redhat.com>
2019-01-11 16:59:02 -08:00
c4e0d4d7a5 [stable-2.7] Move unrelated connection test to separate target.
(cherry picked from commit d59bc9ae48)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-01-11 15:49:49 -08:00
396edb96c1 [stable-2.7] Fix dpkg_selections integration test.
Download package from S3 since the previous location no longer exists.
(cherry picked from commit fd56788a14)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-01-11 10:27:30 -08:00
79a281737b [2.7] Log netconf connection a la paramiko (#50169)
(adapted for 2.7 from commit 806b90f)

Co-authored-by: Nathaniel Case <this.is@nathanielca.se>
2019-01-10 08:38:49 -08:00
20eaebd9b2 [2.7] openssl_pkcs12: fix ca_certificates path expansion (#50697)
* Expand user and variables in ca_certificates paths.

This is a fix specific for stable-2.7. In devel (and stable-2.8),
this problem is fixed by #48473. That PR adds argument spec
validation for list elements.

* Add changelog.
2019-01-10 08:37:17 -08:00
66720f470a [stable-2.7] Add AIX support to reboot module (#50353)
* Add ability for reboot module to work for AIX

* changelog for AIX reboot support.
(cherry picked from commit 1dac10e5c3)

Co-authored-by: trogdor_the_burninator <gforster@users.noreply.github.com>
Signed-off-by: Sam Doran <sdoran@redhat.com>
2019-01-10 08:35:57 -08:00
bb94698556 [stable-2.7] Disable retry files for integration tests.
(cherry picked from commit 39824f50b1)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-01-09 23:43:53 -08:00
97d07a1504 [stable-2.7] Improve performance of no-tests-as-filters test.
(cherry picked from commit 7995f69a44)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-01-09 23:27:03 -08:00
100e4639aa [stable-2.7] Minor cleanup of code-smell tests. (#45658)
* Minor cleanup of code-smell tests.
* Add exception handling for YAML load..
(cherry picked from commit e7426e3795)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-01-09 21:48:12 -08:00
5fa8d54488 Use relative inventory paths instead of symlinks.
(cherry picked from commit 4915920d71)
2019-01-09 21:00:26 -08:00
7a4f2aa47b Move any_errors_fatal test inventory into test.
(cherry picked from commit c04b69208d)
2019-01-09 21:00:26 -08:00
9eb4161230 Move include_import test inventory into test.
(cherry picked from commit 828e8d4957)
2019-01-09 21:00:26 -08:00
46927f01e7 Move strategy_linear test inventory into test.
(cherry picked from commit 893548addb)
2019-01-09 21:00:26 -08:00
4df207d963 Backport/2.7/49758 (#50121)
* resolved conflicst

* adding fragment

* generalize using rest api

* make vmss smaller

* even smaller

* size can't be smaller

* removed some unnecessary things

* removed too much

* additional fix needed
2019-01-09 16:49:48 -08:00
f70fdd0745 Backport #50448 that will fix "Authentication timeout" errors.
Add auth_timeout parameter when supported

Paramiko 2.2 introduces the auth_timeout parameter. This will set the
parameter to the same value of the timeout parameter to prevent
"Authentication timeout" errors.

(cherry picked from commit e7f21dd1af)

Conditionally add auth_timeout to ssh.connect

Renamed sock_kwarg to ssh_connect_kwargs and conditionally added the
auth_timeout parameter based on the installed paramiko version.

(cherry picked from commit 6c41e97eee)

Add changelog fragment

(cherry picked from commit 7679a92db7)
2019-01-09 14:58:54 -08:00
5c0f996fa1 docker_network IPAM test / general docker test cleanup (#50499)
* Re-enable docker_network tests.

* Basic cleanup of docker daemon.

* Add docker CLI detection.

* YAML notation.

(cherry picked from commit b52d7d56d9)
2019-01-09 14:53:12 -08:00
3ff477d14f win_psexec: added the pid return value to the docs (#50664)
(cherry picked from commit 13a2a8b5f6)
2019-01-09 14:51:22 -08:00
34809f2b02 [stable-2.7] Ensure that the src file contents is converted to unicode in diff info (#45744)
* Ensure that the src file contents is converted to unicode in diff info. Fixes #45717

* Fix up and cleanup

* The diff functionality in the callback plugins should have the
  to_text() calls removed since we're now doing it in ActionBase
* catching of UnicodeError and warnings in the callback diff
  functionality from 61d01f549f haven't been
  needed since we switched to to_text so remove them.
* Add a note to ActionBase's diff function giving an example of when the
  diff function will be inaccurate and how to fix it

* Fix callback get_diff() tests

I believe the unittests of callback's get_diff() were wrong.  They were
sending in a list where strings were expected.  Because previous code
was transforming the lists into strings via their repr, the previous
tests did not fail but they would have formatted the test cases output
in an odd way if we had looked at it.
(cherry picked from commit 95e77ac)

Co-authored-by: Matt Martz <matt@sivel.net>
2019-01-09 14:47:42 -08:00
f043b36dd3 Add changelog 2019-01-09 14:44:30 -08:00
011c0d59cb Convert URL output to a text/unicode string for json.loads 2019-01-09 14:44:30 -08:00
9ae95d52bc Fix grafana_dashboard py2 compatibility 2019-01-09 14:44:30 -08:00
015a00e0da [stable-2.7] Reboot - Fix VMware ESXi not working by adding appropriate commands (#49637)
* Add commands for VMware ESXi

* Add changelog
(cherry picked from commit 7c8af3d684)

Co-authored-by: Sam Doran <sdoran@redhat.com>
2019-01-09 14:39:56 -08:00
a17b664b38 Fix lastpass lookup error
Fixes #42062.

(cherry picked from commit 15fb9d3bc0)
2019-01-09 14:39:22 -08:00
e68541fa88 set ansible_os_family from name variable in os-release for clearlinux… (#49906)
* set ansible_os_family from name variable in os-release for clearlinux OS (#49639)

* set ansible_os_family from name variable in os-release for clearlinux system

Signed-off-by: Josue David Hernandez Gutierrez <josue.d.hernandez.gutierrez@intel.com>

* Add os_family for clear linux and clear linux mixes

Signed-off-by: Josue David Hernandez Gutierrez <josue.d.hernandez.gutierrez@intel.com>
(cherry picked from commit 9202ef60b0)

* Adding Changelog fragment

Signed-off-by: Josue David Hernandez Gutierrez <josue.d.hernandez.gutierrez@intel.com>
2019-01-09 14:32:06 -08:00
99772e6ac3 [stable-2.7] Fix run.py --branch argument.
The API docs state that both `branch` and `branchName` are valid,
but only `branchName` appears to work.
(cherry picked from commit 31c1bdd6a8)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-01-07 16:50:31 -08:00
cd9b364da8 Fix rabbitmq_plugin test.
These changes were part of a feature pull request, which is why they were not backported:

https://github.com/ansible/ansible/pull/48599
2019-01-07 16:03:07 -08:00
2bd8bba297 [stable-2.7] Fix reverse_inventory order to work on python3 (#49895) (#50048)
* [stable-2.7] Fix reverse_inventory order to work on python3 (#49895)
(cherry picked from commit a0d71e7)

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

* Clarify the change made to reverse_inventory
2019-01-07 11:12:31 -08:00
4561a5007b openssl_*: prevent error when path includes no path (#50322)
* Prevent error when path includes no path.

* Add changelog.

(cherry picked from commit 5c5cd2dc4d)
2019-01-07 11:09:28 -08:00
7ced444af8 openssl_csr: idempotency doesn't work correctly for keyUsage (#50361)
* Fix key usage idempotency bug.

* Extend tests.

* Add changelog.

(cherry picked from commit a5bf71ac6a)
2019-01-07 11:08:20 -08:00
755761e3a4 Backport/2.7/50242 firewalld missing port protocol (#50493)
* Fix firewalld module failing on missing protocol. (#50242)

Under Python 3.7 at least, the split of the port field fails
ungracefully if there is no slash. The fix also addresses the
case of an empty protocol after the slash.

(cherry picked from commit 69deb73803)

* add changelog for #50242 (#50480)

Signed-off-by: Adam Miller <admiller@redhat.com>
(cherry picked from commit b81a74f551)
2019-01-07 11:06:39 -08:00
853d464ed1 fix order of dnf api operations so transactions don't fail (#50038)
* fix order of dnf api operations so transactions don't fail

Previously dnf.base.fill_sack() was called before
dnf.base.update_cache() which apparently breaks dnf transaction
logic as per https://bugzilla.redhat.com/show_bug.cgi?id=1658694

Fixes #49060

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

* add changelog and test case

Signed-off-by: Adam Miller <admiller@redhat.com>
(cherry picked from commit ca084889c7)
2019-01-07 11:06:07 -08:00
aeb9b9d37f vultr_server: fix multiple ssh keys not handled (#50337)
* vultr_server: fix multiple ssh keys not handled

* add changelog fragment

(cherry picked from commit e761ea3f9d)
2019-01-07 11:05:25 -08:00
44248c0ba2 Pure Storage facts fix (#50349)
* Add module for Pure Storage FlashBlade to manage directory services

* Fix facts not correctly passing into ansible_facts dict

(cherry picked from commit 507f89e693)
2019-01-07 10:57:29 -08:00
a5bf4182e6 Improve tagging examples. (#50321)
(cherry picked from commit 04e2a94687)
2019-01-07 10:56:35 -08:00
1b7908c233 influxdb_user: Fixed unhandled exception on invalid login credentials
(cherry picked from commit 498fbc88aa)
2019-01-07 10:56:06 -08:00
4730aaedb0 [stable-2.7] Do not filter out exception, warnings, deprecations on failure when using debug (#47588)
* Do not filter out exception, warnings, deprecations on failure when using debug. Fixes #47576

* Add changelog fragment
(cherry picked from commit 40e5d2c)

Co-authored-by: Matt Martz <matt@sivel.net>
2019-01-07 10:49:10 -08:00
39af3b0b60 win_updates: Correctly report changes on success (2.7 backport) (#50225)
* win_updates: Correctly report changes on success

* Add changelog fragment
2019-01-07 10:47:39 -08:00
05322334b0 win_firewall_rule: Remove invalid 'bypass' action (2.7 backport) (#50222)
* win_firewall_rule: Remove invalid 'bypass' action

This fixes #50143

* Add changelog fragment
2019-01-07 10:46:56 -08:00
27eb7b97a1 os_security_group_rule proper module exit (#50076)
When the security group the rule belongs to does not exist and
the state is absent, the module is not properly exited, leading
to a playbook execution failure.

Fixes issue #50057

(cherry picked from commit 4951e5a5b7)
2019-01-07 10:46:11 -08:00
9a4d17e274 ansible test: re-enable mysql tests with fix (#50430)
(cherry picked from commit 6620facd19)
2019-01-07 10:42:12 -08:00
0ba93e7375 dont think all files are valid cause libs present (#50103)
verify_file was improperly always returning true if pyvimomi and requests libs were correct
  moved library checking to parse, avoid unneded errors unless the file is actually meant for
  this plugin

(cherry picked from commit 49993a55e5)
2019-01-07 10:28:24 -08:00
56481b5f1b Fix mandatory statement error for junos modules (#50074)
* Fix mandatory statement error for junos modules

Fixes #40267

*  Add error regex in junos terminal plugin to error out
   in case of commit fails

*  If commit fails add logic to discard changes before existing
   else next task will result in error

* Add integration test

* Minor update

(cherry picked from commit cc8e90395a)
2019-01-07 10:24:17 -08:00
b6eebb0aa3 win_copy - fix remote dir copy when it contains an empty dir (#50126)
(cherry picked from commit 65ce1b727e)
2019-01-07 10:23:42 -08:00
8490588afa allow openstack invetnory to work cacheless
fixes #45431

(cherry picked from commit a47671aad1)
2019-01-07 10:23:12 -08:00
3244f9592b win_lineinfile - fix malformed returned json (#50066)
(cherry picked from commit efda3eaf1c)
2019-01-07 10:19:34 -08:00
6a76fe38e6 dnf - fix conf_file loading (#50515)
(cherry picked from commit 63e454a4b2)
2019-01-07 10:16:06 -08:00
44087c7554 [stable-2.7] fix memtotal_mb rounding on VMWare and swaptotal_mb conversion from KB to MB (#50055)
* fix facts memtotal_mb rounding on VMWare and swaptotal_mb conversion from KB to MB

(cherry picked from commit cc3e43cb20)

* add changelog fragment
2019-01-07 10:10:46 -08:00
aa10266d55 [backport 2.7] Lineinfile must not insert lines multiples times with insertbefore/insertafter (#50084)
* Change test suite to fit expected behaviour

This reverts some changes from ansible/ansible@723daf3
If a line is found in the file, exactly or via regexp matching, it must
not be added again.
insertafter/insertbefore options are used only when a line is to be
inserted, to specify where it must be added.

(cherry picked from commit 31c11de2af)

* Implement the change in behaviour mentioned in the previous commit

(cherry picked from commit a4141cfa2e)

* Fix comment to reflect what the code does

(cherry picked from commit 150f5cb232)

* Set the correct return message.

In these cases, the lines are added, not replaced.

(cherry picked from commit 3216c31401)

* Add a changelog

(cherry picked from commit c39cf6b332)
2019-01-07 10:08:38 -08:00
913b1b0194 Backport/2.7/49922: network_cli - ansible_command_timeout not working as expected (#50068)
* network_cli - ansible_command_timeout not working as expected (#49922)

* fix for command_timeout

Signed-off-by: Deepak Agrawal <deepacks@gmail.com>

* fix ci warning

Signed-off-by: Deepak Agrawal <deepacks@gmail.com>

* fix review comments

Signed-off-by: Deepak Agrawal <deepacks@gmail.com>

(cherry picked from commit 0f2f38b044)

* changelog entry for 2.7 backport

Signed-off-by: Deepak Agrawal <deepacks@gmail.com>
2019-01-07 10:07:02 -08:00
bfa41db5f0 [2.7] Don't fail if a remote_addr with a '/' hits ansible_connection (#49781) (#50037)
* [2.7] Don't fail if a remote_addr with a '/' hits ansible_connection (#49781)

* Fail if a remote_addr with a '/' hist ansible_connection

This is _probably_ a CIDR block, but anything with a slash will fail,
so no need to try to parse to make sure

* Locks are now per-socket_path.

Locks use the same value as socket_path. Locks are also cleaned up in
shutdown like sockets.
(cherry picked from commit 61a649c)

Co-authored-by: Nathaniel Case <this.is@nathanielca.se>

* Add changelog
2019-01-07 09:32:55 -08:00
47228b8cf1 [2.7] certificate_complete_chain: fix stacktrace on parsing error (#49988)
* Fix stacktrace when fail_on_error is False and a file cannot be parsed. (#49987)


(cherry picked from commit 65d5f1a4ef)

* Add changelog.
2019-01-07 09:28:59 -08:00
898ec291b0 Backport/2.7/49084 (#49973)
* influxdb_user: Fixed default password behavior (#47040)

(cherry picked from commit 1eed8900ed)

* Amends #47040 - influxdb_user - Prevents potential accidental password changes to blank (#49084)

* Amends #47040 - Prevents potential accidental password changes to blank

* Added changelog fragment

(cherry picked from commit b422c59ada)
2019-01-07 09:25:36 -08:00
a9fd20318c add changelog for pr #49912 (#49962)
Signed-off-by: Adam Miller <admiller@redhat.com>
(cherry picked from commit 16f48bb4be)
2019-01-07 09:24:21 -08:00
b710b40a0c Fix yum/dnf handling of URIs that don't end in .rpm (#49912)
Fixes #49727

Signed-off-by: Adam Miller <admiller@redhat.com>
(cherry picked from commit 0eabb8097b)
2019-01-07 09:24:21 -08:00
a11e0c184a Docker common consolidation (#49707)
* [docker] Consolidating Python Boolean conversion for Docker API (#49563)

* [docker] Consolidating docker option min version checks (#49564)

* [docker] Moving option min version checks out of docker_swarm (#49564)

Also renaming Boolean cleanup function and fixing docker_container minimum
version check for network interfaces.

* Cleanup from PR feedback
2019-01-07 09:20:34 -08:00
5a7f7f1183 [docker_container] Fixes idempotency checks for network_mode (#49797)
Fixes #49794
2019-01-07 09:20:34 -08:00
f78a5f6332 Add changelog fragment for backported flatpak bugfixes 2019-01-07 09:19:48 -08:00
afd626e0b3 Fix two regressions in flatpak and flatpak_remote modules (#49651)
* Fix python 3 compatibility in flatpak_remote module

* Fix flatpak module for recent versions of flatpak

* Add reminder for contributors to run integration tests manually

There has been several Python version compatibility regressions
introduced into the module which could have been avoided by the
integration tests.

(cherry picked from commit 27fd8e4dc6)
2019-01-07 09:19:48 -08:00
17109ecedd [stable-2.7] Reboot - Fix command not found, add Apline support, fix Solaris command (#49272)
* Fix various bugs related in reboot

- Use format strings for consistency and improve debug log messages
- Use local variables instead of class attributes in order to be thread safe
- Run setup module to get distribution and version
- Run find module to get full path of shutdown command
- Use ansible_os_family and ansible_distribution to find commands and args
- Use same command for all Solaris/SunOS distributions
- Move delay calculations to properties
- Reliably check for module run failure
- Fix bug in run_test_command() that accidentally made the method work properly
- Use better exceptions rather than Exception
- Use dict literals rather than constructors
- Correct _check_delay() so it always returns a value, not None
- Don't store and return result in run_test_command() because it's not used anywhere
- add test for post reboot command that fails
- test negative values for delay parameters.
(cherry picked from commit c1589c33c4)

Co-authored-by: Sam Doran <sdoran@redhat.com>
2019-01-07 09:16:58 -08:00
2f622fc336 Do not try to encode metadata if it is None (#46739)
* Do not try to encode metadata if it is None

* Add changelog fragment

* Fix fragment missing EOF line
2019-01-07 09:14:30 -08:00
cb173f7f1d nxos_logging message fix author:mikewiebe commit 374ca78
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2019-01-07 09:13:38 -08:00
003a4556df Add explicit ansible_httpapi_port setting (#49314)
(cherry picked from commit 49009879b9)
2019-01-07 09:13:38 -08:00
60843a8d7c [stable-2.7] Add env command to ansible-test and run in CI. (#50176)
* Add `env` command to ansible-test and run in CI.
* Avoid unnecessary docker pull.
(cherry picked from commit 01833b6fb1)

Co-authored-by: Matt Clay <matt@mystile.com>
2018-12-22 00:10:16 -08:00
55889a9a60 [stable-2.7] Add retries for Invoke-ScriptAnalyzer in pslint.
Hopefully this will work around the intermittent CI failures due
to NullReferenceException, which then succeed on a retry.
(cherry picked from commit 4bd60c313b)

Co-authored-by: Matt Clay <matt@mystile.com>
2018-12-21 20:27:05 -08:00
6e93965528 [stable-2.7] merging postgresql server and database facts (#45061)
(cherry picked from commit d8cf645a8c)

Co-authored-by: Zim Kalinowski <zikalino@microsoft.com>
2018-12-21 11:31:23 -08:00
37af665d73 [stable-2.7] merge mysql server and database tests (#45060)
(cherry picked from commit 5c9241fa7c)

Co-authored-by: Zim Kalinowski <zikalino@microsoft.com>
2018-12-21 11:26:39 -08:00
1bd3adf4f4 Warn of standard behavior of 'default' key store (#49903) (#50122)
* Warn of standard behavior of 'default' key store 
The default key store typically results in the key being stored as user. In instances where we're trying to install a cert to enable SSL binding in IIS, this will result in an unbind-able cert, as the IIS APPPOOL identity will not be able to read the private key, and presents a very cryptic error of 'A specified logon session does not exist'.
* specify what's required for successful iis import
- store_location's default value is currently 'LocalMachine' but if this changes it could result in the documentation being inaccurate
- key_exportable is not required for a successful IIS import
Co-Authored-By: tdietrich513 <tom.dietrich@gmail.com>
(cherry picked from commit 2b48c0187c)
2018-12-19 11:21:19 -06:00
85764a00c4 link to KB article -certified modules (#50050) (#50052)
(cherry picked from commit b873f34ea3)
2018-12-18 12:16:30 -06:00
79d3c0eab3 [stable-2.7] Fix MySQL tests when running under Docker. (#50047)
(cherry picked from commit 0ccd231afd)

Co-authored-by: Matt Clay <matt@mystile.com>
2018-12-17 23:02:13 -08:00
8c8301142e [stable-2.7] Add OverlayFS work-around for CloudStack tests.
(cherry picked from commit 61b5adcf31)

Co-authored-by: Matt Clay <matt@mystile.com>
2018-12-17 23:01:54 -08:00
feb971f649 docs: remove not implemented password_hash feature (#49945) (#50008)
(cherry picked from commit 79947245e2)
2018-12-17 08:58:47 -06:00
314e9c02f8 ansible-test: do not upgrade homebrew to speed up tests (#49914)
(cherry picked from commit 695feea541)
2018-12-13 19:07:08 -08:00
de9647f260 Update Ansible release version to v2.7.5.post0. 2018-12-13 14:08:58 -08:00
a771ed93ab New release v2.7.5 2018-12-13 09:26:14 -08:00
fffd856e8a [stable-2.7] Disable failing ec2_vpc_vpn_facts test.
(cherry picked from commit df1c9d0f25)

Co-authored-by: Matt Clay <matt@mystile.com>
2018-12-10 14:32:41 -08:00
c1bfe28a5a [stable-2.7] Fix template_jinja2_latest aliases file.
(cherry picked from commit a1a0893ebd)

Co-authored-by: Matt Clay <matt@mystile.com>
2018-12-10 12:47:17 -08:00
012d38eae6 [stable-2.7] openstack: fix parameter handling when cloud provided as dict (#42899) (#49745)
* [stable-2.7] openstack: fix parameter handling when cloud provided as dict (#42899)

* openstack: fix parameter handling when cloud provided as dict

If a cloud is provided as dictionary:

 * Do not assert that 'interface' parameter is None. Instead,
   assert that it is 'public'.
 * Assert that 'auth_type' parameter is not set.

Fixes #42858

* os_user: Include domain parameter in user lookup

If a "domain" parameter is provided, use it in looking up
whether the user already exists.

Fixes #42901

* os_user: Include domain parameter in user deletion

If a "domain" parameter is provided, use it in deleting
the user also.

Fixes #42901
(cherry picked from commit e25dac9)

Co-authored-by: Carsten Koester <carsten@ckoester.net>

* Add changelog for openstack fixes
2018-12-10 12:33:34 -08:00
87e01a0640 added dhcp standard options (#49729)
(cherry picked from commit 418c03a686)
2018-12-10 11:51:45 -08:00
2566219fc8 [2.7] docker_swarm: fix minimal API version (#49709)
* docker_swarm: fix minimal API version (#49691)

* Reduce minimally required docker API version to 1.25, with selective features requiring 1.30.

* Adjust test requirements.

* Forgot some imports.

(cherry picked from commit 495a426039)

* Add changelog for docker swarm minimum api fix
2018-12-10 11:49:36 -08:00
0954942dfd ensure ssh retry respects no log (#49569) (#49724)
* ensure ssh retry respects no log (#49569)


(cherry picked from commit ba4c2ebeac)
2018-12-10 11:49:16 -08:00
961382bf5e docker_swarm_service: ensure idempotency when the user parameter is None (#49235)
* ensure idempotency for user set to None

* Update `user` documentation and add changelog fragment

* clarify changelog fragments and parameters documentation

* use restructuredtext syntax in changelog fragment

(cherry picked from commit b183eb4464)
2018-12-10 11:48:48 -08:00
291c9388ea added jinja2 example (#49740) 2018-12-10 11:40:21 -08:00
d28a903fb3 VMware: update docs and return docs for vmware_host_service_facts (#49736)
Follow up of 45155

(cherry picked from commit be21140384)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-12-10 11:13:26 -08:00
35f349ae10 match interpreter on stdout also (#49446)
fixes #46980

(cherry picked from commit 758ac1846b)
2018-12-10 10:34:50 -08:00
5b349773b0 mail: Fix new breakage on python 2.7 (backport) (#49222)
* mail: Fix new breakage on python 2.7

* Add changelog fragment

* Add basic SMTP testing

* Add SMTP integration tests using starttls and TLS
2018-12-10 10:26:02 -08:00
2ba095f89e aci_rest: Fix ignoring custom port 2018-12-10 10:22:41 -08:00
db8f13c702 docker_*: hint at DOCKER_CONFIG environment variable (#49689)
* Hint at DOCKER_CONFIG environment variable directly supported by docker-py.

* Adjust wording.

(cherry picked from commit 270b6a2ee2)
2018-12-10 10:20:39 -08:00
5b54472cfd fix synchronize handling of encrypted hosts on delegation (#49460)
* Fix for #49363

* Replaced str() with to_text() as more python version safe

* Changed to comply to errors stragegy

(cherry picked from commit 64636d9de0)
2018-12-10 10:18:30 -08:00
0dda61c258 Fix if the route table changed to none (#49533) (#49703)
* Fix if the route table changed to none (#49533)

(cherry picked from commit 5a59748e6c)

* add changelog
2018-12-10 10:17:42 -08:00
06ffe7b5d8 fix: Make sure that the files excluded when extracting the archive are not checked (#45122) (#49700)
*  fix: ensure than all item of a list of excluded files aren't checked  (#45122)

* fix: ensure than list of excluded files aren't checked
* test: exclude a list of files

(cherry picked from commit 4f9f1754b4)

* added changelog
2018-12-10 10:15:22 -08:00
5e0c292682 win_hotfix: use S3 bucket for update files in test (#49696)
(cherry picked from commit 478fcf7abb)
2018-12-10 10:13:51 -08:00
3343be2c56 remove continue on error now that tests are good 2018-12-10 10:11:18 -08:00
2eb44f4043 test make sure everything passes 2018-12-10 10:11:18 -08:00
75f249ee98 ansible-test - swap Fedora 25 for 29 (#49634)
(cherry picked from commit 6a09db5131)
2018-12-10 10:11:18 -08:00
9d19fde3e9 ansible-test: change Fedora 24 to 28 (#49586)
(cherry picked from commit 5392caee14)
2018-12-10 10:11:18 -08:00
46fc6caf52 pip tests: skip distribute test case for py3 compat (#49636)
(cherry picked from commit 28a903a1e2)
2018-12-07 07:10:03 -08:00
c7677eee83 Fix ReST formatting for Galaxy docs link (#49575)
(cherry picked from commit 6e43f9fe8f)
2018-12-06 11:00:57 -08:00
ad45bd72c1 Fix for a caching traceback
When the user specified caching plugin doesn't initialize correctly, we
were falling back to a dict.  however, dicts do not have the same
update() method as the FactCache.  We use the update method when we
update a cache with a subsequent value.  So when that combination of
things happened, the code would traceback.

In devel, we made this change to fix things: https://github.com/ansible/ansible/pull/49516
but that involves several deprecations.  So we're doing this smaller
hack in 2.7 to fix the traceback without introducing those deprecations
in a stable release.
2018-12-06 10:59:32 -08:00
dc9bb38d72 [stable-2.7] Make squash deprecation messages less misleading (#49551)
(cherry picked from commit 69d230f)

Co-authored-by: Matt Martz <matt@sivel.net>
2018-12-06 10:01:35 -08:00
d4f5e97d6f doc: fix link to ansible-config (#49597)
(cherry picked from commit 7fd8d8d8c7)
2018-12-06 09:59:51 -08:00
768ad30fbc Fix google auth scoping for unscoped credentials (#46740)
* Fix google auth scoping for unscoped credentials

* Add changelog fragment

(cherry picked from commit c8ecac8dc2)
2018-12-06 09:43:35 -08:00
afb2e9d029 Add setup roles for passlib and pexpect for use with pause and vars_prompt tests (#43613)
* Add passlib to RHEL test instance

This looks like the only tests instance that is missing this libary. It is needed for vars_prompt tests.

* Create setup roles for pexect and passlib

Switch to using aliases rather than installing directly in the test scripts

(cherry picked from commit 96c2375692)
2018-12-06 09:40:14 -08:00
af03dd0463 create local subversion server for tests (#49047)
* create local subversion server for tests

* fix sanity issues

* don't touch system config when bringing up site

* removed original setup files

* fix opensuse config

(cherry picked from commit 0420d606de)
2018-12-06 09:40:14 -08:00
35e02293d5 Adding support for clearlinux showing release nuber (#47101)
Signed-off-by: Josue David Hernandez <josue.d.hernandez.gutierrez@intel.com>
(cherry picked from commit 8880c72682)
2018-12-06 09:39:12 -08:00
acdd4cbfcd [stable-2.7] Support version 3 of the redis python library (#49445)
* Support version 3 of the redis python library. Fixes #49341

* Document 2.4.5 minimum redis-py version
(cherry picked from commit 77de219)

Co-authored-by: Matt Martz <matt@sivel.net>
2018-12-06 09:36:00 -08:00
1af07cc38f Fix for changes in clearlinux (#49344)
* Fix for changes in clearlinux

clearlinux is now providing /etc/os-release file and ansible is identifying as NA
then this change allow ansible to find it

Signed-off-by: Josue David Hernandez Gutierrez <josue.d.hernandez.gutierrez@intel.com>

* Add changelog fragment for clearlinux changes

Signed-off-by: Josue David Hernandez Gutierrez <josue.d.hernandez.gutierrez@intel.com>
(cherry picked from commit 6d42c5020a)
2018-12-06 09:34:20 -08:00
e0f910abcb Handle special service where package is not available (#45155)
There are several services e.g. vmware-fdm, which does not have package name and
package description which will raise a error if queried for.

(cherry picked from commit b3b65d16b8)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-12-05 10:40:55 -08:00
bc80087cca azure_rm_image: fix creation of image with data disks (#49394) (#49518)
* azure_rm_image: fix creation of image with data disks (#49394)

(cherry picked from commit 79c0e30c5a)

* Create 49394_azure_image.yml
2018-12-05 10:40:19 -08:00
9cc7f7bcf2 Fix win_nssm credentials quoting (#48761)
* Fix win_nssm credentials quoting

Fix credential quoting for win_nssm after changes to the way nssm command is invoked in Ansible 2.7.1.

* Updating nssm command to update credentials to use Argv-ToString to properly escape password variable.

* Adding changelog fragment for fix of #48728.

(cherry picked from commit 15c5dbcc20)
2018-12-05 10:35:59 -08:00
91b2347344 [stable-2.7] Use IndexError in exception (#49488)
(cherry picked from commit 6200d32c0d)

Co-authored-by: Sam Doran <sdoran@redhat.com>
2018-12-05 10:34:28 -08:00
799f8e97b3 fixes an issue with dict_merge in network utils (#41107)
This change address a problem where the dict_merge function would fail
due to the value being a nested dict.  This will now recursively pass
the value back through the dict_merge function.
Merge to devel https://github.com/ansible/ansible/pull/41107

(cherry picked from commit 2a4be2748f)

Update changelog

Fix review comments
2018-12-05 10:32:15 -08:00
a928ea4d93 [stable-2.7] Reboot - Fix errors when using Paramiko connection (#49002)
Different connection plugins return different data when throwing exceptions. The Paramiko connection plugin does not return a text sting, which caused an exception.

The ssh connection plugin returns multi-line errors, which makes the debug logs harder to read. Only return the last line in that case in order to make the logs more readable.

When experiencing a connection failure, reset the connection.

Add reset() to paramiko_ssh

Indicate thet conection state is False when running close(). This is needed by the ensure_connected() decorator to work properly.

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

Co-authored-by: Sam Doran <sdoran@redhat.com>
2018-12-04 10:10:23 -08:00
35d84ccc3a VMware: Fix module usages in module_utils (#49421)
* VMware: Fix module usages in module_utils
* Skip test for Python 2.6 as SSL context is not available in Python 2.6

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 1b04571ea0)
2018-12-04 07:32:06 -08:00
99612b8224 [stable-2.7] -Fix: The Ubuntu 14.04 image on Shippable runs an old version of python, causing issues with checking out bitbucket, adjust tests to compensate. (#49433)
-Add: Mention bitbucket dropping TLSv1 and TLSv1.1 support as per 01 Dec 2018, potentially causing issues with older clients.
(cherry picked from commit a6db7f7abd)

Co-authored-by: Xaroth <xaroth+github@xaroth.nl>
2018-12-04 07:08:30 -08:00
aed38b12cd [aws] Revert back to getting the AWS role name from the URI (#49427)
* Revert back to getting the AWS role name from the URI with a small change (#49113)

- The role name and instance profile name _can_ be different
- Change the delimiter to `:` for keys that are discovered through the JSON parsing (which is not a valid delimiter for AWS IAM role names), this delimiter is still converted to underscore
- Now checks for the existence of that delimiter to remove the cases where the JSON keys are appended to the role name to find the role name

(cherry picked from commit ff9b86f560)

* Changelog update
2018-12-04 07:02:00 -08:00
949b8e991e [Backport 2.7] sets admin_password to no_log in na_ontap_cifs_server (#49412)
* sets admin_password to no_log

(cherry picked from commit 1d321cef6e)

* adds change log for ontap cifs server no_log
2018-12-04 07:00:33 -08:00
69e1d0f425 Backport/2.7/48933 (#49400)
* comparing StorageConnection.password breaks idempotency (#48933)

(cherry picked from commit 5cd31578cc)

* changelog
2018-12-04 06:59:10 -08:00
12e088ff93 dnf module load/init dnf pkg mgr plugins properly (#49278)
* dnf module load/init dnf pkg mgr plugins properly

Fixes #45940

Signed-off-by: Adam Miller <admiller@redhat.com>
(cherry picked from commit 378cc9668c)
2018-12-03 18:41:24 -08:00
2aa0f366d2 templar: ensure that exceptions are handled, fix 'AttributeError' (#48792)
* templar: ensure that exceptions are handled

* Fix AttributeError: object has no attribute 'message'

'message' attribute is deprecated since Python 2.6 and not available
with Python 3.

Simple reproducer:

    - hosts: localhost
      vars:
        not_json: "{{ 'test str' | from_json }}"
      tasks:
        - command: "echo {{ not_json }}"

(cherry picked from commit 62c05033d6)
2018-12-03 18:40:42 -08:00
91d3857c36 Cast int for expire field to avoid call failure to sensu API (#33239)
(cherry picked from commit bbab4c1b49)

* Cast int for expire field to avoid call failure to sensu API (#33239)

* Add changelog
2018-12-03 18:36:32 -08:00
f017c3fa8d added changelog fragment 2018-12-03 18:35:30 -08:00
6ba6627338 Fixed support for LLD type user macros and added missing validate_certs attribute
(cherry picked from commit 7af8c0e07e)
2018-12-03 18:35:30 -08:00
35fd7394b3 Add changelog. 2018-12-03 17:05:57 -08:00
0ae615de98 ACME: fix bug introduced in #49266, work around problem with Pebble (#49407)
(cherry picked from commit 34c57b4c42)
2018-12-03 17:05:57 -08:00
1deb2300a4 ACME: improve error handling (#49266)
* Improve error handling: when parse_json_result is False, still return the error message.

* Remove content body from info dict.

* Add changelog.

(cherry picked from commit b842b1b97e)
2018-12-03 17:05:57 -08:00
832aa98ace [stable-2.7] Improve log message in paramiko_ssh connection plugin (#49004) (#49318)
* [stable-2.7] Improve log message (#49004)

This is the only connection plugin that doesn't state explicitly what it is in the log.
(cherry picked from commit 8f9ced4005)

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

* Add changelog
2018-12-03 17:02:43 -08:00
47e0d29a59 Fix iosxr netconf plugin response namespace (#49238)
* Fix iosxr netconf plugin response namespace

*  iosxr netconf plugin removes namespace by default
   for all the responses as parsing of xml is easier
   without namepsace in iosxr module. However to validate
   the response received from device against yang model requires
   namespace to be present in resposne.
*  Add a parameter in iosxr netconf plugin to control if namespace
   should be removed from response or not.

* Fix CI issues

* Fix review comment

(cherry picked from commit 829fc0feda)
2018-12-03 16:44:17 -08:00
fb39299578 Fix error where pod has error and no containers
(cherry picked from commit 865430e3e0)
2018-12-03 16:43:36 -08:00
aa1b00f7e9 k8s/oc plugins: fix 'ResourceField' is not JSON serializable (#46145)
Fixes #44408

(cherry picked from commit 15d46ce428)
2018-12-03 16:43:36 -08:00
6ba1330191 changelog
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-12-03 16:40:41 -08:00
66dd6035e0 nxos_facts: Do not gather redundant neighbor data (#49024)
* nxos_facts: Remove dead code

The commit e51964e made this redundant as the structured case is handled
elsewhere.

* nxos_facts: Do not gather neighbors redundantly

LLDP reports the neighbor using the abbreviated interface name, whereas
CDP reports the neighbor using the full interface name. Normalize the
local interface name in the LLDP case, so there is no redundant
information. Due to the order of the gathering, CDP neighbors are saved
in case both LLDP and CDP data is available on a certain interface.

(cherry picked from commit 2019f0e430)
2018-12-03 16:40:41 -08:00
d1a38f1f72 Fix issues with nxos_os_install module (#48811)
* Use expect module to copy files

* Remove old and redundant upgrade files

* Return error message instead of code

* Cleanup copy command code

* Fix force issue in nxos_install_os

* new nxos_install_os integration tests

* Uncomment transport tests

* Revert negative test change

* Remove combined option that is no longer required

* Make shippable happy

* Add n5k test files

(cherry picked from commit a721572206)
2018-12-03 16:40:41 -08:00
faa5a73c73 Fix n3k power supply facts (#49150)
(cherry picked from commit af1e6878e9)
2018-12-03 16:40:41 -08:00
8f9eecd66d Fix LLDP to use json (#48318)
(cherry picked from commit e51964e7a6)
2018-12-03 16:40:41 -08:00
d058e032fa do not override lldp neighbors nxos_facts (#48087)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit 27075ab7dd)
2018-12-03 16:40:41 -08:00
029880a016 nxos_facts fix NameError (#48981)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit 8796085569)
2018-12-03 16:40:41 -08:00
d0416733a9 Fix nxos modules idempotence issue (#46437)
* nxos_interface vlan and port-channel idempotence fix for mtu

* Fix MTU reconfiguration at each execution

* nxos_interface port-channel idempotence fix for mode (#44248)

* Fix trunk mode idempotence for port-channel
* Gather ethernet and port-channel code for mode management

* nxos_linkagg port-channel idempotence fix for channel-group's mode

The regex to retrieve channel-group's mode is not enough accurate.
Therefore, the swhitchport mode  was matched instead of the
channel-group's mode.

* This fix add accuracy to match the right configuration command

* Add support for switchport mode dot1q-tunnel in nxos_interface

* Fix layer reconfiguration at each execution

(cherry picked from commit c51407c806)
2018-12-03 16:40:41 -08:00
eafc7fc531 require git when trying to use it in ansible-galaxy cli (#49212)
* require git when trying to use it in ansible-galaxy cli

Previously we weren't setting `required=True` when calling
`get_bin_path` and the path would return `None`, this would cause
a traceback when attempting to ' '.join() to create a string
representation of the failed command for error output

Fixes #49200

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

* add changelog

Signed-off-by: Adam Miller <admiller@redhat.com>
(cherry picked from commit 81540bd754)
2018-12-03 16:39:34 -08:00
6dba96c8cc Added changelog after review 2018-12-03 16:38:55 -08:00
bbb47eedc0 Backport/2.7/46623 (#48154)
* To backport PR 46623 to 2.7.2

* Lenovo finetune modules (#46623)

* Making username password etc non mandatory as we use persistence connection.
Some documentation fine tuning also done.

* To update version which was tested against.

* Adding Bacon switch (NE0152T) to device rules

* Qalthos Review catch

* Updating version

* Changing documentation to add Bacon switch. This is effective since 2.8

(cherry picked from commit d0e89bc1bb)

* Delete cnos-46623-support-bacon-in-modules.yaml

* Update cnos_devicerules.py

* Update cnos.py

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md
2018-12-03 16:37:25 -08:00
5340549506 Warn about falling back to jinja2_native=false (#49063)
(cherry picked from commit abdf46803b)
2018-12-03 16:36:00 -08:00
660f46be13 Fix using vault encrypted data with jinja2_native (#49025)
Fixes #48950

(cherry picked from commit d4568d97d4)
2018-12-03 16:35:01 -08:00
4b3244427e ansible-test: recursively scan setup dependencies (#49170)
* ansible-test: recursively scan setup dependencies

* removed need for default set()

(cherry picked from commit 694c505452)
2018-12-03 16:33:00 -08:00
1986e9ed89 Fix lookup_passwordstore test skipping. (#49178)
* Fix lookup_passwordstore test skipping.

Skip all of RHEL instead of specific versions.
Skip all of CentOS < 7 instead of specific versions.

This makes the test more robust when testing newer versions.

Tests could be executed on RHEL if EPEL was installed during the test.
(cherry picked from commit 704dae2cda)
2018-12-03 15:42:03 -08:00
34be89d8ce Fix ansible-test skip warning message.
(cherry picked from commit 3b705efc93)
2018-12-03 15:42:03 -08:00
19ba752b56 Add --raw option to ansible-test shell command.
It is currently supported only with the `--remote` option.

This makes it easier to troubleshoot new instances which are not
yet supported by the setup scripts used by ansible-test.

(cherry picked from commit 0826a00803)
2018-12-03 15:42:03 -08:00
7a0e86551d Support skip of platforms by version in tests. (#48826)
* Support skip of platforms by version in tests.

Previously a remote platform could be skipped completely using the alias:

`skip/{platform}` such as `skip/rhel`

Now a specific platform version can be skipped using the alias:

`skip/{platform}{version}` such as `skip/rhel7.6`

This feature is available for platforms specified with the `--remote` option.

* Add skip by version to the docs.

(cherry picked from commit 8066acc90c)
2018-12-03 15:42:03 -08:00
0b410dc296 Remove CI platform: freebsd/10.4
(cherry picked from commit e6ffc4f89a)
2018-12-03 15:42:03 -08:00
317cc2c757 Switch tests from RHEL 7.5 to 7.6.
(cherry picked from commit 6745ee7cc8)
2018-12-03 15:42:03 -08:00
65a9369f68 Adds hasattr checks for rpc calls used in network_cli plugins (#49173)
Network platforms that don't have cliconf plugin will fail when
sending rpc calls for the reset_history and disable_response_logging
functions because those are defined in cliconf exclusively at this
time.

This patch adds checks for those attributes before making the call

(cherry picked from commit 0b5b5e69d8)
2018-12-03 14:33:36 -08:00
ba45d8a248 Fix type in ansible-galaxy info output (#49096)
Changed from 'intalled_version' to 'installed_version'

(cherry picked from commit 12a573a7db)
2018-12-03 14:32:40 -08:00
14fc00f28b [stable-2.7] -Change: set the 'canonical_url' theme option to enable rendering of canonical urls, promoting the 'latest' docs to search engines. (#49190) (#49214)
(cherry picked from commit 59e7a9442e)

Co-authored-by: Xaroth <xaroth+github@xaroth.nl>
2018-11-30 15:40:28 -06:00
9a5a4fa59a Improve pip umask docs (#49146, #49325) (#49326)
* For the pip module, umask should be specified as an octal *string*, not an octal (or decimal) *integer*.
(cherry picked from commit 0521e1c6dc)
(cherry picked from commit 237f127d21)

* Do not document buggy behavior.
(cherry picked from commit 1b77d72370)
2018-11-30 15:38:36 -06:00
9e8084380a Update Ansible release version to v2.7.4.post0. 2018-11-30 12:45:32 -08:00
432c9e8b22 [stable-2.7] Add change classification for powershell wrappers.
(cherry picked from commit c25db4ee8d)

Co-authored-by: Matt Clay <matt@mystile.com>
2018-11-30 11:28:14 -08:00
81879e9792 New release v2.7.4 2018-11-30 09:30:22 -08:00
86947e6b9a powershell - add bootstrap wrapper to packaging manifest 2018-11-30 08:48:24 -08:00
1ad41e818c Update Ansible release version to v2.7.3.post0. 2018-11-29 16:22:17 -08:00
c3c4bd2cfb New release v2.7.3 2018-11-29 09:02:47 -08:00
f1b6f5d204 [stable-2.7] Use virtualenv in pip test to remove distribute.
(cherry picked from commit 6f29eafef4)

Co-authored-by: Matt Clay <matt@mystile.com>
2018-11-26 18:26:37 -08:00
cee7642188 [stable-2.7] pip: Fix the mistake replacement from 'distribute' to 'setuptools' (#47403) (#49132)
* [stable-2.7] pip: Fix the mistake replacement from 'distribute' to 'setuptools' (#47403)

* Fix the mistake replace from distribute to setuptools

* Add a testcase for this bug
(cherry picked from commit 93c5781)

Co-authored-by: Zhikang Zhang <zzhang63@ncsu.edu>

* Add a change note
2018-11-26 15:44:05 -08:00
2f8d3fcf41 split PS wrapper and payload (CVE-2018-16859) (#49143)
* prevent scriptblock logging from logging payload contents
* added tests to verify no payload contents in PS Operational event log
* fix script action to send split-aware wrapper
* fix CLIXML error parser (return to -EncodedCommand exposed problems with it)
2018-11-26 15:28:47 -08:00
29e2454f7c docker_container: fix init option idempotency with old docker-py versions (#49078)
* Don't check options for idempotency which are not supported.

This check should be superfluous if every option would adhere to
the convention that options not specified should have value None.
Unfortunately, some options (such as init) which correspond to
container properties have an explicit default set.

(cherry picked from commit 9caaf7b109)
2018-11-26 13:07:05 -08:00
316d3abb42 Properly handle FieldAttribute.default if callable (#48992)
* Properly handle FieldAttribute.default if callable

Fixes #48673

* Add changelog...

* Add integration test

* Add aliases file

(cherry picked from commit 48ffd8789f)
2018-11-26 12:56:40 -08:00
255a7dab7e Replace some likely forgotten yum by dnf (#48988)
I'm not 100% certain this change is relevant for the filename, but it would make sense, so I'll let you confirm.

+label: docsite_pr
(cherry picked from commit ad1180b22f)
2018-11-26 12:50:20 -08:00
b7349b2ad4 Fix dictionary iteration exception reported in #48096 (#48836)
(cherry picked from commit a9c2bc955c)
2018-11-26 12:49:02 -08:00
7e32f1ffb0 [ec2_group] fix comparison of determining which rules to purge - 2.7 (#48967)
* Added changelog fragment

* Fix comparison of determining which rules to purge by ignoring descriptions (#48443)

AWS uses rule type, protocol, port range, and source as an idempotent identifier.
There can only be one rule with that unique combination. Rules that differ only by description are allowed but overwritten by AWS.
Add a test

Co-authored-by: Will Thames <will@thames.id.au>
(cherry picked from commit 54a2f21f93)
2018-11-26 12:48:19 -08:00
edae7b0524 [stable-2.7] Prevent metadata changes in a stable branch (#48994) (#49131)
* [stable-2.7] Prevent metadata changes in a stable branch (#48994)
(cherry picked from commit 7287d39)

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

* Fix metadata comparison
2018-11-26 14:34:13 -06:00
47d52541a6 [2.7] add required state parameter to acme_certificate route53 example (#49082)
* add state parameter, update value in acme_certificate route53 example, fixes #49032

(cherry picked from commit de1c9c53c3)
(cherry picked from commit b30d2ce9e5)
2018-11-26 14:31:51 -06:00
faca969f17 Mention docker[tls]. (#49095) (#49153)
(cherry picked from commit be55abafe1)
2018-11-26 14:09:37 -06:00
24eb3c5c60 [Backport 2.7] wait_for: Add note about path and port (#49118)
Document that Path and Port are mutually exclusive parameters in the wait_for module.
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 70f992c618)
2018-11-26 13:58:43 -06:00
eab6034c79 Update guide_packet.rst (#49007) (#49029)
Properly parses the returned data to get the device data and IP address.
(cherry picked from commit 679b7dce63)
2018-11-26 13:44:57 -06:00
02a8121dea [stable-2.7] FTD HTTP Api plugin bug fixes (#47747) (#48982)
* FTD modules: upsert functionality and bug fixes (#47747)

* FTD modules: bug fixes and upsert functionality

* Fix sanity checks

* Fix unit tests for Python 2.6

* Log status code for login/logout

* Use string formatting in logging

(cherry picked from commit 9770ac70f9)

* Add changelog entry
2018-11-22 07:24:55 -08:00
845776ed6a win_security_policy - add warning when using this module ot edit rights (#48850)
(cherry picked from commit 9b0dd5224b)
2018-11-20 13:54:08 -08:00
d391e19fa3 docker_* modules: updating argument_spec (#48491)
* Updating argument_spec for docker_* modules.

* Adjust docker_network to work with new recursive argument_spec.

* Adjust device IO limits to recursive argument_spec.

* Improve test (test Ansible's cast from str to int).

* Adjust healthcheck options construction.

* Remove superfluous check.

* Make flake8 happy.

* Simplify comparison.

(cherry picked from commit 0206a46e1d)
2018-11-20 13:53:24 -08:00
c91785665a [stable-2.7] Update win_scheduled_task.py (#46720)
* Update win_scheduled_task.py to document that the duration of a task trigger can be null, which will cause it to run indefinitely - docs update makes use of suboptions

* Add a fix for the validate-modules schema
(cherry picked from commit 0bc5b79)

Co-authored-by: Justin England <justengland@gmail.com>
2018-11-19 14:57:25 -08:00
64cea41f6b dnf to support modularity module appstream specs
Fixes #48743

Signed-off-by: Adam Miller <admiller@redhat.com>
(cherry picked from commit 4a06e95671)

fix up sanity tests and with_modules conditional

Signed-off-by: Adam Miller <admiller@redhat.com>
(cherry picked from commit 23b60035a1)

fix yamllint sanity

Signed-off-by: Adam Miller <admiller@redhat.com>
(cherry picked from commit 2b878546d3)

fix group-missing/invalid-group detection

Signed-off-by: Adam Miller <admiller@redhat.com>
(cherry picked from commit 41176b5e0f)
2018-11-19 14:56:45 -08:00
1cba0a753a Sysvinit - Enabling a service should use "defaults" if no runlevels are specified 2018-11-19 13:47:07 -08:00
a96efa43f0 docker_* tests: check API version (#48620)
* Check minimal API and docker-py versions for all docker_* tests.

* Improve docker_swarm creation/destruction for tests.

* Fail when conditions aren't met.

* Don't hardcode address for advertise_addr.

(cherry picked from commit 3bb41ccb8e)
2018-11-19 11:52:03 -08:00
1469ec4487 better handling of bad type in config (#48821)
* better handling of bad type in config

 fixes #22468, fixes #22476


(cherry picked from commit 87e44a7ed1)
2018-11-19 11:03:27 -08:00
f8339bd9c0 fix bug in config mgr
- use function that creates config slots as needed

(cherry picked from commit 652da82558)
2018-11-19 11:02:40 -08:00
a22a283156 Add changelog fragment about 'apt_key' no TTY fix 2018-11-19 10:17:46 -08:00
d8778b30c3 Do not require TTY for 'apt-key' operations (#48580)
The 'gpg' command supports the '--no-tty' option, which disables any use
of a TTY during its execution. This parameter is sometimes required for
non-interactive operation to avoid any questions for the user.

The 'apt-key adv' command can pass additional parameters to the
underlying 'gpg' command. This patch adds the '--no-tty' option to avoid
issues with APT key imports when Ansible pipelining active, which
disables the use of a dedicated TTY.
(cherry picked from commit c7e2226035)
2018-11-19 10:17:46 -08:00
6b3619da9e Backport/2.7/46044 Make puppet module useable on puppet 6 (#48871)
* Make puppet module useable on puppet 6 (#46044)

The unused ignorecache setting has been removed and so you
can't run puppet through this module anymore.

See PUP-8533 / https://tickets.puppetlabs.com/browse/PUP-8533
(cherry picked from commit 475d69da69)

* changelog
2018-11-19 10:17:00 -08:00
51a3d60991 [docker_network] Add handling for Python booleans in driver_options
Fixes #26708
2018-11-19 10:16:19 -08:00
de12161dea cs_template: fix KeyError on state=extracted (#48675)
* cs_template: fix KeyError on state=extracted

* add changelog

(cherry picked from commit c7c3ca1c41)
2018-11-19 10:04:01 -08:00
3207e62504 [stable-2.7] Fix unit test issues with pytest >= 4.0.0.
(cherry picked from commit feb5b0b299)

Co-authored-by: Matt Clay <matt@mystile.com>
2018-11-19 09:57:03 -08:00
295174b3fd make yum update_only option actually work (#47942)
* make yum update_only option actually work

Fixes #40615

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

* fix changlog fragment for sanity check

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

* only attempt an update when there are packages to update

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

* fix logic to properly handle the precedent of operations

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

* remove q debug statements

Signed-off-by: Adam Miller <admiller@redhat.com>
(cherry picked from commit 34fc66185e)
2018-11-19 09:55:59 -08:00
16b354e835 Update Ansible release version to v2.7.2.post0. 2018-11-15 15:32:47 -08:00
fa0af52765 New release v2.7.2 2018-11-15 13:48:34 -08:00
42be0bd655 [stable-2.7] Fix the changelog links to porting guide to be anonymous
Prevents duplicate reference errors.
(cherry picked from commit 0070928)

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2018-11-15 13:43:13 -08:00
f9b2f781a6 [stable-2.7] Improve release make summary shell compatibility.
This should work with at least bash, dash and zsh.
(cherry picked from commit 0755f16f9a)

Co-authored-by: Matt Clay <matt@mystile.com>
2018-11-15 12:11:01 -08:00
0e86eaf79e Revert "Relax ansible-test python version checking."
This reverts commit d6cc3c4187.

(cherry picked from commit de11b473a6)
2018-11-14 22:48:31 -08:00
b6d3599e00 Use state: latest for dpkg_selections test.
We don't need to test with `upgrade: dist`, since we're not trying
to test the `apt` module. We just need to make sure the hold set
by the `dpkg_selections` module is working.

This change will avoid updating all the packages on the system,
which is slow, unnecessary, and can cause the installed python
to be changed.

(cherry picked from commit 136a2cca2f)
2018-11-14 22:48:31 -08:00
82baf1c746 apt: disable ubuntu repos to not change test env
(cherry picked from commit 0c86df33a4)
2018-11-14 22:48:31 -08:00
373e91fcf0 Fix ansible-test interpreter tracking.
Track the interpreter for each copy of the injector by the interpreter
path instead of the interpreter version. This avoids the possibility
of mixing different interpreters with the same version.

(cherry picked from commit fa53b4805b)
2018-11-14 22:48:31 -08:00
07403a2f92 Fix ansible-test merge change detection.
(cherry picked from commit aa7fe919d3)
2018-11-14 22:48:31 -08:00
6dca1d7784 Correct ansible-test injector python behavior.
Inject a symlink to the correct python into the copied injector
directory instead of altering the shebang of the injector. This
has the side-effect of also intercepting `python` for integration
tests which simplifies cases where it needs to be directly invoked
without collecting code coverage.

(cherry picked from commit d6bf45cd9d)
2018-11-14 22:48:31 -08:00
177160d216 Use correct interpreter for ansible-test injector.
(cherry picked from commit eec21a3d12)
2018-11-14 22:48:31 -08:00
c2a9cc43c0 Fix passing of env vars to Shippable.
(cherry picked from commit 9979a32e5c)
2018-11-14 22:48:31 -08:00
cef08640a4 [stable-2.7] Add an example to serial usage (#48669)
(cherry picked from commit b759862daa)

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2018-11-14 17:13:20 -08:00
1dab508cd4 [stable-2.7] Relax ansible-test python version checking.
(cherry picked from commit d6cc3c4187)

Co-authored-by: Matt Clay <matt@mystile.com>
2018-11-13 22:46:04 -08:00
ce9f2e6147 docker_container: fix tests and idempotency for init and shm_size (#48551)
* Fix tests: use same command if not testing command option.

* Fix idempotency of init option.

* Fix shm_size idempotency (it is included in inspect results from docker API version 1.22 on).

* Add changelog.

(cherry picked from commit b1acabcd03)
2018-11-13 14:40:53 -08:00
476673f3e4 [stable-2.7] Support .yaml extension for meta file (#46505)
(cherry picked from commit e4cadddd70)
2018-11-13 14:38:38 -08:00
093ab2170d fix toc issue (#48616) 2018-11-13 13:57:29 -06:00
3dc806c371 [stable-2.7] Catch and handle quickly shutdown connections in reboot plugin (#48389)
(cherry picked from commit 886433bd5f)

Co-authored-by: Sam Doran <sdoran@redhat.com>
2018-11-13 10:21:25 -08:00
28290ee1e5 [2.7] docker_container: make condition less specific (#48593)
* docker_container: make condition less specific (#48590)

* Code seems to have changed from 409 to 400, so let's not check the code.

* Unpause container before removing it.

* Improve code.

* Same for stop_container.

(cherry picked from commit f3a3f42490)

* Add changelog.
2018-11-13 06:39:41 -08:00
642cd53857 k8s_facts: fix handling of unknown resource types (#47857)
(cherry picked from commit a5c8e952e8)
2018-11-12 20:32:04 -08:00
Ali
84db20ea07 Updated documentation for the k8s module
(cherry picked from commit 0b15e1df9c)
2018-11-12 19:31:48 -08:00
dc21c0c0b0 Do not reboot after updating BIOS configuration
(cherry picked from commit 2b74a17996)
2018-11-12 19:31:23 -08:00
99104c25ed vultr_server_facts: add tests and changelog for firewall group fix in #48342 (#48411)
(cherry picked from commit 9050c7abeb)
2018-11-12 19:30:28 -08:00
73f63b3bce vultr_server_facts: fix gather facts fails when firewall is enabled on a VM (#48342)
(cherry picked from commit 2436aa1a4e)
2018-11-12 19:30:28 -08:00
9389862d97 added faq entry on ansible_host + delegation (#48438)
(cherry picked from commit 7ca6af396e)
2018-11-12 19:30:18 -08:00
f4da73280c Bug 42787 create volume with label (#46527)
* add None value to docker-version so it can be mocked in tests
2018-11-12 19:29:46 -08:00
a08d0eab32 clarify port.mode paramter requiremets, fail if unmet (#47938)
* clarify port.mode paramter requiremets, fail if unmet

* changelog fragment

* shorten too long line

* remove unnecessary indentation

* test version on docker_version for better maintainability

* normalize imports

* changelog fragment: minor_changes -> bugfixes

* rollback e96a7e57dfefd566fa47cf465a759637affd4795

* typo

Co-Authored-By: dariko <dariko@users.noreply.github.com>

(cherry picked from commit 89bcd3ff1e)
2018-11-12 19:29:46 -08:00
b126a21963 Docker volume fix labels (#48536)
* Add integration test for labels (which fails).

* Changing labels from list to dict.

* Add changelog.

(cherry picked from commit feb60b947c)
2018-11-12 19:27:23 -08:00
709845436e Update plugin filter documentation (#46665)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 6d36849f72)
2018-11-12 19:25:01 -08:00
50e6361c3f (Backport) ec2_instance, ebs_optimized not sub-option of network (#48467)
* ec2_instance: ebs_optimized is not sub-option of 'network' (#48341)

* ebs_optimized is not suboption of 'network'

* Add Shaps as ec2_instance maintainer

* Added workaround-backward compatible check for ebs_optimized

* Added ebs_optimized test

* CI fixes, dynamic select of ENA-enabled AMI

(cherry picked from commit b7d9feb7dc)

* Added changlog fragment for PR #48341

* fixed yaml errors in changelog
2018-11-12 19:23:31 -08:00
483226cdce Fix consistency issue in grafana_dashboard module. (#47459)
* Move check for 'dashboard' key to before the create/update if statement.
* Add changelog fragment for PR #47459

(cherry picked from commit 880762e07e)
2018-11-12 19:22:43 -08:00
1abd90e3e6 Backport/2.7/47695 - pamd fixes (#48307)
* pamd: fixes for multiple issues (#47695)

* Providing fix for #47083 in pamd.py

* Providing fix for #47197

* Fixing pep8 errors

* update regex to account for leading dash and VALID_TYPES with dashes as well

* use a results dictionary and clean up unnecessary items

* remove unnessecary return value. action is already reported in invocation output

* make naming consistent across action returns

* fix comparison so it checks equality instead of identity and indentation in update_rule()

* make sure file always has EOF newline

* updated regex to skip spacing between path and args and add rule arg regex to capture complex args

* new module argument parsing code in function and DRY changes

* remove unused has_rule method on PamdService class

* fix error in parse_module_arguments()

* updated args_present action to make it handle key value args and fail on complex bracketed arguments

* pep8 and other fixes so units still work

* suggested change - make version removed 2.8

Co-Authored-By: shepdelacreme <shepdelacreme@users.noreply.github.com>

* add more error proof test to if statement

(cherry picked from commit ef690e928f)

* add changelog fragment for backport

* add action return value back for backport
2018-11-12 17:36:55 -08:00
f027f44ce4 [stable-2.7] Fix pip idempotence in check mode
PIP package names must be case insensitive, and must consider hyphens
and underscores to be equivalent
(https://www.python.org/dev/peps/pep-0426/#name), because of this the
module didn't work correctly in check mode. For example if the passed
package name had a different case or an underscore instead of a hyphen
(or the other way around) compared to the installed package, check mode
reported as changed, even though packages were installed. Now the module
ignores case and hyphens/underscores in package names, so check mode
works correctly.
(cherry picked from commit b89b688)

Co-authored-by: Strahinja Kustudic <kustodian@gmail.com>
2018-11-11 10:14:35 -08:00
33ccd3b78d [2.7] Fix advertise addr (#48405)
* Fix advertise addr (#47608)

* Fix issue #46326

* Update example to create a default swarm

(cherry picked from commit 87de2dde9f)

* Add changelog.
2018-11-09 10:15:22 -08:00
6b13127830 Manual cherry pick of commit e4a2d2423a in PR 47912 due to deleted
repository. As requested back port documentation change from devel(2.8) to stable-2.7
2018-11-09 10:13:45 -08:00
264bc930ef [stable-2.7] make password locking in user module idempotent (#43671)
* Simplify logic and add FreeBSD & NetBSD

* Remove incorrect flag for lock and unlock on FreeBSD

* Add tests and changelog

Co-authored-by: Chris Gadd <gaddman@email.com>
(cherry picked from commit f75a84e382)

Co-authored-by: Christopher Gadd <gaddman@email.com>
2018-11-09 10:07:03 -08:00
8cd7970b98 [stable-2.7] Always use /proc/sys/kernel/random/boot_id to confirm reboot on Linux (#47017)
* Always use /proc/sys/kernel/random/boot_id to confirm reboot on Linux

/proc/sys/kernel/random/boot_id is available since kernel 2.3.16 and
should be safe to rely on.

The previously used method by checking the system boot time using who -b
turned out to be unreliable: Some systems lacking an RTC report the Unix
epoch as boot time, but the code trying to detect that did't always
work.

Closes #46562

* Change DEFAULT_BOOT_TIME_COMMAND

- change to usinsg /proc by default
- add BOOT_TIME_COMMANDS for BSD, Solaris, and macOS
(cherry picked from commit ae7b9ea8cd)

Co-authored-by: Stefan Siegel <ssiegel@sdas.net>
2018-11-09 10:06:24 -08:00
985d0b8ac5 [stable-2.7] Prevent duplicate entries in rhsm_repository module (#48107)
* Complie regular expressions for better performance

* Skip on empty lines

This fixes a bug where the previous repo would be inserted in the result twice since an empty line did not match any of the conditions that would exit the loop iteration.
(cherry picked from commit 1e3b704ff1)

Co-authored-by: Sam Doran <sdoran@redhat.com>
2018-11-09 10:05:38 -08:00
9138a95402 [stable-2.7] user: fix removing the expiry time when it's 0 (#47115)
* user: fix removing the expiry time when it's 0

* Improve tests and add changelog

Co-authored-by: Martin Krizek <martin.krizek@gmail.com>
(cherry picked from commit 41dfc5162f)

Co-authored-by: Martin Krizek <martin.krizek@gmail.com>
2018-11-09 10:04:50 -08:00
4156d01c01 yum also parse obsolete package output (#45365)
* yum also parse obsolete package output

This is a rebase of the patch originally proposed in
https://github.com/ansible/ansible/pull/40001 by machacekondra

Fixes #39978

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

* properly parse the obsoletes, provide a new output entry, add changelog

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

* make pep8 happy

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

* remove q debugging output

Signed-off-by: Adam Miller <admiller@redhat.com>
(cherry picked from commit 091fb1dc3f)
2018-11-09 10:03:58 -08:00
7f29557016 Provide flexibility when retrieving facts (#46148)
* Provide flexibility when retrieving facts

* Check if keys exist before trying to read

(cherry picked from commit 81640a2c67)
2018-11-09 06:46:22 -08:00
0ee072fffc mail: fixed STARTTLS module working with python 3.7.0 (#47412)
(cherry picked from commit 8c9070ec05)
2018-11-08 17:24:43 -08:00
71ee1adf0b Backport/2.7/48148: net_put module leaves empty files behind (#48151)
* cleanp net_put temp file (#48148)

(cherry picked from commit d2c7665be9)

* add changelog entry
2018-11-08 17:18:21 -08:00
b000c1633d vultr: fix for API returned unexpected empty list (#48036)
* vultr: fix for API returned unexpected empty list

* add changelog

(cherry picked from commit 788247583b)
2018-11-08 17:13:56 -08:00
90fe1be33a win_uri: stop output from mixing with module result (#48140)
(cherry picked from commit 8a9d7b3695)
2018-11-05 17:42:52 -08:00
d12dcfc3f6 [stable-2.7] Add Makefile to simplify upstream releases.
(cherry picked from commit 6a351c9c86)

Co-authored-by: Matt Clay <matt@mystile.com>
2018-11-05 16:51:50 -08:00
fda6fff39b [stable-2.7] Pin openshift version for k8s test.
This will avoid spontaneous test failure for new releases of openshift on PyPI.
(cherry picked from commit 150cdd7931)

Co-authored-by: Matt Clay <matt@mystile.com>
2018-11-05 16:25:59 -08:00
3a14fe35e9 Correct yum and dnf autoremove behavior (#47902)
* Correct yum and dnf autoremove behavior

Sanity check args passed to autoremove

Fixes #47184

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

* fix docs

Signed-off-by: Adam Miller <admiller@redhat.com>
(cherry picked from commit 1c777976c5)
2018-11-05 15:15:43 -08:00
bab062d639 [stable-2.7] User module - allow bang and exclamation in password field without warning (#46498)
* Allow bang and exclamation without warning

Allow the password field to be ! or * without warning when using this feature to create accounts that are locked.

Add documentation  and tests to cover this.

* Use set() rather than braces for Python 2.6
(cherry picked from commit 066af3b6ca)

Co-authored-by: Sam Doran <sdoran@redhat.com>
2018-11-05 15:14:42 -08:00
12271999e2 Backport/2.7/47621 (#48129)
* NetApp bugfix for na_ontap_snapmirror (#47621)

* Bug fixes for Snapmirror

* Bug fixes for Snapmirror

(cherry picked from commit 8f3e297d7d)

* add fragment
2018-11-05 15:12:46 -08:00
23851bc8fe Fix argument_spec for modules that are using the old version (#47693) (#48127)
* Fix argument_spec for modules that are using the old version (#47693)

* Use correct argument spec

(cherry picked from commit 0cf88809ef)

* Add fragment
2018-11-05 15:12:05 -08:00
64b6637a6f ansible-galaxy docs: fix init of container role (#47853)
(cherry picked from commit ec32bda2ef)
2018-11-05 15:10:52 -08:00
dfdc7ec90c Updates variables docs: facts examples, headers, links, etc. (#47767)
* refreshes ansible facts output and updates some references/headers

(cherry picked from commit 7db63851e0)
2018-11-05 15:10:52 -08:00
af18d3c451 Updates intro to dynamic inventory page (#46799)
* Added Foreman to the list of inventory scripts
(cherry picked from commit 8bc4a18500)
2018-11-05 15:10:52 -08:00
b17142358a updates language about documentation versions and releases on index page (#46465)
(cherry picked from commit e97391b7ab)
2018-11-05 15:10:52 -08:00
bc1d0f5e61 removes docs/api dir from .gitignore and Makefile (#47366)
* removes docs/api dir from .gitignore and Makefile

* reduces noise on removing build artifacts

(cherry picked from commit f1ad012375)
2018-11-05 15:10:52 -08:00
86eb3b5b98 adds stub API docs in a single file (#46663)
* adds stub API docs in a single file

(cherry picked from commit 9764f32513)
2018-11-05 15:10:52 -08:00
68aa3e24a8 cherrypick for #46786 2018-11-05 15:10:52 -08:00
ed5f0d5c45 Add docs for inventory caching (#46402)
* Add docs for inventory caching

* Fix subsection headers

* Fix top header

(cherry picked from commit c4d1f0d416)
2018-11-05 15:10:52 -08:00
58cd460952 moved 'strftime' filter into 'Other Useful Filters' section (#45801)
(cherry picked from commit 065b7ac300)
2018-11-05 15:10:52 -08:00
e3a2bf97a7 fix doc links (#46094)
(cherry picked from commit c5a8a911b3)
2018-11-05 15:10:52 -08:00
30acec79f4 Infoblox scenario guide (#45664)
* creates infoblox scenario guide
* adds link to infoblox guide from modules
* adds WAPI to prerequisites

(cherry picked from commit df3655968f)
2018-11-05 15:10:52 -08:00
3438429e22 WIP: fix build errors due to missing certified_supported label (#46835)
* fix build errors due to missing certified_supported label

* fixed references and toc

(cherry picked from commit db3d920cfd)
2018-11-05 15:09:42 -08:00
bb8bef623b change UCS modules to certified (#46848)
(cherry picked from commit 0dd17b521f)
2018-11-05 11:20:36 -08:00
4861a0580c cherrypick f5 certification fix 2018-11-05 11:20:36 -08:00
01168541c8 Mark NIOS modules as certified (#46973)
* updated NIOS community modules to certified

* moved remaining nios modules to certified

(cherry picked from commit f138f7019f)
2018-11-05 11:20:36 -08:00
fa564e2ea8 Change netapp ontap and elementsw modules to certified (#46974)
* netapp ontap and elementsw modules to certified

(cherry picked from commit 4513298971)
2018-11-05 11:20:36 -08:00
82bedabb8c mark Cisco ACI modules certified (#46842)
(cherry picked from commit e43869cca9)
2018-11-05 11:20:36 -08:00
e34ab2b7a4 cherrypick aci cert module 2018-11-05 11:20:36 -08:00
0be3307bac [stable-2.7] Fix return statement where we short circuit _get_delegated_vars (#48102)
(cherry picked from commit cb5626c)

Co-authored-by: Matt Martz <matt@sivel.net>
2018-11-05 11:19:47 -08:00
5dfd7c181f [2.7] aci_iplpg: Support missing aep (#48115)
* aci_iplpg: Support missing aep

* Adapt integration tests to fix

* Add changelog fragment

* Fix PEP8 issue
2018-11-05 10:52:04 -08:00
c78945d184 Add changelog fragment 2018-11-05 10:50:39 -08:00
5201ffcf3a Adapt integration tests to fix
Conflicts:
	test/integration/targets/aci_access_port_to_interface_policy_leaf_profile/tasks/main.yml
2018-11-05 10:50:39 -08:00
4fa4d13024 aci_aptiplp: Support missing policy_group 2018-11-05 10:50:39 -08:00
d4152e161d Add issue 47301 changelog fragment 2018-11-05 10:49:48 -08:00
7adc293f65 Add lvg module idempotence test
To ensure that the lvg module is tested for idempotency,
we add a basic integration test.

Support for MacOS and FreeBSD are skipped because the
module does not currently support those platforms.

(cherry picked from commit 204b40f706)
2018-11-05 10:49:48 -08:00
14a35eb002 Fix lvg module idempotency
In [1] changes were made to ensure that the physical
devices were appropriately filtered, but the dev_list
which is used to prepare the filter is modified from
the original arguments to resolve any symlinks. This
results in the existing devices given in the module
args to be left out of the filter, resulting
in the module trying to add the same device again
every time the task is executed.

In this PR we change dev_list to be a copy of the
module arguments so that we're able to add the given
pv list from the module arguments into the filter
as well, ensuring that there is idempotence when
running the task again.

[1] https://github.com/ansible/ansible/pull/38446

(cherry picked from commit 1bae00b5d2)
2018-11-05 10:49:48 -08:00
02b63c4732 Make service_facts return value documentation visible (#47701)
(cherry picked from commit 276634c808)
2018-11-05 10:48:19 -08:00
161ae2659c tower{job,workflow}_template: use same retries value (#47865)
(cherry picked from commit 6f8ffeb6bf)
2018-11-05 10:48:19 -08:00
19dde1183f Explain what happens when gpgcheck is not set in yum
PR #45796

(cherry picked from commit 34b8cbd365)
2018-11-05 10:48:19 -08:00
d876421b41 Adapt integration tests to fix 2018-11-05 10:25:08 -08:00
7de09a4652 Reorganize code 2018-11-05 10:25:08 -08:00
ac2c1a89a8 aci_switch_leaf_selector: Support empty policy_group 2018-11-05 10:25:08 -08:00
b0b9b4f7dd docker_container: fix container removal when auto_remove is used (#48061)
* Fix container removal when auto_remove is used.

(cherry picked from commit af2b477950)
2018-11-05 10:10:34 -08:00
9ac8763df2 ldap_attr bugfix (#48009) (#48106)
* ldap_attr bugfix (#48009)

(cherry picked from commit ee13bc248b)

* changelog
2018-11-05 10:10:16 -08:00
f3d47e918b net_put: Fix trivial documentation typo
In commit 30688fe the template value of the mode parameter was
renamed to text. Change another mention of this parameter.
2018-11-05 10:09:50 -08:00
bb2281c3e2 Make tests fail less often with strange errors. (#48059) 2018-11-05 10:09:12 -08:00
49de1f1c7c Improve paused test and behavior. (#48056)
(cherry picked from commit 569ec812e7)
2018-11-05 10:09:12 -08:00
0742f00c29 docker_container: fix paused and add some tests (#47900)
* cleanup is already tested.

* Add test for paused.

* Add recreate and restart tests.

* timeout is a common docker option

* Implement paused and fix paused test.

* Add changelog.

* Improve paused test.

(cherry picked from commit 65768b996d)
2018-11-05 10:09:12 -08:00
ccdf1a61c4 docker_* modules: simplify idempotency comparisons (#47709)
* More generic comparison code from docker_container to docker_common.

* More flexibility if a is None and method is allow_to_present.

Note that this odes not affect docker_container, as there a is never None.

* Update docker_secret and docker_config: simplify labels comparison.

* Added unit tests.

* Use proper subsequence test for allow_more_present for lists.

Note that this does not affect existing code in docker_container, since lists
don't use allow_more_present. Using allow_more_present will only be possible
in Ansible 2.8.

* pep8

(cherry picked from commit 73533d3fc2)
2018-11-05 10:09:12 -08:00
eef35f19bc Fixing idempotency test. (#48038)
(cherry picked from commit 8eb656de8b)
2018-11-05 09:42:17 -08:00
0dd8d73a38 docker_network: adding/updating tests (#47775)
* Add substring test (fixes #32927).

* Extend idempotency tests (fixes #32580).

(cherry picked from commit 2dab10f1ec)
2018-11-05 09:42:17 -08:00
953568e213 fix missing exceptions openstack modules (#48088)
* Fix missing exceptions (#45775)

* Replace non-existing OpenStackCloudTimeout exception. Fixes: #45151

* Replace OpenStackCloudURINotFound that doesn't exist in the 'exceptions' module

(cherry picked from commit eb39c461ce)

* add changelog
2018-11-05 09:36:57 -08:00
fb551bf62c docker_container: simplify minimal required version per option handling (#47711)
* Store parsed docker-py / docker API versions in client.

* Began refactoring 'minimal required version' for docker_container options.

* Removing some fake defaults.

* Added changelog.

* Improve tests (check older docker versions).

* Fix comparison. The breaking point is not docker-py 2.0.0, but 1.10.0.

(Verified by testing with these versions.)

* Move docker-py/API version detection to setup_docker.

* Add YAML document starter.

* docker_network requirement for docker-py was bumped to 1.10.0 in #47492.

(cherry picked from commit 3cca4185be)
2018-11-05 09:33:49 -08:00
5153286719 docker_container: fix ipc_mode and pid_mode idempotency (#47997)
* Fix ipc_mode and pid_mode idempotency when container names are used.

* Add changelog.

* Update pid_mode documentation.

(cherry picked from commit 35809e99bc)
2018-11-05 09:33:11 -08:00
c63c4273df changelog
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-11-05 09:31:36 -08:00
3362205f81 nxos_evpn_vni check_mode (#46612)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit d69700b236)
2018-11-05 09:31:36 -08:00
ff467a2bdf Add changelog
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-11-05 09:31:36 -08:00
35eec7b1b0 Add force disruptive option (#47694)
* Use expect module to copy files

* Add force option for disruptive upgrades

* Revert changes to copy_kick_system_images.yaml

(cherry picked from commit c53e3ca8e9)
2018-11-05 09:31:36 -08:00
5f0d691716 fix trailing command in net_neighbors nxos_facts (#47548)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit d79b6c8406)
2018-11-05 09:31:36 -08:00
080aa35c5b ACME: add support for POST-as-GET if GET fails with 405. (#44988)
* Add support for POST-as-GET if GET fails with 405.

* Bumping ACME test container version to 1.4. This includes letsencrypt/pebble#162 and letsencrypt/pebble#168.

* Also use POST-as-GET for account data retrival.

This is not yet supported by any ACME server (see letsencrypt/pebble#171),
so we fall back to a regular empty update if a 'malformedRequest' error is
returned.

* Using newest ACME test container image.

Includes letsencrypt/pebble#171 and letsencrypt/pebble#172, which make Pebble behave closer to the current specs.

* Remove workaround for old Pebble version.

* Add changelog entry.

* First try POST-as-GET, then fall back to unauthenticated GET.

(cherry picked from commit 92d9569bc9)
2018-11-05 09:31:05 -08:00
e8a6bdc17a Refactoring GET request handling. (#45051)
(cherry picked from commit 26edeb7cce)
2018-11-05 09:31:05 -08:00
949ffe6da7 VMware: Handle exception for no snapshot while cloning (#47924)
Handle exception when there is no snapshot available in virtual machine or template while cloning using vmware_guest.

Fixes: #47920

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 487f2f25ce)
2018-11-05 09:29:46 -08:00
a89cd5a30f dnf yum: fix tests running on Fedora 29 (#47910)
* dnf yum: fix tests running on Fedora 29

* wrap in always block

(cherry picked from commit f0535bac80)
2018-11-05 09:28:06 -08:00
5273fc76c9 Update meraki_network.py (#47872) (#47953)
Fix examples from status to state
(cherry picked from commit ee7bbe1044)
2018-11-02 13:12:43 -05:00
2f55215db2 VMware: improve readability and fix privileges names on scenario_clone_template (#47960)
(cherry picked from commit 89f03314ce)
2018-11-02 11:54:43 -05:00
0812b87def Fix ansible-test invocation of pytest.
(cherry picked from commit 1939f6c412)
2018-11-01 11:39:24 -07:00
67c75af4fe Update default-test-container to version 1.4.1. (#47042)
(cherry picked from commit 5c7f876d0d)
2018-11-01 11:39:24 -07:00
4b85940bd8 Use 4 nodes for sanity tests in CI.
(cherry picked from commit 6a51b5ed26)
2018-11-01 11:39:24 -07:00
40db4a9cdb Fix ansible-test --exclude with delegation.
Previously the option worked with integration commands but not units or sanity.

(cherry picked from commit 38eba60849)
2018-11-01 11:39:24 -07:00
7229a9895f Add sphinx constraint for rstcheck compatibility.
(cherry picked from commit 7507bc9e19)
2018-11-01 11:39:24 -07:00
999674e7f0 Add constraint for pycparser.
(cherry picked from commit 6a1aa51a74)
2018-11-01 11:39:24 -07:00
3bac8a23d1 Split pylint runs into more contexts.
(cherry picked from commit ad940b86e4)

See: https://github.com/ansible/ansible/pull/47036/
2018-11-01 11:39:24 -07:00
a59c0dca2d Fix issues reported by the latest pylint.
(cherry picked from commit 4db054364a)

See: https://github.com/ansible/ansible/pull/47036/
2018-11-01 11:39:24 -07:00
71ad7da2f8 remove redundant md5 hashing
(cherry picked from commit d590f10d32)
2018-11-01 10:54:05 -07:00
c18eb52ade VMware: Fix documentation for cloning template (#47847)
Fixes: #46700

(cherry picked from commit ab0d90f882)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-11-01 10:13:09 -07:00
e6ed883ffd [backport 2.7] Fixes HTTP redirect issue (#45513) (#47822)
* Fixes HTTP redirect issue (#45513)

(cherry picked from commit e701b5a412)

* add changelog fragment
2018-11-01 10:10:44 -07:00
951572bec1 [backport 2.7] Check if enabled_snat is set in modules arguments (#46754) (#47807)
* Check if `enabled_snat` is set in modules arguments (#46754)

If `enabled_snat` is not set at all in module arguments but Neutron
policy sets it by default in Openstack, then `os_router` will attempt to
recreate otherwise perfectly good router.

Follow up for https://github.com/ansible/ansible/issues/44432#issuecomment-428531031

(cherry picked from commit c2b7174d31)

* Add changelog entry
2018-11-01 10:10:20 -07:00
01c0a6d699 [backport 2.7] Fix idempotency issues in set_bios_attributes (#47802)
* Fix idempotency issues in set_bios_attributes

- Added check to see if attribute even exists, if not, it exits.
- Then checks if attribute is already set to value we want to update
  it to. If yes, then it exits and changed=False
- Otherwise updates the attribute and changed=True

(cherry picked from commit 1c37471274)

* add changelog fragment
2018-11-01 10:08:37 -07:00
8a240ed54d [stable-2.7] Fix password lookup for FIPS
Fixes #47297
(cherry picked from commit 9906daa)

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2018-10-31 13:54:29 -07:00
1293076d7b plugin_filter: check for type error (#46664)
* Parsing plugin filter may raise TypeError, gracefully handle this exception
and let user know about the syntax error in plugin filter file.

* Test for plugin_filtering

Fixes: #46658

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit b32b4111b2)
2018-10-31 10:13:29 -07:00
44088ef64d yum: fix 'package == version' syntax (#47744)
(cherry picked from commit 4b8f2c99d2)
2018-10-31 10:11:47 -07:00
009a3b34bc VMware: correct logic to pass ESXi SSL thumbprint (#47600)
Due to refactoring of task_error and wait_for_task method,
SSL thumbprint was lost in error message. This fixes the
retry mechanism of AddHost task.

Fixes: #47563

(cherry picked from commit e7c83d6aa9)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-31 10:06:21 -07:00
08324198da docker_container: improve race condition behavior for detach:no, auto_remove:yes behavior (#47712)
* Don't die when get_container is called for container which is terminating during get_container call.

If it terminates between client.containers() and client.inspect_container(),
the module will fail with an error such as
    Error inspecting container: 404 Client Error: Not Found ("No such container: xxx")

* Add changelog.

(cherry picked from commit b9706e2ff5)
2018-10-31 10:05:39 -07:00
5bacb732ce Backport/2.7/44324 Fixes #30599 ini_file module: Options within no section managed (#47741)
* Addresses comments in #38971 (#44324)

* Controlled params within no section

* Added tests to control params within no section

* Cleaning output_file before creating no-section params and check the content

* addresses comment in PR "s/hate/beverage/g"

(cherry picked from commit d3fe6c01f2)

* 44324-ini_file
2018-10-31 10:04:29 -07:00
f94ee89545 VMware: restore timeout in set_vm_power_state operation (#47723)
'state_change_timeout' parameter was removed, this introduced
regression.

Fixes: #47722

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit a87a62ba8a)
2018-10-31 08:37:24 -07:00
37da0b2cec docker_image, docker_image_facts, docker_volume: add basic integration tests (#47383)
* Add docker_image_facts tests.

* Add basic integration test for docker_volume.

* Add basic docker_image tests.

* Only start test registry when tests are actually run (i.e. not on CentOS 6).

(cherry picked from commit f19ab56eb4)
2018-10-31 08:26:06 -07:00
414ee4759d [stable-2.7] Add missing self._supports_async to uri action plugin (#47677)
* Add missing self._supports_async to uri action plugin. Fixes #47660

* Additional changes needed to support async

* Missed a call to execute_module
(cherry picked from commit 3633e21)

Co-authored-by: Matt Martz <matt@sivel.net>
2018-10-31 08:25:15 -07:00
6cf1814105 ovirt_host_pm: Fix to powermanagement module (#47659)
This PR is fixing following issues:

 1) Don't try to check password.
 2) Check options.
 3) Order wasn't adding at the end, as doc says.

Signed-off-by: Ondra Machacek <omachace@redhat.com>
2018-10-31 08:24:25 -07:00
853236d650 VMware: Avoid misleading PyVmomi error if requests import fails
* Avoid misleading PyVmomi error if requests import fails

Requests is imported by the VMware module_utils as an external
dependency; however, because it is in a try/catch block containing the
imports for PyVmomi, if requests fails to import properly, Ansible will
instead complain about PyVmomi not being installed.

By moving the import outside of the try/catch block, if requests fails
to import, an error like the following will be returned:

    ImportError: No module named requests

This should result in less confusion.

* catch requests ImportError

Signed-off-by: Jim Gu <jim@jimgu.com>
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

(cherry picked from commit 99ee30768a)
2018-10-31 08:23:32 -07:00
1bf3d54e01 Molecule is now IRC: ansible-molecule (#47860) (#47863)
(cherry picked from commit f536944e3a)
2018-10-31 09:34:01 -05:00
b8cc4a3046 doc: Scenario guide for VMware HTTP API usage (#47686)
This adds scenario guide for using VMware HTTP API using uri module.

(cherry picked from commit e5318c5c4f)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-30 15:18:12 -05:00
21a0f0e782 Better description for the ce_vlan module (#47816) (#47819)
Description for the name and description was vague. I didn't get the first time reading that it was talking about a character limit.
(cherry picked from commit 7e9141e26e)
2018-10-30 14:55:33 -05:00
39e959eb0c [stable-2.7] bulk docs update (#47828)
* Document all Working Group, email lists and IRC channels (#47615)

(cherry picked from commit 749af9fd22)

* Docs: No need to follow up on backport PRs (#47616)

(cherry picked from commit 166e84b9c4)

* Tidy up Contributors Docs (#47619)

(cherry picked from commit 72359a10e6)

* Correct AWX community link (#47742)

(cherry picked from commit d189e58f63)

* ansible-lint and molecule part of Red Hat (#47826)

(cherry picked from commit 4572d9ccd7)
2018-10-30 14:45:41 -05:00
aaae3eb2c1 Adding a link for PR info (#47778) (#47820)
(cherry picked from commit e6d99cb2bf)
2018-10-30 14:41:25 -05:00
5c76043964 RabbitMQ documentation suggests that deleting queues/exchanges is not implemented, but it is (#46504) (#47818)
* Remove message suggesting that state: absent is not implemented for queues; same for exchanges

(cherry picked from commit a24700d120)
2018-10-30 14:39:37 -05:00
0dc15986c2 ovirt_host_network: Fix type conversion
Signed-off-by: Ondra Machacek <omachace@redhat.com>
2018-10-30 06:57:54 -07:00
6cfdd9f466 Add docs about contributing to docs (#46481) (#47658)
* adds page on community contributions to docs

(cherry picked from commit 4219d25fc7)
2018-10-26 08:18:42 -05:00
f17cd83826 2.7: adds 'success_msg' to valid args for assert module (#47030) (#47584)
* adds 'success_msg' to valid args for assert module (#47030)


(cherry picked from commit 0661f2f213)

* Add changelog
2018-10-25 15:20:26 -07:00
ffe80a14f6 [2.7] ios check_rc: Default to sending text of exception, not the whole exception (#47300)
* Default to sending text of exception, not the whole exception
(cherry picked from commit 6a866a5)

Co-authored-by: Nathaniel Case <this.is@nathanielca.se>
2018-10-25 15:19:46 -07:00
be05dcdbfb Backport/2.7/46157 (#47558)
* Changed django_manage to return changed as boolean consistently (#46157)


(cherry picked from commit ecdcb6a09f)

* Added changelog for previous change.
2018-10-25 15:19:13 -07:00
b5c69b83ca Update version to show we're in a checkout 2018-10-25 15:05:03 -07:00
c963ef1dfb New release v2.7.1 2018-10-25 13:12:52 -07:00
fb8f18dcde [stable-2.7] Fix from sivel for ansible-doc
* Major slow down due to using the wrong loader for plugin_types
* traceback due to adding httpapi and cliconf plugins to the plugins we
allow ansible-doc to process
(cherry picked from commit e5a245d)

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2018-10-25 12:49:58 -07:00
c901f2c3c4 [stable-2.7] Detect the socket path after starting the service. Fixes #47582
(cherry picked from commit 10e129e)

Co-authored-by: Matt Martz <matt@sivel.net>
2018-10-25 11:32:02 -07:00
c5df4c538d Fix mysql authentication errors
The mysql-server package on Ubuntu16.04 was recently updated to disallow
unauthenticated root user login over tcp/ip.  This, coupled with pymysql
using tcp/ip whenever host and port is specified causes us to fail to
connect to the database when testing Python3 on Ubuntu16.04.

The fix is to use the unix socket instead.

(cherry picked from commit 748ea39ecd)
2018-10-24 10:49:40 -07:00
1c9551f93d Use kubeconfig if either context or kubeconfig is set (#47373) (#47496)
* Use kubeconfig if either context or kubeconfig is set (#47373)

kubeconfig should be loaded if *either* or both of context
or kubeconfig is set (this allows picking a context and default
kubeconfig or picking a kubeconfig with default context)

Fixes #47149

(cherry picked from commit 00ccad9764)

* Add changelog for k8s auth config fix
2018-10-24 07:33:20 -07:00
136da25bbf WinRM/PSRP: Ensure shell returns UTF-8 output (#47404)
* WinRM/PSRP: Ensure shell returns UTF-8 output

This PR makes UTF-8 output work in PSRP shells.

* Add win_command and win_shell integration tests

* Fix tests

* more test fixes

(cherry picked from commit 691ff4b9e6)
2018-10-23 21:04:09 -07:00
1626b4c5cb psrp - fix unicode handling in Python 2 (#47461)
* psrp - fix unicode handling in Python 2

* skip psrp become test when on Server 2008

(cherry picked from commit f28b7c7ab1)
2018-10-23 21:04:09 -07:00
96b57a5c7a dnf properly gpg check local packages based on param (#47455)
* dnf properly gpg check local packages based on param

Fixes #43624

Signed-off-by: Adam Miller <admiller@redhat.com>
(cherry picked from commit 079705f8da)
2018-10-23 12:31:05 -07:00
916b1e34bd don't restrict disable_excludes choices incorrectly (#47453)
* don't restrict disable_excludes choices incorrectly

Fixes #47085

(cherry picked from commit 0e3e646189)
Signed-off-by: Adam Miller <admiller@redhat.com>
2018-10-23 12:30:45 -07:00
8a40514d2b [stable-2.7] Handle sets differently than lists in wrap_var. Fixes #47372 (#47510).
(cherry picked from commit f6ecdf0b87)

Co-authored-by: Matt Martz <matt@sivel.net>
2018-10-23 12:30:15 -07:00
376b199c05 [stable-2.7] Ensure we don't overwrite roles from include/import_role when loading the play (#47512)
* Ensure we don't overwrite roles from include/import_role when loading the play. Fixes #47454

* Add changelog fragment
(cherry picked from commit d5e4f37)

Co-authored-by: Matt Martz <matt@sivel.net>
2018-10-23 12:29:12 -07:00
18f07e828e [2.7] escape default prompt detection in telnet action plugin (#46573) (#47440)
* [2.7] escape default prompt detection in telnet action plugin (#46573)

This change fixes an issue with the default prompt handling.  The value
needs to be escaped otherwise it does not work when converted to bytes.
(cherry picked from commit 9180d2c)

Co-authored-by: Peter Sprygada <privateip@users.noreply.github.com>

* Add changelog
2018-10-23 09:27:01 -07:00
a9128b9fb0 ovirt_vm: Check next_run configuration update if exist
This PR fixes the update check method so it now check also the next_run
configuration of the virtual machine if it exists.

So if previously the VM was updated with new parameters, and then reset
back, the module didn't set the parameters to be set back in next_run.
This PR fixes it so the next run configuration is set back with proper
parameters.

Signed-off-by: Ondra Machacek <omachace@redhat.com>
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1639894
Signed-off-by: Ondra Machacek <omachace@redhat.com>
2018-10-23 08:36:40 -07:00
702820d673 [stable-2.7] Fix problem where pip module cannot accept multiple extras (#47449)
* [stable-2.7] Fix problem where pip module cannot accept multiple extras

PR #46937
Fixes #46519
(cherry picked from commit b697da3)

Co-authored-by: Zhikang Zhang <zzhang63@ncsu.edu>

* Add changelog
2018-10-23 07:16:36 -07:00
238939b523 [2.7] fix error checking if netns exists (#47397) (#47441)
* [2.7] fix error checking if netns exists (#47397)

This patch fixes an error that occurs when attempting to see if the
netns already exists on the remote device.  This change will now execute
`ip netns list` and check if the desired namespace is in the output.

Signed-off-by: Peter Sprygada <psprygada@ansible.com>
(cherry picked from commit 299a5e4)

Co-authored-by: Peter Sprygada <privateip@users.noreply.github.com>

* Add changelog entry
2018-10-23 07:16:10 -07:00
Dan
b5a887aa5e Fix nxos_ospf_vrf module auto-cost idempotency and module check mode (#47190)
* fixing idempotency and check mode

* modified to avoid repetitive code

(cherry picked from commit dcb35c4270)
2018-10-23 06:44:52 -07:00
039cde8460 Add changelog
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-10-23 06:44:52 -07:00
914eea8361 nxos_file_copy fix for binary files (#46822)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit 9c81634c77)
2018-10-23 06:44:52 -07:00
f0a706e4a0 docker_container: fix interaction of detach:no with auto_remove:yes (#47396)
* Behave better if auto_remove and output_logs are combined. Warn if output cannot be retrieved because of auto_remove.

* Add tests.

* Added changelog.

(cherry picked from commit 3afdb28209)
2018-10-23 06:44:12 -07:00
cb347c2096 [2.7] Fixes #33045: get existing containers in a network via inspect_network (Rebased #33048) (#47472)
* Fix #33045: get existing network via inspect_network (Rebased #33048) (#43997)


(cherry picked from commit 2939f68897)

* Add changelog.
2018-10-23 06:43:48 -07:00
f4081c2d97 docker_container: warn if ipvX_address is used for networks but not supported by docker-py (#47395)
* Only add parameters which are actually used.

* Fail if ipvX_address is used when not supported.

* Added changelog.

(cherry picked from commit 4ffe3b14d4)
2018-10-23 06:43:10 -07:00
719b99a96e ovirt_host_network: check for empty user_opts (#46695)
Signed-off-by: Ondra Machacek <omachace@redhat.com>
2018-10-23 06:42:38 -07:00
c91139bde3 ovirt_vm: Fix issue in SSO option
Currently the module will disable the SSO if we didn't pass any
value for SSO option. The PR fixes the same.

Signed-off-by: Ondra Machacek <omachace@redhat.com>
2018-10-23 06:41:53 -07:00
1d60d34b82 Fix option change detection / force support for docker_volume. (#47390) 2018-10-23 06:38:22 -07:00
816eee2c1e [2.7] zabbix_host: backport of #46521 (#47477)
* zabbix_host: fix link template error (#46521)

* add host interface before link template

(cherry picked from commit 5a35907b71)

* added changelog
2018-10-23 06:35:43 -07:00
47f2352d33 Fix prompt mismatch issue for ios (#47004)
* Fix prompt mismatch issue for ios

Fixes #40884 #44463 #46082

*  If the command prompt is matched check if data is
   still pending to be read from buffer.
*  This fix adds a new timer `buffer_read_timeout`
   which will be trigerred after command prompt
   is matched and data is attempted to be read from channel.
   If not data is present of channel the timer will expire
   and response we be returned to calling function.

* Update doc

* Fix review comments

* Update changelog

* Fix unit test CI failure

(cherry picked from commit 335a979f1d)
2018-10-23 06:34:46 -07:00
2d39ad036e fix yum proxy username/password handling (#47435)
* fix yum proxy username/password handling

Fixes #46249

Signed-off-by: Adam Miller <admiller@redhat.com>
(cherry picked from commit e4a4357322)

* add backport changelog
2018-10-23 06:31:07 -07:00
c204214df4 ovirt_vm: Fix initialization of cloud init
Fixes: https://github.com/ansible/ansible/issues/45900

This PR fixes the case when the cloud_init_persist was used, but we
still sent use_cloud_init=False, which is in oVirt API evaluated as not
to use cloud_init in first VM execution. This patch is changing it to
send just None, instead of False.

Signed-off-by: Ondra Machacek <omachace@redhat.com>
2018-10-23 06:30:22 -07:00
025c183307 ovirt_vm: Fix issue in setting the custom_compatibility_version to NULL
Currently there is no way to reset the custom_compatibility_version to
NULL. If we provide a empty string('') to custom_compatibility_version,
it will fail with error "IndexError: list index out of range" at _get_minor
function.

To reset the custom_compatibility_version, we have to pass None value to
types.Version. The PR fixes the same.

Signed-off-by: Ondra Machacek <omachace@redhat.com>
2018-10-23 06:29:26 -07:00
3b2a0de548 [stable-2.7] Revert "[stable-2.7] Handle sets differently than lists in wrap_var. Fixes #47372."
This reverts commit 0e933f76ba.

The tests for this were broken on centos6 because jinja2 does not have
a map filter on that platform.  Tests need to be rewritten.
(cherry picked from commit ccabc2bff5)

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2018-10-23 06:08:17 -07:00
ab1834f035 Fix auto scale create with fix date without recurrence (#47186) (#47258)
* Fix auto scale create with fix date without  recurrence (#47186)

* Fix auto scale create with fix date without  recurrence

* fix indent

(cherry picked from commit 9258ffa478)

* Create azure_rm_autoscale-fixed_date.yml changelog
2018-10-22 21:06:22 -07:00
bac6f99608 Ensure that k8s_facts always returns resources key (#46733) (#47253)
* Ensure that k8s_facts always returns resources key (#46733)

Fix bug returning `items` key if NotFound exception is hit

(cherry picked from commit b772485d97)

* Add changelog for k8s_facts fix
2018-10-22 21:05:31 -07:00
1a4604361f pamd: add delete=False to NamedTemporaryFile() (#47281)
* add delete=False to NamedTemporaryFile and remove print statement from module

* add changelog fragment

* use module.tmpdir from (#47133) and add changelog fragment for it as well

(cherry picked from commit c67ab296bb)
2018-10-22 20:09:44 -07:00
b618339c32 2.7: user: do not pass ssh_key_passphrase on cmdline (#47445)
* user: do not pass ssh_key_passphrase on cmdline

CVE-2018-16837

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
(cherry picked from commit a0aa53d1a1)

* Ignore user module use of subprocess.

(cherry picked from commit 8d00afc013)

* Fix python3 problem in user module cve fix

(cherry picked from commit 9088671c4e)

* Fix changelog entry for user module CVE fix

(cherry picked from commit 210a43ebeb)
2018-10-22 19:59:34 -07:00
b14c45a16c Handle dnf immutable mutable datatypes (#47434)
* Handle dnf immutable mutable datatypes

In DNF < 3.0 are lists, and modifying them works
In DNF >= 3.0 < 3.6 are lists, but modifying them doesn't work
In DNF >= 3.6 have been turned into tuples, to communicate that
modifying them doesn't work

Further explanation of this is available via Adam Williamson from
the Fedora QA Team.

    https://www.happyassassin.net/2018/06/27/adams-debugging-adventures-the-immutable-mutable-object/

Signed-off-by: Adam Miller <admiller@redhat.com>
(cherry picked from commit 70025e7b56)

* add backport changelog

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-10-22 19:11:45 -07:00
7812c065f4 Revert "Fix prompt mismatch issue for ios (#47004)"
This reverts commit 17cd01589a.

This commit was not passing CI.  Reverting
2018-10-22 18:33:58 -07:00
44ae37d78b mail: Fix regression when sending mail without SSL (v2.7) (#47019)
* mail: Fix regression when sending mail without SSL (v2.7)

When this module was refactored in #37098 the non-SSL use-case was broken.

The main cause is that we have no way to do integration tests for testing SMTP.

This is a back-port to v2.7 of #46403

* Add changelog fragment
2018-10-22 16:45:21 -07:00
0e933f76ba [stable-2.7] Handle sets differently than lists in wrap_var. Fixes #47372.
(cherry picked from commit c58de75f38)

Co-authored-by: Matt Martz <matt@sivel.net>
2018-10-22 16:32:26 -07:00
ce16286dee [stable-2.7] Fix exception when including tasks from handlers (#47307)
Set _notified_handlers for the task's _uuid that is run as a handler

Fix #47287
(cherry picked from commit 6497049)

Co-authored-by: Pablo <pablorf.dev@outlook.com>
2018-10-22 15:52:54 -07:00
17cd01589a Fix prompt mismatch issue for ios (#47004)
* Fix prompt mismatch issue for ios

Fixes #40884 #44463

*  If the command prompt is matched check if data is
   still pending to be read from buffer.
*  This fix adds a new timer `buffer_read_timeout`
   which will be trigerred after command prompt
   is matched and data is attempted to be read from channel.
   If not data is present of channel the timer will expire
   and response we be returned to calling function.

* Fix unit test failure

* Update to make buffer timeout float

* Update doc and fix review comment

* Fix CI issues

* Update doc

* Fix review comments

* Update changelog

(cherry picked from commit 335a979f1d)
2018-10-22 15:47:15 -07:00
57c25636d8 2.7: yum/dnf: fail when space separated string of names (#47109) (#47414)
* yum/dnf: fail when space separated string of names (#47109)

* yum/dnf: fail when space separated string of names

* Groups allow spaces in names

(cherry picked from commit e8b6864e21)

* Add changelog
2018-10-22 15:46:12 -07:00
d130c166ad Fix AWS EC2 inventory plugin caching of groups (#46961)
* Fix AWS EC2 inventory plugin caching of groups

* Added changelog fragment for aws_ec2 caching fix

* Store the AWS query results

The underlying inventory object contains inventory from other sources,
so caching it as ours would be wrong.
It seems easiest and safest to just cache the boto query results
instead.

* Remove unused functions

(cherry picked from commit 7ba09adee1)
2018-10-22 11:59:50 -07:00
5a0e016b4b psexec: Handle socket errors (Connection timeout) (Backport) (#47407)
* psexec: Handle socket errors (Connection timeout)

This ensures we get a nicer error message from psexec.

* Add changelog fragment
2018-10-22 11:34:25 -07:00
a636562818 psexec: better error on import failure (#47327)
(cherry picked from commit 013c44484a)
2018-10-22 10:41:19 -07:00
69568b4ca8 [2.7] docker_container: fix memory_swappiness documentation (#47378)
* Documentation for docker_container: fix documentation for memory_swappiness. Default value will not equal 0, it will be inherited from the host machine (#47296)


(cherry picked from commit 4c2efa4b67)

* Add changelog.
2018-10-22 10:40:27 -07:00
b47bf26c67 docker_network: add basic integration tests (#46137)
* Adding very basic integration tests for docker_network.

* Fixing some details (review comments).

(cherry picked from commit 131efcff9d)
2018-10-22 10:39:29 -07:00
7d936c12fd [2.7] Update some cliconf plugins (#47141) (#47310)
* [2.7] Update some cliconf plugins (#47141)

* Add `check_all` to many community cliconf plugins
(cherry picked from commit 7844a40)

Co-authored-by: Nathaniel Case <this.is@nathanielca.se>

* Add changelog entry
2018-10-22 10:35:27 -07:00
f1db8985e3 [stable-2.7] Don't use the task for a cache, return a special cache var (#47243)
* Don't use task to cache loop results, use hostvars. Fixes #47207

* Avoid a race condition, supply _ansible_loop_cache through get_vars directly

* Add tests

* Add changelog fragment

* Remove unnecessary copy

* Remove unnecessary host from _get_delegated_vars signature.
(cherry picked from commit 77d32b8f57)

Co-authored-by: Matt Martz <matt@sivel.net>
2018-10-22 10:33:19 -07:00
46c217feda Do not strip new lines in native jinja (#46751)
* Do not strip new lines in native jinja

* Add changelog/fragment

(cherry picked from commit 541255a2d8)
2018-10-22 09:47:45 -07:00
ee45520e05 [stable-2.7] get_url: Updates documentation for proper use of headers (#47242)
* Fixes the example for headers in documentation

* remove whitespace

* missed a whitespace
(cherry picked from commit 3b5471a)

Co-authored-by: Nate Borener <33846287+borener@users.noreply.github.com>
2018-10-22 09:45:06 -07:00
f7c5c466be Add changelog. 2018-10-22 09:44:30 -07:00
dcdd8c2544 Fixup of #47046. (#47274)
(cherry picked from commit 89f239f187)
2018-10-22 09:44:30 -07:00
441e6fdcc1 docker_* modules: unify docker module version checks (#47046)
* Unify docker module version checks.

* Improve messages depending on required docker-py versions.

* Linting.

(cherry picked from commit 32e8251f86)
2018-10-22 09:44:30 -07:00
d82c5fb55f [aws] ec2_vol_facts: only access volume tags when set (#46801)
(cherry picked from commit e744c83808)
2018-10-22 09:06:14 -07:00
7690659f7f openss: fix various test and Python 3 issues (#47188)
(cherry picked from commit 6666b070a9)
2018-10-22 08:59:23 -07:00
28ed7f722e docker_service: parse scale parameter correctly to 2.7 (#47239)
* fix: Parse docker_service scale parameter to int (#45508)

* Changelog: add fragment for docker_service scale fix
2018-10-22 08:58:18 -07:00
429c8f50fe test: filesystem update note on test comment (#47260)
(cherry picked from commit 5d2927c9a0)
2018-10-22 08:54:59 -07:00
682e4957d4 filesystem: fix test to work on newer Fedora (#47176)
(cherry picked from commit ae5aeb9a67)
2018-10-22 08:54:59 -07:00
24d7ccd182 Backport: junos terminal regex prompt fix to v2.7 (#47203)
* Fix junos terminal regex (#47096)

Fix junos stdout regex

Change at hing

(cherry picked from commit fc341e01fa)

* Changelog: adds fragment for junos fix terminal
prompt regex

* Proper yaml formatting
2018-10-22 08:38:12 -07:00
20fc17a55f postgresql_user: fix test errors on newer Fedora versions (#47166)
(cherry picked from commit dd46f953f6)
2018-10-22 08:37:32 -07:00
940eb3ae47 gem: fix tests to work on newer Fedora hosts (#47158)
(cherry picked from commit f720499337)
2018-10-22 08:36:40 -07:00
20c1cf41a4 [stable-2.7] Use the copied and merged task for calculating task vars in the free strategy. Fixes #47024 (#47060)
(cherry picked from commit c3d5779)

Co-authored-by: Matt Martz <matt@sivel.net>
2018-10-22 08:36:00 -07:00
7269eb5413 ansible-test: add retry for Windows httptester download (#47334)
(cherry picked from commit e6a327fb82)
2018-10-19 07:30:25 -07:00
7f4945a8f1 win httptester: add wait for endpoint in case it is still coming up (#47326)
(cherry picked from commit c0546b4133)
2018-10-18 21:03:18 -07:00
a2c2dffceb Add constraint for requests on python 2.6. (#47306)
* Add constraint for requests on python 2.6.
* Use constraints in lookup_hashi_vault test.

(cherry picked from commit f74f7b0373)
2018-10-18 14:23:36 -07:00
62914e04be Add constraints to pip install in setup_docker.
(cherry picked from commit 14da4d66f2)
2018-10-18 14:23:36 -07:00
c0b0dd7e6e Mark azure_rm_{appserviceplan,webapp} unstable.
(cherry picked from commit 1947d903cd)
2018-10-17 11:38:23 -07:00
b2381cfac9 fixes to ansible-doc (#47209)
* Adoc fixes (#47137)
* removed hardcoded loader/plugins list
* updated a few errors to keep orig object
* fix httpapi/cliconf listing
* ansible-doc fixes
* show undocumented as UNDOCUMENTEd
* added missing undoc

(cherry picked from commit fce9673ac1)

* An earlier optimization of ansible-doc -l caused failures. (#47012)
The optimization quickly searches the plugin code for short_description
fields and then uses that in the -l output.  The searching was a bit too
naive and ended up pulling out malformed yaml.  This caused those
plugins to be omitted from the list of plugins of that type with
a warning that their documentation strings were wrong.

This change makes the documentation parser aware that the documentation
string could have a relative indent for all of its fields which makes it
robust in the face of this particular problem.

* Don't search for space after short_description:

Any whitespace would be valid.  In particular newline

(cherry picked from commit 61ae6424a3)
2018-10-17 11:40:02 -05:00
8810e9f9e2 [stable-2.7] Add porting guide note about inline vars on import/include_tasks (#47121) (#47130)
* Add porting guide note about inline vars. Fixes #47102
(cherry picked from commit abe6477)

Co-authored-by: Matt Martz <matt@sivel.net>
2018-10-17 10:50:52 -05:00
2eb148e727 ansible-test: setup up http runner in between each target (#47100)
* ansible-test: setup up http runner in between each target

* review changes

(cherry picked from commit 9a5561da0f)
2018-10-16 16:49:31 -07:00
0629fd96bd ansible-test: run win httptester with bypass policy (#47090)
(cherry picked from commit 69e1088ec1)
2018-10-16 16:49:31 -07:00
c085cae991 test: openssl 1.1.x compatibility (#47112)
(cherry picked from commit 9ba33f6ac1)
2018-10-16 16:49:01 -07:00
02bd829dd2 [stable-2.7] Update requirements for urllib3 for python 2.6.
(cherry picked from commit d048785640)

Co-authored-by: Matt Clay <matt@mystile.com>
2018-10-16 15:39:58 -07:00
60e7f43998 [stable-2.7] Restore SIGPIPE handler to DFL on POpen
Python sets the SIGPIPE handler to SIG_IGN. On execv() signal handlers are
reset to their defaults, EXCEPT those that are SIG_IGN which are left ignored.
In Python 3 subprocess.popen explicitly resets the SIGPIPE handler to SIG_DFL,
but unfortunately in Python 2.7 it does not. This leads to subprocesses being
executed with SIGPIPE ignored. This is often a problem with bash scripts which
rely on SIGPIPE to terminate commands in a pipe, but can easily be a problem
with other applications.

This implements the Python 3 behaviour for Python 2.7 by using a preexec_fn.
(cherry picked from commit f2dccb9)

Co-authored-by: Jonathan Oddy <jonathan.oddy@transferwise.com>
2018-10-15 10:54:04 -07:00
da07b58c3b Fix in confirmed_commit capability in netconf_config modules (#46964)
* Fix in confirmed_commit capability in netconf_config modules

Fixes #46804

*  If confirm value is greater than zero or confirm_commit option is set and confirmed-commit
   capability is not supported but Netconf server only in that case fail the module

* Update confirm-commit flag

* Update changelog

(cherry picked from commit 5394638047)
2018-10-15 10:06:45 -07:00
977f094741 Fix iterator to list conversion in ldap_entry module
PR #45778 fixes #45417

(cherry picked from commit 7a747341fb)
2018-10-15 10:05:55 -07:00
3a02228b00 Clean playbook filters doc by adding whitespaces
(cherry picked from commit 1e23c79d18)
2018-10-15 09:58:33 -07:00
ff5073c10b win test: add http tester container to Windows tests (#46606)
(cherry picked from commit 6e2897647c)
2018-10-15 09:57:49 -07:00
377540348c ansible-test: add skip/windows/... alias to skip tests on specific Windows versions (#46845)
* ansible-test: add skip/windows/... alias to skip tests on specific Windows versions

* show what tests were skipped

* changes to logic to only skip if all Windows targets are set to skip

* codestyle improvements

* change warning message based on review

* check args type before running the Windows path

(cherry picked from commit 0f5331645f)
2018-10-15 09:57:49 -07:00
f16bb4daf4 Fixing assigning ssl certificate to http listener in app gateway (#45… (#46027)
* Fixing assigning ssl certificate to http listener in app gateway (#45830)

* fixed ssl certificate reference

* modified test

(cherry picked from commit 83645963fb)

* added chagelog
2018-10-15 09:57:02 -07:00
e841e7b53d use ansible json encoder for results in callbacks (#46830)
* use ansible json encoder for results in callbacks

(cherry picked from commit 643ff29d2d)
2018-10-12 12:41:39 -07:00
97a3e59ce8 better information for user from inventory plugins (#46766)
* better information for user from inventory plugins

 - use foreman as example



(cherry picked from commit 9e0c2a658f)
2018-10-12 10:38:57 -07:00
30c1a1933e [stable-2.7] Do not use mutable defaults in FieldAttribute, instead allow supplying a callable for defaults of mutable types. Fixes #46824 (#46833).
(cherry picked from commit a06a5ded61)

Co-authored-by: Matt Martz <matt@sivel.net>
2018-10-12 10:38:38 -07:00
dcc37b6eb9 Locate prtdiag even when absent from /usr/bin (#44113)
* Locate prtdiag even when absent from /usr/bin

On Solaris 8 hosts, this prevents fact collection from aborting with:

    Argument 'args' to run_command must be list or string

* Lint fix.

* Style: pass /usr/platform/.../sbin as optional path to get_bin_path().

(cherry picked from commit 40fb992a6f)
2018-10-12 10:34:51 -07:00
c982295f6c VMware: Refactor disc logic (#39285)
* Refactoring related to network device
* Assign unique random temporary key while creating SCSI or/and IDE controller devices
* Add testcase for this change

Fixes: #38679

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit fd985db72d)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-12 10:32:51 -07:00
9a2e192e8a Fix os_router ignores enable_snat: no (#45921)
If enable_snat is False, this should be used to build the
request, because the default value in the OpenStack Networking
API is True.

Fixes the issue #45915.

(cherry picked from commit 452a4ab781)
2018-10-12 10:30:58 -07:00
3eb5e27d6e Fix ansible-test custom docker image traceback.
(cherry picked from commit 712ad9ed64)
2018-10-11 18:33:31 -07:00
f5df17ca51 yum module properly check for None config_file (#46641) (#46820)
* yum module properly check for None config_file (#46641)

* yum module properly check for None config_file
* add conf_file test cases to yum integration tests

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

(cherry picked from commit fb6e91bf98)

* add changelog for 2.7 backport

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-10-11 12:16:50 -07:00
d46ed88fa3 [aws] Fix IAM role name parsing to come from the ARN (#46076)
* [aws] Change IAM role name parsing to come from the ARN (#45534)

(cherry picked from commit fe6b7f6b5d)

* Changelog
2018-10-11 09:43:14 -07:00
4fe7671d34 yum module handle list optional empty strings properly (#46634) (#46819)
* yum module handle list optional empty strings properly (#46634)

Fixes #46517

Signed-off-by: Adam Miller <admiller@redhat.com>
(cherry picked from commit ad405fc21e)

* add changelog

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-10-11 09:41:04 -07:00
f3b5e0359f manage levels for 'multiple included lists' (#46359)
* manage levels for 'multiple included lists'

fixes #46343

(cherry picked from commit 80d977bac6)
2018-10-11 08:48:40 -07:00
e9d42babbf [aws_ssm_parameter_store] use describe_parameters paginator (#45632) (#45666)
* [aws_ssm_parameter_store] use describe_parameters paginator (#45632)

Fix the service reaching an internal limit while processing the results and returning unexpected data
(cherry picked from commit 7aaa5da41d)

* changelog
2018-10-11 08:22:36 -07:00
ebc35bd79f [2.7] nmcli: backport of #42415 (#46814)
* nmcli: fix vlan connection modification Fixes #42322 (#42415)

* ensure optional items are set to empty strings rather than not presented
fix syntax of vlan modification command

* extended tests for nmcli

(cherry picked from commit fb72a5424c)

* Changelog fragment for nmcli fix
2018-10-11 07:45:11 -07:00
42183e562a Fix netconf module_utils dict changed size issue (#46778)
Fixes #46755

Use list() to copy the keys of attribute dict
while iterating over attribute dict.

(cherry picked from commit 58aaf53271)

Update Changelog
2018-10-11 07:44:33 -07:00
c888058973 win_uri: use variable for httpbin host (#46734)
(cherry picked from commit f34f75be45)
2018-10-11 07:43:07 -07:00
4546057fc8 Backport #46360 for 2.7 - Fix for ignore post_reboot_delay (#46510)
* win_reboot: Fix for ignore post_reboot_delay (#46360)

* win_reboot: Fix for ignore post_reboot_delay

This fixes an issue where win_reboot would be ignoring the provided
post_reboot_delay (and on Windows timing/waiting is everything!)

This must be backported to the v2.7 branch.

* Merge post-reboot handling into run()

(cherry picked from commit 8c64b4af7c)

* Add a changelog for the win_reboot fix
2018-10-11 07:42:03 -07:00
0e48544ae1 Backport 2.7: Return correct version on installed VyOS (#39115) (#46730)
* Return correct version on installed VyOS (#39115)

* Return correct version on installed VyOS

Previously existing regexp will shows only "VyOS" without numeric output of router version.
For example: from  "Version:      VyOS 1.1.6" only VyOS will be written in ansible_net_version variable
For more informative output numeric value should be returned as well

* Fixed unittests

(cherry picked from commit 235b11f681)

* Added changelog
2018-10-11 07:26:09 -07:00
4ffc75ab44 docker_container: fix problem with published_ports idempotency (#46595)
* Fix comparisons for expected_ports (set vs dict).

* Added changelog.

(cherry picked from commit c5ea3d058e)
2018-10-11 07:20:42 -07:00
10fd0251e8 docker_container: improve publish all ports functionality (#46594)
* Improve handling of published_ports: all.

* Add changelog.

(cherry picked from commit 8afe46dc02)
2018-10-11 07:20:42 -07:00
c32c354995 ansible-test: set ulimit to enforce consistent test environment (#46652)
* ansible-test: set ulimit to enforce consistent test environment

* fixed santiy issue

(cherry picked from commit 7b774117ab)
2018-10-09 23:39:58 -07:00
4dee2c6d24 [stable-2.7] Mocking out __future__ could cause problems
(cherry picked from commit 473f70c)

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2018-10-09 18:28:36 -07:00
5c6b492482 Add Iterable in 2.7 _collections_compat
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-10-09 18:28:13 -07:00
a0f38bdab5 Register missing parameter reboot_timeout (#46585)
(cherry picked from commit 753711cd12)
2018-10-09 18:25:58 -07:00
a6cf9af1bf Update MANIFEST.in (#46502)
* Update MANIFEST.in:

- Remove unnecessary prune.
- Include files needed by tests.
- Exclude botmeta sanity test.

These changes permit sanity tests to pass on sdist output.
(cherry picked from commit cbb49f66ec)
2018-10-09 18:25:24 -07:00
24324cbca8 Fix parametrize warning in unit tests.
(cherry picked from commit 1a28898a00)
2018-10-09 18:25:24 -07:00
7ce940cb41 Add symlinks sanity test. (#46467)
* Add symlinks sanity test.
* Replace legacy test symlinks with actual content.
* Remove dir symlink from template_jinja2_latest.
* Update import test to use generated library dir.
* Fix copy test symlink setup.

(cherry picked from commit e2b6047514)
2018-10-09 18:25:24 -07:00
4fb485a155 Improve ansible-test environment checking between tests. (#46459)
* Add unified diff output to environment validation.

This makes it easier to see where the environment changed.

* Compare Python interpreters by version to pip shebangs.

This helps expose cases where pip executables use a different
Python interpreter than is expected.

* Query `pip.__version__` instead of using `pip --version`.

This is a much faster way to query the pip version. It also more
closely matches how we invoke pip within ansible-test.

* Remove redundant environment scan between tests.

This reuses the environment scan from the end of the previous test
as the basis for comparison during the next test.

(cherry picked from commit 0dc7f38787)
2018-10-09 18:25:24 -07:00
e295888117 Add file exists check in integration-aliases test.
(cherry picked from commit 33a8be9109)
2018-10-09 18:25:24 -07:00
0183f2fc87 Use default-test-container version 1.3.0.
(cherry picked from commit 6d9be66418)
2018-10-09 18:25:24 -07:00
37748d219c Fix ansible-test encoding issues for exceptions.
(cherry picked from commit 0d7a156319)
2018-10-09 18:25:24 -07:00
8b5f2c3ae7 Fix ansible-test multi-group smoke test handling. (#46363)
* Fix ansible-test smoke tests across groups.
* Fix ansible-test list arg defaults.
* Fix ansible-test require and exclude delegation.
* Fix detection of Windows specific changes.
* Add minimal Windows testing for Python 3.7.

(cherry picked from commit e53390b3b1)
2018-10-09 18:25:24 -07:00
970e6542b5 Rebalance shippable/posix/ CI groups.
(cherry picked from commit 33b34f5c82)
2018-10-09 18:25:24 -07:00
6d287de9bc Reduce noise in docs-build test failures.
(cherry picked from commit 4085d01617)
2018-10-09 18:25:24 -07:00
cc51d93f1b Fix ansible-test docker python version handling.
This removes the old name based version detection behavior and
uses versions defined in the docker completion file instead, as
the new containers do not follow the old naming scheme.

(cherry picked from commit 54937ba784)
2018-10-09 18:25:24 -07:00
54d06d042e Fix integration test library search path.
This prevents tests from loading modules outside the source tree,
which could result in testing the wrong module if a system-wide
install is present, or custom modules exist.

(cherry picked from commit d603cd41fe)
2018-10-09 18:25:24 -07:00
76d71f034e Bug fixes and cleanup for ansible-test. (#45991)
* Remove unused imports.
* Clean up ConfigParser usage in ansible-test.
* Fix bare except statements in ansible-test.
* Miscellaneous cleanup from PyCharm inspections.
* Enable pylint no-self-use for ansible-test.
* Remove obsolete pylint ignores for Python 3.7.
* Fix shellcheck issuers under newer shellcheck.
* Use newer path for ansible-test.
* Fix issues in code-smell tests.

(cherry picked from commit ac492476e5)
2018-10-09 18:25:24 -07:00
b0b23d5a91 Add python.py coverage injector for ansible-test.
This can be used to run Python scripts from the repository with the
correct interpreter and allow collection of code coverage.

Useful for testing contrib inventory scripts.

(cherry picked from commit 45b5685037)
2018-10-09 18:25:24 -07:00
f35f7e2e54 Improve error handling for docs-build test.
(cherry picked from commit 2148999048)
2018-10-09 18:25:24 -07:00
4389e2175a Improve ansible-test match error handling.
(cherry picked from commit 2056c981ae)
2018-10-09 18:25:24 -07:00
0aa2aaa175 Fix incorrect use of subprocess.CalledProcessError (#45890)
(cherry picked from commit 24dd87bd0a)
2018-10-09 18:25:24 -07:00
cfe86582f2 Support comments in ansible-test flat files.
(cherry picked from commit 5a3000af19)
2018-10-09 18:25:24 -07:00
7842b99106 Make ansible-test available in the bin directory. (#45876)
(cherry picked from commit f3d1f9544b)
2018-10-09 18:25:24 -07:00
434d9b2f2a Block network access for unit tests in docker.
(cherry picked from commit 99cac99cbc)
2018-10-09 18:25:24 -07:00
5d19738af6 Minor fixes for unit test delegation.
(cherry picked from commit be199cfe90)
2018-10-09 18:25:24 -07:00
86f37620e6 Run unit tests in parallel. (#45812)
(cherry picked from commit abe8e4c9e8)
2018-10-09 18:25:24 -07:00
ecc706f122 Fix ansible-test unit test execution. (#45772)
* Fix ansible-test units requirements install.
* Run unit tests as unprivileged user under Docker.

(cherry picked from commit 379a7f4f5a)
2018-10-09 18:25:24 -07:00
6d07cec588 Fix unit test parametrize order on Python 3.5.
(cherry picked from commit 53b230ca74)
2018-10-09 18:25:24 -07:00
09e61f29e9 Fix unit tests which modify the source tree. (#45763)
* Fix CNOS unit test log usage.
* Use temp dir for Galaxy unit tests.
* Write to temp files in interfaces_file unit test.
* Fix log placement in netapp_e_ldap unit test.

(cherry picked from commit 0686450cae)
2018-10-09 18:25:24 -07:00
e575f655c1 Clean up after cnos tests (#45564)
(cherry picked from commit 0b433b3ea9)
(cherry picked from commit 71b3951d09aed385be0771d01ba739348451e720)
2018-10-09 18:25:24 -07:00
83194a0a99 module/systemd: fix logic determining if a service needs to be enable… (#46318)
* module/systemd: fix logic determining if a service needs to be enabled (#46245)

* modules/systemd: fix logic: allow scope to default to 'system'

Fix logic introduced in 7ea909418e: if 'scope' param is not specified,
it defaults to system, but the value of module.params['scope'] is None,
not 'system' - so allow for that.

* modules/systemd: fix logic: disabled means disabled

Fix logic determining whether a service with both systemd and initd files is enabled or disabled.

In situations where systemd thinks service is disabled, but rc.d symlinks mark it as enabled,
this module wrongly assumes the service is enabled.

Fix this logic: disabled means disabled

Only when the output from does NOT include disabled, consider the status of rc.d symlinks.

This essentially replicates the fixes done to the systemd handling in the "service" module in 3c89a21e0c

Fixes #22303

Fixes #44409

(cherry picked from commit ef131c7556)

* backport/2.7/46245: add changelog fragment
2018-10-09 18:23:47 -07:00
26de4f9749 Add support for OpenBSD (#46147)
(cherry picked from commit 2769a4e2cc)
2018-10-09 18:22:44 -07:00
083d2a6ad7 [2.7] backport cs_instance fixes (#46274)
* cs_instance: doc: fix typo in examples (#46035)


(cherry picked from commit c09b785a66)

* cs_instance: fix host migration without volume (#46115)


(cherry picked from commit e7926cf9f4)

* add changelog fragment
2018-10-09 18:22:07 -07:00
c481a5bf4a [2.7] route53: fix CAA record ordering for idempotency (#46227)
* [aws] route53 module: fix idempotency for CAA records  (#46049)

* Fixing record order for CAA records to properly handle idempotency.

* Add integration tests that reproduce CAA failure

(cherry picked from commit a727a1ee67)

* Added changelog.
2018-10-09 18:21:25 -07:00
85e227d338 Remove regression test for fix which is in another backport PR (#45769). 2018-10-09 18:20:13 -07:00
1d01543e34 docker_container: fix various idempotency problems and non-working options (#45905)
* Sorting args.

* Doing comparisons of options with container parameters in a more context-sensitive way.

This prevents unnecessary restarts, or missing restarts (f.ex. if parameters are removed from ``cmd``).

* Make blkio_weight work.

* Fix cap_drop idempotency problem.

* Making groups idempotent if it contains integers.

* Make cpuset_mems work.

* Make dns_opts work.

* Fixing log_opts: docker expects string values, returns error for integer.

* Adding tests from felixfontein/ansible-docker_container-test#2.

* Make uts work.

* Adding changelog entry.

* Forgot option security_opts.

* Fixing typo.

* Explain strict set(dict) comparison a bit more.

* Improving idempotency tests.

* Making dns_servers a list, since the ordering is relevant.

* Making dns_search_domains a list, since the ordering is relevant.

* Improving dns_search_domains/dns_servers.

* Fixing entrypoint test.

* Making sure options are only supported for correct docker-py versions.
2018-10-09 18:20:13 -07:00
18b575b593 integration tests for docker_container (#45747)
* First round of integration tests for docker_container.

* Added regression test for #45700.

* Work around dict order randomization.
2018-10-09 18:20:13 -07:00
b1b93c7a22 [2.7] Clean up after ansible-connection if failure occurred in start() (#45930)
* [2.7] Clean up after ansible-connection if failure occurred in start() (#45929)
(cherry picked from commit 0d143ed)

Co-authored-by: Nathaniel Case <this.is@nathanielca.se>

* Add changelog fragment
2018-10-09 18:18:32 -07:00
cf28d22211 [stable-2.7] Support transfering empty files to target host. Fixes #36725 (#45751)
(cherry picked from commit b6fcbfe)

Co-authored-by: Matt Martz <matt@sivel.net>
2018-10-09 18:18:06 -07:00
190cdd3a29 VMware: Rewrite get_resource_pool method for correct resource_pool selection (#39792)
* rewrite get_resource_pool method for correct resource_pool selection
* only keep name if path is given for cluster, esxi_hostname or resource_pool
* Revert "only keep name if path is given for cluster, esxi_hostname or resource_pool"
* This reverts commit 50293ec763c024b0eaceac5d775ccc0ad3ff8bd7.
* if the name argument contains a path, only use the last part for matching
* remove path from cluster argument in tests
* remove find_objs in favour of reusing find_obj with an extra folder argument
* fix find_obj ignoring first if name is not given

(cherry picked from commit 1a810f8f11)
2018-10-09 13:47:43 -07:00
ccde3dc66b docker_container: fix behavior when image is not specified (#46322)
* Don't simply ignore container in present() if image is not specified.

* Use image from existing container for recreation if not specified.

* Added changelog.

* Improve comment.

(cherry picked from commit 895019c59b)
2018-10-09 13:47:13 -07:00
ee523beb8e [rabbitmq_binding] Fix the quoting of vhost and other names (#45109)
* [rabbitmq_binding] Fix the quoting of vhost and other names, which was broken in PR #35651
* Merge missing urllib_parse.quote from PR #42422
* Missed one line, where  also needs to be escaped, i.e., the destination

(cherry picked from commit d5f8738bf2)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-09 13:46:20 -07:00
93b75558bb azure_rm_common: use __version__ from module_util (#46184)
(cherry picked from commit 02c11e6b51)
2018-10-09 13:42:47 -07:00
10038a423b ps-lint: ignore rules that are not relevant to Ansible (#46376)
(cherry picked from commit ba638f40cf)
2018-10-09 13:40:36 -07:00
19fe83d786 Use proper index value with insertbefore on a one line file (#46071)
Add tests and changelog

(cherry picked from commit b74279d14c)
2018-10-09 12:17:30 -07:00
ac56230d5b Only delete key from redis in-memory cache if present (#35126)
Fixes #35120 : the redis cache plugin keeps key/value
entries in an in-memory cache to avoid hitting the
redis database each time.

The problem is that a cache entry is only set when
a value is get or set but it is always deleted when
trying to delete a value.

When the --flush-cache ansible-playbook option is used,
the redis cache plugin is first asked to remove every
entry corresponding to every hostname present in the inventory.
As no value as been set/get so far, it then tries to delete
an unexisting value from the cache and hence crashes with
a KeyError exception.

(cherry picked from commit ee3dfef016)
2018-10-09 12:09:07 -07:00
b6276fe4a4 Make default_operation optional in netconf_config module (#46333)
Fixes #46257

*  As per netconf rfc default-operation value is optional,
   hence removing the default value for default_operation
   option.

(cherry picked from commit 5e6eb921ae)

* Update changelog
2018-10-09 12:01:33 -07:00
b6810eb37c Use default Shippable container. (#46703)
(cherry picked from commit 40c9301b27)
2018-10-09 11:46:46 -07:00
2703be8368 Backport/2.7/42456 - Added SSL Support to consul_kv lookup plugin (#46466)
* Add ssl support to consul_kv lookup (#42456)

* implemented lookup_consul_kv
* added missing version_added for consul_url ini section
* added default value for ANSIBLE_CONSUL_CLIENT_CERT and added some more documentation
* removed trailing whitespaces
* fixed indention
* Fixes in Documentation
* removed trailing whitespace
* removed trailing whitespace

(cherry picked from commit bacbd4e9fc)

* * added changelog fragment
2018-10-09 11:25:31 -07:00
2388126bdf win_chocolatey: remove test packages after tests are run (#46431)
(cherry picked from commit 1de88cbaa9)
2018-10-09 11:18:38 -07:00
3cfbc2791f Ignore empty result of rabbitmqctl list_user_permissions (#35598)
Fix #34863

(cherry picked from commit a7221dd289)
2018-10-09 11:17:37 -07:00
f5bc8457e4 win_nssm: add changelog fragment 2018-10-09 11:13:37 -07:00
6a27a4251e win_nssm: wrong variable in tests
(cherry picked from commit 9b9c839461)
2018-10-09 11:13:37 -07:00
7601f1c153 win_nssm: restore support of string as dict form for app_parameters and remove support of literal YAML dict
(cherry picked from commit 862855252b)
2018-10-09 11:13:37 -07:00
2de895a07b win_nssm: restore comma as separator for service dependencies
Revert commit ddd4b4b

(cherry picked from commit ead882bb9b)
2018-10-09 11:13:37 -07:00
4215feeb5e win_nssm: test parameters with spaces, quotes or backslashes
(cherry picked from commit 51843a7b3c)
2018-10-09 11:13:37 -07:00
80c0693116 win_nssm: fix several idempotence issues and misbehaviors
Add missing space between arguments when app_parameters contains several keys.
Use Argv-ToString and Escape-Argument to improve arguments handling (parameters with quotes, backslashes or spaces).

(cherry picked from commit 933a4092bf)
2018-10-09 11:13:37 -07:00
da801283ee win_nssm: add idempotence tests
(cherry picked from commit 46a5e4f3bf)
2018-10-09 11:13:37 -07:00
5eef5f629e win_nssm: fix error with app_parameters parameter
Fix #25265

(cherry picked from commit aba0d48ba5)
2018-10-09 11:13:37 -07:00
df1aaab3df win_nssm: fix incorrect separator in doc for service dependencies
The dependencies parameter works with space as separator, but not with comma as shown in the documentation

(cherry picked from commit ddd4b4bea6)
2018-10-09 11:13:37 -07:00
6ea0fccfe2 win_nssm: fix service not started when state=started
Nssm status returns a multiline output that doesn't match any of the strict patterns in the switch statement.

(cherry picked from commit 8180a7c39b)
2018-10-09 11:13:37 -07:00
2409ae5f27 win_nssm: add more failing tests
These tests highlight several issues with this module:
 * Service not started when state=started
 * Errors with app_parameters (see #25265)
 * Exception when passing several dependencies separated by comma as specified in doc

(cherry picked from commit e50234bdb3)
2018-10-09 11:13:37 -07:00
f81229c85c win_nssm: use Run-Command instead of Invoke-Expression to prevent interpretation issue
Fix #44079

(cherry picked from commit 20a0d90ebe)
2018-10-09 11:13:37 -07:00
14cccb9488 win_nssm: add failing tests for issue #44079
(cherry picked from commit a5d1241fa1)
2018-10-09 11:13:37 -07:00
8b0c46a51a Use bytes rather than native string for result (#46281)
This prevents a stack trace in Python 3 when the result is an empty file since
the file is open in binary mode and a native string in Python 3 is str,
not bytes.

(cherry picked from commit 8b1ae30e2e)
2018-10-09 11:08:11 -07:00
0e4a7a5abc VMware: honor "wait_for_ip_address" when powering on a VM (#45226)
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit a9c829bdf2)
2018-10-09 11:02:08 -07:00
d7e9f24741 winrm: add further conditional to using pexect for kerb auth (#45952)
(cherry picked from commit d6251e5b27)
2018-10-09 10:58:24 -07:00
fe528af1e0 [stable-2.7] Fix issues with PLUGIN_FILTERS_CFG config handling (#45994)
* Ensure that the value of PLUGIN_FILTERS_CFG is treated as type=path, and that we use the standard section of 'defaults' instead of 'default'

* deprecate the default section

* Don't add version_added for the corrected section
(cherry picked from commit 172137c)

Co-authored-by: Matt Martz <matt@sivel.net>
2018-10-09 10:55:46 -07:00
8da4113ec0 [stable-2.7] Support nested JSON decoding in AnsibleJSONDecoder (#45924)
* Support nested JSON decoding in AnsibleJSONDecoder

* Add tests for vault portion of AnsibleJSONDecoder
(cherry picked from commit c0915e2)

Co-authored-by: Matt Martz <matt@sivel.net>
2018-10-09 10:55:16 -07:00
f360df4e10 add changelog fragment 2018-10-09 10:51:21 -07:00
0dec6db43f vultr_server: fix diff for user data (#45753)
(cherry picked from commit 22986648dc)
2018-10-09 10:51:21 -07:00
2c788b6748 vultr: fix for unreliable API behavior (#45712)
(cherry picked from commit 1ed3bd9168)
2018-10-09 10:51:21 -07:00
4b80f8c8e3 Fix calling deprecate with correct arguments (#44726)
This fixes #44702

Signed-off-by: Ondra Machacek <omachace@redhat.com>
2018-10-09 10:49:19 -07:00
637c9b3c5f fix premature exit when RG doesn't exist (#46013)
* fixes #45941
* corrects regression introduced by #26104; when the resource group doesn't exist, the module exits prematurely with an error instead of creating it.

(cherry picked from commit 3b52d968e6)
2018-10-09 10:31:49 -07:00
bc08cf12ea [stable-2.7] Migrate from MySQLdb to PyMySQL (#40123)
* Migrate from MySQLdb to PyMySQL

* Deduplicate driver loading and failure message

* Explain requirements

* Apply requirements docs change to proxysql too

* Add changelog.
(cherry picked from commit d34cf93f1a)

Co-authored-by: Daniel Speichert <DSpeichert@users.noreply.github.com>
2018-10-09 10:26:21 -07:00
547be8c957 powershell: do not quote join_path result to reflect ShellBase join_path (#45944)
(cherry picked from commit 198423d6fb)
2018-10-09 10:25:42 -07:00
01b6f02a80 [2.7] ec2_group - fix VPC precedence for security group targets (#45787) (#45815)
* ec2_group - fix VPC precedence for security group targets (#45787)

Update the dictionary with the preferred values last to get the right order of VPC precedence

Fixes #45782
(cherry picked from commit 8d2df9be52)

* Fix ec2_group for EC2-Classic accounts (#46242)

* Fix ec2_group for EC2-Classic accounts

* changelog

(cherry picked from commit 9efc3dc761)

* Merge changelogs
2018-10-09 10:21:50 -07:00
ff1aa50fdb Fixing HTTPError case of fetch_url for Python 3 compatibility. (#45628)
* Fixing HTTPError case of fetch_url for Python 3 compatibility.

* Adding unit test.

* PEP8.

* Changelog.
2018-10-09 10:20:57 -07:00
3a72e271ad Use unicode instead of bytes (#46234)
The stdout and stderr values returned from self._low_level_execute() are text, not bytes. This results in an error in Python 3 since str and bytes cannot be concatenated.

Changing to unicode type allows this to work without error on Python 2 and Python 3.

(cherry picked from commit 77f73f6d2a)
2018-10-09 10:19:57 -07:00
07ed487427 reboot: Fix typo and support bare Linux systems (#45607)
* reboot: Fix typo and support bare Linux systems

This fixes a problem for bare Linux systems that do not support 'who -b' or 'uptime -s'.

* Accumulate stdout and stderr information

(cherry picked from commit a7a99c5fd4)
2018-10-09 10:19:57 -07:00
8715f96af0 [2.7] docker_container: don't parse/interpret options if state is 'absent' (#45769)
* Don't parse/interpret options if state is 'absent'. (#45700)

* Added changelog.
2018-10-09 10:16:49 -07:00
2293463320 [stable-2.7] Support empty files with piped transfer_method. Fixes #45426 (#45618)
(cherry picked from commit e68f895)

Co-authored-by: Matt Martz <matt@sivel.net>
2018-10-09 10:13:28 -07:00
d2c72040b5 [stable-2.7] Store Authorization header inside HttpApi connection plugin (#45598) (#45608)
* Store Authorization header inside HttpApi connection plugin (#45598)


(cherry picked from commit b7263eab1d)

* Add changelog entry
2018-10-09 10:12:21 -07:00
d9bd76dc8a Improve code stability is checksum checking
- use context manager for dealing with the checksum file
- use loop that can tolerate zero, one, or more items return rather than the previous expression which would break if anything other than exactly one item was returned

(cherry picked from commit 03dbb1d9c4)

squash
2018-10-09 10:11:14 -07:00
62b43ea28d Add 'auto' to documented default enabled inventory plugins (#46621) (#46637)
* Correct default inventory plugins enabled in docs and example/ansible.cfg

* Fix headers

(cherry picked from commit 43d12c11be)
2018-10-08 15:22:03 -05:00
e340d849a1 docs: add Support section for plugin types (#46520) (#46643)
* docs: add Maintenance section for plugin types
* Added supported_by name in bold to match Status

(cherry picked from commit 1599752f26)
2018-10-08 15:20:51 -05:00
9f0f66137f Add documentation on underlying tools in user module (#46455) (#46511)
(cherry picked from commit bcfdc37be0)
2018-10-08 14:13:52 -05:00
8a4736d89d backport #46462: remove unnecessary space (#46470) 2018-10-04 14:09:08 -05:00
1c9b197119 Bump version after release so we know when someone runs from a checkout 2018-10-03 22:53:46 -07:00
0a07068054 New release v2.7.0 2018-10-03 20:27:28 -07:00
4fb5aa00a6 updates latest in docs conf.py (#46400)
(cherry picked from commit ba9348883b)
2018-10-03 22:16:46 -05:00
a1d1276b6e disable gather facts and update playbook output (#46409) (#46418)
* disable facts gather and update playbook output

* fix output

(cherry picked from commit a1fae193c7)
2018-10-02 16:23:10 -05:00
d81ed54ae6 Updates release & maintenance version docs for 2.7 (#46414)
(cherry picked from commit 04b726dc14)
2018-10-02 16:20:36 -05:00
649403c3a1 yes, we do run validate_modules in Shippable (#46280) (#46283)
(cherry picked from commit 66eb5681f4)
2018-09-28 13:32:49 -05:00
4ae2f96902 fix wording for silencing a sensu client (#46250) (#46267)
(cherry picked from commit dae2172045)
2018-09-28 11:08:29 -05:00
ac2ff94d43 Meraki scenario guide - Changed section markup types (#46158) (#46263)
* Changed section markup types, small fixes for style
- Add dashes per style guide
- Add TOC in case this grows

(cherry picked from commit a690917b5f)
2018-09-28 11:08:11 -05:00
6e86b317a9 Clean up Vault docs in User Guide. (#46188) (#46270)
- Fix spelling of 'separate' and 'algorithm'
- Fix indentation of nested list in payload format
- Fix mysterious refernce to 'b_pkey1'.
- Fix reference to newline as '\n': the backslash is lost when rendered
to the docs website. Specify the hex value for newline instead of the
backslash escape.

(cherry picked from commit ab96bbdef9)
2018-09-28 10:42:46 -05:00
61f95149b9 Set release to a post release 2018-09-27 18:09:31 -07:00
35b290f0c9 New release 2.7.0rc4 2018-09-27 16:38:00 -07:00
11c7ddcb70 [stable-2.7] Update the minimum python versions to install (#46230)
* Update the minimum python versions to install

This will prevent modern pip from installing ansible-2.7.x in
python-2.6.  Users will get the Ansible-2.6.x maintenance releases
instead.
(cherry picked from commit ccf41bb)

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2018-09-27 15:35:54 -07:00
742e15d03b skip installing linux-image-extra in CI as it shouldn't be needed (#46101)
(cherry picked from commit 40379b76b1)
2018-09-27 12:59:13 -07:00
37df3796e1 Fix and re-enable sts_assume_role integration tests (#46026)
* Fix the STS assume role error message assertion when the role to assume does not exist.

(cherry picked from commit 18dc928e28)
2018-09-27 12:58:06 -07:00
7cce4dfbb0 add skip/docker alias to skip tests when running on Docker (#45955)
* add skip/docker alias to skip tests when running on Docker

* changed warning message wording

(cherry picked from commit 27c10fa502)
2018-09-27 12:50:06 -07:00
dc66eb07d0 [backport-2.7] Meraki scenario guide (#41827) (#45494)
* Meraki scenario guide (#41827)
(cherry picked from commit ec3ce1f39c)
2018-09-26 09:18:30 -05:00
2368c2e30b Revert "winrm: add further conditional to using pexect for kerb auth (#45952)"
This reverts commit 918d45f957.

Unintentionally merged before 2.7.0 final.
2018-09-25 13:52:38 -07:00
918d45f957 winrm: add further conditional to using pexect for kerb auth (#45952)
(cherry picked from commit d6251e5b27)
2018-09-25 13:49:27 -07:00
ab1b602053 Update synchronize.py, mention variable ansible_rsync_path needed for different local rsync binary (#41870) (#46110)
* Update synchronize.py

If you want a different rsync binary on the local side, you need to set task variable ansible_rsync_path.
See examples.

Variable ansible_rsync_path looks to not be documented anywhere. If documented, needs to be said that is does not belong to synchronise options, instead belongs to tasks. (Sorry, I have no better wording)
(cherry picked from commit c44de1069c)
2018-09-25 11:22:07 -05:00
518c90dc68 Added documentation for collectstatic --clear. (#42007) (#45860)
* Added documentation for collectstatic --clear.

Added a description of the --clear argument used with the Django management
command, collectstatic. (When #1810 added this feature the documentation
was not updated).
(cherry picked from commit f964277628)
2018-09-25 11:05:15 -05:00
0d40e4bd23 inventory/tower: authors -< author so Doc can pick it up (#45936) (#45972)
(cherry picked from commit a7bf505474)
2018-09-25 11:01:15 -05:00
adba21d8d2 The sshkey option is available in version 2.7 and above (#46103) (#46107)
(cherry picked from commit 8213096b7f)
2018-09-25 11:00:50 -05:00
e85c485129 spotinst_aws_elastigroup elastic_ips example (#41190) (#46111)
* Update spotinst_aws_elastigroup.py
(cherry picked from commit c11c3506cd)
2018-09-25 10:56:31 -05:00
8712f0f7f4 Update sl_vm.py (#43966) (#46109)
* Update sl_vm.py
Updated the list of softlayer datacenters
(cherry picked from commit d1688adefc)
2018-09-25 08:54:13 -05:00
8f93a0ec67 Update developing_modules_general_aci.rst (#46042) 2018-09-22 19:56:25 -05:00
73bc121e11 added note about cli execution of include_x (#45227) (#45999)
(cherry picked from commit 03d8b68549)
2018-09-21 14:53:29 -05:00
f28abce4a2 Update short description for NetApp E-Series modules. (#45820) (#45864)
Update short description according to new standards
(cherry picked from commit 205693a3f9)
2018-09-21 14:04:43 -05:00
3d88063c40 NetApp Bulk Doc changes (#45856) (#45866)
* Doc changes
* fix ansibot issue & spacing
(cherry picked from commit e3ec9e5345)
2018-09-21 14:02:43 -05:00
2474a4c9bd Misc typo fixes (#45969) (#45978)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 0ecbd50c3b)
2018-09-21 13:56:35 -05:00
aa703eddef Add docs for say.py to indicate how to list voices (#37737) (#45979)
* Update say.py
(cherry picked from commit 0677dabad4)
2018-09-21 13:55:33 -05:00
d34ed1d942 Update to post release so we can tell when someone is running from a checkout 2018-09-20 20:11:14 -07:00
2a33276385 New release 2.7.0rc3 2018-09-20 18:07:04 -07:00
6e6825e79f append AWS region to test instance file (#45877)
(cherry picked from commit 582a4dfa13)
2018-09-20 12:24:58 -07:00
0c81145fd3 [WIP] Backport/2.7/second batch (#45927)
* Update influxdb_database.py (#39984)
(cherry picked from commit 049a462058)

* Link to the Galaxy platforms list from the meta file template (#34046)
(cherry picked from commit fa18d45eb3)

* fix gce_backend_service examples for healthchecks (#31134)
(cherry picked from commit e26d758d6f)

* Clarify the creates and removes options (#45485)
(cherry picked from commit bf90a44468)

* lineinfile note belongs in changelog for 2.6, not 2.7 (#45517)
(cherry picked from commit 228fee4f3a)

* Update keycloak_client.py (#43547)
(cherry picked from commit cb460dee74)

* The keyword 'cloud' has been deprecated in favor of the 'profile' keyword by os-client-config. (#31389)
(cherry picked from commit 17ca0a9bd9)

* Clarified documentation for the unsafe_writes option (#27471)
(cherry picked from commit dd5d191d7a)
2018-09-20 14:10:39 -05:00
bf09c869a2 Update fileglob.py (#45558)
* Update fileglob.py

Closes #45557

* Update fileglob.py

(cherry picked from commit cc477ec920)
2018-09-20 12:06:02 -07:00
7a6d873f0a go back to FreeBSD 11.1 for tests due to 11.2 stability issues (#45872)
(cherry picked from commit a7d372c3ba)
2018-09-20 12:04:08 -07:00
ceb474bb9e [WIP] Backport/2.7/batch port (#45859)
Batch of docs backports:

* docs: Clarify include_task v import_tasks with conditionals (#43856)
(cherry picked from commit 6be42a2a0e)

* Add single quotes around package name (#45152)
(cherry picked from commit 0d81386144)

* prefer ansible_facts namespace and dict notation (#44980)
(cherry picked from commit 44510448b0)

* fix cherrypick conflict - scenario_guides

* Update implicit_localhost.rst (#45455)
(cherry picked from commit f68cd1acc6)

* updated fbsd install instructions (#45309)
(cherry picked from commit e9c2695ce7)

* Change "Defaulting Undefined Variables" (#41379)
(cherry picked from commit e35c4be1c1)

* adds license details to dev guide pages (#45574)
(cherry picked from commit 6e68d77f6d)

* FAQ: fix a typo, add link to 'vars' lookup (#42412)
(cherry picked from commit 95649dc793)

* Fix link and toctree (#45595)
(cherry picked from commit 6999bf318f)

* Improve the local toctree (and title) (#45590)
(cherry picked from commit afea00fa9f)

* Add undocumented configuration parameter and explain in porting guide (#36059)
(cherry picked from commit a892a6ef03)

* Simplify PPA installation for Ubuntu (#45690)
(cherry picked from commit 78e9f452a5)

* adding git+ssh uri scheme (#36025)
(cherry picked from commit 84a4257774)

* Add workaround for non-standard kerberos environments (#41465)
(cherry picked from commit 4e532e0ad9)

* Restore license agreement (#45809)
(cherry picked from commit f430f60541)

* partial cherry-pick - lenovo doc update PR 45483
2018-09-19 22:02:01 -05:00
7cc699f068 Explain disk size in mount and add example (#41681)
* Explain disk size in mount and add example

- Explain mount with 8GB
- Add new example to start container with mount

* Removed trailing whitespace

(cherry picked from commit f85065dabf)
2018-09-19 14:42:55 -07:00
6b2c653a64 Update postgresql_user.py (#45777)
<!--- Your description here -->
Add expires example.
+label: docsite_pr
(cherry picked from commit 61f2791d95)
2018-09-19 14:42:09 -07:00
2008e9d28c [2.7] Fix collections.deque import in compat module (#45837)
(cherry picked from commit a978d7f283)

Co-authored-by: Sviatoslav Sydorenko <wk@sydorenko.org.ua>
2018-09-19 13:50:55 -07:00
e881ea8957 Remove placeboify from unit tests that are not calling AWS (i.e. creating a recording) (#45754)
(cherry picked from commit 2167ce6cb6)
2018-09-19 13:32:02 -07:00
af4971fd1a [aws unit test utils] only create a recordings directory when the env var is set (#45752)
* Only create placebo recording test directories when the environment variable PLACEBO_RECORD is set
(cherry picked from commit 5467ac3454)
2018-09-19 13:28:00 -07:00
98e31e98c8 ec2_group: fix regression for targets that are a list containing strings and lists (#45594)
* Fix targets that may be a list containing strings and lists which worked prior to 2.6.

* Add ec2_group integration tests for lists of nested targets

* changelog

* Add diff mode support for lists of targets containing strings and lists.

(cherry picked from commit d7ca3f2bd3)
2018-09-19 13:20:31 -07:00
79cebbf933 These won't get upgraded to bool if ansible doesn't know they are
Adapted from #45736, the other change came from a commit that will not
be backported
2018-09-19 13:15:43 -07:00
92f7429fb6 hashi_vault lookup: add integration tests (#44814)
* hashi_vault lookup: add integration tests

* hashi_vault lookup tests: use ansible-ci-files

(cherry picked from commit 9984c0fd40)
2018-09-19 12:57:22 -07:00
934190f02e More bigip software fixes
Fixes problems related to token timeout. Adds cleanup of tokens.

(cherry picked from commit 604b95aab2)
2018-09-19 12:35:21 -07:00
9b4bb04d07 [2.7]fix nxos_facts indefinite hang for text based output (#45846)
* fix nxos_facts indefinite hang for text based output (#45845)

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit 1b0c4fde86)
2018-09-19 09:00:53 -07:00
23f70d9745 Backport of 45588 (#45670) 2018-09-17 11:57:12 -05:00
0c411eeca6 Add .post0 to version so we know when someone is running from a checkout 2018-09-13 16:46:02 -07:00
6fe6d04489 New release v2.7.0rc2 2018-09-13 11:41:10 -07:00
eb882a144b Clarify what "performance improvement" means in changelog for deepish-copy (#45606) 2018-09-13 10:29:48 -04:00
b52148d65d [2.7] Exclude the whole ansible_failed_task block (#45587)
It has lots of FieldAttributes that won't serialize.
Also the connection doesn't care.
(cherry picked from commit 3d0f19d)

Co-authored-by: Nathaniel Case <this.is@nathanielca.se>
2018-09-13 06:47:10 -07:00
25349b89dd Fixes bugs in the bigip_software modules (#45577)
This patch makes hotfix code work, where before, only base images
were working

(cherry picked from commit e266a24263)
2018-09-12 14:30:34 -07:00
186f4effd3 [2.7] eos: Don't error on VLAN missing warning (#45433)
(cherry picked from commit eaf01d3)

Co-authored-by: Nathaniel Case <this.is@nathanielca.se>
2018-09-12 12:47:29 -07:00
e16d36f0f7 Backport: fix the autoscale resource id #45477 (#45532)
* fix the autoscale resource id (#45477)

* fix the autoscale resource id

* Update main.yml

(cherry picked from commit fa04387550)
2018-09-12 12:46:16 -07:00
9a0f1d8915 VMware: Fix wait_for_task backoff behavior
Signed-off-by: Harald Albers <github@albersweb.de>

(cherry picked from commit 796d8b5dc8)
2018-09-12 12:43:26 -07:00
426d4bf8d6 Update RHEL and FreeBSD versions used for tests:
- RHEL 7.4 -> 7.5
- FreeBSD 11.1 -> 11.2

(cherry picked from commit c50d6f1944)
2018-09-12 10:19:20 -07:00
c1d8efa469 Add docs on how to write changelog fragments (#42428) (#45570)
* Add docs on how to write changelog fragments

* Add link to new style changelog

Remove redundant mention of old style changelog

(cherry picked from commit 5d6f844eba)
2018-09-12 11:44:00 -05:00
c41681b888 [backport-2.7] Fix remote checksums when paths have leading dots (#45287) (#45501)
* Fix remote checksums when paths have leading dots (#45287)

* Fix remote checksums with paths have leading dots

* Fix result recorded from the wrong file

* Add changelog fragment

(cherry picked from commit 600c7ac108)
2018-09-12 08:05:25 -07:00
99171a9c6f [stable-2.7] Fix logic to not re-download existing files when force=no (#45495) (#45509)
* [stable-2.7] Fix logic to not re-download existing files when force=no (#45495)

* Fix logic to not re-download existing files when force=no. Fixes #45491

* Reduce logic complexity.
(cherry picked from commit 5785de582f)

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

* Backport of get_url fix cannot use result

result was only added in 2.8+
2018-09-12 07:28:54 -07:00
c8fe1126a1 Update default container to version 1.2.0.
(cherry picked from commit d478a4c3f6)
2018-09-11 15:45:21 -07:00
4a8a931d0f Reduce cost of Azure DB tests.
(cherry picked from commit ed49f37957)
2018-09-11 15:45:21 -07:00
59a2d880bc Fix ACI unit test on Python 3.7.0.
The previous logic was only needed for pre-release versions of 3.7.

(cherry picked from commit c0bf9815c9)
2018-09-11 15:45:21 -07:00
66cfb3d91e Avoid duplicate Azure storage account types.
(cherry picked from commit ae4d5e3257)
2018-09-11 15:45:21 -07:00
f3b394cf4c update porting guides (#40784)
* update porting guides

With PR #40532 `shade` library was retired and replaced with direct use
of `openstacksdk`. Porting guides and doc about dynamic inventory were
not updated.

(cherry picked from commit 8ae14bebda)
2018-09-11 14:35:16 -07:00
4c080f649b [aws] cloudfront_distribution - fix method name, backport/2.7/45498 (#45512)
* [AWS] cloudfront_distribution - fix method name from 'validate_distribution_id_from_caller_reference' to 'validate_distribution_from_caller_reference' and set distribution_id to the distribution's key 'Id' (#45498)

(cherry picked from commit e5269c047c)

* changelog
2018-09-11 14:34:35 -07:00
d9d1c40932 win_group_membership - fix random issue with CI on 2012 R2 (#45462)
(cherry picked from commit 3371a779b6)
2018-09-11 07:05:18 -07:00
d559213b31 fix Ansible.ModuleUtils.FileUtil to respect ErrorAction if running in a try/catch (#45451)
(cherry picked from commit d4ce1b9f31)
2018-09-10 17:38:40 -07:00
f2d5954d11 win_say - fix up syntax and test issues (#45450)
(cherry picked from commit c9c141fb6a)
2018-09-10 17:37:42 -07:00
89ab0b5d32 reordered windows test groups for better efficiency (#45445)
(cherry picked from commit 25ae4f2b73)
2018-09-10 17:36:59 -07:00
d956b6c64e [stable-2.7] Don't pass file_name to DataLoader.load in script inventory plugin (#45428)
* Don't pass file_name to DataLoader.load in script inventory plugin. Fixes #34164

* Add changelog fragment
(cherry picked from commit 263b9fa)

Co-authored-by: Matt Martz <matt@sivel.net>
2018-09-10 17:36:22 -07:00
e354047258 Set defaults from params after loading files, allowing params to override (#45442)
* Set defaults from params after loading files, allowing params to override (#44142)

* Set defaults from params after loading files, allowing params to override

* cleanup, add some comments

(cherry picked from commit aa01d9d243)

* Add client_from_kubeconfig function back for 2.7.0 since it's late in the 2.7 cycle to remove module_util code.
2018-09-10 17:34:30 -07:00
47410bdf5c meraki_mr_l3_firewall - Integration test fix (#45366)
* Fix integration test as wrong module was called

* Create block section for failures on integration test for mr_l3_firewall integration test

(cherry picked from commit 6c67674eab)
2018-09-10 09:51:31 -07:00
07b87c2ab7 meraki_network - Fix enabling my.meraki.com (#45352)
* Fix enabling my.meraki.com
- A parameter of "no" wouldn't be picked up
- Check for False in addition to whether it exists

* Clean up disable_my_meraki parameter check

(cherry picked from commit afbf72cfeb)
2018-09-10 09:50:12 -07:00
e74a681337 Use a sensible default for k8s merge_type (#45284)
* Use a sensible default for k8s merge_type

The sensible default for merge_type is `['strategic-merge', 'merge'].
However, we can't make this the default default, as we need to support
users who are using openshift 0.6.0, where the merge_type parameter is
unsupported.

* Refactor k8s test suite for merge_type tests

Allow tests with pre-merge-type openshift and post-merge-type
openshift.

(cherry picked from commit 1463c2e4a8)
2018-09-10 09:46:45 -07:00
b8c053ad1f Corrects documentation for parameters and examples (#45311)
Documentation for the bigiq modules was a little out of date.
This patch corrects the examples and parameters.

(cherry picked from commit e21b99b098)
2018-09-10 09:34:10 -07:00
3e14a34744 [stable-2.7] Ensure loop with delegate_to can short circuit the same as without delegate_to. Fixes #45189 (#45231)
(cherry picked from commit 2ac647d)

Co-authored-by: Matt Martz <matt@sivel.net>
2018-09-07 13:01:55 -07:00
1301d4edc8 rewrite of the developer guide, part 1 (#45179) (#45349)
(cherry picked from commit 9a76441c02)
2018-09-07 10:35:13 -05:00
e7e345da7e Correct version_added for strategy host_pinned (#45333)
(cherry picked from commit 97fcc3ef66)
2018-09-07 07:12:40 -07:00
2fcae8b367 Cherrypick stable2.7 44802 (#45332)
* fix blob in non-public azure cloud (#44802)

(cherry picked from commit b58141555d)
2018-09-07 07:12:06 -07:00
351bb3dd9a [2.7] Add ambiguous command check as the error message is not persistent on nexus devices (#45341)
* Add ambiguous command check as the error message is not persistent on nexus devices (#45337)

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit f18856d0e2)

* cli_config module doc update (#45345)

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit d5bfd93e28)
2018-09-07 07:09:25 -07:00
fdb9c6d5af Switch version number so that we can tell when someone is running from source 2018-09-06 20:06:00 -07:00
0202339461 New release 2.7.0rc1 2018-09-06 18:44:59 -07:00
283859ec88 Changelog for AWS bugfixes (#45319)
* Add changelog for AWS backports
2018-09-06 13:29:22 -07:00
c96a440063 Fix backwards compatibility without providing prefix since boto3 does more parameter validation than boto (#45308)
Use .get() instead of assuming a rule has a Transitions or Filter key (both of which are optional)

(cherry picked from commit 8b341619ae)
2018-09-06 13:28:52 -07:00
d8c687f638 check for change of role arn in ecs task definition (#44942)
* check role arn for ecs task definition

If the task role in a ECS task definition changes ansible should create a new revsion of the task definition.

(cherry picked from commit 71c4355d58)
2018-09-06 13:28:31 -07:00
26a96c72b2 Fix callback config typos (#45316)
* plugins/callbacks : fix some key documentation (#45267)

These are supposed to be a dictionary with section/key entries;
correct a few typos.

(cherry picked from commit c34e0f5e11)

* backport of #45267
2018-09-06 13:27:59 -07:00
Rob
08542720e5 Fix health check configurations being ignored - #43244 (#43247)
* Fix health check configurations being ignored - #43244

* Ensure health_check_protocol is not None before check

* Simplify long indented if statement

(cherry picked from commit 7e426b0381)
2018-09-06 12:55:01 -07:00
0e2642e392 [aws] ec2_metadata_facts URL encode the metadata URL to avoid errors (#43394)
- If a field in the URL has a space it would result in a 400 without making it URL safe
- Fixes #42371 and #43378

(cherry picked from commit 4ce09ea62d)
2018-09-06 12:54:08 -07:00
c60baf0ca7 [aws] lambda_policy fix update when principal is an account number (#44871)
Fix KeyError on update when principal is an account number
(cherry picked from commit 1f3e7ea061)
2018-09-06 12:44:34 -07:00
55eebfc6b7 [aws] ec2_group multi-account and peered VPC bugfix (#45296)
* Add tests to replicate bug #44788 

* Handle when userId is same account due to in-account peering

* Module defaults for main.yml

* Turn off VPC peering tests in CI
2018-09-06 12:43:31 -07:00
d3225b0494 Fix diff_ignore_lines option issue for candidate configuration (#45201)
* Fix diff_ignore_lines option issue for candidate configuration

*  diff_ignore_lines option is to handle the running config fetch from
   remote host and ignore the lines that are auto updated eg: commit time and date
*  This option should not be used while processing candidate (input) configuration

* Fix review comment

(cherry picked from commit a3c137c1ab)
2018-09-06 11:53:27 -07:00
22f50e416d correct and clarify deprecation (#45234)
* correct and clarify deprecation

(cherry picked from commit 64c594d226)
2018-09-06 11:36:28 -07:00
6391f4f4c3 Backport 2.7 - Select image facts by region (#45297)
* Select image facts by region

* fix version numbers since this is being backported

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-09-06 11:35:12 -07:00
0c6c29900d iosxr dci failure on devel/2.7 (#45268)
(cherry picked from commit 23d54ed1d4)
2018-09-06 10:34:23 -07:00
f0eebf9187 Fix ec2_group for numbered protocols (GRE) (#42765)
* Fix spurious `changed=True` when int is passed as tag

* Fix for all AWS module using compare_aws_tags

* Handle improperly stringified protocols and allow inconsistency between None/-1 on non-tcp protocols

* Add integration test that reproduces the same bug

* Return false if the comparsison is not equal

(cherry picked from commit 20f21779d3)
2018-09-06 10:32:52 -07:00
66759810a0 elb_target_group - prevent a KeyError exception (#45169)
Ensure ports to integers after allowing the key 'Targets' to be available in params

(cherry picked from commit 038fd0d0f2)
2018-09-06 10:30:28 -07:00
6d49cd643c [aws] Add suboptions to aws_application_scaling_policy (#43042)
* [aws] Add suboptions to aws_application_scaling_policy

Fixes #42917

* Remove any suboptions that are None

(cherry picked from commit 9d1bf32825)
2018-09-06 10:27:02 -07:00
c89d9d5c8f ec2 inventory: python 3.7 compatibility (#43716)
ec2 inventory script was throwing errors when using Python 3.7:

TypeError: option values must be strings

This changes the None ConfigParser options to empty strings instead.

(cherry picked from commit 505ce6ccf6)
2018-09-06 10:24:42 -07:00
cc4854fdad ec2_vpc_route_table - allow routes to be created if the CIDR already … (#45178)
* ec2_vpc_route_table - allow routes to be created if the CIDR already exists but its 'Origin' is 'EnableVgwRoutePropagation' (which cannot be replaced). (#43417)

Fixes #43415
(cherry picked from commit a6c97f2243)
2018-09-06 10:22:10 -07:00
264c7c22fb Updates documentation formatting and dependencies (#45252)
The documentation formatting was a bit incorrect and the dependencies
mentioned were out of date. This fixes that.

(cherry picked from commit 4154cab278)
2018-09-06 10:15:52 -07:00
37d977c3b8 fix nxos terminal plugin
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-09-06 10:09:27 -07:00
03cdcc7d58 fix python26 nxos terminal plugin bug (#45271)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit c98494d5bf)
2018-09-06 10:09:27 -07:00
3b46dd144b terminal plugin nxos, iosxr changelog
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-09-06 10:09:27 -07:00
c1c9d88ebc fix Python 2.6 regex bug terminal plugin nxos, iosxr (#45135)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit ab3cd10dfe)
2018-09-06 10:09:27 -07:00
2a8ffbc0ed Fix netconf module and plugin issues (#45140)
* Fix netconf netconf issues

*  Identifier is optional for get_schema api
*  Fix dispatch api mandatory argument check
*  Add save option handling to copy config from target datastore
   to startup datastore if supported
*  Validate config in check-mode or if validate option set to true

* Copy config if check-mode is not enabled

(cherry picked from commit 455dfbe732)
2018-09-06 10:04:59 -07:00
ceb90f6632 Fix sshkeyfilename is None not str (#44893)
(cherry picked from commit 177fbea351)
2018-09-06 10:02:44 -07:00
25025d8246 Add a table of contents to the generated changelog (#45046)
(cherry picked from commit fdb51b34da)
2018-09-06 09:56:18 -07:00
ddb6471d64 Docs updated and review comments addressed (#45133)
(cherry picked from commit 3beeeffef9)
2018-09-06 09:55:56 -07:00
c5f6aa69a1 Backport of 45091 2018-09-06 09:53:36 -07:00
055c3e8d0d Backport of 45088 2018-09-06 09:50:15 -07:00
82f8c2add9 [2.7] docker_*: changelogs (#45056)
* Add changelog entry for #16748.

* Changelog entry for #33579.

* Added changelog for #42380.

* Added changelog for #42641.

* Adding changelog entry for #42857.

* Added changelog for #44808.
2018-09-06 09:39:34 -07:00
e857157072 Improve dnf group output for clarity
Add note about group removal bug upstream dnf

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-09-06 09:27:37 -07:00
576700a8a1 Remove obsolete default container.
(cherry picked from commit 4173a30941)
2018-09-05 19:21:06 -07:00
e47f53e4ff Switch default test container to quay.io.
(cherry picked from commit 3f8edb440a)
2018-09-05 19:21:06 -07:00
b73a7bbf39 Fixes for ansible-test sanity import test. (#45249)
* Fix import test on Python 3.7.
* Fix path processing in import sanity test.

(cherry picked from commit 6fb333faff)
2018-09-05 19:21:06 -07:00
3514a5d1b9 Fix ansible-test virtualenv use in import test.
(cherry picked from commit 998badbda5)
2018-09-05 19:21:06 -07:00
cc5d880a61 Skip ipaddr test that fails on Python 3.7+.
(cherry picked from commit f7979e4938)
2018-09-05 19:21:06 -07:00
f9cf4b2d8a Update test constraints. (#44975)
- Limit virtualenv version on Python 2.6.
- Limit pyopenssl version on Python 2.6.
- Pin pyfmg version to keep unit tests passing.

(cherry picked from commit b3a3e8ba7b)
2018-09-05 19:21:06 -07:00
07161cf6d3 Fixing typo in acme_certificate docs. (#45082) (#45084) 2018-09-05 09:04:09 -05:00
bebda470a1 Update porting_guide_2.7.rst (#45215)
changing changelogs url link
2018-09-05 08:52:29 -05:00
6586d6faff Add rds_instance to AWS module_defaults group (#45168)
(cherry picked from commit 617b8df5e6)
2018-09-04 13:38:55 -04:00
0a7d5ebd73 fixed formatting (#45164) (#45174)
(cherry picked from commit 58ca82fa1c)
(cherry picked from commit fe119c18ef)
2018-09-04 11:41:17 -05:00
1d06a86481 Add licence and boilerplate to Online module_utils 2018-09-04 06:30:59 -07:00
4fff85d66f [stable-2.7] Add an user facts module for Online (#44709)
(cherry picked from commit 5cf9644003)

Co-authored-by: Rémy Léone <remy.leone@gmail.com>
2018-09-04 06:30:59 -07:00
8a8da98546 Change release for the period until 2.7.0rc1 2018-08-31 19:56:41 -07:00
097aaeb733 Update changelogs for 2.7.0b1 2018-08-31 14:40:47 -07:00
77ed7545fa Add a summary for 2.7.0b1 2018-08-31 14:36:48 -07:00
8323524e9f Rename the 2.7.0a1 summary.
I didn't realize these summary files need to be created unique for the
minor releases too
2018-08-31 11:41:34 -07:00
9376c41c61 Update version number for 2.7.0beta1 2018-08-31 11:16:39 -07:00
f414424735 Update the docsite Version to 2.7 2018-08-31 11:04:24 -07:00
15153 changed files with 1415467 additions and 316156 deletions

View File

@ -1,245 +0,0 @@
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: entryPoint
value: .azure-pipelines/commands/entry-point.sh
- name: fetchDepth
value: 500
- name: defaultContainer
value: quay.io/ansible/azure-pipelines-test-container:6.0.0
pool: Standard
stages:
- stage: Sanity
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Test {0}
testFormat: sanity/{0}
targets:
- test: 1
- test: 2
- stage: Units
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Python {0}
testFormat: units/{0}
targets:
- test: 3.8
- test: 3.9
- test: '3.10'
- test: 3.11
- test: 3.12
- test: 3.13
- stage: Windows
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Server {0}
testFormat: windows/{0}/1
targets:
- name: 2016 WinRM HTTP
test: 2016/winrm/http
- name: 2019 WinRM HTTPS
test: 2019/winrm/https
- name: 2022 WinRM HTTPS
test: 2022/winrm/https
- name: 2022 PSRP HTTP
test: 2022/psrp/http
- name: 2022 SSH Key
test: 2022/ssh/key
- name: 2025 PSRP HTTP
test: 2025/psrp/http
- name: 2025 SSH Key
test: 2025/ssh/key
- stage: Remote
dependsOn: []
jobs:
- template: templates/matrix.yml # context/target
parameters:
targets:
- name: macOS 15.3
test: macos/15.3
- name: RHEL 9.5 py39
test: rhel/9.5@3.9
- name: RHEL 9.5 py312
test: rhel/9.5@3.12
- name: RHEL 10.0
test: rhel/10.0
- name: FreeBSD 13.5
test: freebsd/13.5
- name: FreeBSD 14.2
test: freebsd/14.2
groups:
- 1
- 2
- template: templates/matrix.yml # context/controller
parameters:
targets:
- name: macOS 15.3
test: macos/15.3
- name: RHEL 9.5
test: rhel/9.5
- name: RHEL 10.0
test: rhel/10.0
- name: FreeBSD 13.5
test: freebsd/13.5
- name: FreeBSD 14.2
test: freebsd/14.2
groups:
- 3
- 4
- 5
- template: templates/matrix.yml # context/controller (ansible-test container management)
parameters:
targets:
- name: Alpine 3.21
test: alpine/3.21
- name: Fedora 41
test: fedora/41
- name: RHEL 9.5
test: rhel/9.5
- name: RHEL 10.0
test: rhel/10.0
- name: Ubuntu 24.04
test: ubuntu/24.04
groups:
- 6
- stage: Docker
dependsOn: []
jobs:
- template: templates/matrix.yml # context/target
parameters:
testFormat: linux/{0}
targets:
- name: Alpine 3.21
test: alpine321
- name: Fedora 41
test: fedora41
- name: Ubuntu 22.04
test: ubuntu2204
- name: Ubuntu 24.04
test: ubuntu2404
groups:
- 1
- 2
- template: templates/matrix.yml # context/controller
parameters:
testFormat: linux/{0}
targets:
- name: Alpine 3.21
test: alpine321
- name: Fedora 41
test: fedora41
- name: Ubuntu 24.04
test: ubuntu2404
groups:
- 3
- 4
- 5
- template: templates/matrix.yml # context/target (dnf-oldest, dnf-latest)
parameters:
testFormat: linux/{0}
targets:
- name: Fedora 41
test: fedora41
groups:
- 7
- stage: Galaxy
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Python {0}
testFormat: galaxy/{0}/1
targets:
- test: 3.11
- test: 3.12
- test: 3.13
- stage: Generic
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Python {0}
testFormat: generic/{0}/1
targets:
- test: 3.11
- test: 3.12
- test: 3.13
- stage: Incidental_Windows
displayName: Incidental Windows
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Server {0}
testFormat: i/windows/{0}
targets:
- name: 2016 WinRM HTTP
test: 2016/winrm/http
- name: 2019 WinRM HTTPS
test: 2019/winrm/https
- name: 2022 WinRM HTTPS
test: 2022/winrm/https
- name: 2022 PSRP HTTP
test: 2022/psrp/http
- name: 2022 SSH Key
test: 2022/ssh/key
- name: 2025 PSRP HTTP
test: 2025/psrp/http
- name: 2025 SSH Key
test: 2025/ssh/key
- stage: Incidental
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: i/{0}/1
targets:
- name: IOS Python
test: ios/csr1000v/
- stage: Summary
condition: succeededOrFailed()
dependsOn:
- Sanity
- Units
- Windows
- Remote
- Docker
- Galaxy
- Generic
- Incidental_Windows
- Incidental
jobs:
- template: templates/coverage.yml

View File

@ -1 +0,0 @@
remote.sh

View File

@ -1,62 +0,0 @@
#!/usr/bin/env bash
set -o pipefail -eux
declare -a args
IFS='/:' read -ra args <<< "$1"
script="${args[0]}"
test="$1"
docker images
docker ps
for container in $(docker ps --format '{{.Image}} {{.ID}}' | grep -v -e '^quay.io/ansible/azure-pipelines-test-container:' | sed 's/^.* //'); do
docker rm -f "${container}" || true # ignore errors
done
docker ps
export PATH="${PWD}/bin:${PATH}"
export PYTHONIOENCODING='utf-8'
if [ -n "${COVERAGE:-}" ]; then
# on-demand coverage reporting triggered by setting the COVERAGE environment variable to a non-empty value
export COVERAGE="--coverage"
elif [[ "${COMMIT_MESSAGE}" =~ ci_coverage ]]; then
# on-demand coverage reporting triggered by having 'ci_coverage' in the latest commit message
export COVERAGE="--coverage"
else
# on-demand coverage reporting disabled (default behavior, always-on coverage reporting remains enabled)
export COVERAGE="--coverage-check"
fi
if [ -n "${COMPLETE:-}" ]; then
# disable change detection triggered by setting the COMPLETE environment variable to a non-empty value
export CHANGED=""
elif [[ "${COMMIT_MESSAGE}" =~ ci_complete ]]; then
# disable change detection triggered by having 'ci_complete' in the latest commit message
export CHANGED=""
else
# enable change detection (default behavior)
export CHANGED="--changed"
fi
if [ "${IS_PULL_REQUEST:-}" == "true" ]; then
# run unstable tests which are targeted by focused changes on PRs
export UNSTABLE="--allow-unstable-changed"
else
# do not run unstable tests outside PRs
export UNSTABLE=""
fi
if [[ "${COVERAGE:-}" == "--coverage" ]]; then
timeout=60
else
timeout=50
fi
ansible-test env --dump --show --timeout "${timeout}" --color -v
".azure-pipelines/commands/${script}.sh" "${test}"

View File

@ -1 +0,0 @@
remote.sh

View File

@ -1 +0,0 @@
remote.sh

View File

@ -1,18 +0,0 @@
#!/usr/bin/env bash
set -o pipefail -eux
declare -a args
IFS='/:' read -ra args <<< "$1"
python="${args[1]}"
if [ "${#args[@]}" -gt 2 ]; then
target="shippable/generic/group${args[2]}/"
else
target="shippable/generic/"
fi
# shellcheck disable=SC2086
ansible-test integration --color -v --retry-on-error "${target}" ${COVERAGE:+"$COVERAGE"} ${CHANGED:+"$CHANGED"} ${UNSTABLE:+"$UNSTABLE"} \
--docker default --python "${python}"

View File

@ -1,14 +0,0 @@
#!/usr/bin/env bash
# Temporary script to support side-by-side testing for incidental code coverage.
# Once collection migration has been completed the incidental tests can be combined with the regular tests.
set -o pipefail -eux
declare -a args
IFS='/:' read -ra args <<< "$1"
script="${args[1]}"
IFS='/' test="${args[*]:1}"
".azure-pipelines/commands/incidental/${script}.sh" "${test}"

View File

@ -1 +0,0 @@
network.sh

View File

@ -1,40 +0,0 @@
#!/usr/bin/env bash
set -o pipefail -eux
declare -a args
IFS='/:' read -ra args <<< "$1"
platform="${args[0]}"
version="${args[1]}"
python_version="${args[2]}"
target="shippable/${platform}/incidental/"
stage="${S:-prod}"
provider="${P:-default}"
# python versions to test in order
# all versions run full tests
IFS=' ' read -r -a python_versions <<< \
"$(PYTHONPATH="${PWD}/test/lib" python -c 'from ansible_test._internal import constants; print(" ".join(constants.CONTROLLER_PYTHON_VERSIONS))')"
if [ "${python_version}" ]; then
# limit tests to a single python version
python_versions=("${python_version}")
fi
for python_version in "${python_versions[@]}"; do
# terminate remote instances on the final python version tested
if [ "${python_version}" = "${python_versions[-1]}" ]; then
terminate="always"
else
terminate="never"
fi
# shellcheck disable=SC2086
ansible-test network-integration --color -v --retry-on-error "${target}" ${COVERAGE:+"$COVERAGE"} ${CHANGED:+"$CHANGED"} ${UNSTABLE:+"$UNSTABLE"} \
--platform "${platform}/${version}" \
--docker default --python "${python_version}" \
--remote-terminate "${terminate}" --remote-stage "${stage}" --remote-provider "${provider}"
done

View File

@ -1,46 +0,0 @@
#!/usr/bin/env bash
set -o pipefail -eux
declare -a args
IFS='/:' read -ra args <<< "$1"
version="${args[1]}"
connection="${args[2]}"
connection_setting="${args[3]}"
target="shippable/windows/incidental/"
stage="${S:-prod}"
provider="${P:-default}"
# python version to run full tests on while other versions run minimal tests
python_default="$(PYTHONPATH="${PWD}/test/lib" python -c 'from ansible_test._internal import constants; print(constants.CONTROLLER_MIN_PYTHON_VERSION)')"
# version to test when only testing a single version
single_version=2022
# shellcheck disable=SC2086
ansible-test windows-integration --list-targets -v ${CHANGED:+"$CHANGED"} ${UNSTABLE:+"$UNSTABLE"} > /tmp/explain.txt 2>&1 || { cat /tmp/explain.txt && false; }
{ grep ' windows-integration: .* (targeted)$' /tmp/explain.txt || true; } > /tmp/windows.txt
if [ -s /tmp/windows.txt ] || [ "${CHANGED:+$CHANGED}" == "" ]; then
echo "Detected changes requiring integration tests specific to Windows:"
cat /tmp/windows.txt
echo "Running Windows integration tests for the version ${version}."
else
echo "No changes requiring integration tests specific to Windows were detected."
echo "Running Windows integration tests for a single version only: ${single_version}"
if [ "${version}" != "${single_version}" ]; then
echo "Skipping this job since it is for: ${version}"
exit 0
fi
fi
# shellcheck disable=SC2086
ansible-test windows-integration --color -v --retry-on-error "${target}" ${COVERAGE:+"$COVERAGE"} ${CHANGED:+"$CHANGED"} ${UNSTABLE:+"$UNSTABLE"} \
--controller "docker:default,python=${python_default}" \
--target "remote:windows/${version},connection=${connection}+${connection_setting},provider=${provider}" \
--remote-terminate always --remote-stage "${stage}"

View File

@ -1 +0,0 @@
remote.sh

View File

@ -1,32 +0,0 @@
#!/usr/bin/env bash
set -o pipefail -eux
declare -a args
IFS='/:' read -ra args <<< "$1"
platform="${args[0]}"
version="${args[1]}"
pyver=default
# check for explicit python version like 8.3@3.8
declare -a splitversion
IFS='@' read -ra splitversion <<< "$version"
if [ "${#splitversion[@]}" -gt 1 ]; then
version="${splitversion[0]}"
pyver="${splitversion[1]}"
fi
if [ "${#args[@]}" -gt 2 ]; then
target="shippable/posix/group${args[2]}/"
else
target="shippable/posix/"
fi
stage="${S:-prod}"
provider="${P:-default}"
# shellcheck disable=SC2086
ansible-test integration --color -v --retry-on-error "${target}" ${COVERAGE:+"$COVERAGE"} ${CHANGED:+"$CHANGED"} ${UNSTABLE:+"$UNSTABLE"} \
--python "${pyver}" --remote "${platform}/${version}" --remote-terminate always --remote-stage "${stage}" --remote-provider "${provider}" \

View File

@ -1 +0,0 @@
remote.sh

View File

@ -1,41 +0,0 @@
#!/usr/bin/env bash
set -o pipefail -eux
declare -a args
IFS='/:' read -ra args <<< "$1"
group="${args[1]}"
group2_include=(
ansible-doc
changelog
package-data
pep8
pylint
validate-modules
)
group1_exclude=(
"${group2_include[@]}"
)
options=()
case "${group}" in
1)
for name in "${group1_exclude[@]}"; do
options+=(--skip-test "${name}")
done
;;
2)
for name in "${group2_include[@]}"; do
options+=(--test "${name}")
done
;;
esac
# shellcheck disable=SC2086
ansible-test sanity --color -v --junit ${COVERAGE:+"$COVERAGE"} ${CHANGED:+"$CHANGED"} \
--docker \
"${options[@]}" --allow-disabled

View File

@ -1 +0,0 @@
remote.sh

View File

@ -1,89 +0,0 @@
#!/usr/bin/env bash
set -o pipefail -eux
declare -a args
IFS='/:' read -ra args <<< "$1"
version="${args[1]}"
connection="${args[2]}"
connection_setting="${args[3]}"
group="${args[4]}"
target="shippable/windows/group${group}/"
stage="${S:-prod}"
provider="${P:-default}"
# python versions to test in order
IFS=' ' read -r -a python_versions <<< \
"$(PYTHONPATH="${PWD}/test/lib" python -c 'from ansible_test._internal import constants; print(" ".join(constants.CONTROLLER_PYTHON_VERSIONS))')"
# python version to run full tests on while other versions run minimal tests
python_default="$(PYTHONPATH="${PWD}/test/lib" python -c 'from ansible_test._internal import constants; print(constants.CONTROLLER_MIN_PYTHON_VERSION)')"
# version to test when only testing a single version
single_version=2022
# shellcheck disable=SC2086
ansible-test windows-integration --list-targets -v ${CHANGED:+"$CHANGED"} ${UNSTABLE:+"$UNSTABLE"} > /tmp/explain.txt 2>&1 || { cat /tmp/explain.txt && false; }
{ grep ' windows-integration: .* (targeted)$' /tmp/explain.txt || true; } > /tmp/windows.txt
if [ -s /tmp/windows.txt ] || [ "${CHANGED:+$CHANGED}" == "" ]; then
echo "Detected changes requiring integration tests specific to Windows:"
cat /tmp/windows.txt
echo "Running Windows integration tests for the version ${version}."
else
echo "No changes requiring integration tests specific to Windows were detected."
echo "Running Windows integration tests for a single version only: ${single_version}"
if [ "${version}" != "${single_version}" ]; then
echo "Skipping this job since it is for: ${version}"
exit 0
fi
fi
for py_version in "${python_versions[@]}"; do
changed_all_target="all"
changed_all_mode="default"
if [ "${py_version}" == "${python_default}" ]; then
# smoketest tests
if [ "${CHANGED}" ]; then
# with change detection enabled run tests for anything changed
# use the smoketest tests for any change that triggers all tests
ci="${target}"
changed_all_target="shippable/windows/smoketest/"
if [ "${target}" == "shippable/windows/group1/" ]; then
# only run smoketest tests for group1
changed_all_mode="include"
else
# smoketest tests already covered by group1
changed_all_mode="exclude"
fi
else
# without change detection enabled run entire test group
ci="${target}"
fi
else
# only run minimal tests for group1
if [ "${target}" != "shippable/windows/group1/" ]; then continue; fi
# minimal tests for other python versions
ci="shippable/windows/minimal/"
fi
# terminate remote instances on the final python version tested
if [ "${py_version}" = "${python_versions[-1]}" ]; then
terminate="always"
else
terminate="never"
fi
# shellcheck disable=SC2086
ansible-test windows-integration --color -v --retry-on-error "${ci}" ${COVERAGE:+"$COVERAGE"} ${CHANGED:+"$CHANGED"} ${UNSTABLE:+"$UNSTABLE"} \
--changed-all-target "${changed_all_target}" --changed-all-mode "${changed_all_mode}" \
--controller "docker:default,python=${py_version}" \
--target "remote:windows/${version},connection=${connection}+${connection_setting},provider=${provider}" \
--remote-terminate "${terminate}" --remote-stage "${stage}"
done

View File

@ -1,20 +0,0 @@
#!/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 --color -v)
ansible-test coverage combine --group-by command --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

@ -1,59 +0,0 @@
#!/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 annotations
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

@ -1,24 +0,0 @@
#!/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

@ -1,121 +0,0 @@
#!/usr/bin/env python
"""
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.
"""
from __future__ import annotations
import argparse
import dataclasses
import pathlib
import shlex
import subprocess
import tempfile
import typing as t
import venv
@dataclasses.dataclass(frozen=True)
class CoverageFile:
name: str
path: pathlib.Path
flags: t.List[str]
@dataclasses.dataclass(frozen=True)
class Args:
dry_run: bool
path: pathlib.Path
def parse_args() -> Args:
parser = argparse.ArgumentParser()
parser.add_argument('-n', '--dry-run', action='store_true')
parser.add_argument('path', type=pathlib.Path)
args = parser.parse_args()
# Store arguments in a typed dataclass
fields = dataclasses.fields(Args)
kwargs = {field.name: getattr(args, field.name) for field in fields}
return Args(**kwargs)
def run(*args: str | pathlib.Path) -> None:
cmd = [str(arg) for arg in args]
print(f'==> {shlex.join(cmd)}', flush=True)
subprocess.run(cmd, check=True)
def install_codecov(dest: pathlib.Path) -> pathlib.Path:
package = 'codecov-cli'
version = '11.0.3'
venv_dir = dest / 'venv'
python_bin = venv_dir / 'bin' / 'python'
codecov_bin = venv_dir / 'bin' / 'codecovcli'
venv.create(venv_dir, with_pip=True)
run(python_bin, '-m', 'pip', 'install', f'{package}=={version}', '--disable-pip-version-check')
return codecov_bin
def process_files(directory: pathlib.Path) -> t.Tuple[CoverageFile, ...]:
processed = []
for file in directory.joinpath('reports').glob('coverage*.xml'):
name = file.stem.replace('coverage=', '')
# Get flags from name
flags = name.replace('-powershell', '').split('=') # Drop '-powershell' suffix
flags = [flag if not flag.startswith('stub') else flag.split('-')[0] for flag in flags] # Remove "-01" from stub files
processed.append(CoverageFile(name, file, flags))
return tuple(processed)
def upload_files(codecov_bin: pathlib.Path, config_file: pathlib.Path, files: t.Tuple[CoverageFile, ...], dry_run: bool = False) -> None:
for file in files:
cmd = [
codecov_bin,
'--disable-telem',
'--codecov-yml-path',
config_file,
'upload-process',
'--disable-search',
'--disable-file-fixes',
'--plugin',
'noop',
'--name',
file.name,
'--file',
file.path,
]
for flag in file.flags:
cmd.extend(['--flag', flag])
if dry_run:
cmd.append('--dry-run')
run(*cmd)
def main() -> None:
args = parse_args()
with tempfile.TemporaryDirectory(prefix='codecov-') as tmpdir:
config_file = pathlib.Path(tmpdir) / 'config.yml'
config_file.write_text('')
codecov_bin = install_codecov(pathlib.Path(tmpdir))
files = process_files(args.path)
upload_files(codecov_bin, config_file, files, args.dry_run)
if __name__ == '__main__':
main()

View File

@ -1,17 +0,0 @@
#!/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.
# The use of docker is mandatory when Powershell code is present.
ansible-test coverage xml --group-by command --stub --docker --color -v

View File

@ -1,34 +0,0 @@
#!/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

@ -1,24 +0,0 @@
#!/usr/bin/env python
"""Prepends a relative timestamp to each input line from stdin and writes it to stdout."""
from __future__ import annotations
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

@ -1,29 +0,0 @@
# 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: $[ variables.defaultContainer ]
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)
- bash: .azure-pipelines/scripts/publish-codecov.py "$(outputPath)"
displayName: Publish to codecov.io
condition: gt(variables.coverageFileCount, 0)
continueOnError: true

View File

@ -1,55 +0,0 @@
# 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

@ -1,45 +0,0 @@
# 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: $[ variables.defaultContainer ]
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)"

26
.coveragerc Normal file
View File

@ -0,0 +1,26 @@
# This configuration file is used for manual execution of coverage
# as well as for tests run through ansible-test.
[run]
branch = True
# Enable concurrency. This also enables parallel mode, which results in
# multiple coverage files being created. Concurrency allows us to collect
# results from multiple tests simultaneously, as well as supporting multiple
# test runs, such as from integration tests.
concurrency = multiprocessing
parallel = True
# When running tests through ansible-test, this option is overridden by
# the COVERAGE_FILE environment variable. This option is present for
# convenience when running coverage manually from this directory.
data_file = test/results/coverage/coverage
# Don't collect or report code coverage from files matching these patterns.
omit =
*/python*/dist-packages/*
*/python*/site-packages/*
*/python*/distutils/*
*/pyshared/*
*/pytest
*/AnsiballZ_*.py

View File

@ -1,6 +0,0 @@
# .git-blame-ignore-revs
# Bulk PowerShell sanity fixes
6def4a3180fe03981ba64c6d8db28fed3bb39c0c
716631189cb5a3f66b3add98f39e64e98bc17bf7
# Bulk update of strings from triple single quotes to triple double quotes
a0495fc31497798a7a833ba7406a9729e1528dd8

1
.gitattributes vendored
View File

@ -1 +1,2 @@
.github/ export-ignore
hacking/ export-ignore

922
.github/BOTMETA.yml vendored Normal file
View File

@ -0,0 +1,922 @@
# BOTMETA V2.0
#
# Data used by ansibot to identify who works on each file in the repo.
# If you have questions about this data format, please join #ansible-devel
# on irc.freenode and ping anyone who is op'ed.
#
# There are 3 primary sections of the data
#
# automerge
# During release freezes, the bot uses this key to know if
# automerging should be on or off. It is a boolean value.
#
# macros
# Macros are used to shorten and group some strings and lists.
# Any macro with a prefix of "team_" is a maintainer group for
# various files.
#
# files
# Each key represents a specific file in the repository.
# If a module is not listed, it's maintainers default to the authors
# If the file has no maintainers key, the value of the key is
# presumed to be the maintainers.
#
# Keys:
# maintainers - these people can shipit and automerge
# notified - these people are always subscribed to relevant issues
# ignored - these people should never be notified
# deprecated - this file is deprecated but probably not yet renamed
# keywords - used to identify this file based on the issue description
# support - used for files without internal metadata
# labels - list of GitHub labels to apply. Path components of 'file' parent key
# which are valid GitHub labels are automatically added.
#
automerge: True
files:
.github/BOTMETA.yml:
labels: botmeta
$modules/cloud/amazon/:
ignored: erydo seiffert simplesteph
$modules/cloud/amazon/aws_api_gateway.py: willthames
$modules/cloud/amazon/aws_kms.py: willthames
$modules/cloud/amazon/cloudformation.py: ryansb tedder
$modules/cloud/amazon/cloudfront_facts.py: willthames
$modules/cloud/amazon/cloudtrail.py: $team_ansible
$modules/cloud/amazon/ec2.py: $team_ansible
$modules/cloud/amazon/ec2_ami.py: willthames
$modules/cloud/amazon/ec2_asg.py: $team_ansible s-hertel ryansb
$modules/cloud/amazon/ec2_group.py: $team_ansible
$modules/cloud/amazon/ec2_group_facts.py: willthames
$modules/cloud/amazon/ec2_instance.py: Shaps
$modules/cloud/amazon/ec2_instance_facts.py: willthames
$modules/cloud/amazon/ec2_key.py: $team_ansible
$modules/cloud/amazon/ec2_lc.py: $team_ansible
$modules/cloud/amazon/ec2_lc_facts.py: willthames
$modules/cloud/amazon/ec2_metric_alarm.py: $team_ansible
$modules/cloud/amazon/ec2_tag.py: $team_ansible
$modules/cloud/amazon/ec2_vol.py: $team_ansible
$modules/cloud/amazon/ec2_vpc_endpoint.py: willthames
$modules/cloud/amazon/ec2_vpc_endpoint_facts.py: willthames
$modules/cloud/amazon/ec2_vpc_igw.py: willthames
$modules/cloud/amazon/ec2_vpc_igw_facts.py: willthames
$modules/cloud/amazon/ec2_vpc_nat_gateway_facts.py: willthames
$modules/cloud/amazon/ec2_vpc_net.py: $team_ansible
$modules/cloud/amazon/ec2_vpc_net_facts.py: whiter
$modules/cloud/amazon/ec2_vpc_peering_facts.py: willthames
$modules/cloud/amazon/ec2_vpc_subnet.py: willthames
$modules/cloud/amazon/ecs_cluster.py: willthames
$modules/cloud/amazon/ecs_ecr.py: willthames
$modules/cloud/amazon/ecs_service.py: willthames
$modules/cloud/amazon/ecs_service_facts.py: willthames
$modules/cloud/amazon/ecs_task.py: willthames
$modules/cloud/amazon/ecs_taskdefinition.py: willthames
$modules/cloud/amazon/ecs_taskdefinition_facts.py: willthames
$modules/cloud/amazon/elasticache.py: alachaum
$modules/cloud/amazon/elb_target_group_facts.py: willthames
$modules/cloud/amazon/iam.py: $team_ansible
$modules/cloud/amazon/iam_cert.py: $team_ansible
$modules/cloud/amazon/iam_group.py: willthames
$modules/cloud/amazon/iam_managed_policy.py: willthames
$modules/cloud/amazon/iam_policy.py: $team_ansible
$modules/cloud/amazon/rds_param_group.py: scottanderson42
$modules/cloud/amazon/rds_subnet_group.py: scottanderson42
$modules/cloud/amazon/route53_health_check.py: willthames
$modules/cloud/amazon/sns.py: willthames
$modules/cloud/amazon/sns_topic.py: willthames
$modules/cloud/atomic/: krsacme
$modules/cloud/azure/:
ignored: chouseknecht jwhitbeck
maintainers: $team_azure
$modules/cloud/azure/azure_rm_dnsrecordset.py:
ignored: ozboms
$modules/cloud/centurylink/: clc-runner
$modules/cloud/cloudstack/: $team_cloudstack
$modules/cloud/digital_ocean/: BondAnthony
$modules/cloud/digital_ocean/digital_ocean.py: alukovenko
$modules/cloud/digital_ocean/digital_ocean_domain.py: alukovenko
$modules/cloud/digital_ocean/digital_ocean_sshkey.py: alukovenko mgregson
$modules/cloud/dimensiondata/dimensiondata_network.py: tintoy
$modules/cloud/docker/:
ignored: ThomasSteinbach
$modules/cloud/docker/docker_container.py: $team_ansible felixfontein
$modules/cloud/docker/docker_image.py: $team_ansible
$modules/cloud/docker/docker_image_facts.py: $team_ansible
$modules/cloud/docker/docker_network.py: olsaki
$modules/cloud/docker/docker_service.py: $team_ansible
$modules/cloud/google/:
maintainers: rambleraptor erjohnso
ignored: supertom
$modules/cloud/google/gc_storage.py: supertom
$modules/cloud/linode/linode.py: intheclouddan rwaweber
$modules/cloud/lxd/: hnakamur
$modules/cloud/memset/: analbeard
$modules/cloud/misc/ovirt.py:
ignored: vincentvdk
maintainers: joshainglis karmab machacekondra mwperina
$modules/cloud/misc/virt.py: $team_ansible
$modules/cloud/misc/xenserver_facts.py:
ignored: andyhky
$modules/cloud/opennebula/: ilicmilan kustodian
$modules/cloud/openstack/: $team_openstack
$modules/cloud/ovirt/: machacekondra mwperina
$modules/cloud/profitbricks/: baldwinSPC
$modules/cloud/rackspace/:
ignored: sivel angstwad
$modules/cloud/univention/: 2-B
$modules/cloud/vmware/:
maintainers: $team_vmware
ignored: jcpowermac mtnbikenc
$modules/cloud/vmware/vmware_host.py: dagwieers
$modules/cloud/vmware/vmware_vm_shell.py: chrrrles
$modules/cloud/vmware/_vsphere_guest.py: dagwieers
$modules/cloud/vultr/: $team_vultr
$modules/cloud/webfaction/: quentinsf
$modules/clustering/k8s/: chouseknecht maxamillion fabianvf flaper87 willthames
$modules/clustering/k8s/_kubernetes.py: supertom
$modules/clustering/openshift/: chouseknecht maxamillion fabianvf flaper87
$modules/commands/command.py: $team_ansible
$modules/commands/raw.py: $team_ansible
$modules/commands/script.py: $team_ansible
$modules/commands/shell.py: $team_ansible
$modules/crypto/: Spredzy
$modules/crypto/acme/: resmo felixfontein
$modules/database/influxdb/: kamsz
$modules/database/mssql/mssql_db.py: Jmainguy kenichi-ogawa-1988
$modules/database/postgresql/: matburt
$modules/database/postgresql/postgresql_db.py: $team_ansible
$modules/database/postgresql/postgresql_user.py: $team_ansible nerzhul
$modules/database/proxysql/: bmildren
$modules/database/vertica/: dareko
$modules/files/acl.py:
ignored: astorije
maintainers: $team_ansible
$modules/files/assemble.py: $team_ansible
$modules/files/copy.py: $team_ansible
$modules/files/fetch.py: $team_ansible
$modules/files/file.py: $team_ansible
$modules/files/find.py: $team_ansible
$modules/files/lineinfile.py: $team_ansible samdoran
$modules/files/synchronize.py: $team_ansible
$modules/files/template.py: $team_ansible
$modules/files/unarchive.py:
ignored: dagwieers
labels: m:unarchive
maintainers: pileofrogs
$modules/files/xattr.py: $team_ansible
$modules/files/xml.py:
ignored: magnus919
labels: m:xml
maintainers: sm4rk0 cmprescott
$modules/identity/cyberark/:
notified: cyberark-bizdev
$modules/identity/ipa/: $team_ipa
$modules/identity/keycloak/: eikef
$modules/inventory/add_host.py: $team_ansible
$modules/inventory/group_by.py: $team_ansible
$modules/messaging/rabbitmq_binding.py: $team_rabbitmq
$modules/messaging/rabbitmq_exchange.py: $team_rabbitmq
$modules/messaging/rabbitmq_parameter.py: $team_rabbitmq
$modules/messaging/rabbitmq_plugin.py: $team_rabbitmq
$modules/messaging/rabbitmq_policy.py: retr0h
$modules/messaging/rabbitmq_queue.py: $team_rabbitmq
$modules/messaging/rabbitmq_user.py: $team_rabbitmq
$modules/messaging/rabbitmq_vhost.py:
ignored: choffman
maintainers: $team_rabbitmq
$modules/monitoring/datadog_event.py:
ignored: arturaz
$modules/monitoring/logentries.py:
ignored: ivanvanderbyl
$modules/monitoring/monit.py: brian-brazil
$modules/monitoring/zabbix/: eikef D3DeFi
$modules/net_tools/basics/get_url.py: ptux
$modules/net_tools/basics/slurp.py: $team_ansible
$modules/net_tools/basics/uri.py: $team_ansible
$modules/net_tools/cloudflare_dns.py: andreaso
$modules/net_tools/exoscale/: resmo
$modules/net_tools/ldap/: jtyr
$modules/net_tools/lldp.py:
ignored: andyhky
$modules/net_tools/nios/:
maintainers: $team_networking sganesh-infoblox
labels:
- networking
- infoblox
$modules/network/a10/: ericchou1 mischapeters
$modules/network/aci/: $team_aci
$modules/network/aireos/: jmighion
$modules/network/aos/: dgarros jeremyschulman
$modules/network/aruba/: jmighion
$modules/network/asa/: ogenstad gdpak
$modules/network/avi/: $team_avi
$modules/network/bigswitch/: jayakody tedelhourani vuile
$modules/network/citrix/netscaler.py: $team_ansible
$modules/network/cloudengine/: QijunPan
$modules/network/cnos/: dkasberg amuraleedhar
$modules/network/cumulus/: $team_cumulus
$modules/network/dellos10/: skg-net
$modules/network/dellos6/: abirami-n skg-net
$modules/network/dellos9/: dhivyap skg-net
$modules/network/edgeos/: samdoran
$modules/network/enos/: amuraleedhar
$modules/network/eos/: trishnaguha
$modules/network/exos/: rdvencioneck
$modules/network/f5/:
ignored: Etienne-Carriere mhite mryanlam perzizzle srvg wojtek0806 JoeReifel $team_networking
maintainers: caphrim007
$modules/network/files/: $team_networking
$modules/network/fortios/: bjolivot
$modules/network/illumos/: xen0l
$modules/network/interface/: $team_networking
$modules/network/ios/: rcarrillocruz
$modules/network/iosxr/: rcarrillocruz gdpak
$modules/network/ironware/: paulquack
$modules/network/junos/: Qalthos ganeshrn
$modules/network/layer2/: $team_networking
$modules/network/layer3/: $team_networking
$modules/network/meraki/: $team_meraki
$modules/network/netconf/netconf_config.py: userlerueda $team_networking
$modules/network/netconf/netconf_get.py: $team_networking
$modules/network/netconf/netconf_rpc.py: $team_networking
$modules/network/netscaler/: $team_netscaler
$modules/network/netvisor/: $team_netvisor
$modules/network/nos/: $team_extreme
$modules/network/nuage/: pdellaert
$modules/network/nxos/: $team_nxos
$modules/network/nso/: $team_nso
$modules/network/onyx/: $team_onyx
$modules/network/openvswitch/:
ignored: stygstra
maintainers: $team_networking
$modules/network/ordnance/: alexanderturner djh00t
$modules/network/opx/: $team_dell
$modules/network/ovs/:
ignored: stygstra
maintainers: rcarrillocruz
$modules/network/panos/: ivanbojer jtschichold
$modules/network/panos/panos_address.py: itdependsnetworks ivanbojer jtschichold
$modules/network/protocol/: $team_networking
$modules/network/routeros/: heuels
$modules/network/routing/: $team_networking
$modules/network/slxos/: $team_extreme
$modules/network/sros/: privateip
$modules/network/system/: $team_networking
$modules/network/voss/: $team_extreme
$modules/network/vyos/: Qalthos samdoran
$modules/notification/osx_say.py: $team_ansible
$modules/notification/rocketchat.py:
ignored: ramondelafuente
maintainers: Deepakkothandan
$modules/packaging/language/gem.py: $team_ansible
$modules/packaging/language/maven_artifact.py:
ignored: chrisisbeef
maintainers: tumbl3w33d turb
$modules/packaging/language/npm.py:
ignored: chrishoffman
maintainers: shane-walker xcambar
$modules/packaging/language/pip.py: lujeni robinro
$modules/packaging/os/apk.py:
ignored: kbrebanov
maintainers: tdtrask
$modules/packaging/os/apt.py: $team_ansible
$modules/packaging/os/apt_repository.py: $team_ansible
$modules/packaging/os/package.py: $team_ansible
$modules/packaging/os/pacman.py:
ignored: elasticdog
$modules/packaging/os/pkgin.py: troy2914
$modules/packaging/os/pkgng.py:
ignored: bleader
maintainers: JoergFiedler
$modules/packaging/os/pkgutil.py: scathatheworm
$modules/packaging/os/portage.py:
ignored: sayap
$modules/packaging/os/redhat_subscription.py: alikins kahowell
$modules/packaging/os/rhn_channel.py: alikins
$modules/packaging/os/rhn_register.py: $team_rhn
$modules/packaging/os/yum.py: $team_ansible kustodian
$modules/packaging/os/zypper.py:
ignored: dirtyharrycallahan
$modules/packaging/os/zypper_repository.py: robinro
$modules/remote_management/foreman/: ehelms
$modules/remote_management/hpilo/: dagwieers haad
$modules/remote_management/imc/: dagwieers
$modules/remote_management/ipmi/: cloudnull
$modules/remote_management/manageiq/: $team_manageiq
$modules/remote_management/stacki/stacki_host.py: bbyhuy bsanders
$modules/remote_management/ucs/: $team_ucs
$modules/source_control/git.py: $team_ansible
$modules/source_control/github_key.py:
ignored: erydo
$modules/storage/infinidat/: GR360RY vmalloc
$modules/storage/netapp/: $team_netapp
$modules/storage/purestorage/: sdodsley
$modules/system/at.py: $team_ansible
$modules/system/authorized_key.py: $team_ansible
$modules/system/facter.py: $team_ansible
$modules/system/filesystem.py: pilou-
$modules/system/gconftool2.py: Akasurde
$modules/system/group.py: $team_ansible
$modules/system/interfaces_file.py: obourdon
$modules/system/modprobe.py:
ignored: stygstra
$modules/system/mount.py: $team_ansible jtyr
$modules/system/ohai.py: $team_ansible
$modules/system/osx_defaults.py:
ignored: frenck
maintainers: $team_ansible
$modules/system/pam_limits.py:
ignored: usawa
maintainers: giovannisciortino
$modules/system/ping.py: $team_ansible
$modules/system/puppet.py: nibalizer
$modules/system/seboolean.py: $team_ansible
$modules/system/selinux.py: samdoran
$modules/system/service.py: $team_ansible
$modules/system/setup.py:
ignored: david_obrien
maintainers: $team_ansible
$modules/system/sysctl.py: Akasurde
$modules/system/systemd.py: $team_ansible
$modules/system/user.py: $team_ansible samdoran
$modules/utilities/helper/meta.py: $team_ansible
$modules/utilities/logic/assert.py: $team_ansible
$modules/utilities/logic/async_status.py: $team_ansible
$modules/utilities/logic/async_wrapper.py: $team_ansible
$modules/utilities/logic/include.py: $team_ansible
$modules/utilities/logic/include_role.py: $team_ansible
$modules/utilities/logic/include_vars.py: $team_ansible
$modules/utilities/logic/pause.py: samdoran
$modules/utilities/logic/wait_for.py: gregswift
$modules/web_infrastructure/ansible_tower/: $team_tower
$modules/web_infrastructure/django_manage.py: scottanderson42
$modules/web_infrastructure/htpasswd.py: $team_ansible
$modules/web_infrastructure/jboss/: $team_jboss
$modules/web_infrastructure/jira.py: Slezhuk
$modules/windows/:
maintainers: $team_windows
ignored: angstwad georgefrank h0nIg
$modules/windows/win_security_policy.py: rndmh3ro defionscode
bin/ansible-connection:
keywords:
- persistent connection
labels:
- networking
maintainers: $team_networking
contrib/inventory:
keywords:
- dynamic inventory script
- dynamic inventory
- inventory script
labels: c:inventory/contrib_script
support: community
contrib/inventory/digital_ocean.py:
keywords:
- digital_ocean dynamic inventory script
maintainers: BondAnthony
labels:
- cloud
support: community
contrib/inventory/linode.py:
keywords:
- linode dynamic inventory script
maintainers: intheclouddan rwaweber zbal
labels: cloud
contrib/inventory/openstack.py:
keywords:
- openstack dynamic inventory script
maintainers: $team_openstack
labels:
- cloud
contrib/inventory/infoblox.py:
keywords:
- infoblox dynamic inventory script
labels:
- ipam
- networking
maintainers: $team_networking
contrib/inventory/azure_rm.py:
keywords:
- azure inventory
- azure rm inventory
- azure azure_rm dynamic inventory script
labels:
- cloud
- azure
maintainers: $team_azure
contrib/inventory/ec2:
keywords:
- aws dynamic inventory
- aws inventory
- ec2 inventory
- ec2 dynamic inventory
- ec2.py dynamic inventory script
- ec2.py inventory script
- ec2.py inventory
labels:
- cloud
- aws
notify: ryansb s-hertel willthames
contrib/inventory/vmware.py:
keywords:
- vmware inventory
- vmware dynamic inventory script
labels:
- cloud
maintainers: $team_vmware
contrib/inventory/vmware_inventory.py:
keywords:
- vmware inventory
- vmware dynamic inventory script
labels:
- cloud
- vmware
maintainers: $team_vmware
lib/ansible/inventory:
keywords:
- core inventory
- inventory
- inventory parsing
$module_utils/net_tools/nios/:
labels:
- networking
- infoblox
maintainers: $team_networking sganesh-infoblox
$module_utils/network/a10:
maintainers: ericchou1 mischapeters
labels: networking
$module_utils/network/aci:
maintainers: $team_aci
labels: networking
support: community
$module_utils/acme.py:
maintainers: resmo felixfontein
$module_utils/ipa.py:
maintainers: $team_ipa
$module_utils/network/aireos:
maintainers: jmighion
labels: networking
$module_utils/network/aos:
maintainers: dgarros jeremyschulman
labels: networking
$module_utils/azure_rm_common.py:
maintainers: $team_azure
labels:
- azure
- cloud
$module_utils/network/aruba:
maintainers: jmighion
labels: networking
$module_utils/network/asa:
maintainers: ogenstad gdpak
labels: networking
$module_utils/network/avi:
maintainers: $team_avi
labels: networking
$module_utils/network/bigswitch:
maintainers: jayakody tedelhourani vuile
labels: networking
$module_utils/network/cloudengine:
maintainers: QijunPan
labels: networking
$module_utils/cloudstack.py:
maintainers: $team_cloudstack
labels: cloudstack
$module_utils/network/cnos:
maintainers: dkasberg amuraleedhar
labels: networking
$module_utils/crypto.py:
maintainers: Spredzy
$module_utils/network/dellos6:
maintainers: skg-net
labels: networking
$module_utils/network/dellos9:
maintainers: skg-net
labels: networking
$module_utils/network/dellos10:
maintainers: skg-net
labels: networking
$module_utils/network/enos:
maintainers: amuraleedhar
labels: networking
$module_utils/network/exos:
maintainers: rdvencioneck
labels: networking
$module_utils/f5_utils.py:
maintainers: caphrim007
labels:
- f5
- networking
$module_utils/network/fortios:
maintainers: bjolivot
labels: networking
$module_utils/network/ironware:
maintainers: paulquack
labels: networking
$module_utils/k8s:
maintainers: chouseknecht maxamillion fabianvf flaper87 willthames
labels: clustering
$module_utils/keycloak.py:
maintainers: eikef
$module_utils/manageiq.py:
maintainers: $team_manageiq
$module_utils/network/meraki:
maintainers: $team_meraki
labels: networking
support: community
$module_utils/network/netconf:
maintainers: $team_networking
labels: networking
$module_utils/network/netscaler:
maintainers: $team_netscaler
labels: networking
$module_utils/network/nos:
maintainers: $team_extreme
labels: networking
$module_utils/network/nso:
maintainers: $team_nso
labels: networking
$module_utils/network/onyx:
maintainers: $team_onyx
labels: networking
$module_utils/network/routeros:
maintainers: heuels
labels: networking
$module_utils/network/slxos:
maintainers: $team_extreme
labels: networking
$module_utils/openstack.py:
maintainers: $team_openstack
labels:
- cloud
$module_utils/network/ordnance:
maintainers: alexanderturner djh00t
labels: networking
$module_utils/ovirt.py:
maintainers: joshainglis karmab machacekondra
labels:
- cloud
$module_utils/powershell:
maintainers: $team_windows_core
labels:
- windows
$module_utils/remote_management/ucs:
maintainers: $team_ucs
labels: ucs
$module_utils/netapp: $team_netapp
$module_utils/vultr.py: &vultr
maintainers: $team_vultr
labels:
- cloud
$module_utils/vmware:
maintainers: $team_vmware
support: community
$module_utils/network/voss:
maintainers: $team_extreme
labels: networking
$module_utils/network:
maintainers: $team_networking
labels: networking
$module_utils/onepassword.py:
maintainers: samdoran
$module_utils/memset.py:
maintainers: analbeard
labels: cloud
$module_utils/jboss/:
maintainers: $team_jboss
$module_utils/scaleway.py: &scaleway
maintainers: $team_scaleway
labels:
- cloud
support: community
lib/ansible/playbook/handler.py:
keywords:
- handlers
lib/ansible/playbook/role:
keywords:
- roles path
- roles_path
- role
- role path
lib/ansible/playbook/role/include.py:
keywords:
- include role
- include_role
- role include
lib/ansible/playbook/role/requirement.py:
keywords:
- role dependencies
- role dep
- role dependency
lib/ansible/plugins/action/asa:
maintainers: ogenstad gdpak
labels: networking
lib/ansible/plugins/action/aireos:
maintainers: jmighion
labels: networking
lib/ansible/plugins/action/aruba:
maintainers: jmighion
labels: networking
lib/ansible/plugins/action/dellos:
maintainers: skg-net
labels: networking
lib/ansible/plugins/action/eos:
maintainers: $team_networking
labels: networking
lib/ansible/plugins/action/ios:
maintainers: $team_networking
labels: networking
lib/ansible/plugins/action/ironware:
maintainers: paulquack
labels: networking
lib/ansible/plugins/action/junos:
maintainers: $team_networking
labels: networking
lib/ansible/plugins/action/net:
maintainers: $team_networking
labels: networking
lib/ansible/plugins/action/nxos:
maintainers: $team_networking
labels:
- networking
- nxos
lib/ansible/plugins/action/onyx_config.py:
maintainers: $team_onyx
labels: networking
lib/ansible/plugins/action/sros:
maintainers: $team_networking
labels: networking
lib/ansible/plugins/action/vyos:
maintainers: $team_networking
labels: networking
lib/ansible/plugins/callback/unixy.py:
support: community
maintainers: akatch
lib/ansible/plugins/callback/grafana_annotations.py:
support: community
maintainers: rrey
lib/ansible/plugins/callback/sumologic.py:
support: community
maintainers: ryancurrah
lib/ansible/plugins/cliconf/:
maintainers: $team_networking
labels: networking
lib/ansible/plugins/cliconf/exos.py:
maintainers: rdvencioneck
labels: networking
lib/ansible/plugins/cliconf/ironware.py:
maintainers: paulquack
labels: networking
lib/ansible/plugins/cliconf/nos.py:
maintainers: $team_extreme
labels: networking
lib/ansible/plugins/cliconf/nxos.py:
maintainers: $team_nxos
labels:
- networking
lib/ansible/plugins/cliconf/onyx.py:
maintainers: $team_onyx
labels: networking
lib/ansible/plugins/cliconf/routeros.py:
maintainers: heuels
labels: networking
lib/ansible/plugins/cliconf/slxos.py:
maintainers: $team_extreme
labels: networking
lib/ansible/plugins/connection/lxd.py:
maintainers: mattclay
lib/ansible/plugins/connection/netconf.py:
maintainers: $team_networking
labels: networking
lib/ansible/plugins/connection/network_cli.py:
maintainers: $team_networking
labels: networking
lib/ansible/plugins/connection/persistent.py:
maintainers: $team_networking
labels: networking
lib/ansible/plugins/httpapi/ftd.py:
maintainers: annikulin $team_networking
labels: networking
lib/ansible/plugins/inventory/openstack.py:
maintainers: $team_openstack
keywords:
- openstack
- inventory
labels:
- cloud
lib/ansible/plugins/cliconf/voss.py:
maintainers: $team_extreme
labels: networking
lib/ansible/plugins/connection/winrm.py:
maintainers: $team_windows_core
labels:
- windows
lib/ansible/plugins/inventory/ovirt4.py:
maintainers: machacekondra
labels:
- ovirt
- cloud
lib/ansible/plugins/inventory/vultr.py: *vultr
lib/ansible/plugins/inventory/scaleway.py: *scaleway
lib/ansible/plugins/filter/network.py:
maintainers: $team_networking
labels: networking
lib/ansible/plugins/lookup/nios.py:
maintainers: $team_networking sganesh-infoblox
labels:
- networking
- infoblox
lib/ansible/plugins/lookup/nios_next_ip.py:
maintainers: $team_networking
labels: networking
lib/ansible/plugins/lookup/dig:
maintainers: jpmens
labels: community
lib/ansible/plugins/lookup/conjur_variable.py:
maintainers: $team_cyberark_conjur
notified: cyberark-bizdev
lib/ansible/plugins/lookup/cyberarkpassword.py:
notified: cyberark-bizdev
lib/ansible/plugins/netconf/:
maintainers: $team_networking
labels: networking
lib/ansible/plugins/lookup/onepassword.py:
maintainers: samdoran
ignored: azenk
lib/ansible/plugins/lookup/onepassword_raw.py:
maintainers: samdoran
ignored: azenk
lib/ansible/plugins/netconf/sros.py:
maintainers: wisotzky $team_networking
labels: networking
lib/ansible/plugins/shell/powershell.py:
maintainers: $team_windows_core
labels:
- windows
lib/ansible/plugins/terminal/aireos.py:
maintainers: jmighion
labels: networking
lib/ansible/plugins/terminal/aruba.py:
maintainers: jmighion
labels: networking
lib/ansible/plugins/terminal/asa.py:
maintainers: ogenstad gdpak
labels: networking
lib/ansible/plugins/terminal/dellos10:
maintainers: skg-net
labels: networking
lib/ansible/plugins/terminal/edgeos.py:
maintainers: samdoran
labels: networking
lib/ansible/plugins/terminal/eos.py:
maintainers: $team_networking
labels: networking
lib/ansible/plugins/terminal/exos.py:
maintainers: rdvencioneck
labels: networking
lib/ansible/plugins/terminal/ios.py:
maintainers: $team_networking
labels: networking
lib/ansible/plugins/terminal/iosxr.py:
maintainers: $team_networking
labels: networking
lib/ansible/plugins/terminal/ironware.py:
maintainers: paulquack
labels: networking
lib/ansible/plugins/terminal/junos.py:
maintainers: $team_networking
labels: networking
lib/ansible/plugins/terminal/nos.py:
maintainers: $team_extreme
labels: networking
lib/ansible/plugins/terminal/nxos.py:
maintainers: $team_networking
labels:
- networking
lib/ansible/plugins/terminal/onyx.py:
maintainers: $team_onyx
labels: networking
lib/ansible/plugins/terminal/routeros.py:
maintainers: heuels
labels: networking
lib/ansible/plugins/terminal/slxos.py:
maintainers: $team_extreme
labels: networking
lib/ansible/plugins/terminal/sros.py:
maintainers: $team_networking
labels: networking
lib/ansible/plugins/terminal/voss.py:
maintainers: $team_extreme
labels: networking
lib/ansible/plugins/terminal/vyos.py:
maintainers: $team_networking samdoran
labels: networking
lib/ansible/release.py:
notify: mattclay nitzmahone
lib/ansible/template:
keywords:
- jinja
- jinja2
lib/ansible/utils/module_docs_fragments/acme.py:
maintainers: resmo felixfontein
test/sanity/validate-modules:
keywords:
- validate-modules
docs/:
maintainers:
- acozine
docs/docsite/rst/network/:
labels: networking
maintainers:
- samccann
- gundalow
docs/docsite/rst/scenario_guides/guide_aci.rst:
maintainers: $team_aci
labels:
- aci
- networking
packaging/:
test/:
# 'test' is a component path, then 'test' label will be automatically added
test/runner/:
notify: mattclay
test/sanity/:
notify: mattclay
test/utils/shippable/:
notify: mattclay
test/integration/group_vars/:
notify: mattclay
test/integration/host_vars/:
notify: mattclay
test/integration/roles/:
notify: mattclay
test/integration/targets/aci:
maintainers: $team_aci
labels:
- networking
test/integration/targets/meraki:
maintainers: $team_meraki
labels:
- networking
test/integration/targets/nxos:
maintainers: $team_nxos
labels:
- networking
test/integration/targets/setup_acme:
maintainers: resmo felixfontein
test/integration/targets/setup_zabbix:
maintainers: eikef D3DeFi
test/integration/targets/ucs:
maintainers: $team_ucs
labels:
- remote_management
test/units/modules/network:
maintainers: $team_networking
labels: networking
test/units/modules/network/nxos:
maintainers: $team_nxos
labels:
- networking
test/sanity/pep8/legacy-files.txt:
hacking/report.py:
notify: mattclay
shippable.yml:
notify: mattclay
.yamllint:
notify: mattclay
tox.ini:
notify: mattclay
macros:
module_utils: lib/ansible/module_utils
modules: lib/ansible/modules
team_aci: brunocalogero dagwieers jmcgill298 schunduri
team_ansible: []
team_avi: ericsysmin grastogi23 khaltore
team_azure: haroldwongms nitzmahone trstringer yuwzho xscript zikalino
team_cloudstack: resmo dpassante
team_cumulus: isharacomix jrrivers
team_cyberark_conjur: jvanderhoof ryanprior
team_dell: skg-net manjuv1 dhivyap abirami-n
team_extreme: bigmstone LindsayHill
team_ipa: Nosmoht Akasurde fxfitz
team_jboss: jairojunior wbrefvem Wolfant
team_manageiq: gtanzillo abellotti zgalor yaacov cben
team_meraki: dagwieers kbreit
team_netapp: hulquest lmprice ndswartz amit0701 schmots1 carchi8py
team_netscaler: chiradeep giorgos-nikolopoulos
team_netvisor: Qalthos amitsi
team_networking: Qalthos ganeshrn rcarrillocruz trishnaguha gdpak justjais
team_nso: cmoberg cnasten tbjurman
team_nxos: mikewiebe rahushen rcarrillocruz trishnaguha tstoner
team_onyx: samerd
team_openstack: emonty omgjlk juliakreger rcarrillocruz shrews thingee dagnello
team_openswitch: Qalthos gdpak
team_rabbitmq: chrishoffman manuel-sousa hyperized
team_rhn: alikins barnabycourt flossware vritant
team_scaleway: sieben hekonsek Spredzy
team_tower: ghjm jlaska matburt wwitzel3 simfarm ryanpetrello rooftopcellist AlanCoding
team_ucs: dsoper2 johnamcdonough SDBrett vallard vvb dagwieers
team_vmware: Akasurde dav1x warthog9
team_vultr: resmo Spredzy
team_windows: dagwieers jborean93 jhawkesworth nitzmahone
team_windows_core: nitzmahone jborean93

View File

@ -4,75 +4,22 @@ Hi! Nice to see you here!
## QUESTIONS ?
If you have questions about anything related to Ansible, get in touch with us!
See [Communicating with the Ansible community](https://docs.ansible.com/ansible/devel/community/communication.html) to find out how.
Please see the [Community Guide](https://docs.ansible.com/ansible/latest/community/index.html) for information on how to ask questions on the [mailing lists](https://docs.ansible.com/ansible/latest/community/communication.html#mailing-list-information) and IRC.
The [Community Guide](https://docs.ansible.com/ansible/devel/community/index.html) also explains how to contribute
and interact with the project, including how to submit bug reports and code to Ansible.
Please note that the GitHub issue tracker is not the best place to ask questions for several reasons.
You'll get more helpful, and quicker, responses in the forum.
The GitHub issue tracker is not the best place for questions for various reasons, but both IRC and the mailing list are very helpful places for those things, as the community page explains best.
## CONTRIBUTING ?
By contributing to this project you agree to the [Developer Certificate of Origin (DCO)](#developer-certificate-of-origin-dco).
By contributing you agree that these contributions are your own (or approved by your employer) and you grant a full, complete, irrevocable copyright license to all users and developers of the project, present and future, pursuant to the license of the project. You can also read the same [CLA](https://docs.ansible.com/ansible/latest/community/contributor_license_agreement.html) on the Ansible docsite.
The Ansible project is licensed under the [GPL-3.0](COPYING) or later. Some portions of the code fall under other licenses as noted in individual files.
The Ansible project accepts contributions through GitHub pull requests.
Please review the [Community Guide](https://docs.ansible.com/ansible/devel/community/index.html) for more information on contributing to Ansible.
Please review the [Community Guide](https://docs.ansible.com/ansible/latest/community/index.html) for more information on contributing to Ansible.
## BUG TO REPORT ?
First and foremost, also check the [Community Guide](https://docs.ansible.com/ansible/devel/community/index.html).
First and foremost, also check the [Community Guide](https://docs.ansible.com/ansible/latest/community/index.html).
You can report bugs or make enhancement requests at
the [Ansible GitHub issue page](http://github.com/ansible/ansible/issues/new/choose) by filling out the issue template that will be presented.
You can report bugs or make enhancement requests at the [Ansible GitHub issue page](http://github.com/ansible/ansible/issues/new/choose) by filling out the issue template that will be presented.
Also please make sure you are testing on the latest released version of Ansible or the development branch.
See the [Installation Guide](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html) for details.
Also please make sure you are testing on the latest released version of Ansible or the development branch; see the [Installation Guide](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html) for details.
Thanks!
## DEVELOPER CERTIFICATE OF ORIGIN (DCO)
This document was created by the Linux Kernel community and is a simple statement that you, as a contributor, have the legal right to make the contribution.
```text
Developer Certificate of Origin
Version 1.1
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
```

View File

@ -1 +1,58 @@
Please raise issues via the [new interface](https://github.com/ansible/ansible/issues/new/choose)
<!---
Verify first that your issue/request is not already reported on GitHub.
THIS FORM WILL BE READ BY A MACHINE, COMPLETE ALL SECTIONS AS DESCRIBED.
Also test if the latest release, and devel branch are affected too.
ALWAYS add information AFTER (OUTSIDE) these html comments.
Otherwise it may end up being automatically closed by our bot. -->
##### SUMMARY
<!--- Explain the problem briefly -->
##### ISSUE TYPE
<!--- Pick one below and delete the rest -->
- Bug Report
- Feature Idea
- Documentation Report
##### COMPONENT NAME
<!--- Insert, BELOW THIS COMMENT, the name of the module, plugin, task or feature.
Do not include extra details here, e.g. "vyos_command" not "the network module vyos_command" or the full path-->
##### ANSIBLE VERSION
<!--- Paste, BELOW THIS COMMENT, verbatim output from "ansible --version" between quotes below -->
```
```
##### CONFIGURATION
<!--- If using Ansible 2.4 or above, paste, BELOW THIS COMMENT, the results of "ansible-config dump --only-changed"
Otherwise, mention any settings you have changed/added/removed in ansible.cfg
(or using the ANSIBLE_* environment variables).-->
##### OS / ENVIRONMENT
<!--- Mention, BELOW THIS COMMENT, the OS you are running Ansible from, and the OS you are
managing, or say "N/A" for anything that is not platform-specific.
Also mention the specific version of what you are trying to control,
e.g. if this is a network bug the version of firmware on the network device.-->
##### STEPS TO REPRODUCE
<!--- For bugs, show exactly how to reproduce the problem, using a minimal test-case.
For new features, show how the feature would be used. -->
<!--- Paste example playbooks or commands between quotes below -->
```yaml
```
<!--- You can also paste gist.github.com links for larger files -->
##### EXPECTED RESULTS
<!--- What did you expect to happen when running the steps above? -->
##### ACTUAL RESULTS
<!--- What actually happened? If possible run with extra verbosity (-vvvv) -->
<!--- Paste verbatim command output between quotes below -->
```
```

61
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@ -0,0 +1,61 @@
---
name: 🐛 Bug report
about: Create a report to help us improve
---
<!---
Verify first that your issue/request is not already reported on GitHub.
THIS FORM WILL BE READ BY A MACHINE, COMPLETE ALL SECTIONS AS DESCRIBED.
Also test if the latest release, and devel branch are affected too.
ALWAYS add information AFTER (OUTSIDE) these html comments.
Otherwise it may end up being automatically closed by our bot. -->
##### SUMMARY
<!--- Explain the problem briefly -->
##### ISSUE TYPE
- Bug Report
##### COMPONENT NAME
<!--- Insert, BELOW THIS COMMENT, the name of the module, plugin, task or feature.
Do not include extra details here, e.g. "vyos_command" not "the network module vyos_command" or the full path-->
##### ANSIBLE VERSION
<!--- Paste, BELOW THIS COMMENT, verbatim output from "ansible --version" between quotes below -->
```
```
##### CONFIGURATION
<!--- If using Ansible 2.4 or above, paste, BELOW THIS COMMENT, the results of "ansible-config dump --only-changed"
Otherwise, mention any settings you have changed/added/removed in ansible.cfg
(or using the ANSIBLE_* environment variables).-->
##### OS / ENVIRONMENT
<!--- Mention, BELOW THIS COMMENT, the OS you are running Ansible from, and the OS you are
managing, or say "N/A" for anything that is not platform-specific.
Also mention the specific version of what you are trying to control,
e.g. if this is a network bug the version of firmware on the network device.-->
##### STEPS TO REPRODUCE
<!--- For bugs, show exactly how to reproduce the problem, using a minimal test-case.
For new features, show how the feature would be used. -->
<!--- Paste example playbooks or commands between quotes below -->
```yaml
```
<!--- You can also paste gist.github.com links for larger files -->
##### EXPECTED RESULTS
<!--- What did you expect to happen when running the steps above? -->
##### ACTUAL RESULTS
<!--- What actually happened? If possible run with extra verbosity (-vvvv) -->
<!--- Paste verbatim command output between quotes below -->
```
```

View File

@ -1,250 +0,0 @@
---
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 see
[Communicating with the Ansible community][communication] to
get in touch and ask questions.
[communication]:
https://docs.ansible.com/ansible/devel/community/communication.html
[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: This is a marker for our automatic bot. Do not change it.
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, 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 triple 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 -t all` below, under the prompt line.
(if using a version older than ansible-core 2.12 you should omit the '-t all')
Please don't wrap it with triple backticks — your
whole input will be turned into a code snippet automatically.
render: console
value: |
# if using a version older than ansible-core 2.12 you should omit the '-t all'
$ ansible-config dump --only-changed -t all
placeholder: |
# if using a version older than ansible-core 2.12 you should omit the '-t all'
$ ansible-config dump --only-changed -t all
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 provide 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 triple 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/ansibotmini#ansibotmini
- type: checkboxes
attributes:
label: Code of Conduct
description: |
Read the [Ansible Code of Conduct][CoC] first.
[CoC]: https://docs.ansible.com/ansible/devel/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
...

View File

@ -1,26 +0,0 @@
# 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/devel/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/devel/community/reporting_bugs_and_features.html
- name: 📝 Ansible Code of Conduct
url: https://docs.ansible.com/ansible/devel/community/code_of_conduct.html?utm_medium=github&utm_source=issue_template_chooser
about: ❤ Be nice to other members of the community. ☮ Behave.
- name: 💬 Talk to the community
url: https://docs.ansible.com/ansible/devel/community/communication.html?utm_medium=github&utm_source=issue_template_chooser#forum
about: Please ask and answer usage questions here
- name: ⚡ Working groups
url: https://forum.ansible.com/g?utm_medium=github&utm_source=issue_template_chooser
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

@ -0,0 +1,61 @@
---
name: 📝 Documentation Report
about: Ask us about docs
---
<!---
Verify first that your issue/request is not already reported on GitHub.
THIS FORM WILL BE READ BY A MACHINE, COMPLETE ALL SECTIONS AS DESCRIBED.
Also test if the latest release, and devel branch are affected too.
ALWAYS add information AFTER (OUTSIDE) these html comments.
Otherwise it may end up being automatically closed by our bot. -->
##### SUMMARY
<!--- Explain the problem briefly -->
##### ISSUE TYPE
- Documentation Report
##### COMPONENT NAME
<!--- Insert, BELOW THIS COMMENT, the name of the module, plugin, task or feature.
Do not include extra details here, e.g. "vyos_command" not "the network module vyos_command" or the full path-->
##### ANSIBLE VERSION
<!--- Paste, BELOW THIS COMMENT, verbatim output from "ansible --version" between quotes below -->
```
```
##### CONFIGURATION
<!--- If using Ansible 2.4 or above, paste, BELOW THIS COMMENT, the results of "ansible-config dump --only-changed"
Otherwise, mention any settings you have changed/added/removed in ansible.cfg
(or using the ANSIBLE_* environment variables).-->
##### OS / ENVIRONMENT
<!--- Mention, BELOW THIS COMMENT, the OS you are running Ansible from, and the OS you are
managing, or say "N/A" for anything that is not platform-specific.
Also mention the specific version of what you are trying to control,
e.g. if this is a network bug the version of firmware on the network device.-->
##### STEPS TO REPRODUCE
<!--- For bugs, show exactly how to reproduce the problem, using a minimal test-case.
For new features, show how the feature would be used. -->
<!--- Paste example playbooks or commands between quotes below -->
```yaml
```
<!--- You can also paste gist.github.com links for larger files -->
##### EXPECTED RESULTS
<!--- What did you expect to happen when running the steps above? -->
##### ACTUAL RESULTS
<!--- What actually happened? If possible run with extra verbosity (-vvvv) -->
<!--- Paste verbatim command output between quotes below -->
```
```

View File

@ -1,201 +0,0 @@
---
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 see
[Communicating with the Ansible community][communication] to
get in touch and ask questions.
[communication]:
https://docs.ansible.com/ansible/devel/community/communication.html
[issue search]: ../search?q=is%3Aissue&type=issues
[submit a pull request]:
https://docs.ansible.com/ansible-core/devel/community/documentation_contributions.html
- type: markdown
attributes:
value: >
**Check the repository for your issue.**
Source files for Ansible community documentation are
hosted in different repositories. Please make sure to file an
issue in the correct project.
Documentation for modules/plugins/etc that are officially
supported by the Ansible Core Engineering team is available
in this (`ansible/ansible`) repository.
The Installation Guide, Playbook Guide, Developer Guide,
and other documentation is available in the
[ansible/ansible-documentation] repository.
Documentation for other modules/plugins/etc is likely to be
available in one of the [Ansible Collections][collections index].
If available in the collection documentation, select the
**Issue Tracker** button to go directly to the GitHub issues.
[ansible/ansible-documentation]: /ansible/ansible-documentation
[collections index]:
https://docs.ansible.com/ansible/latest/collections/index.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 some pages? 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: This is a marker for our automatic bot. Do not change it.
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*.
placeholder: lib/ansible/modules/copy.py
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 triple 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 -t all` below, under the prompt line.
(if using a version older than ansible-core 2.12 you should omit the '-t all')
Please don't wrap it with triple backticks — your
whole input will be turned into a code snippet automatically.
render: console
value: |
# if using a version older than ansible-core 2.12 you should omit the '-t all'
$ ansible-config dump --only-changed -t all
placeholder: |
# if using a version older than ansible-core 2.12 you should omit the '-t all'
$ ansible-config dump --only-changed -t all
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/ansibotmini#ansibotmini
- type: checkboxes
attributes:
label: Code of Conduct
description: |
Read the [Ansible Code of Conduct][CoC] first.
[CoC]: https://docs.ansible.com/ansible/devel/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

@ -0,0 +1,61 @@
---
name: ✨ Feature request
about: Suggest an idea for this project
---
<!---
Verify first that your issue/request is not already reported on GitHub.
THIS FORM WILL BE READ BY A MACHINE, COMPLETE ALL SECTIONS AS DESCRIBED.
Also test if the latest release, and devel branch are affected too.
ALWAYS add information AFTER (OUTSIDE) these html comments.
Otherwise it may end up being automatically closed by our bot. -->
##### SUMMARY
<!--- Explain the problem briefly -->
##### ISSUE TYPE
- Feature Idea
##### COMPONENT NAME
<!--- Insert, BELOW THIS COMMENT, the name of the module, plugin, task or feature.
Do not include extra details here, e.g. "vyos_command" not "the network module vyos_command" or the full path-->
##### ANSIBLE VERSION
<!--- Paste, BELOW THIS COMMENT, verbatim output from "ansible --version" between quotes below -->
```
```
##### CONFIGURATION
<!--- If using Ansible 2.4 or above, paste, BELOW THIS COMMENT, the results of "ansible-config dump --only-changed"
Otherwise, mention any settings you have changed/added/removed in ansible.cfg
(or using the ANSIBLE_* environment variables).-->
##### OS / ENVIRONMENT
<!--- Mention, BELOW THIS COMMENT, the OS you are running Ansible from, and the OS you are
managing, or say "N/A" for anything that is not platform-specific.
Also mention the specific version of what you are trying to control,
e.g. if this is a network bug the version of firmware on the network device.-->
##### STEPS TO REPRODUCE
<!--- For bugs, show exactly how to reproduce the problem, using a minimal test-case.
For new features, show how the feature would be used. -->
<!--- Paste example playbooks or commands between quotes below -->
```yaml
```
<!--- You can also paste gist.github.com links for larger files -->
##### EXPECTED RESULTS
<!--- What did you expect to happen when running the steps above? -->
##### ACTUAL RESULTS
<!--- What actually happened? If possible run with extra verbosity (-vvvv) -->
<!--- Paste verbatim command output between quotes below -->
```
```

View File

@ -1,176 +0,0 @@
---
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 in the [Ansible forum][forum].
<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 see
[Communicating with the Ansible community][communication] to
get in touch and ask questions.
[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
[communication]:
https://docs.ansible.com/ansible/devel/community/communication.html
[issue search]: ../search?q=is%3Aissue&type=issues
[forum help]:
https://forum.ansible.com/c/help/6
[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: This is a marker for our automatic bot. Do not change it.
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, 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/ansibotmini#ansibotmini
- type: checkboxes
attributes:
label: Code of Conduct
description: |
Read the [Ansible Code of Conduct][CoC] first.
[CoC]: https://docs.ansible.com/ansible/devel/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,10 +0,0 @@
---
name: Internal Issue
about: Free-form issue creation for core maintainer use only.
title: ''
labels: [core-internal]
assignees: ''
---
@ansibot bot_skip

View File

@ -1,42 +0,0 @@
name: Pre-Release Bug Report
description: File a bug report against a pre-release version
labels:
- bug
- pre_release
assignees:
- nitzmahone
- mattclay
body:
- type: markdown
attributes:
value: |
## Bug Report
- type: textarea
attributes:
label: Ansible Version
description: Paste the full output from `ansible --version` below.
render: console
placeholder: $ ansible --version
validations:
required: true
- type: textarea
attributes:
label: Summary
description: Describe the issue with any relevant steps to reproduce.
validations:
required: true
- type: dropdown
attributes:
label: <!-- Bot instructions (ignore this) -->
options:
- |
<!--
### Component Name
bin/ansible
### Issue Type
Bug Report
### Configuration
### OS / Environment
-->
validations:
required: true

View File

@ -0,0 +1,8 @@
---
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

@ -1 +0,0 @@
PULL_REQUEST_TEMPLATE/Unclear purpose or motivation.md

33
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,33 @@
##### SUMMARY
<!--- Describe the change, including rationale and design decisions -->
<!--- If you are fixing an existing issue, please include "Fixes #nnn" in your
commit message and your description; but you should still explain what
the change does.-->
##### ISSUE TYPE
<!--- Pick one below and delete the rest: -->
- Feature Pull Request
- New Module Pull Request
- Bugfix Pull Request
- Docs Pull Request
##### COMPONENT NAME
<!--- Name of the module, plugin, task or feature -->
##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes below -->
```
```
##### ADDITIONAL INFORMATION
<!--- Include additional information to help people understand the change here.
For bugs that don't have a linked bug report, a step-by-step reproduction
of the problem is helpful. -->
<!--- Paste verbatim command output below, e.g. before and after your change -->
```
```

View File

@ -1,9 +0,0 @@
##### SUMMARY
<!--- Describe the change below, including rationale and design decisions -->
<!--- Add "Fixes #1234" or steps to reproduce the problem if there is no corresponding issue -->
##### ISSUE TYPE
- Bugfix Pull Request

View File

@ -1,9 +0,0 @@
##### SUMMARY
<!--- Describe the change below, including rationale -->
<!--- Add "Fixes #1234" if there is a corresponding issue -->
##### ISSUE TYPE
- Docs Pull Request

View File

@ -1,9 +0,0 @@
##### SUMMARY
<!--- Describe the change below, including rationale and design decisions -->
<!--- Add "Fixes #1234" if there is a corresponding issue -->
##### ISSUE TYPE
- Feature Pull Request

View File

@ -1 +0,0 @@
Unclear purpose or motivation.md

View File

@ -1,9 +0,0 @@
##### SUMMARY
<!--- Describe the change below, including rationale and design decisions -->
<!--- Add "Fixes #1234" if there is a corresponding issue -->
##### ISSUE TYPE
- Test Pull Request

View File

@ -1,14 +0,0 @@
##### SUMMARY
<!--- Describe the change below, including rationale and design decisions -->
<!--- Add "Fixes #1234" or steps to reproduce the problem if there is no corresponding issue -->
##### ISSUE TYPE
<!--- Pick one below and delete the rest -->
- Bugfix Pull Request
- Docs Pull Request
- Feature Pull Request
- Test Pull Request

View File

@ -1,20 +0,0 @@
2.19.0 What Is and What Should Never Be
2.18.0 Fool in the Rain
2.17.0 Gallows Pole
2.16.0 All My Love
2.15.0 Ten Years Gone
2.14.0 C'mon Everybody
2.13.0 Nobody's Fault but Mine
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

15
.github/SECURITY.md vendored
View File

@ -1,15 +0,0 @@
# Security Policy
## Supported Versions
Ansible applies security fixes according to the 3-versions-back support
policy. Please find more information in [our docs](
https://docs.ansible.com/ansible/devel/reference_appendices/release_and_maintenance.html#release-status
).
## Reporting a Vulnerability
We encourage responsible disclosure practices for security
vulnerabilities. Please read our [policies for reporting bugs](
https://docs.ansible.com/ansible/devel/community/reporting_bugs_and_features.html#reporting-a-bug
) if you want to report a security issue that might affect Ansible.

51
.gitignore vendored
View File

@ -32,17 +32,10 @@ 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/dev_guide/index.rst
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
@ -53,10 +46,12 @@ docs/docsite/searchindex.js
docs/docsite/_static/*.gif
docs/docsite/_static/*.png
docs/docsite/_static/websupport.js
# deb building stuff...
/debian/
deb-build
# Vim swap files
*.swp
*.swo
[._]*.un~
credentials.yml
# test output
*.retry
@ -68,47 +63,30 @@ credentials.yml
results.xml
coverage.xml
/test/units/cover-html
/test/integration/inventory
/test/integration/targets/*/backup/
/test/cache/*
# Development
/test/develop
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
venv
env
Vagrantfile
.vagrant
# 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/
# First used in the `devel` branch during Ansible 2.18 development.
/ansible_core.egg-info/
# vendored lib dir
lib/ansible/_vendor/*
!lib/ansible/_vendor/__init__.py
# PowerShell signed hashlist
lib/ansible/config/powershell_signatures.psd1
*.authenticode
# test stuff
ansible.egg-info/
/shippable/
/test/integration/cloud-config-*.*
!/test/integration/cloud-config-*.*.template
.python-version
# Release directory
packaging/release/ansible_release
/.cache/
/test/results/
/test/integration/cloud-config-aws.yml
/test/results/coverage/*=coverage.*
/test/results/coverage/coverage*
/test/results/reports/coverage*.xml
/test/results/reports/coverage*/
/test/results/bot/*.json
/test/results/junit/*.xml
/test/results/logs/*.log
/test/results/data/*.json
/test/integration/inventory.remote
/test/integration/inventory.networking
/test/integration/inventory.winrm
/test/integration/cloud-config-aws.yml
@ -126,4 +104,3 @@ test/units/.coverage.*
/test/integration/cloud-config-azure.yml
/SYMLINK_CACHE.json
changelogs/.plugin-cache.yaml
.ansible-test-timeout.json

10
CODING_GUIDELINES.md Normal file
View File

@ -0,0 +1,10 @@
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

@ -1,7 +1,7 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@ -645,7 +645,7 @@ the "copyright" line and a pointer to where the full notice is found.
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
@ -664,11 +664,12 @@ might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.
<http://www.gnu.org/philosophy/why-not-lgpl.html>.

View File

@ -1,10 +1,25 @@
include README.rst
include COPYING
include changelogs/CHANGELOG*.rst
include changelogs/changelog.yaml
include licenses/*.txt
include SYMLINK_CACHE.json
include requirements.txt
recursive-include packaging *.py *.j2
recursive-include test/integration *
recursive-include test/sanity *.in *.json *.py *.txt *.ini
recursive-include test/support *.py *.ps1 *.psm1 *.cs *.md
recursive-include test/units *
include .coveragerc
include shippable.yml
include tox.ini
include bin/ansible-test
include examples/hosts
include examples/ansible.cfg
include examples/scripts/ConfigureRemotingForAnsible.ps1
include examples/scripts/upgrade_to_ps3.ps1
recursive-include lib/ansible/executor/powershell *
recursive-include lib/ansible/module_utils/powershell *
recursive-include lib/ansible/modules *
recursive-include lib/ansible/galaxy/data *
recursive-include docs *
recursive-include licenses *
recursive-include packaging *
recursive-include test *
include Makefile
include MANIFEST.in
include changelogs/CHANGELOG*.rst
include contrib/README.md
recursive-include contrib/inventory *

5
MODULE_GUIDELINES.md Normal file
View File

@ -0,0 +1,5 @@
# 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/)

399
Makefile Normal file
View File

@ -0,0 +1,399 @@
# WARN: gmake syntax
########################################################
# Makefile for Ansible
#
# useful targets:
# 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 tests ---------------- run the tests (see https://docs.ansible.com/ansible/devel/dev_guide/testing_units.html for requirements)
# make pyflakes, make pep8 -- source code checks
########################################################
# variable section
NAME = ansible
OS = $(shell uname -s)
PREFIX ?= '/usr/local'
# This doesn't evaluate until it's called. The -D argument is the
# directory of the target file ($@), kinda like `dirname`.
MANPAGES ?= $(patsubst %.rst.in,%,$(wildcard ./docs/man/man1/ansible*.1.rst.in))
ifneq ($(shell which rst2man 2>/dev/null),)
ASCII2MAN = rst2man $< $@
else ifneq ($(shell which rst2man.py 2>/dev/null),)
ASCII2MAN = rst2man.py $< $@
else
ASCII2MAN = @echo "ERROR: rst2man from docutils command is not installed but is required to build $(MANPAGES)" && exit 1
endif
GENERATE_CLI = docs/bin/generate_man.py
PYTHON=python
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")
GIT_HASH := $(shell git log -n 1 --format="%h")
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD | sed 's/[-_.\/]//g')
GITINFO = .$(GIT_HASH).$(GIT_BRANCH)
else
GITINFO = ""
endif
ifeq ($(shell echo $(OS) | egrep -c 'Darwin|FreeBSD|OpenBSD|DragonFly'),1)
DATE := $(shell date -j -r $(shell git log -n 1 --format="%ct") +%Y%m%d%H%M)
CPUS ?= $(shell sysctl hw.ncpu|awk '{print $$2}')
else
DATE := $(shell date --utc --date="$(GIT_DATE)" +%Y%m%d%H%M)
CPUS ?= $(shell nproc)
endif
# DEB build parameters
DEBUILD_BIN ?= debuild
DEBUILD_OPTS = --source-option="-I"
DPUT_BIN ?= dput
DPUT_OPTS ?=
DEB_DATE := $(shell LC_TIME=C date +"%a, %d %b %Y %T %z")
DEB_VERSION ?= $(shell $(PYTHON) packaging/release/versionhelper/version_helper.py --debversion)
ifeq ($(OFFICIAL),yes)
DEB_RELEASE ?= $(shell $(PYTHON) packaging/release/versionhelper/version_helper.py --debrelease)ppa
# Sign OFFICIAL builds using 'DEBSIGN_KEYID'
# DEBSIGN_KEYID is required when signing
ifneq ($(DEBSIGN_KEYID),)
DEBUILD_OPTS += -k$(DEBSIGN_KEYID)
endif
else
DEB_RELEASE ?= 100.git$(DATE)$(GITINFO)
# Do not sign unofficial builds
DEBUILD_OPTS += -uc -us
DPUT_OPTS += -u
endif
DEBUILD = $(DEBUILD_BIN) $(DEBUILD_OPTS)
DEB_PPA ?= ppa
# Choose the desired Ubuntu release: lucid precise saucy trusty
DEB_DIST ?= unstable
# pbuilder parameters
PBUILDER_ARCH ?= amd64
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 ?=
# ansible-test units parameters (make test / make test-py3)
PYTHON_VERSION ?= $(shell python2 -c 'import sys; print("%s.%s" % sys.version_info[:2])')
PYTHON3_VERSION ?= $(shell python3 -c 'import sys; print("%s.%s" % sys.version_info[:2])')
# ansible-test integration parameters (make integration)
IMAGE ?= centos7
TARGET ?=
########################################################
.PHONY: all
all: clean python
.PHONY: tests
tests:
$(ANSIBLE_TEST) units -v --python $(PYTHON_VERSION) $(TEST_FLAGS)
.PHONY: tests-py3
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
sed "s/%VERSION%/$(VERSION)/" $< > $@
rm $<
# Regenerate %.1 if %.1.rst or release.py has been modified more
# recently than %.1. (Implicitly runs the %.1.rst recipe)
%.1: %.1.rst lib/ansible/release.py
$(ASCII2MAN)
.PHONY: loc
loc:
sloccount lib library bin
.PHONY: pep8
pep8:
$(ANSIBLE_TEST) sanity --test pep8 --python $(PYTHON_VERSION) $(TEST_FLAGS)
.PHONY: pyflakes
pyflakes:
pyflakes lib/ansible/*.py lib/ansible/*/*.py bin/*
.PHONY: clean
clean:
@echo "Cleaning up distutils stuff"
rm -rf build
rm -rf dist
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
@echo "Cleaning up editor backup files"
find . -type f -not -path ./test/units/inventory_test_data/group_vars/noparse/all.yml~ \( -name "*~" -or -name "#*" \) -delete
find . -type f \( -name "*.swp" \) -delete
@echo "Cleaning up manpage stuff"
find ./docs/man -type f -name "*.xml" -delete
find ./docs/man -type f -name "*.rst" -delete
find ./docs/man/man3 -type f -name "*.3" -delete
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 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
.PHONY: python
python:
$(PYTHON) setup.py build
.PHONY: install
install:
$(PYTHON) setup.py install
install_manpages:
gzip -9 $(wildcard ./docs/man/man1/ansible*.1)
cp $(wildcard ./docs/man/man1/ansible*.1.gz) $(PREFIX)/man/man1/
.PHONY: sdist
sdist: clean docs
$(PYTHON) setup.py sdist
.PHONY: sdist_upload
sdist_upload: clean docs
$(PYTHON) setup.py sdist upload 2>&1 |tee upload.log
.PHONY: changelog
changelog:
packaging/release/changelogs/changelog.py release -vv && 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 "#############################################"
.PHONY: debian
debian: sdist
@for DIST in $(DEB_DIST) ; do \
mkdir -p deb-build/$${DIST} ; \
tar -C deb-build/$${DIST} -xvf dist/$(NAME)-$(VERSION).tar.gz ; \
cp -a packaging/debian deb-build/$${DIST}/$(NAME)-$(VERSION)/ ; \
sed -ie "s|%VERSION%|$(DEB_VERSION)|g;s|%RELEASE%|$(DEB_RELEASE)|;s|%DIST%|$${DIST}|g;s|%DATE%|$(DEB_DATE)|g" deb-build/$${DIST}/$(NAME)-$(VERSION)/debian/changelog ; \
done
.PHONY: deb
deb: deb-src
@for DIST in $(DEB_DIST) ; do \
PBUILDER_OPTS="$(PBUILDER_OPTS) --distribution $${DIST} --basetgz $(PBUILDER_CACHE_DIR)/$${DIST}-$(PBUILDER_ARCH)-base.tgz --buildresult $(CURDIR)/deb-build/$${DIST}" ; \
$(PBUILDER_BIN) create $${PBUILDER_OPTS} --othermirror "deb http://archive.ubuntu.com/ubuntu $${DIST} universe" ; \
$(PBUILDER_BIN) update $${PBUILDER_OPTS} ; \
$(PBUILDER_BIN) build $${PBUILDER_OPTS} deb-build/$${DIST}/$(NAME)_$(DEB_VERSION)-$(DEB_RELEASE)~$${DIST}.dsc ; \
done
@echo "#############################################"
@echo "Ansible DEB artifacts:"
@for DIST in $(DEB_DIST) ; do \
echo deb-build/$${DIST}/$(NAME)_$(DEB_VERSION)-$(DEB_RELEASE)~$${DIST}_amd64.changes ; \
done
@echo "#############################################"
# Build package outside of pbuilder, with locally installed dependencies.
# Install BuildRequires as noted in packaging/debian/control.
.PHONY: local_deb
local_deb: debian
@for DIST in $(DEB_DIST) ; do \
(cd deb-build/$${DIST}/$(NAME)-$(VERSION)/ && $(DEBUILD) -b) ; \
done
@echo "#############################################"
@echo "Ansible DEB artifacts:"
@for DIST in $(DEB_DIST) ; do \
echo deb-build/$${DIST}/$(NAME)_$(DEB_VERSION)-$(DEB_RELEASE)~$${DIST}_amd64.changes ; \
done
@echo "#############################################"
.PHONY: deb-src
deb-src: debian
@for DIST in $(DEB_DIST) ; do \
(cd deb-build/$${DIST}/$(NAME)-$(VERSION)/ && $(DEBUILD) -S) ; \
done
@echo "#############################################"
@echo "Ansible DEB artifacts:"
@for DIST in $(DEB_DIST) ; do \
echo deb-build/$${DIST}/$(NAME)_$(DEB_VERSION)-$(DEB_RELEASE)~$${DIST}_source.changes ; \
done
@echo "#############################################"
.PHONY: deb-upload
deb-upload: deb
@for DIST in $(DEB_DIST) ; do \
$(DPUT_BIN) $(DPUT_OPTS) $(DEB_PPA) deb-build/$${DIST}/$(NAME)_$(DEB_VERSION)-$(DEB_RELEASE)~$${DIST}_amd64.changes ; \
done
.PHONY: deb-src-upload
deb-src-upload: deb-src
@for DIST in $(DEB_DIST) ; do \
$(DPUT_BIN) $(DPUT_OPTS) $(DEB_PPA) deb-build/$${DIST}/$(NAME)_$(DEB_VERSION)-$(DEB_RELEASE)~$${DIST}_source.changes ; \
done
.PHONY: epub
epub:
(cd docs/docsite/; CPUS=$(CPUS) $(MAKE) epub)
# for arch or gentoo, read instructions in the appropriate 'packaging' subdirectory directory
.PHONY: webdocs
webdocs:
(cd docs/docsite/; CPUS=$(CPUS) $(MAKE) docs)
.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
docs: generate_rst
$(MAKE) $(MANPAGES)
.PHONY: alldocs
alldocs: docs webdocs
version:
@echo $(VERSION)

101
README.md
View File

@ -1,101 +0,0 @@
[![PyPI version](https://img.shields.io/pypi/v/ansible-core.svg)](https://pypi.org/project/ansible-core)
[![Docs badge](https://img.shields.io/badge/docs-latest-brightgreen.svg)](https://docs.ansible.com/ansible/latest/)
[![Chat badge](https://img.shields.io/badge/chat-IRC-brightgreen.svg)](https://docs.ansible.com/ansible/devel/community/communication.html)
[![Build Status](https://dev.azure.com/ansible/ansible/_apis/build/status/CI?branchName=devel)](https://dev.azure.com/ansible/ansible/_build/latest?definitionId=20&branchName=devel)
[![Ansible Code of Conduct](https://img.shields.io/badge/code%20of%20conduct-Ansible-silver.svg)](https://docs.ansible.com/ansible/devel/community/code_of_conduct.html)
[![Ansible mailing lists](https://img.shields.io/badge/mailing%20lists-Ansible-orange.svg)](https://docs.ansible.com/ansible/devel/community/communication.html#mailing-list-information)
[![Repository License](https://img.shields.io/badge/license-GPL%20v3.0-brightgreen.svg)](COPYING)
[![Ansible CII Best Practices certification](https://bestpractices.coreinfrastructure.org/projects/2372/badge)](https://bestpractices.coreinfrastructure.org/projects/2372)
# 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/).
## Design Principles
* 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
friendly.
* Focus on security and easy auditability/review/rewriting of content.
* Manage new remote machines instantly, without bootstrapping any
software.
* Allow module development in any dynamic language, not just Python.
* Be usable as non-root.
* Be the easiest IT automation system to use, ever.
## Use Ansible
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.
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
in the Ansible community if you want to run the `devel` branch.
## Communication
Join the Ansible forum to ask questions, get help, and interact with the
community.
* [Get Help](https://forum.ansible.com/c/help/6): Find help or share your Ansible knowledge to help others.
Use tags to filter and subscribe to posts, such as the following:
* Posts tagged with [ansible](https://forum.ansible.com/tag/ansible)
* Posts tagged with [ansible-core](https://forum.ansible.com/tag/ansible-core)
* Posts tagged with [playbook](https://forum.ansible.com/tag/playbook)
* [Social Spaces](https://forum.ansible.com/c/chat/4): Meet and interact with fellow enthusiasts.
* [News & Announcements](https://forum.ansible.com/c/news/5): Track project-wide announcements including social events.
* [Bullhorn newsletter](https://docs.ansible.com/ansible/devel/community/communication.html#the-bullhorn): Get release announcements and important changes.
For more ways to get in touch, see [Communicating with the Ansible community](https://docs.ansible.com/ansible/devel/community/communication.html).
## Contribute to Ansible
* Check out the [Contributor's Guide](./.github/CONTRIBUTING.md).
* Read [Community Information](https://docs.ansible.com/ansible/devel/community) for all
kinds of ways to contribute to and interact with the project,
including how to submit bug reports and code to Ansible.
* 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, but it also helps save time and effort if we decide
some changes are needed.
## 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/devel/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/devel/reference_appendices/release_and_maintenance.html) page for information about active branches.
## Roadmap
Based on team and community feedback, an initial roadmap will be published for a major or minor version (ex: 2.7, 2.8).
The [Ansible Roadmap page](https://docs.ansible.com/ansible/devel/roadmap/) details what is planned and how to influence the roadmap.
## Authors
Ansible was created by [Michael DeHaan](https://github.com/mpdehaan)
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)
## License
GNU General Public License v3.0 or later
See [COPYING](COPYING) to see the full text.

113
README.rst Normal file
View File

@ -0,0 +1,113 @@
|PyPI version| |Docs badge| |Chat badge| |Build Status|
*******
Ansible
*******
Ansible is a radically simple IT automation system. It handles
configuration-management, application deployment, cloud provisioning,
ad-hoc task-execution, and multinode orchestration -- including
trivializing things like zero-downtime rolling updates with load
balancers.
Read the documentation and more at https://ansible.com/
You can find installation instructions
`here <https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html>`_ for a
variety of platforms.
Most users should probably install a released version of Ansible from ``pip``, a package manager or
our `release repository <https://releases.ansible.com/ansible/>`_. `Officially supported
<https://www.ansible.com/ansible-engine>`_ builds of Ansible are also available. Some power users
run directly from the development branch - while significant efforts are made to ensure that
``devel`` is reasonably stable, you're more likely to encounter breaking changes when running
Ansible this way.
Design Principles
=================
* Have a dead simple setup process and a minimal learning curve.
* Manage machines very 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
friendly.
* Focus on security and easy auditability/review/rewriting of content.
* Manage new remote machines instantly, without bootstrapping any
software.
* Allow module development in any dynamic language, not just Python.
* Be usable as non-root.
* Be the easiest IT automation system to use, ever.
Get Involved
============
* Read `Community
Information <https://docs.ansible.com/ansible/latest/community>`_ for all
kinds of ways to contribute to and interact with the project,
including mailing list information and how to submit bug reports and
code to Ansible.
* All code submissions are done through pull requests to the ``devel`` branch.
* Feel free to talk to us before making larger changes
to avoid duplicate efforts. This not only helps everyone
know what's going on, it also helps save time and effort if we decide
some changes are needed.
* Users list:
`ansible-project <https://groups.google.com/group/ansible-project>`_
* Development list:
`ansible-devel <https://groups.google.com/group/ansible-devel>`_
* Announcement list:
`ansible-announce <https://groups.google.com/group/ansible-announce>`_
-- read only
* irc.freenode.net: #ansible
* For the full list of Email Lists, IRC channels see the
`Communication page <https://docs.ansible.com/ansible/latest/community/communication.html>`_
Branch Info
===========
* Releases are named after Led Zeppelin songs. (Releases prior to 2.0
were named after Van Halen songs.)
* The ``devel`` branch corresponds to the release actively under
development.
* The ``stable-2.x`` branches exist for current releases.
* Various release-X.Y branches exist for previous releases.
* For information about the active branches see the
`Ansible release and maintenance <https://docs.ansible.com/ansible/latest/reference_appendices/release_and_maintenance.html>`_ page.
* We'd love to have your contributions, read the `Community
Guide <https://docs.ansible.com/ansible/latest/community>`_ for notes on
how to get started.
Roadmap
=======
Based on team and community feedback, an initial roadmap will be published for a major or minor version (ex: 2.0, 2.1).
Subminor versions will generally not have roadmaps published.
The `Ansible Roadmap page <https://docs.ansible.com/ansible/devel/roadmap/>`_ details what is planned and how to influence the roadmap.
Authors
=======
Ansible was created by `Michael DeHaan <https://github.com/mpdehaan>`_
(michael.dehaan/gmail/com) and has contributions from over 3700 users
(and growing). Thanks everyone!
`Ansible <https://www.ansible.com>`_ is sponsored by `Red Hat, Inc.
<https://www.redhat.com>`_
License
=======
GNU General Public License v3.0
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
.. |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
.. |Chat badge| image:: https://img.shields.io/badge/chat-IRC-brightgreen.svg
:target: https://docs.ansible.com/ansible/latest/community/communication.html

View File

@ -1 +0,0 @@
../lib/ansible/cli/adhoc.py

163
bin/ansible Executable file
View File

@ -0,0 +1,163 @@
#!/usr/bin/env python
# (c) 2012, Michael DeHaan <michael.dehaan@gmail.com>
#
# This file is part of Ansible
#
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
########################################################
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
__requires__ = ['ansible']
try:
import pkg_resources
except Exception:
# Use pkg_resources to find the correct versions of libraries and set
# sys.path appropriately when there are multiversion installs. But we
# have code that better expresses the errors in the places where the code
# is actually used (the deps are optional for many code paths) so we don't
# want to fail here.
pass
import os
import shutil
import sys
import traceback
from ansible.errors import AnsibleError, AnsibleOptionsError, AnsibleParserError
from ansible.module_utils._text import to_text
# Used for determining if the system is running a new enough python version
# and should only restrict on our documented minimum versions
_PY3_MIN = sys.version_info[:2] >= (3, 5)
_PY2_MIN = (2, 6) <= sys.version_info[:2] < (3,)
_PY_MIN = _PY3_MIN or _PY2_MIN
if not _PY_MIN:
raise SystemExit('ERROR: Ansible requires a minimum of Python2 version 2.6 or Python3 version 3.5. Current version: %s' % ''.join(sys.version.splitlines()))
class LastResort(object):
# OUTPUT OF LAST RESORT
def display(self, msg, log_only=None):
print(msg, file=sys.stderr)
def error(self, msg, wrap_text=None):
print(msg, file=sys.stderr)
if __name__ == '__main__':
display = LastResort()
try: # bad ANSIBLE_CONFIG or config options can force ugly stacktrace
import ansible.constants as C
from ansible.utils.display import Display
except AnsibleOptionsError as e:
display.error(to_text(e), wrap_text=False)
sys.exit(5)
cli = None
me = os.path.basename(sys.argv[0])
try:
display = Display()
display.debug("starting run")
sub = None
target = me.split('-')
if target[-1][0].isdigit():
# Remove any version or python version info as downstreams
# sometimes add that
target = target[:-1]
if len(target) > 1:
sub = target[1]
myclass = "%sCLI" % sub.capitalize()
elif target[0] == 'ansible':
sub = 'adhoc'
myclass = 'AdHocCLI'
else:
raise AnsibleError("Unknown Ansible alias: %s" % me)
try:
mycli = getattr(__import__("ansible.cli.%s" % sub, fromlist=[myclass]), myclass)
except ImportError as e:
# ImportError members have changed in py3
if 'msg' in dir(e):
msg = e.msg
else:
msg = e.message
if msg.endswith(' %s' % sub):
raise AnsibleError("Ansible sub-program not implemented: %s" % me)
else:
raise
try:
args = [to_text(a, errors='surrogate_or_strict') for a in sys.argv]
except UnicodeError:
display.error('Command line args are not in utf-8, unable to continue. Ansible currently only understands utf-8')
display.display(u"The full traceback was:\n\n%s" % to_text(traceback.format_exc()))
exit_code = 6
else:
cli = mycli(args)
cli.parse()
exit_code = cli.run()
except AnsibleOptionsError as e:
cli.parser.print_help()
display.error(to_text(e), wrap_text=False)
exit_code = 5
except AnsibleParserError as e:
display.error(to_text(e), wrap_text=False)
exit_code = 4
# TQM takes care of these, but leaving comment to reserve the exit codes
# except AnsibleHostUnreachable as e:
# display.error(str(e))
# exit_code = 3
# except AnsibleHostFailed as e:
# display.error(str(e))
# exit_code = 2
except AnsibleError as e:
display.error(to_text(e), wrap_text=False)
exit_code = 1
except KeyboardInterrupt:
display.error("User interrupted execution")
exit_code = 99
except Exception as e:
if C.DEFAULT_DEBUG:
# Show raw stacktraces in debug mode, It also allow pdb to
# enter post mortem mode.
raise
have_cli_options = cli is not None and cli.options is not None
display.error("Unexpected Exception, this is probably a bug: %s" % to_text(e), wrap_text=False)
if not have_cli_options or have_cli_options and cli.options.verbosity > 2:
log_only = False
if hasattr(e, 'orig_exc'):
display.vvv('\nexception type: %s' % to_text(type(e.orig_exc)))
why = to_text(e.orig_exc)
if to_text(e) != why:
display.vvv('\noriginal msg: %s' % why)
else:
display.display("to see the full traceback, use -vvv")
log_only = True
display.display(u"the full traceback was:\n\n%s" % to_text(traceback.format_exc()), log_only=log_only)
exit_code = 250
finally:
# Remove ansible tmpdir
shutil.rmtree(C.DEFAULT_LOCAL_TMP, True)
sys.exit(exit_code)

View File

@ -1 +1 @@
../lib/ansible/cli/config.py
ansible

328
bin/ansible-connection Executable file
View File

@ -0,0 +1,328 @@
#!/usr/bin/env python
# Copyright: (c) 2017, Ansible Project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
__requires__ = ['ansible']
try:
import pkg_resources
except Exception:
pass
import fcntl
import hashlib
import os
import signal
import socket
import sys
import time
import traceback
import errno
import json
from contextlib import contextmanager
from ansible import constants as C
from ansible.module_utils._text import to_bytes, to_text
from ansible.module_utils.six import PY3
from ansible.module_utils.six.moves import cPickle, StringIO
from ansible.module_utils.connection import Connection, ConnectionError, send_data, recv_data
from ansible.module_utils.service import fork_process
from ansible.playbook.play_context import PlayContext
from ansible.plugins.loader import connection_loader
from ansible.utils.path import unfrackpath, makedirs_safe
from ansible.utils.display import Display
from ansible.utils.jsonrpc import JsonRpcServer
def read_stream(byte_stream):
size = int(byte_stream.readline().strip())
data = byte_stream.read(size)
if len(data) < size:
raise Exception("EOF found before data was complete")
data_hash = to_text(byte_stream.readline().strip())
if data_hash != hashlib.sha1(data).hexdigest():
raise Exception("Read {0} bytes, but data did not match checksum".format(size))
# restore escaped loose \r characters
data = data.replace(br'\r', b'\r')
return data
@contextmanager
def file_lock(lock_path):
"""
Uses contextmanager to create and release a file lock based on the
given path. This allows us to create locks using `with file_lock()`
to prevent deadlocks related to failure to unlock properly.
"""
lock_fd = os.open(lock_path, os.O_RDWR | os.O_CREAT, 0o600)
fcntl.lockf(lock_fd, fcntl.LOCK_EX)
yield
fcntl.lockf(lock_fd, fcntl.LOCK_UN)
os.close(lock_fd)
class ConnectionProcess(object):
'''
The connection process wraps around a Connection object that manages
the connection to a remote device that persists over the playbook
'''
def __init__(self, fd, play_context, socket_path, original_path, ansible_playbook_pid=None):
self.play_context = play_context
self.socket_path = socket_path
self.original_path = original_path
self.fd = fd
self.exception = None
self.srv = JsonRpcServer()
self.sock = None
self.connection = None
self._ansible_playbook_pid = ansible_playbook_pid
def start(self, variables):
try:
messages = list()
result = {}
messages.append('control socket path is %s' % self.socket_path)
# If this is a relative path (~ gets expanded later) then plug the
# key's path on to the directory we originally came from, so we can
# find it now that our cwd is /
if self.play_context.private_key_file and self.play_context.private_key_file[0] not in '~/':
self.play_context.private_key_file = os.path.join(self.original_path, self.play_context.private_key_file)
self.connection = connection_loader.get(self.play_context.connection, self.play_context, '/dev/null',
ansible_playbook_pid=self._ansible_playbook_pid)
self.connection.set_options(var_options=variables)
self.connection._connect()
self.connection._socket_path = self.socket_path
self.srv.register(self.connection)
messages.extend(sys.stdout.getvalue().splitlines())
messages.append('connection to remote device started successfully')
self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
self.sock.bind(self.socket_path)
self.sock.listen(1)
messages.append('local domain socket listeners started successfully')
except Exception as exc:
result['error'] = to_text(exc)
result['exception'] = traceback.format_exc()
finally:
result['messages'] = messages
self.fd.write(json.dumps(result))
self.fd.close()
def run(self):
try:
while self.connection.connected:
signal.signal(signal.SIGALRM, self.connect_timeout)
signal.signal(signal.SIGTERM, self.handler)
signal.alarm(self.connection.get_option('persistent_connect_timeout'))
self.exception = None
(s, addr) = self.sock.accept()
signal.alarm(0)
signal.signal(signal.SIGALRM, self.command_timeout)
while True:
data = recv_data(s)
if not data:
break
signal.alarm(self.connection.get_option('persistent_command_timeout'))
resp = self.srv.handle_request(data)
signal.alarm(0)
send_data(s, to_bytes(resp))
s.close()
except Exception as e:
# socket.accept() will raise EINTR if the socket.close() is called
if hasattr(e, 'errno'):
if e.errno != errno.EINTR:
self.exception = traceback.format_exc()
else:
self.exception = traceback.format_exc()
finally:
# allow time for any exception msg send over socket to receive at other end before shutting down
time.sleep(0.1)
# when done, close the connection properly and cleanup the socket file so it can be recreated
self.shutdown()
def connect_timeout(self, signum, frame):
msg = 'persistent connection idle timeout triggered, timeout value is %s secs.\nSee the timeout setting options in the Network Debug and ' \
'Troubleshooting Guide.' % self.connection.get_option('persistent_connect_timeout')
display.display(msg, log_only=True)
raise Exception(msg)
def command_timeout(self, signum, frame):
msg = 'command timeout triggered, timeout value is %s secs.\nSee the timeout setting options in the Network Debug and Troubleshooting Guide.'\
% self.connection.get_option('persistent_command_timeout')
display.display(msg, log_only=True)
raise Exception(msg)
def handler(self, signum, frame):
msg = 'signal handler called with signal %s.' % signum
display.display(msg, log_only=True)
raise Exception(msg)
def shutdown(self):
""" Shuts down the local domain socket
"""
lock_path = unfrackpath("%s/.ansible_pc_lock_%s" % os.path.split(self.socket_path))
if os.path.exists(self.socket_path):
try:
if self.sock:
self.sock.close()
if self.connection:
self.connection.close()
except:
pass
finally:
if os.path.exists(self.socket_path):
os.remove(self.socket_path)
setattr(self.connection, '_socket_path', None)
setattr(self.connection, '_connected', False)
if os.path.exists(lock_path):
os.remove(lock_path)
display.display('shutdown complete', log_only=True)
def main():
""" Called to initiate the connect to the remote device
"""
rc = 0
result = {}
messages = list()
socket_path = None
# Need stdin as a byte stream
if PY3:
stdin = sys.stdin.buffer
else:
stdin = sys.stdin
# Note: update the below log capture code after Display.display() is refactored.
saved_stdout = sys.stdout
sys.stdout = StringIO()
try:
# read the play context data via stdin, which means depickling it
vars_data = read_stream(stdin)
init_data = read_stream(stdin)
if PY3:
pc_data = cPickle.loads(init_data, encoding='bytes')
variables = cPickle.loads(vars_data, encoding='bytes')
else:
pc_data = cPickle.loads(init_data)
variables = cPickle.loads(vars_data)
play_context = PlayContext()
play_context.deserialize(pc_data)
display.verbosity = play_context.verbosity
except Exception as e:
rc = 1
result.update({
'error': to_text(e),
'exception': traceback.format_exc()
})
if rc == 0:
ssh = connection_loader.get('ssh', class_only=True)
ansible_playbook_pid = sys.argv[1]
cp = ssh._create_control_path(play_context.remote_addr, play_context.port, play_context.remote_user, play_context.connection, ansible_playbook_pid)
# create the persistent connection dir if need be and create the paths
# which we will be using later
tmp_path = unfrackpath(C.PERSISTENT_CONTROL_PATH_DIR)
makedirs_safe(tmp_path)
socket_path = unfrackpath(cp % dict(directory=tmp_path))
lock_path = unfrackpath("%s/.ansible_pc_lock_%s" % os.path.split(socket_path))
with file_lock(lock_path):
if not os.path.exists(socket_path):
messages.append('local domain socket does not exist, starting it')
original_path = os.getcwd()
r, w = os.pipe()
pid = fork_process()
if pid == 0:
try:
os.close(r)
wfd = os.fdopen(w, 'w')
process = ConnectionProcess(wfd, play_context, socket_path, original_path, ansible_playbook_pid)
process.start(variables)
except Exception:
messages.append(traceback.format_exc())
rc = 1
if rc == 0:
process.run()
else:
process.shutdown()
sys.exit(rc)
else:
os.close(w)
rfd = os.fdopen(r, 'r')
data = json.loads(rfd.read())
messages.extend(data.pop('messages'))
result.update(data)
else:
messages.append('found existing local domain socket, using it!')
conn = Connection(socket_path)
conn.set_options(var_options=variables)
pc_data = to_text(init_data)
try:
messages.extend(conn.update_play_context(pc_data))
except Exception as exc:
# Only network_cli has update_play context, so missing this is
# not fatal e.g. netconf
if isinstance(exc, ConnectionError) and getattr(exc, 'code', None) == -32601:
pass
else:
result.update({
'error': to_text(exc),
'exception': traceback.format_exc()
})
messages.append(sys.stdout.getvalue())
result.update({
'messages': messages,
'socket_path': socket_path
})
sys.stdout = saved_stdout
if 'exception' in result:
rc = 1
sys.stderr.write(json.dumps(result))
else:
rc = 0
sys.stdout.write(json.dumps(result))
sys.exit(rc)
if __name__ == '__main__':
display = Display()
main()

View File

@ -1 +1 @@
../lib/ansible/cli/console.py
ansible

View File

@ -1 +1 @@
../lib/ansible/cli/doc.py
ansible

View File

@ -1 +1 @@
../lib/ansible/cli/galaxy.py
ansible

View File

@ -1 +1 @@
../lib/ansible/cli/inventory.py
ansible

View File

@ -1 +1 @@
../lib/ansible/cli/playbook.py
ansible

View File

@ -1 +1 @@
../lib/ansible/cli/pull.py
ansible

View File

@ -1 +0,0 @@
../test/lib/ansible_test/_util/target/cli/ansible_test_cli_stub.py

15
bin/ansible-test Executable file
View File

@ -0,0 +1,15 @@
#!/usr/bin/env python
# PYTHON_ARGCOMPLETE_OK
"""Primary entry point for ansible-test."""
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
import os
import sys
if __name__ == '__main__':
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(os.path.dirname(__file__)), 'test', 'runner')))
import lib.cli
lib.cli.main()

View File

@ -1 +1 @@
../lib/ansible/cli/vault.py
ansible

991
changelogs/.changes.yaml Normal file
View File

@ -0,0 +1,991 @@
releases:
2.7.0:
codename: In the Light
fragments:
- v2.7.0_summary.yaml
release_date: '2018-10-03'
2.7.0.a1:
codename: In the Light
fragments:
- 32738-native-jinja-types.yaml
- 42042-inventory_with_no_region.yaml
- 42170-acme-backend-selection.yaml
- 42647-win_updates.yaml
- 42669-add_ssl_zabbix_inventory.yaml
- 43024-nclu-empty-net-commands.yaml
- 43931-strip-trailing-comments.yml
- 44500-win_domain_computer.yaml
- 44508-win_lineinfile.yaml
- 44552-mail-py370-compat.yml
- add_file_lock_feature.yaml
- add_random_mac_filtter.yaml
- admin-users-default-change.yaml
- alternative_facts.yml
- ansiballz_one_interpreter.yml
- ansiballz_streamline_imports.yaml
- any_unparsed_is_failed.yaml
- authorized_key_symlinks.yaml
- avoid_cwd_vars.yml
- aws_caller_facts_add_account_alias.yaml
- aws_core_is_boto3_error_code.yml
- aws_rds_inventory_plugin_added.yaml
- aws_s3_async_fix.yaml
- aws_s3_decryption_fix.yaml
- aws_s3_fix_custom_endpoints.yaml
- basic_booleans_backward_compat.yaml
- batch_mode_elasticsearch_plugin.yaml
- callback_plugin_merge.yml
- clarify_error_message.yml
- cleanup__file__.yaml
- command_shell_check_mode.yaml
- connection_reset.yaml
- console_color.yml
- deepcopy-alternative.yaml
- deprecated-__file__.yaml
- docker-default-ssl.yml
- drop-python-2.6-controller.yaml
- ec2-facts.yaml
- ec2_group_diff_mode_support.yml
- elasticsearch_plugin-showSTDERRonFailure.yaml
- elb_application_lb_fix_state_default.yml
- ensure_text_source.yaml
- env_inject.yml
- file_attributes.yaml
- file_touch_check_mode.yaml
- file_touch_diff.yaml
- fips_md5_import.yaml
- fix-255-exit-code.yaml
- fix-config-from-environment.yaml
- fix-open-url.yml
- fix-os_router.yaml
- fix-selectors-error-condition.yaml
- fix-swap-mount-module.yaml
- fix-world-readable-skip-message.yaml
- fix_no_log_loop.yml
- flatten-better-type-check.yml
- from_yaml_all_filter_plugin.yaml
- galaxy_list_all_roles.yaml
- gce-sort-fix.yaml
- get_url.yaml
- grafana_5_dashboard_compatible.yaml
- hashing-changes.yaml
- ignore_unreachable.yml
- inventory_dir_ext_compare_fix.yaml
- irc_py3_compat.yaml
- lineinfile-empty-regexp.yml
- lxd-idempotent-config.yaml
- mass-remove-deprecated.yaml
- missing_interpreter.yml
- module_defaults_groups.yml
- more-world-readable-warning-skips.yaml
- no_log_fix_for_connection_exceptions.yaml
- password_sanity_check.yml
- passwordstore-lookup-backup.yaml
- pause-stdout-redirection.yaml
- pause-try-except-curses.yaml
- preserve_delegate_nolog.yml
- puppet_debugging_options.yaml
- remote_tmp_de-escalated_user.yaml
- remove-merge-multiple-tags.yaml
- remove-simplejson.yaml
- remove-unused-ansible-remote-temp.yaml
- s3.yaml
- service.yml
- sns_topic_boto3_port.yaml
- syslog_facility-for-journald.yml
- template_output_encoding.yml
- to-nice-json-separators.yaml
- user-freebsd-createhome-name-fix.yaml
- user-module-backup-shadow.yaml
- user_freebsd_always_changed_bugfix.yaml
- v2.7.0-initial-commit.yaml
- v2.7.0a1_summary.yaml
- vars_prompt-allow-prompting-for-play-vars.yaml
- vault-errors.yaml
- vultr_modules_renamed.yml
- win_become_async_older_hosts.yml
- win_chocoalatey_install_tls12.yml
- win_chocolatey-bugfixes.yaml
- win_chocolatey-return-rc-always.yml
- win_domain-dns-typo-fix.yml
- win_domain_controller-netlogon.yaml
- win_iis_webapppool-output-fix.yml
- win_privilege_util.yaml
- win_reboot-fixes.yml
- win_security_policy-empty-value.yaml
- win_updates-async-fix.yml
- win_user-validate-fixes.yaml
- winrm_kinit-remove-pass-log.yml
- wrcwd_ansible.cfg.yml
- yum4_dnf_yum_action_plugin.yml
- zypper-on-ubuntu.yaml
modules:
- aci_interface_policy_ospf
- acme_account_facts
- acme_certificate_revoke
- acme_challenge_cert_helper
- aws_eks_cluster
- azure_rm_appgateway
- azure_rm_appserviceplan
- azure_rm_appserviceplan_facts
- azure_rm_mysqldatabase_facts
- azure_rm_mysqlserver_facts
- azure_rm_postgresqldatabase_facts
- azure_rm_postgresqlserver_facts
- azure_rm_route
- azure_rm_routetable
- azure_rm_routetable_facts
- azure_rm_virtualmachine_facts
- azure_rm_webapp
- bigip_appsvcs_extension
- bigip_cli_alias
- bigip_cli_script
- bigip_device_auth
- bigip_device_facts
- bigip_firewall_dos_profile
- bigip_firewall_policy
- bigip_firewall_rule
- bigip_firewall_rule_list
- bigip_monitor_dns
- bigip_profile_http
- bigip_profile_http_compression
- bigip_profile_oneconnect
- bigip_profile_persistence_src_addr
- bigip_remote_role
- bigip_software_image
- bigip_software_install
- bigip_tunnel
- bigiq_utility_license_assignment
- certificate_complete_chain
- cli_command
- cli_config
- cloudformation_stack_set
- cobbler_sync
- cobbler_system
- cs_disk_offering
- docker_swarm
- docker_swarm_service
- emc_vnx_sg_member
- exos_config
- exos_facts
- gcp_compute_address_facts
- gcp_compute_backend_bucket_facts
- gcp_compute_backend_service_facts
- gcp_compute_disk_facts
- gcp_compute_firewall_facts
- gcp_compute_forwarding_rule_facts
- gcp_compute_global_address_facts
- gcp_compute_global_forwarding_rule_facts
- gcp_compute_health_check_facts
- gcp_compute_http_health_check_facts
- gcp_compute_https_health_check_facts
- gcp_compute_image_facts
- gcp_compute_instance_facts
- gcp_compute_instance_group_facts
- gcp_compute_instance_group_manager_facts
- gcp_compute_instance_template_facts
- gcp_compute_network_facts
- gcp_compute_route_facts
- gcp_compute_router_facts
- gcp_compute_ssl_certificate_facts
- gcp_compute_ssl_policy
- gcp_compute_ssl_policy_facts
- gcp_compute_subnetwork_facts
- gcp_compute_target_http_proxy_facts
- gcp_compute_target_https_proxy_facts
- gcp_compute_target_pool_facts
- gcp_compute_target_ssl_proxy_facts
- gcp_compute_target_tcp_proxy_facts
- gcp_compute_target_vpn_gateway
- gcp_compute_target_vpn_gateway_facts
- gcp_compute_url_map_facts
- gcp_compute_vpn_tunnel
- gcp_compute_vpn_tunnel_facts
- ibm_sa_vol
- ipa_config
- ipa_vault
- java_keystore
- k8s_facts
- meraki_config_template
- meraki_device
- meraki_mr_l3_firewall
- meraki_mx_l3_firewall
- meraki_ssid
- meraki_switchport
- meraki_vlan
- na_elementsw_backup
- na_elementsw_cluster_pair
- na_elementsw_snapshot_schedule
- na_elementsw_vlan
- na_elementsw_volume
- na_elementsw_volume_pair
- na_ontap_cg_snapshot
- na_ontap_dns
- na_ontap_fcp
- na_ontap_snapmirror
- na_ontap_software_update
- na_ontap_svm_options
- na_ontap_vserver_peer
- netcup_dns
- nios_a_record
- nios_cname_record
- nios_mx_record
- nios_naptr_record
- nios_ptr_record
- nios_srv_record
- nios_txt_record
- nos_command
- nos_config
- nos_facts
- nxos_rpm
- onyx_igmp
- openssl_pkcs12
- os_coe_cluster_template
- os_listener
- os_loadbalancer
- os_member
- os_pool
- panos_set
- python_requirements_facts
- reboot
- redfish_facts
- routeros_command
- scaleway_image_facts
- scaleway_ip_facts
- scaleway_organization_facts
- scaleway_security_group_facts
- scaleway_server_facts
- scaleway_snapshot_facts
- scaleway_volume
- scaleway_volume_facts
- slxos_lldp
- tower_inventory_source
- ucs_ntp_server
- ucs_storage_profile
- ucs_timezone
- ucs_uuid_pool
- vmware_about_facts
- vmware_category
- vmware_category_facts
- vmware_deploy_ovf
- vmware_guest_boot_facts
- vmware_guest_boot_manager
- vmware_guest_custom_attribute_defs
- vmware_guest_custom_attributes
- vmware_guest_move
- vmware_host_ssl_facts
- vmware_local_role_facts
- voss_command
- voss_facts
- vultr_block_storage
- vultr_block_storage_facts
- vultr_dns_domain_facts
- vultr_firewall_group_facts
- vultr_network
- vultr_network_facts
- vultr_os_facts
- vultr_plan_facts
- vultr_region_facts
- vultr_server_facts
- vultr_ssh_key_facts
- vultr_startup_script_facts
- vultr_user_facts
- win_chocolatey_config
- win_chocolatey_feature
- win_chocolatey_source
- zabbix_host_facts
plugins:
callback:
- counter_enabled
- logdna
- splunk
connection:
- psrp
inventory:
- tower
lookup:
- cpm_status
- grafana_dashboard
- nios_next_network
release_date: '2018-08-27'
2.7.0b1:
codename: In the Light
fragments:
- blockdoc.yml
- delegate-to-get-vars-no-task.yaml
- gcp_service_account_home_path.yaml
- include-apply-insert-order.yaml
- include-double-handler.yaml
- loop-cache-fix.yaml
- no-dynamic-import-tasks.yaml
- onepassword_unlock_vault.yaml
- plugins-accept-only-valid-args.yaml
- urls-if-modified-since.yaml
- v2.7.0b1_summary.yaml
- win_disk_image-mount-paths.yaml
- win_psexec_command_arg.yaml
- win_psexec_session-selection.yaml
- win_uri-json.yml
- win_wait_for-timeout.yaml
modules:
- azure_rm_autoscale
- azure_rm_autoscale_facts
- azure_rm_containerregistry_facts
- azure_rm_sqlfirewallrule
- azure_rm_trafficmanagerendpoint
- azure_rm_trafficmanagerendpoint_facts
- azure_rm_trafficmanagerprofile
- azure_rm_trafficmanagerprofile_facts
- azure_rm_webapp_facts
- cpm_user
- elb_target_facts
- fmgr_provisioning
- ftd_configuration
- ftd_file_download
- ftd_file_upload
- gcp_compute_router
- gcp_spanner_database
- gcp_spanner_instance
- gcp_sql_database
- gcp_sql_instance
- gcp_sql_user
- ibm_sa_host
- ibm_sa_pool
- na_elementsw_access_group
- na_elementsw_account
- na_elementsw_admin_users
- na_elementsw_check_connections
- na_elementsw_cluster
- na_elementsw_drive
- na_elementsw_ldap
- na_elementsw_network_interfaces
- na_elementsw_node
- na_elementsw_snapshot
- na_elementsw_snapshot_restore
- na_elementsw_volume_clone
- na_ontap_autosupport
- na_ontap_cluster_peer
- na_ontap_command
- na_ontap_disks
- na_ontap_firewall_policy
- na_ontap_gather_facts
- na_ontap_motd
- na_ontap_node
- netapp_e_alerts
- netapp_e_asup
- netapp_e_auditlog
- netapp_e_global
- netapp_e_iscsi_interface
- netapp_e_iscsi_target
- netapp_e_ldap
- netapp_e_mgmt_interface
- netapp_e_syslog
- onepassword_facts
- opx_cps
- purefb_facts
- rds_instance
- redfish_command
- redfish_config
- tower_credential_type
- tower_settings
- tower_workflow_template
- vmware_host_ntp_facts
- win_wait_for_process
- win_xml
plugins:
lookup:
- cpm_metering
release_date: '2018-08-31'
2.7.0rc1:
codename: In the Light
fragments:
- 16748-docker_container-memory.yaml
- 33579-docker_container-log_driver.yaml
- 42380-docker_container-check-mode.yaml
- 42641-44812-docker-env-variables.yaml
- 42857-docker_container-working_dir.yaml
- 44808-docker_container-idempotency.yaml
- aws_bugfix_backports.yml
- cb_fix_config.yml
- dnf-group-removal.yaml
- ec2_vpc_route_table_replace_route_fix.yaml
- elb_target_group_fix_KeyError.yaml
- systemd_user_dep_fixes.yml
- terminal_plugin_nxos_iosxr.yaml
- v2.7.0rc1_summary.yaml
modules:
- online_user_facts
release_date: '2018-09-06'
2.7.0rc2:
codename: In the Light
fragments:
- 45501-get_url-better_checksums.yaml
- aws_cloudfront_distribution_fix_nonexistent_method_name.yaml
- azure-storage-cloud-environment.yaml
- azure_autoscale.yaml
- get-url-fix-idempotency.yaml
- loop_undefined_delegate_to.yaml
- nxos_ambiguous_command_check.yaml
- script-module-no-file-path.yaml
- v2.7.0rc2_summary.yaml
- vmware_wait_for_task_fix.yaml
- win_group_membership-com-marshal.yaml
- win_say-fix.yaml
plugins:
strategy:
- host_pinned
release_date: '2018-09-13'
2.7.0rc3:
codename: In the Light
fragments:
- ec2_group_fix_target_containing_list_within_list.yaml
- fix_nxos_facts_indefinite_hang.yaml
- v2.7.0rc3_summary.yaml
release_date: '2018-09-20'
2.7.0rc4:
codename: In the Light
fragments:
- v2.7.0rc4_summary.yaml
release_date: '2018-09-27'
2.7.1:
codename: In the Light
fragments:
- 33156-vmware_guest-resource_pool.yaml
- 34863-rabbitmq_user_unpack_fix.yaml
- 35120-redis_inventory_plugin_flush_cache.yaml
- 38679-vmware_guest-refactor_disk_logic.yml
- 42322-nmcli_fix_vlan_mod_function.yaml
- 42456-consul_kv-lookup.yaml
- 43997-docker_network-inspect.yaml
- 44755-win_nssm_fixes.yaml
- 45226-vmware_wait_for_ip_address.yaml
- 45417-ldap_entry-list_conversion.yml
- 45508-parse-docker-service-parameter.yaml
- 45543-rabbitmq_bindings-fix-quote.yaml
- 45628-fetch_url-error-headers.yaml
- 45700-docker_container-dont-parse-absent.yml
- 45712-45753-vultr-timeout.yml
- 45830-fixed-assigning-ssl-certificate.yaml
- 45921-os_router-ignores-enable_snat-no.yml
- 46049-route53-caa-ordering.txt
- 46115-46035-cs_instance-fixes.yml
- 46245-systemd-fix-service-enable-logic.yaml
- 46322-docker_container-image-not-given.yaml
- 46521-zabbix_host-fix-link-template-error.yml
- 46594-docker_container-publish-all-ports.yml
- 46595-docker_container-expected_ports.yml
- 46743-fix-native-jinja-newlines.yaml
- 46800-ec2_vol_facts-handle-missing-tags.yml
- 46961_fix_aws_ec2_cache.yaml
- 47046-docker-versions.yaml
- 47096-junos-terminal-regex-fix.yml
- 47109-fail-space-separated-string-pkgs.yaml
- 47133-pamd_use_module_tmpdir.yml
- 47281-pamd-dont-delete-named_temporary_file_on_close.yaml
- 47296-docker_container-memory_swappiness.yaml
- 47307-handler-include-task.yml
- 47395-docker_container-ipvX_address.yaml
- 47396-docker_container-detach-auto-remove.yaml
- 54434-iam-role-arn-parsing.yml
- ajson-nested-decode.yaml
- ansible-connection-cleanup-when-failed.yaml
- ansible-doc-fixes.yml
- aws_parameter_store_pagination.yaml
- azure-version.yaml
- azure_rm_autoscale-fixed_date.yml
- azure_rm_deployment_fix_45941.yaml
- blockinfile-bytes-fix.yaml
- callback_fixes.yml
- cliconf-get-bugfixes.yaml
- dd-put-empty-files.yaml
- delegate_to_loop_hostvars.yaml
- dnf-immutable-mutable.yaml
- dnf-localgpgcheck.yaml
- dnfyum-disable-excludes.yaml
- docker_container-idempotency.yaml
- docker_volume-force-change-detection.yaml
- fix_calling_deprecate_with_correct_arguments.yaml
- fix_ec2_group_target_vpc_precedence.yaml
- fix_flatten.yml
- fix_vyos_version.yaml
- free-strategy-include-var-tags.yaml
- ftd-http-api-plugin-refresh-token.yaml
- get_url-remove-fragile-code.yaml
- inv_fixes.yml
- ios-prompt-fix.yaml
- ip_netns-fix-exists.yaml
- issue46937-pr46519-pr47449-fix-pip-multiple-extras.yaml
- k8s_auth_kubeconfig.yml
- k8s_facts_fix.yaml
- lineinfile-insertbefore-index-out-of-range.yaml
- mail-fix-regression.yaml
- mysql-migrate_to_pymysql.yaml
- netconf_config_comfirm_commit_fix.yaml
- netconf_config_default_operation.yaml
- netconf_module_utils_py3_fix.yaml
- no-mutable-fieldattribute-defaults.yaml
- no-overwrite-roles.yaml
- nxos_file_copy_PY3_fix.yaml
- nxos_ospf_vrf_idempotence.yaml
- openssl-python3.yaml
- ovirt_host_network_check_for_empty_user_opts.yaml
- ovirt_vm__Fix_initialization_of_cloud_init.yaml
- ovirt_vm_check_next_run_configuration_update_if_exist.yaml
- ovirt_vm_fix_issue_in_SSO_option.yaml
- ovirt_vm_fix_issue_in_setting_the_custom_compatibility_version_to_NULL.yaml
- piped-transfer-empty-files.yaml
- plugin-docs-list-fix.yaml
- plugin-filters-cfg.yaml
- postgresql_user-not-sup-error.yaml
- psexec-handle-socket-errors.yaml
- psexec-imp-error.yaml
- psrp-utf8-stdio.yaml
- psrp-utf8.yaml
- reboot-unicode-string.yaml
- reboot-var-fix-bare-linux.yaml
- reboot_missing_parameter.yaml
- reboot_openbsd_support.yaml
- restore_sigpipe_dfl.yml
- solaris-prtdiag-path.yaml
- telent-prompt-fix.yaml
- unsafe-set-wrap.yaml
- user-do-not-pass-ssh_key_passphrase-on-cmdline.yaml
- user-docs-underlying-tools.yaml
- v2.7.1
- win_copy-dest-quote.yaml
- win_reboot-post-reboot-delay.yaml
- winrm_pexpect.yaml
- yum-proxy-userpass.yaml
- yum_bugfux.yml
- yum_bugfux_conf_file_none_type.yml
release_date: '2018-10-25'
2.7.10:
codename: In the Light
fragments:
- 48306-ansible-connection-json
- 51898-remove-non-standard-redfish-manager-attrs-commands.yaml
- 52010-handle-empty-output-in-remote_exists.yaml
- 53046-azure_rm_inventory_properties_missing.yaml
- 53134-yum-fix-disable_excludes-when-repoquery.yaml
- 53496-azure_rm_inventory_vmss_nic.yaml
- 54028_tower_settings_value_param_required.yml
- 54044-fix-include_task-no-file-traceback.yml
- 54085-openssl-mode-writing.yaml
- 54101-backport-51034-foreman-inventory.yaml
- 54192-openssl_publickey-openssh-passphrase.yml
- 54296-openssl_dhparam-remove.yaml
- 54298-openssl_certificate-remove.yaml
- dict_is_dict.yml
- get_url-checksum.yaml
- grafana_datasource_fix_basic_auth_python3_issue.yaml
- linux-arm-cpu-count.yaml
- openstack_inventory_constructed.yml
- pamd-make-idempotence-fix.yaml
- random_mac-random-int-fix.yaml
- replace-before-after.yaml
- ssh-check-returncode-before-exception.yaml
- v2.7.10_summary.yaml
- win_acl-paths.yaml
- win_acl_inheritance-paths.yaml
- win_certificate_store-paths.yaml
- win_chocolatey-update.yaml
- win_copy-paths.yaml
- win_file-paths.yaml
- win_find-paths.yaml
- win_mod_utils-paths.yaml
- win_owner-paths.yaml
- win_psexec-paths.yaml
- win_reboot-psrp.yaml
- win_slurp-paths.yaml
- win_tempfile-path.yaml
- win_user_right-output.yaml
- winrm-all-timeout-exceptions.yaml
release_date: '2019-04-03'
2.7.11:
codename: In the Light
fragments:
- 26937-fix-remove-orphans.yml
- 44412-copy-fix-unwanted-acls.yaml
- 50183-improve-gcp-documentation.yaml
- 53385-docker-privilege-escalation.yml
- 54130-fix-missing-timeout-in-redfish_utils.yaml
- 54754-acme_certificate-cwd.yml
- 54799-ufw-default-direction.yml
- 54955-docker_container-log_options-strings.yml
- 55078-redfish_utils_fix_406_not_acceptable_issue_with_some_oob_controllers.yml
- 55083-univention-diff-UnboundLocalError.yaml
- 55150-native-strings-for-signature-auth.yaml
- 55384-netconf-import.yaml
- 55496-docker_container-docker-py-1.7.0.yml
- 55589_fix_vyos_prompt_issues.yaml
- 55595-nios-zone-idempotency-fix.yaml
- 55617-docker_swarm_service_use_correct_secrets_configs_types.yaml
- 55619-vultr_server_idempotency.yml
- 55894-docker_container-restart.yml
- 56012-docker_container-oom-version.yml
- dnf-4.2.2-module-remove.yaml
- meraki_orgnet_fix.yml
- meraki_vlan_api_calls.yml
- netconf_plugin_dispatch_fix.yaml
- no_become_plugins.yml
- nxos_bugfixes_2710.yaml
- nxos_interfaces_27_fix.yaml
- persistent_loading.yml
- psrp-fetch.yaml
- psrp-output.yaml
- redhat_subscription_use_strings_for_yum_plugin_configs.yaml
- sysctl-invalid-value.yml
- user-aix-shadow-file-parsing.yaml
- v2.7.11_summary.yaml
- vsphere_guest-corrected-state-operations.yml
- win_acl-network.yaml
- win_domain-setup.yaml
- win_reboot-psrp-command.yaml
- win_region-format.yaml
- yum-select-version.yml
release_date: '2019-05-23'
2.7.12:
codename: In the Light
fragments:
- fix_safe_eval.yml
- v2.7.12_summary.yaml
release_date: '2019-07-03'
2.7.13:
codename: In the Light
fragments:
- dont_template_passwords_from_prompt.yml
- v2.7.13_summary.yaml
release_date: '2019-08-15'
2.7.14:
codename: In the Light
fragments:
- aci-42-filter-whitespace.yaml
- ansible-test-redact.yml
- boto-logging-credentials.yml
- dont-template-cli-passwords.yml
- no-log-sub-options-invalid-parameter.yaml
- v2.7.14_summary.yaml
release_date: '2019-10-17'
2.7.2:
codename: In the Light
fragments:
- 44324-ini_file-options-with-no-section-managed.yaml
- 44988-acme-post-as-get.yaml
- 45151-fix-os-exception.yaml
- 45704-fix-redfish_facts-http-redirect.yaml
- 46148-provide-redfish_facts-gathering-flexibility.yaml
- 46658-plugin_filter-improve_error_handling.yaml
- 46665-plugin_filter_doc_fix.yaml
- 46700-vmware_doc-standalone_esxi.yaml
- 47030-assert-add-success_msg-to-valid-args.yaml
- 47117-vmware_doc-http_api_usage.yaml
- 47300-ios-check_rc.yaml
- 47313-vmware_utils-handle_requests_import_error.yaml
- 47459_grafana_dashboard_consistency_fix.yaml
- 47462-fix-redfish_config-idempotency.yaml
- 47563-vmware_host-refactor_SSL_thumbprint.yaml
- 47608-docker_swarm-advertise_addr.yml
- 47621-bugfix-for-na-ontap-snapmirror.yaml
- 47668-aci_switch_leaf_selector-support_empty_policy_group.yaml
- 47689-yum-fix-version-syntax.yaml
- 47693-fix-argument-spec-for-netapp-modules.yaml
- 47695-pamd-fix-idempotence-and-parsing-issues.yml
- 47711-docker_container-minimal-version-checks.yml
- 47712-docker_container-detach-auto-remove.yml
- 47722-vmware_guest_powerstate-restore_timeout.yaml
- 47889-vmware_doc-fix_privilege_names.yaml
- 47900-docker_container-paused.yml
- 47920-vmware_guest-handle_no_root_snapshot.yaml
- 47938-docker_swarm_service-requirements.yaml
- 47997-docker_container-ipc-pid-mode.yml
- 48009-ldap_attr-list.yml
- 48036-vultr-fix-empty-list-handling.yaml
- 48061-docker_container-auto_removal.yml
- 48148_net_put_cleanup.yaml
- 48317-do-not-auto-reboot-with-redfish_config-bios-changes
- 48341-ebs-optimized-ec2-instance.yaml
- 48342-vultr_server_facts-fix-firewall-group.yml
- 48474-k8s-module-docs-update.yaml
- 48536-docker_volume-labels.yml
- 48551-docker_container-idempotency.yml
- 48590-docker_container-unpause-stop.yml
- aci_access_port_to_interface_policy_leaf_profile-missing_policy_group.yaml
- aci_interface_policy_leaf_policy_group-missing_aep.yaml
- django_manage_status.yaml
- fix-password-lookup-on-fips.yaml
- galaxy-metea-yaml-extension.yaml
- loop-cache-include-apply.yml
- lvg_fix_47301.yaml
- nxos_evpn_vni_check_mode.yaml
- nxos_facts_trailing_comma.yaml
- nxos_install_os_force_disruptive.yaml
- os_router_enable_snat_fix.yaml
- ovirt_host_network_fix_type_conversion.yaml
- ovirt_host_pm_bug_fixes_for_power_management.yaml
- pip-fix-idempotence-in-check-mode.yaml
- reboot-change-default-boot-command.yaml
- remove_redundant_md5.yml
- tls_mail.yml
- uri-supports-async.yaml
- user-fix-zero-negative-expiration.yaml
- user-password_lock-change-fix.yaml
- user-restore-disabled-account.yaml
- v2.7.2_summary.yaml
- win_uri-junk-data.yaml
- yum-handle-obsoletes-check-update.yaml
- yumdnf-autoremove.yaml
release_date: '2018-11-15'
2.7.3:
codename: In the Light
fragments:
- 15732-wait_for-documentation_fix.yaml
- 46044-puppet-puppet6-fix.yaml
- 47198-fix-setuptools-distutils.yaml
- 47747-ftd-http-api-fixes.yaml
- 48580-apt_key-no-tty.yaml
- 48673-fix-omit-on-play-keywords.yaml
- 48675-cs_template-fix-keyerror-state-extracted.yml
- 48809-sysvinit_defaults_if_no_runlevels.yaml
- 48836-proxymox_kvm-dictionary.yaml
- 49078-docker_container-min-version-fix.yml
- cfg_mgr_fix.yml
- deal_with_bad_config_types.yml
- dnf-modularity.yaml
- docker_network-driver_options.yaml
- ec2_group-rule-purge-fix.yaml
- ps_sb_logging.yaml
- v2.7.3_summary.yaml
- win_security_policy-rights.yaml
release_date: '2018-11-29'
2.7.4:
codename: In the Light
fragments:
- powershell-bootstrap.yaml
- v2.7.4_summary.yaml
release_date: '2018-11-30'
2.7.5:
codename: In the Light
fragments:
- 33239-sensu-expire-cast-int.yaml
- 45122-fix-unarchive-excluded_files.yaml
- 45155-vmware-handle_exception.yaml
- 45155-vmware_host_service_facts-update_docs.yaml
- 46604-ontap-cifs-server-no-log-password.yaml
- 46740-gcp-utils-credentials-scoping.yaml
- 47019-mail-fix-py27-regression.yaml
- 47313-vmware-fix_module_error.yaml
- 48728-win_nssm-credential-quoting.yml
- 48730-zabbix_hostmacro-fixes.yml
- 48792-templar-fix-AttributeError.yml
- 48950-vault-encrypted-data-native-jinja.yaml
- 49096-ansible-galaxy-fix_info_typo.yaml
- 49113-iam-role-arn-parsing-updated.yml
- 49123-backport-devuan-support.yml
- 49212-require-git-ansible-galaxy.yaml
- 49235-docker_swarm_service-user-default.yaml
- 49266-acme-error-messages.yml
- 49299-openshift-inventory-plugin-empty-pods-and-serialization.yaml
- 49394_azure_image.yml
- 49407-acme-disabled-accounts.yml
- 49474-network_utils_dict_merge_fix.yaml
- 49553-aci_rest-fix-ignoring-custom-port.yaml
- avoid_ssh_retry_discolsures.yml
- azure_rm_subnet_route_table.yaml
- clear_system_variablse.yml
- detect_interpreter_stdout.yml
- dnf-fix-plugin-loading.yaml
- docker-swarm-min-ver.yaml
- iosxr_netconf_plugin_fix.yaml
- jinja2_native-fallback-warning.yaml
- nxos_facts_multiple_bugfixes.yaml
- nxos_install_os_nxapi_fix.yaml
- nxos_interface_linkagg_idempotence.yaml
- openstack-fixes-for-2.7.5.yaml
- ovirt_storage_connection_password-comparison.yaml
- parimko_ssh-log-message.yaml
- reboot-fix-exception-type.yaml
- redis-3-compat.yaml
- squash-deprecation-message.yml
- v2.7.5_summary.yaml
- vm_fix.yml
release_date: '2018-12-13'
2.7.6:
codename: In the Light
fragments:
- 46739-gcp-compute-instance-metadata.yaml
- 46774-ec2_instance_check_mode_fix.yaml
- 49084-influxdb_user-default-password-fix.yaml
- 49194-grafana_string_handling_fix.yml
- 49409-lineinfile_must_not_insert_lines_multiples_times_with_insertbefore_insertafter.yml
- 49758-azure_vmss_update_image_reference_fix.yaml
- 49794-docker_container-network-mode.yml
- 49843-docker_container-wrap-env.yaml
- 49922-network-cli-timeout.yaml
- 49987-certificate_complete_chain-error.yml
- 50034-move-import-errors.yaml
- 50076-os-sec-group-rule-proper-module-exit.yaml
- 50134-influxdb_user-invalid_auth_fix.yml
- 50143-win_firewall_rule-invalid-bypass.yml
- 50169-netconf-connection-log.yaml
- 50185-win_updates-report-changes-correctly.yml
- 50249-vmware_vm_inventory-fix_host_ip.yaml
- 50298-redfish_utils_fix_reference_to_local_variable_systems_service.yaml
- 50322-openssl-path-error.yml
- 50337-fix-vultr_server-ssh_keys-handling.yml
- 50361-openssl_csr-idempotency.yml
- 50448-paramiko_ssh_add_auth_timeout.yaml
- 50540-fix-lastpass-lookup-error.yaml
- 50654-docker-swarm-service-docker-api-fix.yaml
- 50655-docker_swarm_service-update_order-idempotency.yml
- 50697-openssl_pkcs12-ca_certificates.yaml
- 50861-docker_swarm_service-documentation-fixes.yml
- acl_doc_fix.yml
- callback-keep-more-debug-keys.yml
- copy-diff-text.yaml
- dnf-conf-file.yaml
- dnf-update-cache-broken-transaction.yaml
- docker_volume-force-change-detection-revert.yaml
- firewalld-missing-port-protocol.yml
- fix_vmware_inv.yml
- flatpak-compatibility-fixes.yaml
- icinga2_host-47671-fix-use_proxy.yaml
- junos_commit_error_fix.yaml
- openstack_inventory_fix.yml
- os-family_distro_variable_clearlinux.yaml
- persistent-socket-lock-name.yaml
- playbook-order-reverse_inventory.yaml
- pure_facts_fix.yaml
- reboot-add-aix-support.yml
- reboot-path-alpine-solaris.yaml
- reboot-vmware-esxi.yaml
- v2.7.6_summary.yaml
- win_copy-empty-dir.yaml
- win_lineinfile-output.yaml
- windows_setup_memtotal.yml
- yumdnf-better-uri-handling.yaml
release_date: '2019-01-17'
2.7.7:
codename: In the Light
fragments:
- 24633-copy-coherency-between-check-normal-mode.yaml
- 47213-onepassword_facts_fix_password_lookup.yaml
- 49444_fix_check_if_archive_is_created_in_path_to_be_removed.yml
- 50006-azure_rm_inventory_batchrequest_fix.yaml
- 50248-fix-coonfig-backup-glob.yaml
- 51232-docker_swarm_service-endpoint_mode.yaml
- 51406-aci_aaa_user-description.yaml
- 51495-k8s-load-envvars.yaml
- 51602-ec2_instance_single_iface_description.yaml
- cli_config_diff_fix.yaml
- delegate_facts_fix.yaml
- file-touch-non-owner.yaml
- fix_ansible_connect_timeout.yaml
- fix_ir_dupes.yml
- fix_pull_extra.yml
- nios_a_record_delete_failure_with_uppercase_name.yaml
- py37_misc_module_backports.yaml
- reboot-conn-timeout-reset.yaml
- ssh_connection_invalid_password.yaml
- systemd-warn-on-chroot.yaml
- v2.7.7_summary.yaml
- vmware_guest-documentation_fix.yaml
- win_chocolatey.yaml
- win_power_plan-windows10.yaml
- xdg_systemd_fix.yml
release_date: '2019-02-07'
2.7.8:
codename: In the Light
fragments:
- 45269-fix-vm-crashing.yaml
- 45378-fix-sql-tags.yml
- 46478-haproxy-fix-drain-mode.yaml
- 49485-ios-retry-section.yaml
- 49704-fix-vm-facts-crash.yaml
- 50120-fix-vm-facts-managed-disk.yaml
- 50402-ufw-check-direction.yml
- 51028-get-standard-redfish-properties-for-firmware-entries.yaml
- 51473-openssl_csr-idempotence.yaml
- 51535-ec2-fix-spot-request-end-date.yaml
- 51653-fixing-azure-postgresql-parameters.yaml
- 51661-fixing-azure-mysql-parameters.yaml
- 51697-disable_excludes-errors-with-disable-includes-message.yaml
- 51764-update-getbiosbootorder-to-standard-redfish-resources.yaml
- 51781-fixing-managed-disk-facts.yaml
- 51795-acme_challenge_cert_helper-module-fail.yaml
- 51827-openstack_logs_to_stderr.yml
- 52130-win_psmodule-update_nuget.yaml
- 52158-jinja2-native-types-contructed-keyed-groups.yaml
- 52388-postgresqldatabase-fix-force-update.yml
- 52389-mysqldatabase-fix-force-update.yaml
- allow_regions_aws_invp.yml
- disallow-relative-homedir.yaml
- psrp-display-exec-output.yaml
- ufw-reset-check-mode.yaml
- v2.7.8_summary.yaml
- win-become-elevation.yaml
- winrm-ansible-conn-error.yaml
- yum-unauthenticated-proxy.yaml
release_date: '2019-02-21'
2.7.9:
codename: In the Light
fragments:
- 36811-fix-lvol-valueerror-with-float-size.yaml
- 39301-dnsimple_keyerror_record-type.yaml
- 40092-mysql_user-match-backticks.yml
- 44561-vmware_host_config_manager-fix_key_error.yml
- 47508-openssl_certificate-fix-not-before-after.yml
- 47809-module_utils_mysql-unexpected-keyword-argument-cursorclass.yml
- 49191-module_utils_mysql-unexpected-keyword-argument-cursorclass.yml
- 49776-product_fix_katello_foreman_module.yaml
- 49881-fix-broken-urpmi-module.yaml
- 49981-filter-dnsimple-request-by-record-name.yaml
- 51136-fix-ansible-inventory-tracebacks.yml
- 51853-fix-truncated-macro-contexts.yml
- 51953-onepassword_facts-bug-fixes.yaml
- 52034-fix-traceback-on_ansible-doc_-all.yaml
- 52051-jenkins_plugin-state_present_fix.yaml
- 52166-fix_rabbitmq_plugin_idempotence.yml
- 52381-vmware_vm_inventory-fix_yaml_flag.yaml
- 52536-jenkins_plugin-update_url.yaml
- 52540-fix-vm-facts-crashing-managed-disk.yaml
- 52822-cloudscale_fix-py3.yaml
- 52825-docker_swarm-detection-check-mode.yaml
- 52885-edgeos-connectionError_fix.yaml
- 52895-docker_swarm-labels.yaml
- 53003-docker_swarm-force-new-cluster.yml
- 53039-docker_swarm-ca_force_rotate.yml
- 53070-get_url-check_mode.yml
- 53129-docker_swarm-older-docker-py.yaml
- 53152-create-groups-using-composed-variables.yaml
- 53198-openssl_csr-subject-validation.yml
- 53201-openssl_csr-improve-invalid-san.yml
- 53207-openssl_certificate-assertonly-extensions.yml
- 53224-docker_swarm_service-UpdateConfig.yml
- 53229-docker_swarm_service-return-value.yml
- 53262-docker_swarm_service-test_parameter_versions.yml
- 53289-module-option-int-long.yml
- 53440-docker_container-warnings.yml
- 53451-docker_image-fix-changed-tag-push.yml
- 53503-docker_swarm_fix_node_id.yml
- auto_nice_error.yml
- aws_ec2_inventory_integration_tests.yaml
- dict2items-mapping.yaml
- ec2_fix_assigning_private_without_public_ip.yml
- fix_order_serial.yml
- md5-hash-algorithms-pop-fix.yaml
- nmap_bytes_fix.yml
- openssl_certificate_fix_has_expired.yml
- rhsm_repository-handle-no-repos.yml
- skip_invalid_plugin.yml
- to_yaml-default_flow_style.yaml
- v2.7.9_summary.yaml
- win_certificate_store-excp.yaml
- win_chocolatey-beta-versions.yaml
- win_chocolatey_source_disabled.yaml
- win_domain-cred.yaml
- win_file-hidden.yaml
- winrm-send-input-check.yaml
plugins:
inventory:
- vmware_vm_inventory
release_date: '2019-03-14'

View File

@ -1,554 +0,0 @@
==================================================================
ansible-core 2.19 "What Is and What Should Never Be" Release Notes
==================================================================
.. contents:: Topics
v2.19.0rc1
==========
Release Summary
---------------
| Release Date: 2025-06-30
| `Porting Guide <https://docs.ansible.com/ansible-core/2.19/porting_guides/porting_guide_core_2.19.html>`__
Minor Changes
-------------
- templating - Relaxed the Jinja sandbox to allow specific bitwise operations which have no filter equivalent. The allowed methods are ``__and__``, ``__lshift__``, ``__or__``, ``__rshift__``, ``__xor__``.
- templating - Switched from the Jinja immutable sandbox to the standard sandbox. This restores the ability to use mutation methods such as ``list.append`` and ``dict.update``.
Bugfixes
--------
- Update automatic role argument spec validation to not use deprecated syntax (https://github.com/ansible/ansible/issues/85399).
- ssh connection plugin - Allow only one password prompt attempt when utilizing ``SSH_ASKPASS`` (https://github.com/ansible/ansible/issues/85359)
v2.19.0b7
=========
Release Summary
---------------
| Release Date: 2025-06-24
| `Porting Guide <https://docs.ansible.com/ansible-core/2.19/porting_guides/porting_guide_core_2.19.html>`__
Minor Changes
-------------
- Added type annotations to the ``Role.__init__()`` method to enable type checking. (https://github.com/ansible/ansible/pull/85346)
- ansible-test - Added experimental support for remote debugging.
- ansible-test - Added support for setting static environment variables in integration tests using ``env/set/`` entries in the ``aliases`` file. For example, ``env/set/MY_KEY/MY_VALUE`` or ``env/set/MY_PATH//an/abs/path``.
- ansible-test - The ``shell`` command has been augmented to propagate remote debug configurations and other test-related settings when running on the controller. Use the ``--raw`` argument to bypass the additional environment configuration.
- apt - consider lock timeout while invoking apt-get command (https://github.com/ansible/ansible/issues/78658).
- assemble action added check_mode support
- display - The ``formatted`` arg to ``warning`` has no effect. Warning wrapping is left to the consumer (e.g. terminal, browser).
- display - The ``wrap_text`` and ``stderr`` arguments to ``error`` have no effect. Errors are always sent to stderr and wrapping is left to the consumer (e.g. terminal, browser).
- module_utils.basic.backup_local enforces check_mode now
- variables - Removed restriction on usage of most Python keywords as Ansible variable names.
- variables - Warnings about reserved variable names now show context where the variable was defined.
Deprecated Features
-------------------
- inventory plugins - Setting invalid Ansible variable names in inventory plugins is deprecated.
- playbook syntax - Specifying the task ``args`` keyword without a value is deprecated.
- playbook syntax - Using ``key=value`` args and the task ``args`` keyword on the same task is deprecated.
- playbook syntax - Using a mapping with the ``action`` keyword is deprecated. (https://github.com/ansible/ansible/issues/84101)
Bugfixes
--------
- ansible-test - Fix Python relative import resolution from ``__init__.py`` files when using change detection.
- callback plugins - A more descriptive error is now raised if the stdout callback plugin cannot be loaded.
- callback plugins - Callback plugins that do not extend ``ansible.plugins.callback.CallbackBase`` will fail to load with a warning. If the plugin is used as the stdout callback plugin, this will also be a fatal error.
- callback plugins - Removed unused methods - runner_on_no_hosts, playbook_on_setup, playbook_on_import_for_host, playbook_on_not_import_for_host, v2_playbook_on_cleanup_task_start, v2_playbook_on_import_for_host, v2_playbook_on_not_import_for_host.
- callback plugins - The stdout callback plugin is no longer called twice if it is also in the list of additional callback plugins.
- password lookup - fix acquiring the lock when human-readable FileExistsError error message is not English.
- plugin loader - A warning is now emitted for any plugin which fails to load due to a missing base class.
- variables - Added Jinja scalar singletons (``true``, ``false``, ``none``) to invalid Ansible variable name detection. Previously, variables with these names could be assigned without error, but could not be resolved.
v2.19.0b6
=========
Release Summary
---------------
| Release Date: 2025-06-11
| `Porting Guide <https://docs.ansible.com/ansible-core/2.19/porting_guides/porting_guide_core_2.19.html>`__
Minor Changes
-------------
- ansiballz - Added an experimental AnsiballZ extension for remote debugging.
- ansiballz - Added support for AnsiballZ extensions.
- ansiballz - Moved AnsiballZ code coverage support into an extension.
- ansiballz - Refactored AnsiballZ and module respawn.
- template action and lookup plugin - The value of the ``ansible_managed`` variable (if set) will not be masked by the ``template`` action and lookup. Previously, the value calculated by the ``DEFAULT_MANAGED_STR`` configuration option always masked the variable value during plugin execution, preventing runtime customization.
Bugfixes
--------
- Fix templating ``tags`` on plays and roles. (https://github.com/ansible/ansible/issues/69903)
- ansible-doc will no longer ignore docs for modules without an extension (https://github.com/ansible/ansible/issues/85279).
- display - Fix hang caused by early post-fork writers to stdout/stderr (e.g., pydevd) encountering an unreleased fork lock.
- get_url - add a check to recognize incomplete data transfers.
- include_tasks - fix templating options when used as a handler (https://github.com/ansible/ansible/pull/85015).
- templating - Fixed cases where template expression blocks halted prematurely when a Jinja macro invocation returned an undefined value.
- templating - Jinja macros returned from a template expression can now be called from another template expression.
v2.19.0b5
=========
Release Summary
---------------
| Release Date: 2025-06-03
| `Porting Guide <https://docs.ansible.com/ansible-core/2.19/porting_guides/porting_guide_core_2.19.html>`__
Minor Changes
-------------
- Improved SUSE distribution detection in distribution.py by parsing VARIANT_ID from /etc/os-release for identifying SLES_SAP and SL-Micro. Falls back to /etc/products.d/baseproduct symlink for older systems.
- Remove unnecessary shebang from the ``hostname`` module.
- Use ``importlib.metadata.version()`` to detect Jinja version as jinja2.__version__ is deprecated and will be removed in Jinja 3.3.
- ansible-doc - Return dynamic stub when reporting on Jinja filters and tests not explicitly documented in Ansible
- ansible-doc - Skip listing the internal ``ansible._protomatter`` plugins unless explicitly requested
- ansible-test - Add RHEL 10.0 as a remote platform for testing.
- apt_repository - remove Python 2 support
- csvfile lookup - remove Python 2 compat
- display - Add ``help_text`` and ``obj`` to ``Display.error_as_warning``.
- display - Replace Windows newlines (``\r\n``) in display output with Unix newlines (``\n``). This ensures proper display of strings sourced from Windows hosts in environments which treat ``\r`` as ``\n``, such as Azure Pipelines.
- facts - add "Linode" for Linux VM in virtual facts
- module_utils - Add ``AnsibleModule.error_as_warning``.
- module_utils - Add ``ansible.module_utils.common.warnings.error_as_warning``.
- module_utils - Add optional ``help_text`` argument to ``AnsibleModule.warn``.
- ssh agent - Added ``SSH_AGENT_EXECUTABLE`` config to allow override of ssh-agent.
- ssh connection plugin - Added ``verbosity`` config to decouple SSH debug output verbosity from Ansible verbosity. Previously, the Ansible verbosity value was always applied to the SSH client command-line, leading to excessively verbose output. Set the ``ANSIBLE_SSH_VERBOSITY`` envvar or ``ansible_ssh_verbosity`` Ansible variable to a positive integer to increase SSH client verbosity.
- task timeout - Specifying a timeout greater than 100,000,000 now results in an error.
- templating - Added ``_ANSIBLE_TEMPLAR_SANDBOX_MODE=allow_unsafe_attributes`` environment variable to disable Jinja template attribute sandbox. (https://github.com/ansible/ansible/issues/85202)
- windows - Added support for ``#AnsibleRequires -Wrapper`` to request a PowerShell module be run through the execution wrapper scripts without any module utils specified.
- windows - Added support for running signed modules and scripts with a Windows host protected by Windows App Control/WDAC. This is a tech preview and the interface may be subject to change.
- windows - Script modules will preserve UTF-8 encoding when executing the script.
Deprecated Features
-------------------
- The ``ShellModule.checksum`` method is now deprecated and will be removed in ansible-core 2.23. Use ``ActionBase._execute_remote_stat()`` instead.
- The ``ansible.module_utils.common.collections.count()`` function is deprecated and will be removed in ansible-core 2.23. Use ``collections.Counter()`` from the Python standard library instead.
- ``ansible.compat.importlib_resources`` is deprecated and will be removed in ansible-core 2.23. Use ``importlib.resources`` from the Python standard library instead.
Bugfixes
--------
- Core Jinja test plugins - Builtin test plugins now always return ``bool`` to avoid spurious deprecation warnings for some malformed inputs.
- ansible-test - Disabled the ``bad-super-call`` pylint rule due to false positives.
- ansible-test - Fix incorrect handling of options with optional args (e.g. ``--color``), when followed by other options which are omitted during arg filtering (e.g. ``--docker``). Previously it was possible for non-option arguments to be incorrectly omitted in these cases. (https://github.com/ansible/ansible/issues/85173)
- ansible-test - Improve type inference for pylint deprecated checks to accommodate some type annotations.
- async_status module - The ``started`` and ``finished`` return values are now ``True`` or ``False`` instead of ``1`` or ``0``.
- constructed inventory - Use the ``default_value`` or ``trailing_separator`` in a ``keyed_groups`` entry if the expression result of ``key`` is ``None`` and not just an empty string.
- dnf5 - handle all libdnf5 specific exceptions (https://github.com/ansible/ansible/issues/84634)
- error handling - Error details and tracebacks from connection and built-in action exceptions are preserved. Previously, much of the detail was lost or mixed into the error message.
- from_yaml_all filter - `None` and empty string inputs now always return an empty list. Previously, `None` was returned in Jinja native mode and empty list in classic mode.
- local connection plugin - The command-line used to create subprocesses is now always ``str`` to avoid issues with debuggers and profilers.
- ssh agent - Fixed several potential startup hangs for badly-behaved or overloaded ssh agents.
- task timeout - Specifying a negative task timeout now results in an error.
v2.19.0b4
=========
Release Summary
---------------
| Release Date: 2025-05-12
| `Porting Guide <https://docs.ansible.com/ansible-core/2.19/porting_guides/porting_guide_core_2.19.html>`__
Minor Changes
-------------
- facts - add "CloudStack KVM Hypervisor" for Linux VM in virtual facts (https://github.com/ansible/ansible/issues/85089).
- modules - use ``AnsibleModule.warn`` instead of passing ``warnings`` to ``exit_json`` or ``fail_json`` which is deprecated.
Bugfixes
--------
- ansible-test - Updated the ``pylint`` sanity test to skip some deprecation validation checks when all arguments are dynamic.
- config - Preserve or apply Origin tag to values returned by config.
- config - Prevented fatal errors when ``MODULE_IGNORE_EXTS`` configuration was set.
- config - Templating failures on config defaults now issue a warning. Previously, failures silently returned an unrendered and untrusted template to the caller.
- config - ``ensure_type`` correctly propagates trust and other tags on returned values.
- config - ``ensure_type`` now converts mappings to ``dict`` when requested, instead of returning the mapping.
- config - ``ensure_type`` now converts sequences to ``list`` when requested, instead of returning the sequence.
- config - ``ensure_type`` now correctly errors when ``pathlist`` or ``pathspec`` types encounter non-string list items.
- config - ``ensure_type`` now reports an error when ``bytes`` are provided for any known ``value_type``. Previously, the behavior was undefined, but often resulted in an unhandled exception or incorrect return type.
- config - ``ensure_type`` with expected type ``int`` now properly converts ``True`` and ``False`` values to ``int``. Previously, these values were silently returned unmodified.
- convert_bool.boolean API conversion function - Unhashable values passed to ``boolean`` behave like other non-boolean convertible values, returning False or raising ``TypeError`` depending on the value of ``strict``. Previously, unhashable values always raised ``ValueError`` due to an invalid set membership check.
- dnf5 - when ``bugfix`` and/or ``security`` is specified, skip packages that do not have any such updates, even for new versions of libdnf5 where this functionality changed and it is considered failure
- plugin loader - Apply template trust to strings loaded from plugin configuration definitions and doc fragments.
- template action - Template files where the entire file's output renders as ``None`` are no longer emitted as the string "None", but instead render to an empty file as in previous releases.
v2.19.0b3
=========
Release Summary
---------------
| Release Date: 2025-05-06
| `Porting Guide <https://docs.ansible.com/ansible-core/2.19/porting_guides/porting_guide_core_2.19.html>`__
Minor Changes
-------------
- ansible-config will now show internal, but not test configuration entries. This allows for debugging but still denoting the configurations as internal use only (_ prefix).
- ansible-test - Improved ``pylint`` checks for Ansible-specific deprecation functions.
- ansible-test - Use the ``-t`` option to set the stop timeout when stopping a container. This avoids use of the ``--time`` option which was deprecated in Docker v28.0.
- collection metadata - The collection loader now parses scalar values from ``meta/runtime.yml`` as strings. This avoids issues caused by unquoted values such as versions or dates being parsed as types other than strings.
- deprecation warnings - Deprecation warning APIs automatically capture the identity of the deprecating plugin. The ``collection_name`` argument is only required to correctly attribute deprecations that occur in module_utils or other non-plugin code.
- deprecation warnings - Improved deprecation messages to more clearly indicate the affected content, including plugin name when available.
- deprecations - Collection name strings not of the form ``ns.coll`` passed to deprecation API functions will result in an error.
- deprecations - Removed support for specifying deprecation dates as a ``datetime.date``, which was included in an earlier 2.19 pre-release.
- deprecations - Some argument names to ``deprecate_value`` for consistency with existing APIs. An earlier 2.19 pre-release included a ``removal_`` prefix on the ``date`` and ``version`` arguments.
- modules - The ``AnsibleModule.deprecate`` function no longer sends deprecation messages to the target host's logging system.
Deprecated Features
-------------------
- Passing a ``warnings` or ``deprecations`` key to ``exit_json`` or ``fail_json`` is deprecated. Use ``AnsibleModule.warn`` or ``AnsibleModule.deprecate`` instead.
- plugins - Accessing plugins with ``_``-prefixed filenames without the ``_`` prefix is deprecated.
Bugfixes
--------
- Ansible will now ensure predictable permissions on remote artifacts, until now it only ensured executable and relied on system masks for the rest.
- dnf5 - avoid generating excessive transaction entries in the dnf5 history (https://github.com/ansible/ansible/issues/85046)
v2.19.0b2
=========
Release Summary
---------------
| Release Date: 2025-04-24
| `Porting Guide <https://docs.ansible.com/ansible-core/2.19/porting_guides/porting_guide_core_2.19.html>`__
Minor Changes
-------------
- comment filter - Improve the error message shown when an invalid ``style`` argument is provided.
Bugfixes
--------
- Remove use of `required` parameter in `get_bin_path` which has been deprecated.
- ansible-doc - fix indentation for first line of descriptions of suboptions and sub-return values (https://github.com/ansible/ansible/pull/84690).
- ansible-doc - fix line wrapping for first line of description of options and return values (https://github.com/ansible/ansible/pull/84690).
v2.19.0b1
=========
Release Summary
---------------
| Release Date: 2025-04-14
| `Porting Guide <https://docs.ansible.com/ansible-core/2.19/porting_guides/porting_guide_core_2.19.html>`__
Major Changes
-------------
- Jinja plugins - Jinja builtin filter and test plugins are now accessible via their fully-qualified names ``ansible.builtin.{name}``.
- Task Execution / Forks - Forks no longer inherit stdio from the parent ``ansible-playbook`` process. ``stdout``, ``stderr``, and ``stdin`` within a worker are detached from the terminal, and non-functional. All needs to access stdio from a fork for controller side plugins requires use of ``Display``.
- ansible-test - Packages beneath ``module_utils`` can now contain ``__init__.py`` files.
- variables - The type system underlying Ansible's variable storage has been significantly overhauled and formalized. Attempts to store unsupported Python object types in variables now more consistently yields early warnings or errors.
- variables - To support new Ansible features, many variable objects are now represented by subclasses of their respective native Python types. In most cases, they behave indistinguishably from their original types, but some Python libraries do not handle builtin object subclasses properly. Custom plugins that interact with such libraries may require changes to convert and pass the native types.
Minor Changes
-------------
- Added a -vvvvv log message indicating when a host fails to produce output within the timeout period.
- AnsibleModule.uri - Add option ``multipart_encoding`` for ``form-multipart`` files in body to change default base64 encoding for files
- INVENTORY_IGNORE_EXTS config, removed ``ini`` from the default list, inventory scripts using a corresponding .ini configuration are rare now and inventory.ini files are more common. Those that need to ignore the ini files for inventory scripts can still add it to configuration.
- Jinja plugins - Plugins can declare support for undefined values.
- Jinja2 version 3.1.0 or later is now required on the controller.
- Move ``follow_redirects`` parameter to module_utils so external modules can reuse it.
- PlayIterator - do not return tasks from already executed roles so specific strategy plugins do not have to do the filtering of such tasks themselves
- SSH Escalation-related -vvv log messages now include the associated host information.
- Windows - Add support for Windows Server 2025 to Ansible and as an ``ansible-test`` remote target - https://github.com/ansible/ansible/issues/84229
- Windows - refactor the async implementation to better handle errors during bootstrapping and avoid WMI when possible.
- ``ansible-galaxy collection install`` — the collection dependency resolver now prints out conflicts it hits during dependency resolution when it's taking too long and it ends up backtracking a lot. It also displays suggestions on how to help it compute the result more quickly.
- ansible, ansible-console, ansible-pull - add --flush-cache option (https://github.com/ansible/ansible/issues/83749).
- ansible-galaxy - Add support for Keycloak service accounts
- ansible-galaxy - support ``resolvelib >= 0.5.3, < 2.0.0`` (https://github.com/ansible/ansible/issues/84217).
- ansible-test - Added a macOS 15.3 remote VM, replacing 14.3.
- ansible-test - Automatically retry HTTP GET/PUT/DELETE requests on exceptions.
- ansible-test - Default to Python 3.13 in the ``base`` and ``default`` containers.
- ansible-test - Disable the ``deprecated-`` prefixed ``pylint`` rules as their results vary by Python version.
- ansible-test - Disable the ``pep8`` sanity test rules ``E701`` and ``E704`` to improve compatibility with ``black``.
- ansible-test - Improve container runtime probe error handling. When unexpected probe output is encountered, an error with more useful debugging information is provided.
- ansible-test - Replace container Alpine 3.20 with 3.21.
- ansible-test - Replace container Fedora 40 with 41.
- ansible-test - Replace remote Alpine 3.20 with 3.21.
- ansible-test - Replace remote Fedora 40 with 41.
- ansible-test - Replace remote FreeBSD 13.3 with 13.5.
- ansible-test - Replace remote FreeBSD 14.1 with 14.2.
- ansible-test - Replace remote RHEL 9.4 with 9.5.
- ansible-test - Show a more user-friendly error message when a ``runme.sh`` script is not executable.
- ansible-test - The ``yamllint`` sanity test now enforces string values for the ``!vault`` tag.
- ansible-test - Update ``nios-test-container`` to version 7.0.0.
- ansible-test - Update ``pylint`` sanity test to use version 3.3.1.
- ansible-test - Update distro containers to remove unnecessary packages (apache2, subversion, ruby).
- ansible-test - Update sanity test requirements to latest available versions.
- ansible-test - Update the HTTP test container.
- ansible-test - Update the PyPI test container.
- ansible-test - Update the ``base`` and ``default`` containers.
- ansible-test - Update the utility container.
- ansible-test - Use Python's ``urllib`` instead of ``curl`` for HTTP requests.
- ansible-test - When detection of the current container network fails, a warning is now issued and execution continues. This simplifies usage in cases where the current container cannot be inspected, such as when running in GitHub Codespaces.
- ansible-test acme test container - bump `version to 2.3.0 <https://github.com/ansible/acme-test-container/releases/tag/2.3.0>`__ to include newer versions of Pebble, dependencies, and runtimes. This adds support for ACME profiles, ``dns-account-01`` support, and some smaller improvements (https://github.com/ansible/ansible/pull/84547).
- apt_key module - add notes to docs and errors to point at the CLI tool deprecation by Debian and alternatives
- apt_repository module - add notes to errors to point at the CLI tool deprecation by Debian and alternatives
- become plugins get new property 'pipelining' to show support or lack there of for the feature.
- callback plugins - add has_option() to CallbackBase to match other functions overloaded from AnsiblePlugin
- callback plugins - fix get_options() for CallbackBase
- copy - fix sanity test failures (https://github.com/ansible/ansible/pull/83643).
- copy - parameter ``local_follow`` was incorrectly documented as having default value ``True`` (https://github.com/ansible/ansible/pull/83643).
- cron - Provide additional error information while writing cron file (https://github.com/ansible/ansible/issues/83223).
- csvfile - let the config system do the typecasting (https://github.com/ansible/ansible/pull/82263).
- display - Deduplication of warning and error messages considers the full content of the message (including source and traceback contexts, if enabled). This may result in fewer messages being omitted.
- distribution - Added openSUSE MicroOS to Suse OS family (#84685).
- dnf5, apt - add ``auto_install_module_deps`` option (https://github.com/ansible/ansible/issues/84206)
- docs - add collection name in message from which the module is being deprecated (https://github.com/ansible/ansible/issues/84116).
- env lookup - The error message generated for a missing environment variable when ``default`` is an undefined value (e.g. ``undef('something')``) will contain the hint from that undefined value, except when the undefined value is the default of ``undef()`` with no arguments. Previously, any existing undefined hint would be ignored.
- file - enable file module to disable diff_mode (https://github.com/ansible/ansible/issues/80817).
- file - make code more readable and simple.
- filter - add support for URL-safe encoding and decoding in b64encode and b64decode (https://github.com/ansible/ansible/issues/84147).
- find - add a checksum_algorithm parameter to specify which type of checksum the module will return
- from_json filter - The filter accepts a ``profile`` argument, which defaults to ``tagless``.
- handlers - Templated handler names with syntax errors, or that resolve to ``omit`` are now skipped like handlers with undefined variables in their name.
- improved error message for yaml parsing errors in plugin documentation
- local connection plugin - A new ``become_strip_preamble`` config option (default True) was added; disable to preserve diagnostic ``become`` output in task results.
- local connection plugin - A new ``become_success_timeout`` operation-wide timeout config (default 10s) was added for ``become``.
- local connection plugin - When a ``become`` plugin's ``prompt`` value is a non-string after the ``check_password_prompt`` callback has completed, no prompt stripping will occur on stderr.
- lookup_template - add an option to trim blocks while templating (https://github.com/ansible/ansible/issues/75962).
- module - set ipv4 and ipv6 rules simultaneously in iptables module (https://github.com/ansible/ansible/issues/84404).
- module_utils - Add ``NoReturn`` type annotations to functions which never return.
- modules - PowerShell modules can now receive ``datetime.date``, ``datetime.time`` and ``datetime.datetime`` values as ISO 8601 strings.
- modules - PowerShell modules can now receive strings sourced from inline vault-encrypted strings.
- modules - Unhandled exceptions during Python module execution are now returned as structured data from the target. This allows the new traceback handling to be applied to exceptions raised on targets.
- pipelining logic has mostly moved to connection plugins so they can decide/override settings.
- plugin error handling - When raising exceptions in an exception handler, be sure to use ``raise ... from`` as appropriate. This supersedes the use of the ``AnsibleError`` arg ``orig_exc`` to represent the cause. Specifying ``orig_exc`` as the cause is still permitted. Failure to use ``raise ... from`` when ``orig_exc`` is set will result in a warning. Additionally, if the two cause exceptions do not match, a warning will be issued.
- removed hardcoding of su plugin as it now works with pipelining.
- runtime-metadata sanity test - improve validation of ``action_groups`` (https://github.com/ansible/ansible/pull/83965).
- service_facts module got freebsd support added.
- ssh connection plugin - Support ``SSH_ASKPASS`` mechanism to provide passwords, making it the default, but still offering an explicit choice to use ``sshpass`` (https://github.com/ansible/ansible/pull/83936)
- ssh connection plugin now overrides pipelining when a tty is requested.
- ssh-agent - ``ansible``, ``ansible-playbook`` and ``ansible-console`` are capable of spawning or reusing an ssh-agent, allowing plugins to interact with the ssh-agent. Additionally a pure python ssh-agent client has been added, enabling easy interaction with the agent. The ssh connection plugin contains new functionality via ``ansible_ssh_private_key`` and ``ansible_ssh_private_key_passphrase``, for loading an SSH private key into the agent from a variable.
- templating - Access to an undefined variable from inside a lookup, filter, or test (which raises MarkerError) no longer ends processing of the current template. The triggering undefined value is returned as the result of the offending plugin invocation, and the template continues to execute.
- templating - Embedding ``range()`` values in containers such as lists will result in an error on use. Previously the value would be converted to a string representing the range parameters, such as ``range(0, 3)``.
- templating - Handling of omitted values is now a first-class feature of the template engine, and is usable in all Ansible Jinja template contexts. Any template that resolves to ``omit`` is automatically removed from its parent container during templating.
- templating - Template evaluation is lazier than in previous versions. Template expressions which resolve only portions of a data structure no longer result in the entire structure being templated.
- templating - Templating errors now provide more information about both the location and context of the error, especially for deeply-nested and/or indirected templating scenarios.
- templating - Unified ``omit`` behavior now requires that plugins calling ``Templar.template()`` handle cases where the entire template result is omitted, by catching the ``AnsibleValueOmittedError`` that is raised. Previously, this condition caused a randomly-generated string marker to appear in the template result.
- templating - Variables of type ``set`` and ``tuple`` are now converted to ``list`` when exiting the final pass of templating.
- to_json / to_nice_json filters - The filters accept a ``profile`` argument, which defaults to ``tagless``.
- troubleshooting - Tracebacks can be collected and displayed for most errors, warnings, and deprecation warnings (including those generated by modules). Tracebacks are no longer enabled with ``-vvv``; the behavior is directly configurable via the ``DISPLAY_TRACEBACK`` config option. Module tracebacks passed to ``fail_json`` via the ``exception`` kwarg will not be included in the task result unless error tracebacks are configured.
- undef jinja function - The ``undef`` jinja function now raises an error if a non-string hint is given. Attempting to use an undefined hint also results in an error, ensuring incorrect use of the function can be distinguished from the function's normal behavior.
- validate-modules sanity test - make sure that ``module`` and ``plugin`` ``seealso`` entries use FQCNs (https://github.com/ansible/ansible/pull/84325).
- vault - improved vault filter documentation by adding missing example content for dump_template_data.j2, refining examples for clarity, and ensuring variable consistency (https://github.com/ansible/ansible/issues/83583).
- warnings - All warnings (including deprecation warnings) issued during a task's execution are now accessible via the ``warnings`` and ``deprecations`` keys on the task result.
- when the ``dict`` lookup is given a non-dict argument, show the value of the argument and its type in the error message.
- windows - add hard minimum limit for PowerShell to 5.1. Ansible dropped support for older versions of PowerShell in the 2.16 release but this requirement is now enforced at runtime.
- windows - refactor windows exec runner to improve efficiency and add better error reporting on failures.
- winrm - Remove need for pexpect on macOS hosts when using ``kinit`` to retrieve the Kerberos TGT. By default the code will now only use the builtin ``subprocess`` library which should handle issues with select and a high fd count and also simplify the code.
Breaking Changes / Porting Guide
--------------------------------
- Support for the ``toml`` library has been removed from TOML inventory parsing and dumping. Use ``tomli`` for parsing on Python 3.10. Python 3.11 and later have built-in support for parsing. Use ``tomli-w`` to support outputting inventory in TOML format.
- assert - The ``quiet`` argument must be a commonly-accepted boolean value. Previously, unrecognized values were silently treated as False.
- conditionals - Conditional expressions that result in non-boolean values are now an error by default. Such results often indicate unintentional use of templates where they are not supported, resulting in a conditional that is always true. When this option is enabled, conditional expressions which are a literal ``None`` or empty string will evaluate as true, for backwards compatibility. The error can be temporarily changed to a deprecation warning by enabling the ``ALLOW_BROKEN_CONDITIONALS`` config option.
- first_found lookup - When specifying ``files`` or ``paths`` as a templated list containing undefined values, the undefined list elements will be discarded with a warning. Previously, the entire list would be discarded without any warning.
- internals - The ``AnsibleLoader`` and ``AnsibleDumper`` classes for working with YAML are now factory functions and cannot be extended.
- internals - The ``ansible.utils.native_jinja`` Python module has been removed.
- lookup plugins - Lookup plugins called as `with_(lookup)` will no longer have the `_subdir` attribute set.
- lookup plugins - ``terms`` will always be passed to ``run`` as the first positional arg, where previously it was sometimes passed as a keyword arg when using ``with_`` syntax.
- loops - Omit placeholders no longer leak between loop item templating and task templating. Previously, ``omit`` placeholders could remain embedded in loop items after templating and be used as an ``omit`` for task templating. Now, values resolving to ``omit`` are dropped immediately when loop items are templated. To turn missing values into an ``omit`` for task templating, use ``| default(omit)``. This solution is backward-compatible with previous versions of ansible-core.
- modules - Ansible modules using ``sys.excepthook`` must use a standard ``try/except`` instead.
- plugins - Any plugin that sources or creates templates must properly tag them as trusted.
- plugins - Custom Jinja plugins that accept undefined top-level arguments must opt in to receiving them.
- plugins - Custom Jinja plugins that use ``environment.getitem`` to retrieve undefined values will now trigger a ``MarkerError`` exception. This exception must be handled to allow the plugin to return a ``Marker``, or the plugin must opt-in to accepting ``Marker`` values.
- public API - The ``ansible.vars.fact_cache.FactCache`` wrapper has been removed.
- serialization of ``omit`` sentinel - Serialization of variables containing ``omit`` sentinels (e.g., by the ``to_json`` and ``to_yaml`` filters or ``ansible-inventory``) will fail if the variable has not completed templating. Previously, serialization succeeded with placeholder strings emitted in the serialized output.
- set_fact - The string values "yes", "no", "true" and "false" were previously converted (ignoring case) to boolean values when not using Jinja2 native mode. Since Jinja2 native mode is always used, this conversion no longer occurs. When boolean values are required, native boolean syntax should be used where variables are defined, such as in YAML. When native boolean syntax is not an option, the ``bool`` filter can be used to parse string values into booleans.
- template lookup - The ``convert_data`` option is deprecated and no longer has any effect. Use the ``from_json`` filter on the lookup result instead.
- templating - Access to ``_`` prefixed attributes and methods, and methods with known side effects, is no longer permitted. In cases where a matching mapping key is present, the associated value will be returned instead of an error. This increases template environment isolation and ensures more consistent behavior between the ``.`` and ``[]`` operators.
- templating - Conditionals and lookups which use embedded inline templates in Jinja string constants now display a warning. These templates should be converted to their expression equivalent.
- templating - Many Jinja plugins (filters, lookups, tests) and methods previously silently ignored undefined inputs, which often masked subtle errors. Passing an undefined argument to a Jinja plugin or method that does not declare undefined support now results in an undefined value.
- templating - Templates are always rendered in Jinja2 native mode. As a result, non-string values are no longer automatically converted to strings.
- templating - Templates resulting in ``None`` are no longer automatically converted to an empty string.
- templating - Templates with embedded inline templates that were not contained within a Jinja string constant now result in an error, as support for multi-pass templating was removed for security reasons. In most cases, such templates can be easily rewritten to avoid the use of embedded inline templates.
- templating - The ``allow_unsafe_lookups`` option no longer has any effect. Lookup plugins are responsible for tagging strings containing templates to allow evaluation as a template.
- templating - The result of the ``range()`` global function cannot be returned from a template- it should always be passed to a filter (e.g., ``random``). Previously, range objects returned from an intermediate template were always converted to a list, which is inconsistent with inline consumption of range objects.
- templating - ``#jinja2:`` overrides in templates with invalid override names or types are now templating errors.
Deprecated Features
-------------------
- CLI - The ``--inventory-file`` option alias is deprecated. Use the ``-i`` or ``--inventory`` option instead.
- Strategy Plugins - Use of strategy plugins not provided in ``ansible.builtin`` are deprecated and do not carry any backwards compatibility guarantees going forward. A future release will remove the ability to use external strategy plugins. No alternative for third party strategy plugins is currently planned.
- ``ansible.module_utils.compat.datetime`` - The datetime compatibility shims are now deprecated. They are scheduled to be removed in ``ansible-core`` v2.21. This includes ``UTC``, ``utcfromtimestamp()`` and ``utcnow`` importable from said module (https://github.com/ansible/ansible/pull/81874).
- bool filter - Support for coercing unrecognized input values (including None) has been deprecated. Consult the filter documentation for acceptable values, or consider use of the ``truthy`` and ``falsy`` tests.
- cache plugins - The `ansible.plugins.cache.base` Python module is deprecated. Use `ansible.plugins.cache` instead.
- callback plugins - The `v2_on_any` callback method is deprecated. Use specific callback methods instead.
- callback plugins - The v1 callback API (callback methods not prefixed with `v2_`) is deprecated. Use `v2_` prefixed methods instead.
- conditionals - Conditionals using Jinja templating delimiters (e.g., ``{{``, ``{%``) should be rewritten as expressions without delimiters, unless the entire conditional value is a single template that resolves to a trusted string expression. This is useful for dynamic indirection of conditional expressions, but is limited to trusted literal string expressions.
- config - The ``ACTION_WARNINGS`` config has no effect. It previously disabled command warnings, which have since been removed.
- config - The ``DEFAULT_JINJA2_NATIVE`` option has no effect. Jinja2 native mode is now the default and only option.
- config - The ``DEFAULT_NULL_REPRESENTATION`` option has no effect. Null values are no longer automatically converted to another value during templating of single variable references.
- display - The ``Display.get_deprecation_message`` method has been deprecated. Call ``Display.deprecated`` to display a deprecation message, or call it with ``removed=True`` to raise an ``AnsibleError``.
- file loading - Loading text files with ``DataLoader`` containing data that cannot be decoded under the expected encoding is deprecated. In most cases the encoding must be UTF-8, although some plugins allow choosing a different encoding. Previously, invalid data was silently wrapped in Unicode surrogate escape sequences, often resulting in later errors or other data corruption.
- first_found lookup - Splitting of file paths on ``,;:`` is deprecated. Pass a list of paths instead. The ``split`` method on strings can be used to split variables into a list as needed.
- interpreter discovery - The ``auto_legacy`` and ``auto_legacy_silent`` options for ``INTERPRETER_PYTHON`` are deprecated. Use ``auto`` or ``auto_silent`` options instead, as they have the same effect.
- oneline callback - The ``oneline`` callback and its associated ad-hoc CLI args (``-o``, ``--one-line``) are deprecated.
- paramiko - The paramiko connection plugin has been deprecated with planned removal in 2.21.
- playbook variables - The ``play_hosts`` variable has been deprecated, use ``ansible_play_batch`` instead.
- plugin error handling - The ``AnsibleError`` constructor arg ``suppress_extended_error`` is deprecated. Using ``suppress_extended_error=True`` has the same effect as ``show_content=False``.
- template lookup - The jinja2_native option is no longer used in the Ansible Core code base. Jinja2 native mode is now the default and only option.
- templating - Support for enabling Jinja2 extensions (not plugins) has been deprecated.
- templating - The ``disable_lookups`` option has no effect, since plugins must be updated to apply trust before any templating can be performed.
- tree callback - The ``tree`` callback and its associated ad-hoc CLI args (``-t``, ``--tree``) are deprecated.
Removed Features (previously deprecated)
----------------------------------------
- Remove deprecated plural form of collection path (https://github.com/ansible/ansible/pull/84156).
- Removed deprecated STRING_CONVERSION_ACTION (https://github.com/ansible/ansible/issues/84220).
- encrypt - passing unsupported passlib hashtype now raises AnsibleFilterError.
- manager - remove deprecated include_delegate_to parameter from get_vars API.
- modules - Modules returning non-UTF8 strings now result in an error. The ``MODULE_STRICT_UTF8_RESPONSE`` setting can be used to disable this check.
- removed deprecated pycompat24 and compat.importlib.
- selector - remove deprecated compat.selector related files (https://github.com/ansible/ansible/pull/84155).
- windows - removed common module functions ``ConvertFrom-AnsibleJson``, ``Format-AnsibleException`` from Windows modules as they are not used and add unneeded complexity to the code.
Security Fixes
--------------
- include_vars action - Ensure that result masking is correctly requested when vault-encrypted files are read. (CVE-2024-8775)
- task result processing - Ensure that action-sourced result masking (``_ansible_no_log=True``) is preserved. (CVE-2024-8775)
- templating - Ansible's template engine no longer processes Jinja templates in strings unless they are marked as coming from a trusted source. Untrusted strings containing Jinja template markers are ignored with a warning. Examples of trusted sources include playbooks, vars files, and many inventory sources. Examples of untrusted sources include module results and facts. Plugins which have not been updated to preserve trust while manipulating strings may inadvertently cause them to lose their trusted status.
- templating - Changes to conditional expression handling removed numerous instances of insecure multi-pass templating (which could result in execution of untrusted template expressions).
- user action won't allow ssh-keygen, chown and chmod to run on existing ssh public key file, avoiding traversal on existing symlinks (CVE-2024-9902).
Bugfixes
--------
- Ansible will now also warn when reserved keywords are set via a module (set_fact, include_vars, etc).
- Ansible.Basic - Fix ``required_if`` check when the option value to check is unset or set to null.
- Correctly return ``False`` when using the ``filter`` and ``test`` Jinja tests on plugin names which are not filters or tests, respectively. (resolves issue https://github.com/ansible/ansible/issues/82084)
- Do not run implicit ``flush_handlers`` meta tasks when the whole play is excluded from the run due to tags specified.
- Errors now preserve stacked error messages even when YAML is involved.
- Fix a display.debug statement with the wrong param in _get_diff_data() method
- Fix disabling SSL verification when installing collections and roles from git repositories. If ``--ignore-certs`` isn't provided, the value for the ``GALAXY_IGNORE_CERTS`` configuration option will be used (https://github.com/ansible/ansible/issues/83326).
- Fix ipv6 pattern bug in lib/ansible/parsing/utils/addresses.py (https://github.com/ansible/ansible/issues/84237)
- Fix returning 'unreachable' for the overall task result. This prevents false positives when a looped task has unignored unreachable items (https://github.com/ansible/ansible/issues/84019).
- Implicit ``meta: flush_handlers`` tasks now have a parent block to prevent potential tracebacks when calling methods like ``get_play()`` on them internally.
- Improve performance on large inventories by reducing the number of implicit meta tasks.
- Jinja plugins - Errors raised will always be derived from ``AnsibleTemplatePluginError``.
- Optimize the way tasks from within ``include_tasks``/``include_role`` are inserted into the play.
- Time out waiting on become is an unreachable error (https://github.com/ansible/ansible/issues/84468)
- Use consistent multiprocessing context for action write locks
- Use the requested error message in the ansible.module_utils.facts.timeout timeout function instead of hardcoding one.
- Windows - add support for running on system where WDAC is in audit mode with ``Dynamic Code Security`` enabled.
- YAML parsing - The `!unsafe` tag no longer coerces non-string scalars to strings.
- ``ansible-galaxy`` — the collection dependency resolver now treats version specifiers starting with ``!=`` as unpinned.
- ``package``/``dnf`` action plugins - provide the reason behind the failure to gather the ``ansible_pkg_mgr`` fact to identify the package backend
- action plugins - Action plugins that raise unhandled exceptions no longer terminate playbook loops. Previously, exceptions raised by an action plugin caused abnormal loop termination and loss of loop iteration results.
- ansible-config - format galaxy server configs while dumping in JSON format (https://github.com/ansible/ansible/issues/84840).
- ansible-doc - If none of the files in files exists, path will be undefined and a direct reference will throw an UnboundLocalError (https://github.com/ansible/ansible/pull/84464).
- ansible-galaxy - Small adjustments to URL building for ``download_url`` and relative redirects.
- ansible-pull change detection will now work independently of callback or result format settings.
- ansible-test - Enable the ``sys.unraisablehook`` work-around for the ``pylint`` sanity test on Python 3.11. Previously the work-around was only enabled for Python 3.12 and later. However, the same issue has been discovered on Python 3.11.
- ansible-test - Ensure CA certificates are installed on managed FreeBSD instances.
- ansible-test - Fix support for PowerShell module_util imports with the ``-Optional`` flag.
- ansible-test - Fix support for detecting PowerShell modules importing module utils with the newer ``#AnsibleRequires`` format.
- ansible-test - Fix traceback that occurs after an interactive command fails.
- ansible-test - Fix up coverage reporting to properly translate the temporary path of integration test modules to the expected static test module path.
- ansible-test - Fixed traceback when handling certain YAML errors in the ``yamllint`` sanity test.
- ansible-test - Managed macOS instances now use the ``sudo_chdir`` option for the ``sudo`` become plugin to avoid permission errors when dropping privileges.
- ansible-vault will now correctly handle `--prompt`, previously it would issue an error about stdin if no 2nd argument was passed
- ansible_uptime_second - added ansible_uptime_seconds fact support for AIX (https://github.com/ansible/ansible/pull/84321).
- apt_key module - prevent tests from running when apt-key was removed
- base.yml - deprecated libvirt_lxc_noseclabel config.
- build - Pin ``wheel`` in ``pyproject.toml`` to ensure compatibility with supported ``setuptools`` versions.
- config - various fixes to config lookup plugin (https://github.com/ansible/ansible/pull/84398).
- copy - refactor copy module for simplicity.
- copy action now prevents user from setting internal options.
- debconf - set empty password values (https://github.com/ansible/ansible/issues/83214).
- debug - hide loop vars in debug var display (https://github.com/ansible/ansible/issues/65856).
- default callback - Error context is now shown for failing tasks that use the ``debug`` action.
- display - The ``Display.deprecated`` method once again properly handles the ``removed=True`` argument (https://github.com/ansible/ansible/issues/82358).
- distro - add support for Linux Mint Debian Edition (LMDE) (https://github.com/ansible/ansible/issues/84934).
- distro - detect Debian as os_family for LMDE 6 (https://github.com/ansible/ansible/issues/84934).
- dnf5 - Handle forwarded exceptions from dnf5-5.2.13 where a generic ``RuntimeError`` was previously raised
- dnf5 - fix ``is_installed`` check for packages that are not installed but listed as provided by an installed package (https://github.com/ansible/ansible/issues/84578)
- dnf5 - fix installing a package using ``state=latest`` when a binary of the same name as the package is already installed (https://github.com/ansible/ansible/issues/84259)
- dnf5 - fix traceback when ``enable_plugins``/``disable_plugins`` is used on ``python3-libdnf5`` versions that do not support this functionality
- dnf5 - libdnf5 - use ``conf.pkg_gpgcheck`` instead of deprecated ``conf.gpgcheck`` which is used only as a fallback
- dnf5 - matching on a binary can be achieved only by specifying a full path (https://github.com/ansible/ansible/issues/84334)
- facts - gather pagesize and calculate respective values depending upon architecture (https://github.com/ansible/ansible/issues/84773).
- facts - skip if distribution file path is directory, instead of raising error (https://github.com/ansible/ansible/issues/84006).
- find - skip ENOENT error code while recursively enumerating files. find module will now be tolerant to race conditions that remove files or directories from the target it is currently inspecting. (https://github.com/ansible/ansible/issues/84873).
- first_found lookup - Corrected return value documentation to reflect None (not empty string) for no files found.
- gather_facts action now defaults to `ansible.legacy.setup` if `smart` was set, no network OS was found and no other alias for `setup` was present.
- gather_facts action will now issues errors and warnings as appropriate if a network OS is detected but no facts modules are defined for it.
- gather_facts action, will now add setup when 'smart' appears with other modules in the FACTS_MODULES setting (#84750).
- get_url - add support for BSD-style checksum digest file (https://github.com/ansible/ansible/issues/84476).
- get_url - fix honoring ``filename`` from the ``content-disposition`` header even when the type is ``inline`` (https://github.com/ansible/ansible/issues/83690)
- host_group_vars - fixed defining the 'key' variable if the get_vars method is called with cache=False (https://github.com/ansible/ansible/issues/84384)
- include_vars - fix including previously undefined hash variables with hash_behaviour merge (https://github.com/ansible/ansible/issues/84295).
- iptables - Allows the wait parameter to be used with iptables chain creation (https://github.com/ansible/ansible/issues/84490)
- linear strategy - fix executing ``end_role`` meta tasks for each host, instead of handling these as implicit run_once tasks (https://github.com/ansible/ansible/issues/84660).
- local connection plugin - Become timeout errors now include all received data. Previously, the most recently-received data was discarded.
- local connection plugin - Ensure ``become`` success validation always occurs, even when an active plugin does not set ``prompt``.
- local connection plugin - Fixed cases where the internal ``BECOME-SUCCESS`` message appeared in task output.
- local connection plugin - Fixed hang or spurious failure when data arrived concurrently on stdout and stderr during a successful ``become`` operation validation.
- local connection plugin - Fixed hang when a become plugin expects a prompt but a password was not provided.
- local connection plugin - Fixed hang when an active become plugin incorrectly signals lack of prompt.
- local connection plugin - Fixed hang when an internal become read timeout expired before the password prompt was written.
- local connection plugin - Fixed hang when only one of stdout or stderr was closed by the ``become_exe`` subprocess.
- local connection plugin - Fixed long timeout/hang for ``become`` plugins that repeat their prompt on failure (e.g., ``sudo``, some ``su`` implementations).
- local connection plugin - Fixed silent ignore of ``become`` failures and loss of task output when data arrived concurrently on stdout and stderr during ``become`` operation validation.
- local connection plugin - Fixed task output header truncation when post-become data arrived before ``become`` operation validation had completed.
- lookup plugins - The ``terms`` arg to the ``run`` method is now always a list. Previously, there were cases where a non-list could be received.
- module arg templating - When using a templated raw task arg and a templated ``args`` keyword, args are now merged. Previously use of templated raw task args silently ignored all values from the templated ``args`` keyword.
- module defaults - Module defaults are no longer templated unless they are used by a task that does not override them. Previously, all module defaults for all modules were templated for every task.
- module respawn - limit to supported Python versions
- package_facts module when using 'auto' will return the first package manager found that provides an output, instead of just the first one, as this can be foreign and not have any packages.
- psrp - Improve stderr parsing when running raw commands that emit error records or stderr lines.
- regex_search filter - Corrected return value documentation to reflect None (not empty string) for no match.
- respawn - use copy of env variables to update existing PYTHONPATH value (https://github.com/ansible/ansible/issues/84954).
- runas become - Fix up become logic to still get the SYSTEM token with the most privileges when running as SYSTEM.
- sequence lookup - sequence query/lookups without positional arguments now return a valid list if their kwargs comprise a valid sequence expression (https://github.com/ansible/ansible/issues/82921).
- service_facts - skip lines which does not contain service names in openrc output (https://github.com/ansible/ansible/issues/84512).
- ssh - Improve the logic for parsing CLIXML data in stderr when working with Windows host. This fixes issues when the raw stderr contains invalid UTF-8 byte sequences and improves embedded CLIXML sequences.
- ssh - Raise exception when sshpass returns error code (https://github.com/ansible/ansible/issues/58133).
- ssh - connection options were incorrectly templated during ``reset_connection`` tasks (https://github.com/ansible/ansible/pull/84238).
- stability - Fixed silent process failure on unhandled IOError/OSError under ``linear`` strategy.
- su become plugin - Ensure generated regex from ``prompt_l10n`` config values is properly escaped.
- su become plugin - Ensure that password prompts are correctly detected in the presence of leading output. Previously, this case resulted in a timeout or hang.
- su become plugin - Ensure that trailing colon is expected on all ``prompt_l10n`` config values.
- sudo become plugin - The `sudo_chdir` config option allows the current directory to be set to the specified value before executing sudo to avoid permission errors when dropping privileges.
- sunos - remove hard coding of virtinfo command in facts gathering code (https://github.com/ansible/ansible/pull/84357).
- to_yaml/to_nice_yaml filters - Eliminated possibility of keyword arg collisions with internally-set defaults.
- unarchive - Clamp timestamps from beyond y2038 to representible values when unpacking zip files on platforms that use 32-bit time_t (e.g. Debian i386).
- uri - Form location correctly when the server returns a relative redirect (https://github.com/ansible/ansible/issues/84540)
- uri - Handle HTTP exceptions raised while reading the content (https://github.com/ansible/ansible/issues/83794).
- uri - mark ``url`` as required (https://github.com/ansible/ansible/pull/83642).
- user - Create Buildroot subclass as alias to Busybox (https://github.com/ansible/ansible/issues/83665).
- user - Set timeout for passphrase interaction.
- user - Update prompt for SSH key passphrase (https://github.com/ansible/ansible/issues/84484).
- user - Use higher precedence HOME_MODE as UMASK for path provided (https://github.com/ansible/ansible/pull/84482).
- user action will now require O(force) to overwrite the public part of an ssh key when generating ssh keys, as was already the case for the private part.
- user module now avoids changing ownership of files symlinked in provided home dir skeleton
- vars lookup - The ``default`` substitution only applies when trying to look up a variable which is not defined. If the variable is defined, but templates to an undefined value, the ``default`` substitution will not apply. Use the ``default`` filter to coerce those values instead.
- wait_for_connection - a warning was displayed if any hosts used a local connection (https://github.com/ansible/ansible/issues/84419)

File diff suppressed because it is too large Load Diff

6
changelogs/CHANGELOG.rst Normal file
View File

@ -0,0 +1,6 @@
Placeholder changelog
=====================
This file is a placeholder; a version-specific ``CHANGELOG-vX.Y.rst`` will be generated during releases from fragments
under changelogs/fragments. On release branches once a release has been created, consult the branch's version-specific
file for changes that have occurred in that branch.

View File

@ -1,8 +0,0 @@
Changelogs
==========
As part of the release process a version-specific `CHANGELOG-vX.Y.rst` will be generated from fragments in
the `fragments` directory.
On release branches once a release has been created, consult the branch's version-specific file for changes that have
occurred in that branch. The `devel` branch does not have a generated changelog, only changelog fragments.

File diff suppressed because it is too large Load Diff

View File

@ -1,22 +1,13 @@
---
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,2 @@
bugfixes:
- distribution - add check to remove incorrect matches of Clear Linux when processing distribution files (https://github.com/ansible/ansible/issues/50009)

View File

@ -0,0 +1,2 @@
minor_changes:
- Document Path and Port are mutually exclusive parameters in wait_for module.

View File

@ -0,0 +1,5 @@
bugfixes:
- "docker_container: makes unit parsing for memory sizes more consistent, and
fixes idempotency problem when ``kernel_memory`` is set (see
https://github.com/ansible/ansible/pull/16748 and
https://github.com/ansible/ansible/issues/42692)"

View File

@ -1,3 +0,0 @@
release_summary: |
| Release Date: 2025-04-14
| `Porting Guide <https://docs.ansible.com/ansible-core/2.19/porting_guides/porting_guide_core_2.19.html>`__

View File

@ -1,3 +0,0 @@
release_summary: |
| Release Date: 2025-04-24
| `Porting Guide <https://docs.ansible.com/ansible-core/2.19/porting_guides/porting_guide_core_2.19.html>`__

View File

@ -1,3 +0,0 @@
release_summary: |
| Release Date: 2025-05-06
| `Porting Guide <https://docs.ansible.com/ansible-core/2.19/porting_guides/porting_guide_core_2.19.html>`__

View File

@ -1,3 +0,0 @@
release_summary: |
| Release Date: 2025-05-12
| `Porting Guide <https://docs.ansible.com/ansible-core/2.19/porting_guides/porting_guide_core_2.19.html>`__

View File

@ -1,3 +0,0 @@
release_summary: |
| Release Date: 2025-06-03
| `Porting Guide <https://docs.ansible.com/ansible-core/2.19/porting_guides/porting_guide_core_2.19.html>`__

View File

@ -1,3 +0,0 @@
release_summary: |
| Release Date: 2025-06-11
| `Porting Guide <https://docs.ansible.com/ansible-core/2.19/porting_guides/porting_guide_core_2.19.html>`__

View File

@ -1,3 +0,0 @@
release_summary: |
| Release Date: 2025-06-24
| `Porting Guide <https://docs.ansible.com/ansible-core/2.19/porting_guides/porting_guide_core_2.19.html>`__

View File

@ -1,3 +0,0 @@
release_summary: |
| Release Date: 2025-06-30
| `Porting Guide <https://docs.ansible.com/ansible-core/2.19/porting_guides/porting_guide_core_2.19.html>`__

View File

@ -1,37 +0,0 @@
deprecated_features:
- playbook - The ``timedout.frame`` task result value (injected when a task timeout occurs) is deprecated.
Include ``error`` in the ``DISPLAY_TRACEBACK`` config value to capture a full Python traceback for timed out actions.
- Jinja test plugins - Returning a non-boolean result from a Jinja test plugin is deprecated.
- YAML parsing - Usage of the YAML 1.1 ``!!omap`` and ``!!pairs`` tags is deprecated.
Use standard mappings instead.
- YAML parsing - Usage of the undocumented ``!vault-encrypted`` YAML tag is deprecated.
Use ``!vault`` instead.
- public API - The ``ansible.errors.AnsibleFilterTypeError`` exception type has been deprecated.
Use ``AnsibleTypeError`` instead.
- public API - The ``ansible.errors._AnsibleActionDone`` exception type has been deprecated.
Action plugins should return a task result dictionary in success cases instead of raising.
- public API - The ``ansible.module_utils.common.json.json_dump`` function is deprecated.
Call Python stdlib ``json.dumps`` instead, with ``cls`` set to an Ansible profile encoder type from ``ansible.module_utils.common.json.get_encoder``.
- config - The ``DEFAULT_UNDEFINED_VAR_BEHAVIOR`` configuration option is deprecated and no longer has any effect.
Attempting to use an undefined variable where undefined values are unexpected is now always an error.
This behavior was enabled by default in previous versions, and disabling it yielded inconsistent results.
- config - The ``STRING_TYPE_FILTERS`` configuration option is deprecated and no longer has any effect.
Since the template engine now always preserves native types, there is no longer a risk of unintended conversion from strings to native types.
- config - The ``DEFAULT_ALLOW_UNSAFE_LOOKUPS`` configuration option is deprecated and no longer has any effect.
Ansible templating no longer encounters situations where use of lookup plugins is considered "unsafe".
- config - Using the ``DEFAULT_MANAGED_STR`` configuration option to customize the value of the ``ansible_managed`` variable is deprecated.
The ``ansible_managed`` variable can now be set the same as any other variable.
- config - Using the ``DEFAULT_JINJA2_EXTENSIONS`` configuration option to enable Jinja2 extensions is deprecated.
Previously, custom Jinja extensions were disabled by default, as they can destabilize the Ansible templating environment.
Templates should only make use of filter, test and lookup plugins.

View File

@ -0,0 +1,2 @@
bugfixes:
- copy - align invocation in return value between check and normal mode

View File

@ -0,0 +1,2 @@
bugfixes:
- docker_service - fixed an issue where ``remove_orphans`` doesn't work reliably.

View File

@ -0,0 +1,2 @@
major_changes:
- Allow config to enable native jinja types (https://github.com/ansible/ansible/pull/32738)

View File

@ -0,0 +1,2 @@
bugfixes:
- Rewrite get_resource_pool method for correct resource_pool selection.

View File

@ -0,0 +1,2 @@
bugfixes:
- sensu_silence - Cast int for expire field to avoid call failure to sensu API.

View File

@ -0,0 +1,2 @@
bugfixes:
- "Allow arbitrary ``log_driver`` for docker_container (https://github.com/ansible/ansible/pull/33579)."

View File

@ -0,0 +1,2 @@
bugfixes:
- Ignore empty result of rabbitmqctl list_user_permissions.

View File

@ -0,0 +1,2 @@
bugfixes:
- Only delete host key from redis in-memory cache if present.

Some files were not shown because too many files have changed in this diff Show More