Commit graph

50545 commits

Author SHA1 Message Date
Sloane Hertel
6df8a9ec53
Fix warning for nonexistent inventory cache (#72840) (#73443)
* Fix inventory cache warning by checking if the key exists before loading it

(cherry picked from commit 840bdc1e10)
2021-02-07 01:05:20 -06:00
Brian Coca
148240099a
ensure unsafe writes fallback (#70722) (#73144)
* Ensure we actually fallback to unsafe_writes when set to true

 add integration test
 add fix for get_url not passing the parameter from args

(cherry picked from commit 932ba36160)

* Added clog missing for issue 70722 (#73175)

(cherry picked from commit d6670da1d7)
2021-02-07 01:03:43 -06:00
Sam Doran
e9c6b382ea
[stable-2.10] import_playbook - change additional params to deprecation (#72987) (#73015)
I incorrectly recommended this be set as a warning when it should have been a deprecation.

* Fix deprecation sanity test to not required a collection name when not inside a collection
(cherry picked from commit 8e022ef00a)

Co-authored-by: Sam Doooran <sdoran@redhat.com>
2021-02-07 00:52:15 -06:00
Rick Elrod
3eafe0f255
[setup_rpm_repo test] Ensure rpm-build is present (#73516) (#73518)
Change:
- Other targets might remove rpm-build as they clean up after
  themselves. Ensure that it's present in setup_rpm_repo because
  rpmfluff needs it.

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

Signed-off-by: Rick Elrod <rick@elrod.me>
(cherry picked from commit aca5b0e43b)
2021-02-05 15:37:46 -06:00
Sam Doran
457dcf1313 [stable-2.10] Make yum_repository test more reliable (#73467)
* Improve setup_rpm_repo

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

* Use local repo for all distros
* Change repo creation script to module.
(cherry picked from commit 997b2d2a19)

Co-authored-by: Sam Doran <sdoran@redhat.com>
2021-02-03 23:01:07 -08:00
Gonéri Le Bouder
985a395cd9 validate_modules: fails with .id attribute not found (#73322)
* validate_modules: fails with .id attribute not found

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

This module tries to identify lines like:

`HAS_FOO = True`

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

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

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

* Update test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/main.py

(cherry picked from commit 7cf80f50d1)
2021-02-03 09:07:14 -08:00
Andrew Klychkov
6cde1cdf35
Documentation: fix formatting (#73186) 2021-02-03 10:18:41 -06:00
Felix Fontein
dcec0ec806
Make sure to mention collection version for version_added as well. (#73270) (#73280)
(cherry picked from commit 73aa571305)
2021-02-03 09:20:30 -06:00
David Moreau Simard
d7b562b393
add new glossary terms for 2.10 (#71813) (#73293)
* add new terms for 2.10
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>

(cherry picked from commit 4aedd1b987)

Co-authored-by: Sandra McCann <samccann@redhat.com>
2021-02-03 09:19:46 -06:00
Felix Fontein
d5acbfd6e3
Remove 'type: complex' from the example, and mention that it should be avoided. (#73171) (#73222)
(cherry picked from commit 270385f949)
2021-02-03 09:18:06 -06:00
Sviatoslav Sydorenko
4488b91699
Fix versionadded syntax @ galaxy user guide (#73350)
(cherry picked from commit 6abeabaff1)
2021-02-02 11:17:13 -06:00
Felix Fontein
25962888ac
Mention that C(...) should be used for inline code. (#73312) (#73374)
(cherry picked from commit 76604397cb)
2021-02-02 11:16:03 -06:00
Rick Elrod
a3175e9979
Revert "[ansible-test] Bump CentOS 6 image (yum repos) (#73446) (#73447)" (#73450)
This reverts commit e4f8d528b9.
2021-02-01 22:02:55 -06:00
Rick Elrod
e4f8d528b9
[ansible-test] Bump CentOS 6 image (yum repos) (#73446) (#73447)
Change:
- Bump centos6 image version to one which includes multiple fallbacks
  for vault.centos.org content.

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-02-01 18:37:24 -06:00
Rick Elrod
356aae0e23
[2.10] Add Ubuntu 20.04 to CI and ansible-test (#69161) (#73365)
Change:
- Add Ubuntu 20.04 to CI now that venv is default instead of virtualenv in ansible-test.

Test Plan:
- CI

Tickets:
- Fixes #69203

Signed-off-by: Rick Elrod <rick@elrod.me>
2021-01-26 13:01:31 -06:00
Matt Clay
c47ec375fa
[stable-2.10] Use a versioned pip bootstrapper in ansible-test. (#73359)
(cherry picked from commit fc590aeb21)

Co-authored-by: Matt Clay <matt@mystile.com>
2021-01-25 15:37:30 -06:00
Matt Clay
1f90c11782 [stable-2.10] Handle get-pip.py breaking change on Python 2.7.
(cherry picked from commit 484e4af4d0)

Co-authored-by: Matt Clay <matt@mystile.com>
2021-01-23 12:36:28 -08:00
Rick Elrod
e5b6d2aaae Update Ansible release version to v2.10.5.post0. 2021-01-18 18:19:05 -06:00
Rick Elrod
890601dcef New release v2.10.5 2021-01-18 14:34:40 -06:00
Sandra McCann
a8ebe99c98 Revert "update the docs requirements versions (#73108) (#73251)"
This reverts commit ee46fe2910.
2021-01-15 14:38:05 -08:00
Sandra McCann
0803063424 Revert "update rstcheck and sphinx versions in contraints (#73176) (#73249)"
This reverts commit 2a91ba71b2.
2021-01-15 14:34:58 -08:00
Sandra McCann
ee46fe2910
update the docs requirements versions (#73108) (#73251)
(cherry picked from commit 0936623901)
2021-01-15 12:45:17 -06:00
Sandra McCann
2a91ba71b2
update rstcheck and sphinx versions in contraints (#73176) (#73249)
* and fix test error

(cherry picked from commit 88763c7347)
2021-01-15 12:44:36 -06:00
Rick Elrod
0b77ffb980 Update Ansible release version to v2.10.5rc1.post0. 2021-01-11 21:28:30 -06:00
Rick Elrod
422b9c09ee New release v2.10.5rc1 2021-01-11 17:33:09 -06:00
Sloane Hertel
08ba838a8e
[2.10] Pass the top level dictionaries to combine_vars (#72979) (#73146)
combine_vars uses dict.update() to replace keys

(cherry picked from commit 5e03e322de)

* Add tests for merging and replacing vars from inventory sources (#73181)

(cherry picked from commit 9de2da8a7e)
2021-01-11 17:20:48 -06:00
Sam Doran
abc6658ac2
[stable-2.10] Add macOS 11 to CI (#72622) (#73180)
* [stable-2.10] Add macOS 11 to CI (#72622)

* Fix connection_paramiko_ssh test for macOS 11
* Update Azure Pipelines config
* Add changelog
(cherry picked from commit a7e834071c)

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

* Prefer venv for tests

* Update pip integration test to use venv on py3.

(cherry picked from commit 456e9b7a33)

Co-authored-by: Matt Clay <matt@mystile.com>
2021-01-11 16:45:58 -06:00
Sam Doran
b4b1bf9932
[stable-2.10] user - properly handle password and password lock when used together (#73016) (#73177)
Do the right thing on Linux when password lock and a password hash are provided by writing
out the password hash prepended by the appropriate lock string rather than using -U and -L.
This is the correct way to set and lock the account in one command.

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

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

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

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

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

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

* Clarify password_lock behavior..
(cherry picked from commit 264e08f21a)

Co-authored-by: Sam Doran <sdoran@redhat.com>
2021-01-11 13:11:26 -06:00
Matt Martz
6ba066fc9e
[stable-2.10] Fix async interpreter parsing (#72636) (#72923)
Fixes #70690
(cherry picked from commit 83764ad)
2021-01-11 01:02:33 -06:00
Sam Doran
b22d97b2c1
[stable-2.10] Fix string/bytestring comparsion in m_u.basic (#70439) (#73129)
Change:
- module_utils.basic.is_special_selinux_path() used a string ==
  bytestring comparison which returned False and made Ansible think that
  certain filesystems aren't, in fact, special-cased, when they should
  be. Ensure both sides of the == are bytestrings.

Test Plan:
- Added `copy` integration tests for this case.

Tickets:
- Fixes #70244

Signed-off-by: Rick Elrod <rick@elrod.me>.
(cherry picked from commit 688cd8657b)
2021-01-11 00:55:15 -06:00
Sam Doran
1cd09b1ebc
[stable-2.10] systemd - do not overwrite unit name when searching (#72985) (#73013)
PR #72702 introduced a bug that changed the unit name when splitting it up for the purpose
of searching for the unit. This only happens on unit file templates on systems that have a 5.8
or newer kernel and a version of systemd that does not contain a bugfix that causes systmed
to fail to parse dbus.

* Use facts rather than a manual probe to determine if systmed is present
* Remove unnecessary block
* Use vars files instead of set_fact
* Add tests for using a templated unit file
* Update changelog fragment
* Use template to get correct path to sleep binary
(cherry picked from commit 48803604cd)

Co-authored-by: Sam Doooran <sdoran@redhat.com>
2021-01-11 00:47:00 -06:00
Matt Clay
cf21e699d4
Update ansible-test pylint Python support. (#72997)
* Rename pylint plugin and add tests. (#70225)
* Update ansible-test pylint Python support. (#72972)
* Add integration tests for sanity test failures.
(cherry picked from commit fa48678a08)

* Python 3.8 is now officially supported.
* Python 3.9 is now skipped with a warning.
(cherry picked from commit 37d09f2488)

* Allow key None to prevent errors with import test.
(cherry picked from commit dbc2c996ab)

Backport of https://github.com/ansible/ansible/pull/73003

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-01-11 00:46:21 -06:00
Sam Doran
31ef9dffa1
[stable-2.10] Remove exit code from traps in tests (#72968)
Having the trap exit with a specific code will override
the exit code that caused the trap to run, which could
mask errors
(cherry picked from commit 5157a92139)

Co-authored-by: Sam Doran <sdoran@redhat.com>
2021-01-11 00:42:18 -06:00
Jordan Borean
c5248f756c
Collection list site packages (#70173) (#72940)
* ansible-galaxy collection list and verify now utilize collections in site-packages.

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

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

Co-authored-by: David Moreau Simard <moi@dmsimard.com>
Co-authored-by: Jordan Borean <jborean93@gmail.com>
(cherry picked from commit e7dee73774)

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2021-01-11 00:41:56 -06:00
Matt Martz
511ffdeff7
[stable-2.10] Fix reset_connection paramiko, winrm, psrp (#72688) (#72925)
* Ensure we only reset the connection when one has been previously established. Fixes #65812

* Ensure psrp doesn't trace

* winrm too

* Indentation fix
(cherry picked from commit a3b6485)

Co-authored-by: Matt Martz <matt@sivel.net>
2021-01-11 00:36:05 -06:00
Sloane Hertel
82b75282fc
Fix task get_name to always prepend the role name (#72511) (#72919)
* Fix 'role_name : tast_name' notation if task contains role name

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

Co-authored-by: Thomas Wouters <thomaswouters@gmail.com>
(cherry picked from commit 0ed7bfc694)
2021-01-11 00:28:57 -06:00
Martin Krizek
a5df30e2bf
Use _wrap_native_text only for builtin STRING_TYPE_FILTERS (#71801) (#72915)
(cherry picked from commit 252685092c)
2021-01-11 00:22:01 -06:00
Andrew Klychkov
7006b62ff4
Documentation: fix modules doc formatting (#72851) 2021-01-10 23:25:48 -06:00
Andrew Klychkov
7c44c24456
modules: fix documentation formatting (#72737) (#72850)
(cherry picked from commit ebd8c101fd)
2021-01-10 23:25:13 -06:00
Andrew Klychkov
c4adf62220
Docsite: update "Migrating Ansible content to a different collection" info (#72710) (#72849)
* add a reminder about ignore-*.txt entries, fix formatting, add symlink removal note
* Update docs/docsite/rst/dev_guide/developing_collections.rst

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: David Moreau Simard <moi@dmsimard.com>
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
(cherry picked from commit 0a7fcd135c)
2021-01-10 23:24:49 -06:00
Andrew Klychkov
9601d3ef20
Docsite: update complex_data_manipulation and playbooks_advanced_syntax rst files to use FQCNs (#72848) 2021-01-10 23:24:04 -06:00
Jon "The Nice Guy" Spriggs
2f3e9a38b6
Backport/2.10/73079 (#73165)
* Update apt.py, add an example that references the suggested workaround in #25414
(cherry picked from commit 1e1b8e7aca)
(cherry picked from commit 180bbfed6a)

* Added changelog fragment
2021-01-08 16:38:44 -06:00
Matt Clay
4452d98662
Support venv in ansible-test virtualenv scripts (#73163)
* ansible-test - prefer venv over virtualenv on Python 3 (#73000)

Also pin virtualenv to 16.7.10 for older Mac OS X systems. This was the version being installed
anway with the previous constraint (<20).

On systems with Python 3, now prefer venv over virtualenv. Test to see if venv is functional since
some systems have a non-functional venv installation (such as Debian).

(cherry picked from commit 850a77f639)

* Make the new ansible-test venv behavior opt-in

Co-authored-by: Sam Doooran <sdoran@redhat.com>
2021-01-08 16:31:17 -06:00
Andrew Klychkov
17566d7a17
Documentation: fix modules doc formatting (#73037) 2021-01-08 13:19:05 -06:00
flowerysong
3df8811ace
Remove inaccurate Vault documentation (#72938) (#72978)
This is not functionality that exists.
(cherry picked from commit 8450858651)
2021-01-08 13:04:51 -06:00
Sam Doran
ee97763a3a [stable-2.10] Update azure pipelines container
(cherry picked from commit 0eb1e22cd9)

Co-authored-by: Sam Doran <sdoran@redhat.com>
2021-01-08 09:15:47 -08:00
Felix Fontein
4d231a86b7
Rewrite Docker scenario guide (#73069) (#73135)
(cherry picked from commit c9f28c1735)
2021-01-07 15:45:37 -06:00
Abhijeet Kasurde
2246e1a0fb
[2.10] galaxy: Update example for git+file (#73115)
Use correct syntax for installation of role from local git repository. Fixes: #72217

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 776274143f)
2021-01-07 14:12:56 -06:00
Felix Fontein
dc8d0c4d62
Add link to all module and plugin indexes (#72743) (#73099)
* Add link to all module and plugin indexes, use glob setting for toctree.
* Adjust .gitignore
* Fix docs make clean: now that there's a static file in rst/collections, we have to be more
explicit about how we clean the generated files out of that directory.

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
(cherry picked from commit b514200126)
2021-01-07 14:10:52 -06:00
Sandra McCann
6b935947c1
left a stray </div> by mistake (#73132) (#73133)
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
(cherry picked from commit 1d8760779c)
2021-01-06 11:35:34 -06:00