Commit graph

1490 commits

Author SHA1 Message Date
Matt Martz
baeff7462d 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
2019-10-10 19:49:34 -07:00
Toshio Kuratomi
40f415ba35 New release v2.9.0rc3 2019-10-10 15:17:53 -07:00
Matt Davis
5b6e8590cf fix default collection resolution in adhoc (#63298)
* fix default collection resolution in adhoc

* if an adhoc command is run with a playbook-dir under a configured collection, default collection resolution is used to resolve unqualified module/action names

* Set ANSIBLE_PLAYBOOK_DIR in integration tests.

* Fix config conflict in ansible integration test.

* add adhoc default collection test

* text-ify warning string

(cherry picked from commit 6d52bdf4db)
2019-10-10 14:54:14 -07:00
Matt Davis
1ca6667a2f [2.9 backport] config encode errors should not be fatal (#63311) (#63312)
* config encode errors should not be fatal (#63311)

* fixes #63310
* subset of fixes from #58638
* added warning on error

(cherry picked from commit 77de663879)

* bring back text-ification from #63349
2019-10-10 13:55:29 -07:00
Adrian Likins
ae3a79fa58 backport of galaxy trailing api fix (63238) to stable-2.9 (#63293)
* Stop appending '/api' to galaxy server url (#63238)

* Stop appending '/api' to configured galaxy server url

Since not all galaxy REST api server URLs live
at '/api', stop always appending it to the
'url' value loaded from config.

* Add note about manually migrated galaxy configs and /api

* Add '/api/' to galaxy url and guessing if galaxy API

* Fix most unit tests (update to expect /api/)

* Fix test_initialise_unknown unit test

Since we retry now with an added /api/, mock it as well.

* Update fallback default avail_ver to new format

(cherry picked from commit bad72693e4)

* Add changelog fragment galaxy_api_config

* Fix galaxy url use everywhere when url is set in config. (#63286)

In addition to trying the configured url (for ex, a migrated
'https://galaxy.ansible.com/') there is an attempt at that
URL with '/api' postpended.

If the extended URL works, update GalaxyAPI.api_server to
use the extended URL. Previously it only used it for finding
the API root info ('available_versions', etc)

(cherry picked from commit ed203c5902)
2019-10-10 09:31:22 -07:00
Jill R
37b4a5089e [2.9] Fix STS assume role error message when role does not exist (#63307)
* 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

* [2.9] Fix STS assume role error message when role does not exist

* fix changelog sanity
2019-10-10 09:30:09 -07:00
Sam Doran
e05938e05e [stable-2.9] cronvar - use correct binary name (#63279) (#63338)
* [stable-2.9] cronvar - use correct binary name (#63279)

Fixes regression introduced by #62554
Add integration tests for cronvar.
(cherry picked from commit 9d014778ad)

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

* cron: add integration tests (#59830)

* cron: add integration tests

Use faketime in order to reduce waiting time. Using opensuse15
container:

    Tuesday 30 July 2019  23:03:19 +0000 (0:00:05.410)       0:01:28.291 **********
    ===============================================================================
    cron : install cron and faketime packages ------------------------------ 78.65s
    cron : wait 70 seconds max ---------------------------------------------- 5.41s
    Gathering Facts --------------------------------------------------------- 0.97s
    cron : enable cron service ---------------------------------------------- 0.72s
    cron : Use faketime with cron service ----------------------------------- 0.71s
    cron : command ---------------------------------------------------------- 0.41s
    cron : create directory for cron drop-in file --------------------------- 0.41s
    cron : add cron task ---------------------------------------------------- 0.40s
    cron : command ---------------------------------------------------------- 0.25s
    cron : command ---------------------------------------------------------- 0.25s
    cron : include_vars ----------------------------------------------------- 0.06s

* cron test, simplify: use Environment instead ExecStart

Thanks to mscherer for the suggestion.

* clean up comment: remove reference to outdated path

$OUTPUT_DIR is a plain path which doesn't reference any other
environment variables

* cron test: display elapsed time

* cron test: display some logs in case of failure

* cron test: handle FreeBSD

* cron tests: add checks

(cherry picked from commit 3c8abc0b82)
2019-10-10 08:06:08 -07:00
Matt Davis
6e0eafa3a7 add ANSIBLE_PLAYBOOK_DIR envvar support (#63220)
* add ANSIBLE_PLAYBOOK_DIR envvar support

* allows `ANSIBLE_PLAYBOOK_DIR` envvar as a fallback on CLI types that support `--playbook-dir`. This should have been implemented with #59464, but was missed due to an oversight.
* added basic integration test

* make first-class PLAYBOOK_DIR config entry

* update changelog

(cherry picked from commit fd229dcbb5)
2019-10-09 10:44:50 -07:00
Adrian Likins
6cdd8e5fc2 Add support for automation-hub authentication to ansible-galaxy (#63031)
Adds support for token authentication in Automation Hub. Fixes: ansible/galaxy-dev#96

(cherry picked from commit 239d639fee)
2019-10-08 08:13:38 -07:00
Matt Clay
c4446a8f2e [stable-2.9] Fix ansible-test virtualenv real python search.
ansible-test now properly searches for `pythonX.Y` instead of `python` when looking for the real python that created a `virtualenv`.
(cherry picked from commit b91f452f4f)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-10-08 08:11:26 -07:00
Matt Clay
f004deaf91 [stable-2.9] Work around ssh-keygen issue in ansible-test. (#63211)
Newer versions of ssh-keygen create PEM keys that are not recognized by Paramiko.

Now ansible-test compensates for this by updating they keys it generates so Paramiko will recognize them.
(cherry picked from commit 022335669c)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-10-08 07:43:30 -07:00
Matt Clay
24e64d1ba1 [stable-2.9] Fix ansible-test integration temp dir location.
Previously the temporary directory used to run integration tests resided under the user's home directory. This prevented ansible-playbook from detecting the default collection when running tests.

Now the temporary directory is created within the collection to facilitate default collection detection.
(cherry picked from commit 4c79f1ec4d)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-10-08 07:11:10 -07:00
Toshio Kuratomi
eac0319e7a New release v2.9.0rc2 2019-10-03 11:35:02 -07:00
Nilashish Chakraborty
e3b61c40bb IOS-XR: Fix iosxr_lag_interfaces intermittent failures (#62998)
* Fix iosxr_lag_interfaces intermittent failures

*  If the dictionary is read out of order from member
   the current logic in `diff_list_of_dicts` returns
   unwanted diff. Hence use `dict_diff` utils
   function instead of sets.

Remove zip() to make existing tests happy

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Address review comments

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
(cherry picked from commit 69317a9d3e)

Add changelog for iosxr_lag_interfaces fix
2019-10-03 11:24:27 -07:00
Mike Wiebe
6d5cac5f51 [stable-2.9] Fix nxos_l3_interfaces module and tests (#62545)
* Fix nxos_l3_interfaces module and tests

* Use get_interface_type

* get_interface_type in utils lib

(cherry picked from commit 918f768890)
2019-10-02 17:36:04 -07:00
chouseknecht
27ef947b84 Default collection install path to first path in COLLECTIONS_PATHS
(cherry picked from commit 70feb012b33d0578b1991a2f4960f8e2b5731ebe)
2019-10-02 15:01:20 -07:00
Adam Miller
42f16219b6 dnf - properly handle idempotent removal of wildcard globs (#63034)
Signed-off-by: Adam Miller <admiller@redhat.com>
2019-10-02 11:41:29 -07:00
Matt Clay
4dda11a770 [stable-2.9] Exclude tmp dir from ansible-test results copy.
This fixes test errors related to failures copying temporary test results files from a remote system back to the local system.

It also speeds up processing of test results and reduces network utilization by avoiding the temporary files.
(cherry picked from commit 3f2380ccce)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-09-30 16:26:00 -07:00
Sam Doran
56054beac8 [stable-2.9] find - clarify description of 'contains' (#62445) (#62917)
(cherry picked from commit 2375fd0990)

Co-authored-by: Sam Doran <sdoran@redhat.com>
2019-09-30 15:01:46 -04:00
Felix Fontein
9efac6864d docker_login: fix Python 3 problem in #60381 (#62621)
* Fix Python 3 problem: run_command() returns native strings, not byte strings.

* Add changelog.

(cherry picked from commit 2e5137078d)
2019-09-30 09:19:22 -07:00
Mariusz Mazur
b07ac9cb96 Changelog fragment 2019-09-30 09:18:26 -07:00
Matt Clay
988d369305 [stable-2.9] Fix ansible-test PYTHONPATH handling.
Running from an installed version of ansible-test now results in tests using a dedicated directory for PYTHONPATH instead of using the site-packages directory where ansible is installed.

This provides consistency with tests running from source, which already used a dedicated directory.

Resolves https://github.com/ansible/ansible/issues/62716
(cherry picked from commit 831e1bf2e0)

Co-authored-by: Matt Clay <matt@mystile.com>
2019-09-30 09:17:57 -07:00
Mario Lenz
fc1d7f9e5a VMware: Remove mentions of enable_vsan from vmware_cluster_ha example (#62616)
* VMware: Remove mentions of enable_vsan from vmware_cluster_ha example
* Add changelog fragment

(cherry picked from commit 0c66e7ef10)
2019-09-20 12:32:12 -07:00
Toshio Kuratomi
6c3726f3e1 New release v2.9.0rc1 2019-09-20 09:21:38 -07:00
Toshio Kuratomi
895d3c1c1e
[stable-2.9] k8s: apply no longer the default behaviour (#62632) (#62666)
* [stable-2.9] k8s: apply no longer the default behaviour (#62632)

There are too many lingering uncertainties about the correctness of
apply behaviour. All tests seem to suggest it works, and it's definitely
performed well in real world application, but it may be a breaking
and unexpected change to default to apply

We will let apply bed in during 2.9 and allow people to opt in, we
may default to it in future (or not)
(cherry picked from commit bb0fa0a)

Co-authored-by: Will Thames <will@thames.id.au>
2019-09-20 09:02:41 -07:00
Toshio Kuratomi
b443f980e7 New release v2.9.0rc1 2019-09-19 12:25:26 -07:00
Sloane Hertel
eae2e0d1f4 Add a representer for AnsibleUnsafeBytes (#62598)
* Add a representer for AnsibleUnsafeBytes

* changelog

* Add unit tests

Remove native string test until we have time to evaluate how this the function should work
Add non-ASCII characters to test cases

* Compare to the string on Python 2

Add a comment in the test about this behavior
(cherry picked from commit 4cc4c44dd0)
2019-09-19 12:12:48 -07:00
Rohit
d58d2bc875 [Backport 2.9] vyos: Fix to give no traceback on empty config (#62568)
* vyosnoconfig tracebackfix (#62518)

* vyosnoconfig tracebackfix

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* vyos noconfig tracebackfix test cases added

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* test/integration/targets/vyos_lldp_global/tests/cli/empty_config.yaml

(cherry picked from commit b24f7d2800)

* empty config traceback fix

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>
2019-09-19 12:03:43 -07:00
Paul Belanger
2abdb4ee7b Pull request for temp/backport-60947 (#62596)
* Check module names in action plugin without collection attached (#60947)

* Check for eos_config in action plugin by module name, not entire fqmn

* Modify toher action plugins to find module name

* Restore missing `not`

* Cover netconf plugin as well

* Whoops

(cherry picked from commit e89048f68a)

* Add changelog entry

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-09-19 10:04:02 -07:00
Zim Kalinowski
50782978c7 Backport/2.9/62571 (#62577)
* modify vmss to support specialized (#62571)

(cherry picked from commit 558ce6575d)

* add changelog

* additional change
2019-09-19 10:02:17 -07:00
yanzhangi
227efbc7ae [Backport/2.9/61684]Update ce_ospf to fix bugs (#62597)
* Update ce_ospf to fix bugs

(cherry picked from commit 1583c5ead2f9a648a026dff3bfffcaf0cdc2078e)

* Update ce_ospf modified information
2019-09-19 07:39:24 -07:00
yanzhangi
3d5367243b [Backport/2.9/62498]update ce_static_route to fix bugs (#62593)
* update ce_static_route to fix bugs

(cherry picked from commit 9a458d658f7dc6270d09307bcb3f0d4f0e678b52)

* Update ce_static_route modified information
2019-09-19 07:38:50 -07:00
Sumit Jaiswal
34609a0973 Fix traceback empty config error to meaningful msg for IOS (#62572)
* Fix traceback empty config error to meaningful msg for IOS (#62538)

* fix empty config msg

* fix space

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

* changelog
2019-09-19 07:33:26 -07:00
Zim Kalinowski
b8e905cd4d Backport/2.9/62559 (#62570)
* snapshot fix for backporting (#62559)

(cherry picked from commit 054519920e)

* changelog fragment
2019-09-19 07:27:34 -07:00
Will Thames
5a99d473d3 Ensure k8s apply works with check mode (#60572)
* Ensure k8s apply works with check mode

Update the new predicted object with fields from the previous object
before applying in check mode

Don't log output of `file` with `state: absent` on huge virtualenvs!

Fixes #60510

* Use openshift client fix to improve apply for check mode

Use new apply_object method to get a better approximation
of the expected object in check mode.

Requires released upgrade to openshift

* Add changelog fragment for k8s apply check mode fix

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

Co-Authored-By: Felix Fontein <felix@fontein.de>
(cherry picked from commit a684bb9f5b)
2019-09-18 21:10:06 -07:00
Sam Doran
6aa02a74fe [stable-2.9] cron - Only run get_bin_path() once (#62554)
(cherry picked from commit b7897e3a8d)

Co-authored-by: Sam Doran <sdoran@redhat.com>
2019-09-18 19:05:47 -07:00
Matt Clay
b1ba759862 Fix plugin names for collection plugins. (#60317)
* Fix plugin names for collection plugins.

Add an integration test to verify plugin __name__ is correct for collection plugins.

* Fix collection loader PEP 302 compliance.

The `find_module` function now returns `None` if the module cannot be found. Previously it would return `self` for modules which did not exist.

Returning a loader from `find_module` which cannot find the module will result in import errors on Python 2.x when using implicit relative imports.

* add changelog

* sanity/units/merge fixes

(cherry picked from commit 1c64dba3c9)
2019-09-18 19:04:51 -07:00
Jordan Borean
741b49a247 psexec - Fix kerb and interactive support (#62556)
(cherry picked from commit 064e443ea5)
2019-09-18 19:03:20 -07:00
Matt Davis
9bbaa0d688 fix collection jinja2 cache issue (#62543)
* prevents premature lookup (and potential KeyError) of Jinja filter/test function cache that's not fully populated

(cherry picked from commit d0c7b42e58)
2019-09-18 19:02:32 -07:00
Jean-Frédéric
7f7acd915a [stable-2.9] cron - Use the default crontab executable in cron and cronvar modules (#59765)
In some remote environments, the `crontab` executable is
overloaded with a custom executable, which typically does
some pre/post processing before forwarding to crontab.

Instead of using the hardcoded `/usr/bin/crontab`, this uses
the `get_bin_path` utility to locate the default crontab executable.
(cherry picked from commit 951a80c8b0)

Co-authored-by: Jean-Frédéric <JeanFred@users.noreply.github.com>
2019-09-18 16:01:55 -07:00
Paul Belanger
0b7fec8b11 Remove unsed / duplicate imports for iosxr module_utils (#61385)
(cherry picked from commit 5a60bdd308)
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-09-18 15:59:34 -07:00
Jordan Borean
cfd6b3d708 win_exec_wrapper - Be more defensive when trying to get output errors (#62376)
* win_exec_wrapper - Be more defensive when trying to get output errors

* Fix up property search

(cherry picked from commit bad338aca6)
2019-09-18 15:57:47 -07:00
Sumit Jaiswal
bf5444ddae To fix delete to pass the right parameters wrt to Checkpoint modules (#62540)
* fix delete to pass the right parameters (#62525)


(cherry picked from commit 2232232b45)

* changelog
2019-09-18 13:19:05 -07:00
Sumit Jaiswal
45f573d2ed PR to fix if equals error code command is not found (#62539)
* fix if equals error code if command not found (#62529)


(cherry picked from commit 55f285a384)

* changelog
2019-09-18 11:37:36 -07:00
Sumit Jaiswal
26a615a6f8 PR to fix the traceback session uid error (#62527)
* fix session_uid (#62523)


(cherry picked from commit cf8e84fc62)

* changelog
2019-09-18 09:28:54 -07:00
Jordan Borean
a3ff8e0579 Add fix for specifying current dir in collections_paths (#62478)
(cherry picked from commit 2e1c6a7839)
2019-09-18 09:27:27 -07:00
Paul Belanger
b300cbf757 Pull request for temp/unused-import-backports (#62472)
* Remove unsed import for eos facts module (#61795)

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
(cherry picked from commit f81b7dd10a)

* Remove unused import for cisco ios facts (#61790)

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
(cherry picked from commit 44eaea9f80)

* Remove unsed import for junos facts (#61787)

This is no longer needed.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
(cherry picked from commit 7be672e1c2)

* Remove unused import from iosxr facts (#61785)

This is no longer needed and can be removed.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
(cherry picked from commit c723eb2f04)

* Remove unused import for vyos facts (#61784)

This is no longer needed and can be removed.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
(cherry picked from commit 736938625b)

* Add changelog entry

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-09-18 09:26:52 -07:00
Matt Clay
ef94e3c72a [stable-2.9] Backport default-test-container updates. (#62473)
* Update default test container with Python 3.8b4 (#62100)

* [stable-2.9] test: bump default-test-container

VMware VSphere SDK needs an up to date version of `pip` for the
installation step. With the current image, we face the following error:

```
(...)
02:27 Collecting git+https://github.com/vmware/vsphere-automation-sdk-python.git (from -r /root/ansible/test/lib/ansible_test/_data/requirements/integration.cloud.vcenter.txt (line 2))
02:27   Cloning https://github.com/vmware/vsphere-automation-sdk-python.git to /tmp/pip-req-build-pm27t16b
02:33 Requirement already satisfied: pyvmomi in /usr/local/lib/python3.6/dist-packages (from -r /root/ansible/test/lib/ansible_test/_data/requirements/integration.cloud.vcenter.txt (line 1)) (6.7.1.2018.12)
02:33 Requirement already satisfied: lxml>=4.3.0 in /usr/local/lib/python3.6/dist-packages (from vSphere-Automation-SDK==1.4.0->-r /root/ansible/test/lib/ansible_test/_data/requirements/integration.cloud.vcenter.txt (line 2)) (4.4.0)
02:33 Processing ./\\localhost/tmp/pip-req-build-pm27t16b/lib/vapi-runtime/vapi_runtime-2.12.0-py2.py3-none-any.whl
02:33 Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: '/root/ansible/\\\\localhost/tmp/pip-req-build-pm27t16b/lib/vapi-runtime/vapi_runtime-2.12.0-py2.py3-none-any.whl'
```

Bump default-test-container to 1.9.3 to get an up to date release of
`pip` (was 19.0.2, is now 19.2.3)..
(cherry picked from commit b68f5b406a)

Co-authored-by: Gonéri Le Bouder <goneri@lebouder.net>

* Add missing changelog fragments. (#62471)

* Add missing default-test-container 1.9.2 fragment.
* Add missing default-test-container 1.9.3 fragment.
2019-09-18 09:12:29 -07:00
yanzhangi
82879b03f7 [Backport/2.9/61774]Update ce_stp to fix bugs (#62512)
* Update ce_stp to fix bugs

(cherry picked from commit c62a0b35c78b4a2c1f2c17b9b9b1e0771ffc5c23)

* Update ce_stp modified information
2019-09-18 07:31:06 -07:00
yanzhangi
c202f39f47 [Backport/2.9/61842]Update ce_snmp_target_host to fix bugs (#62509)
* Update ce_snmp_target_host to fix bugs

(cherry picked from commit 76016f99884e9b615ad637f75203863e599df781)

* update ce_snmp_target_host to fix bugs
2019-09-18 07:30:14 -07:00