This option corresponds to the '--limit-memory' option. Also
fix other mentions memory reservation instead of limit.
(cherry picked from commit 30cfa92e90)
Co-authored-by: Pedro Alvarez Piedehierro <palvarez89@gmail.com>
* updated required zabbix-api version for zabbix modules
(cherry picked from commit f48ac0da5d5b83c05b7cf538a8d1e6f8f9d3d780)
* added changelog fragment
* Added required parameter to document DOC-string to produce Documentation.
Signed-off-by: Satyajit Bulage <sbulage@redhat.com>
* Just copy short_description as it was
(cherry picked from commit 770430fd07)
* fix all modules to be able to get parameter with value false (very important fix) (#65040)
* add import of future and __metaclass__
* fix all modules to be able to get parameter with value false (very importent fix)
* Update ignore.txt
(cherry picked from commit b1e6667664)
* Update ignore.txt
* Create 65043-enable-parameter-value-to-be-false.yaml
* Update 65043-enable-parameter-value-to-be-false.yaml
* renamed module tls client auth params to avoid overlaping with fetch_url (#59522)
* renamed module tls client auth parameters to avoid overlaping with ansible fetch_url
* added version_added info for params
* Updated version_added
Updated version_added info from 2.9 to 2.10
* Update pulp_repo.py
removed version_added for renamed params
* Apply suggestions from code review
added ca_cert alias and 'version_added'
Co-Authored-By: Mark Chappell <mchappel@redhat.com>
* Apply suggestions from code review
added old behavior for client_cert and client_key which will deprecate in 2.14
Co-Authored-By: Mark Chappell <mchappel@redhat.com>
* Update pulp_repo.py
fix for linting error ansibot is complaining
* added changelog fragment for 59522
* Apply suggestions from code review
more informative depreciation warning and changelog fragment
Co-Authored-By: Felix Fontein <felix@fontein.de>
* added mention for changes in client_key and client_cert behavior
* fixed too long line (linting)
* deprecated ca_cert alias to have consistent module params in Ansible 2.14
* fixed indentation for deprecation warning
* changed deprecated alias handling to argument_spec
* moved deprecated_aliases insied argument dict, thanks tremble
* suggestions from felixfontein
Move doc info about client_cert and client_key into its own paragraph
Co-Authored-By: Felix Fontein <felix@fontein.de>
(cherry picked from commit 1e59017d27)
* 2.10 -> 2.9.2
* * Adjust messages.
* Fix one more.
(cherry picked from commit d1c58bc942)
* [stable-2.9] Do not treat AnsibleUndefined as being unsafe (#65202)
* Do not treat AnsibleUndefined as being unsafe. Fixes#65198
* fix yaml formatting.
(cherry picked from commit b08e7daf46)
Co-authored-by: Matt Martz <matt@sivel.net>
* Linting fix
* additional linting fix
podman 1.4 now installs docker man pages. Add handler to remove docker packages to avoid test failure due to this conflict.
Adjust inventory_docker_swarm integration test
Add conditional to cleanup handlers to allow use of the setup_docker role without removing packages at the end of the play. The inventory_docker_swarm integration tests does its own cleanup..
(cherry picked from commit 6b2b876d43)
Co-authored-by: Sam Doran <sdoran@redhat.com>
* fix module that it reports the correct status of a change
(cherry picked from commit 2028734ac334323aff4b9ac7289857e5f74bef53)
* postgresql_privs - fix sort comparison (#65125)
The result of .sort() is None, not the sorted object. The comparison was comparing the result of the .sort() method and not the sorted values.
(cherry picked from commit 426e37ea92)
Lookup 'first_found' returns empty list which results in
raw_params checking. Check NoneType for 'raw_params' before
proceeding.
Fixes: #64939
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 8d0c2cd4d5)
* proxmox: use 'release' key for version detection if possible
* proxmox: fix PEP issues
* add changelog fragment
* Uses LooseVersion for proxmox version detection
* move imports
* removes useless comment
(cherry picked from commit 38193f6b60)
* Added changes into changelogs/fragments
* Removed no longer used 'LibraryError'.
Signed-off-by: Satyajit Bulage <sbulage@redhat.com>
(cherry picked from commit 5f8ec4d46e)
* docker_swarm_service: Sort lists when checking for changes
When two lists are checked for changes in this module, the lists are
reported changed when the order of the items is different. This PR
resolves this issue.
* docker_swarm_service: Minor typo fix
* docker_swarm_service: Another minor typo
* docker_swarm_service: Should use sorted(), not sort()
* docker_swarm_service: Sort lists of dictionaries
* docker_swarm_service: Fix style issues in tests
* docker_swarm_service: Updates to integration tests
* docker_swarm_service: Casting string types within lists when comparing
* docker_swarm_service: Special handling of unordered networks with ordered aliases
* docker_swarm_service: Sorting network lists
* docker_swarm_serivce: Better unit test code coverage for lists and networks
* docker_swarm_service: Fixed coding style for sanity tests
* docker_swarm_service: More coding style fixes
* docker_swarm_service: Ignoring test for Python < 3
* docker_swarm_service: Update to version info check for backwards compatibility
* docker_swarm_service: Added change fragment #63887
* docker_swarm_service: Better handling of missing sort key for dictionary of lists
* docker_swarm_service: Preventing sorts from modifying in-place
Co-Authored-By: Felix Fontein <felix@fontein.de>
* docker_swarm_service: Removed spurious import in test
* docker_swarm_service: Preventing sorts from modifying more data in-place
Co-Authored-By: Felix Fontein <felix@fontein.de>
(cherry picked from commit a096cd08c5)
* Set name_version when version is not specified, fix#55097
This will default to installing the latest version available
* Add changelog fragment
* update changelog
(cherry picked from commit 136dc27572)
* Windows coverage - output temp files with UTF-8 BOM
ci_complete ci_coverage
* Remove testing changes to get ready for merge
(cherry picked from commit 200fb00310)
* Revert most of PR #61605 commit e218c9814c
This removes the git error handling that converted all git errors into warnings.
* Fix ansible-test handling of git submodules.
(cherry picked from commit ba273c72d8)
Co-authored-by: Matt Clay <matt@mystile.com>
Due to confusion between 'Custom Attributes' and 'Advanced options',
this change got in devel. Revert to original behavior i.e. customizing
custom values using vmware_guest is done in this PR.
Fixes: #64291
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit a6bc43ba47)
Refactor tests to run the same tasks with CentOS and Fedora using different variables.
(cherry picked from commit 05a7ce798d)
Co-authored-by: Sam Doran <sdoran@redhat.com>
This is a fix for a regression introduced by Perfy. Since then we mainly
operate on host.name instead of the Host object. In a call to
set_nonpersistent_facts where we set ansible_failed_task and
ansible_failed_result variables we were still passing the object which
led to those vars being undefined.
Fixes#64789
(cherry picked from commit 5c0b2c151c)
- use setup_epel role rather than task which contains correct URL now since it has changed for EL8
- add conditional to setup_epel to prevent attempted installation on non-RHEL distros
(cherry picked from commit f2e605c856)
Co-authored-by: Sam Doran <sdoran@redhat.com>
* win_chocolatey: Fix error when choco.exe not found
* Slight tweak to check and added changelog fragment
* Removed ignore rule that's no longer needed
(cherry picked from commit 521d6465f6)
Eliminate `ResourceWarning: unclosed file` by closing all
file handles of each subprocess used by the SSH connection
plugin to execute commands.
This change prevents Ansible from accumulating "forgotten"
open file handles.
PR #64785 by Julien Palard
Fixes#64768
* win_domain_computer module: Minor documentation error
* Fix idempotence when name != samaccountname
* Added changelog
* Added unsupported alias for CI check
(cherry picked from commit 04b8f75ffa)
* allow using --check on win_iis_webapppool module
* Added changelog and slight logic tweak
* Fix typo in changelog fragment
(cherry picked from commit 23a751323b)
* [FIX] graceful is not an immutable attribute
(cherry picked from commit 1f4d15fc550a3823bba497fe79cf3d2c54aaa9a0)
* [ADD] changelog fragment for PR 64397 to stable-2.9
* Update win_firewall_rule.py to include ICMP echo (ping) example (#55013)
* Update win_firewall_rule.py
<!--- Your description here -->
Added example of enabling ICMP protocol, as ping is commonly used for troubleshooting in automation scenarios. Equivalent netsh command is:
netsh advfirewall firewall add rule name='ICMP Allow incoming V4 echo request' protocol=icmpv4:8,any dir=in action=allow
+label: docsite_pr
* Remove yaml-breaking space
Removed extraneous space that caused validation to fail.
* Remove more extraneous whitespace
(cherry picked from commit 91d0ad9a4c)
* Remove icmp_type_codes
Setting the ICMP Type Codes on the protocol is not valid in 2.8/2.9, requires https://github.com/ansible/ansible/pull/60361 which will update the docs in devel.
* Remove duplicated and broken link to Roles (#64991)
(cherry picked from commit f198036d7f)
* Fix link to Roles (#64992)
(cherry picked from commit 1d0a832692)
* fix collection broken links (#65010)
(cherry picked from commit 2749090bc6)
Since https://github.com/ansible/ansible/pull/56733, we were not able to apply
firewall rules with no `allowed_hosts` key.
closes: #61332
In addition, this patch ensures the `allowed_hosts` key accepts a dict,
instead of a dict in a single entry list.
```yaml
vmware_host_firewall_manager:
esxi_hostname: "{{ esxi1 }}"
rules:
- name: NFC
enabled: True
allowed_hosts:
- all_ip: False
ip_address:
- "1.2.3.4"
```
Should be written:
```yaml
vmware_host_firewall_manager:
esxi_hostname: "{{ esxi1 }}"
rules:
- name: NFC
enabled: True
allowed_hosts:
all_ip: False
ip_address:
- "1.2.3.4"
```
(cherry picked from commit ab2aaca61d67a479626a930644fed35859365441)
Add handlers to setup_mysql_db and setup_mysql8 to remove installed packages..
(cherry picked from commit 3e4ae42256)
Co-authored-by: Sam Doran <sdoran@redhat.com>
* [stable-2.9] Eos vlan override (#63639)
* Fix overridden & deleted in eos_vlans
* Fix vlan creation in overridden
* Right, Python 2.6
(cherry picked from commit 741d529)
Co-authored-by: Nathaniel Case <ncase@redhat.com>
* eos_vlans: Never try to set vlan_id as a property (#63689)
(cherry picked from commit d98482c294)
* Add changelog
* win_acl no longer needs SeSecurityPrivilege
Set-ACL raises missing SeSecurityPrivilege error when the inheritance
from the parent directory is disabled.
* fixes test sanity
* registry rights can only be modified with Set-ACL
* add changelog
(cherry picked from commit 95d613f3ab)
* Corrected Get-adcomputer
Corrected Get-adcomputer on "Remove-ConstructedState" and "Set-ConstructedState" functions.
resolved error: Unable to contact the server. This may be because this server does not exist, it is currently down, or it does not have the Active Directory Web Services running.
* Update lib/ansible/modules/windows/win_domain_computer.ps1
Co-Authored-By: Daniel-Sanchez-Fabregas <33929811+Daniel-Sanchez-Fabregas@users.noreply.github.com>
* Update win_domain_computer.ps1
changed
"-credential $credential" to "@extra_args" (Line 115 and 150)
corrected exception message (Line 122)
* Added changelog fragment, minor code tweak
(cherry picked from commit e77426dad3)
* Move tests with docker registry into own target.
* Add docker_login tests.
* Add step which makes sure hello-world:latest is around.
* Make work inside docker container.
* Add dependency.
* Use plaintext password.
* Forgot check_mode.
* Add no_log to avoid double log output in verbose mode.
(cherry picked from commit a79f7e575a)
Improve tests
- add more unit test cases
- add specific integration test with more cases
Testing shows no major downside to calling .strip() twice in a comprehension vs. using a regular for loop and only calling .strip() once. Going with the comprehension for ease of maintenance and because comprehensions are optimized in CPython.
(cherry picked from commit 987265a6ef)
Co-authored-by: Sam Doran <sdoran@redhat.com>
* Remove lists from contains:, fix types, some more details.
* Adjust types.
* Add new type.
* Re-add meraki_mx_l7_firewall docs at right indentation level.
(cherry picked from commit a129499cf4)
We used a few packages for tests which don't exist in RHEL8 base. Don't
dep on those so those tests will simply skip
(cherry picked from commit 2b6ee57)
Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
* Fix network plugin config option load from collection
Fixes#63975
* Update the complete sub-plugin name within network
connection plugins to handle sub-plugin in collection
scenario.
* Fix review comments
(cherry picked from commit 60276d3d8d)
Different subpackages have different names so, at the least, the %NAME
macros must be used when constructing the rpmfilename. Otherwise each
subsequent subpackage will overwrite the previous one.
This reinstates dag's fix from d4b6aecd97Fixes#62673
(cherry picked from commit 30cc54d)
Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
* Master (#62626)
* Update win_package.ps1
Update Test-Path to use -LiteralPath instead of -Path to fix issue where powershell will not detect path with special characters such as '=' and '[]'.
* Update win_package.ps1
modified other instances of -Path and changed to -LiteralPath. All except line L243 since it is a different function.
* added literal path to get-itemproperty
(cherry picked from commit 153a322f54)
* add fragment
* Fix up role version pagination for Galaxy install
* Fix sanity issue
(cherry picked from commit 7acae62fa8)
Co-authored-by: Jordan Borean <jborean93@gmail.com>
On Ubuntu Precise and Trusty, the build was failing because the Ansible
libs were installed in /usr/lib/python2.7/site-packages.
According to the Debian Policy (2.5), they should actually be install in
/usr/lib/python2.7/dist-packages This is also CDBS default behaviour since
0.4.131.
See: https://www.debian.org/doc/packaging-manuals/python-policy/ch-python.htmlCloses: #64160
This fixes a regression that was caused by switching from copy() to
deepcopy() when 'saving' variables before templating. Since HostVars
did not implement the __deepcopy__() method, deepcopy returned incorrect
results when host vars were present in the variables.
Fixes#63940
(cherry picked from commit cd8ce16d48)
update_resource and delete_resource takes and requires four argument.
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 21c8dae83b)
This isn't used any place, lets remove it to fix lint checks on our
network collections.
(cherry picked from commit 119acc1afe)
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
* [stable-2.9] Set alter_sys=True instead of False to address backwards incompat (#64670)
* Set alter_sys=True instead of False to address backwards incompat
* ci_complete
* Add integration test
* ci_complete
* sanity
* ci_complete
* Changelog fragment
* Update import test and validate-modules to match.
(cherry picked from commit b93d92ef9a)
Co-authored-by: Matt Martz <matt@sivel.net>
* Rebase and add alter_sys to validate-modules
wait_for_connection creates AnsiballZ_ping.py in temp directory,
which remains on remote machine even after playbook run.
Fixes: #62407
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 68428efc39)
* Move X25519, X448, Ed25519 and Ed448 feature tests to module_utils.
* Correctly sign with Ed25519 and Ed448 keys.
* Fix public key comparison. Ed25519 and Ed448 do not have public_numbers().
* Add tests.
* Add changelog.
* Give better errors for cryptography 2.6.x and 2.7.x.
* Test for new errors.
* Forgot one.
* Used wrong private key.
* Use private key password for CA key. Add more stuff to its certificate.
(cherry picked from commit fed267df03)
- xenserver module_util: XenAPI lib import error message handling is now
ported to missing_required_lib(). Updated unit tests.
- xenserver_guest, xenserver_guest_info, xenserver_guest_powerstate modules:
docs are updated to reflect recent changes in availability of XenAPI lib
on PyPI.
- xenserver_guest, xenserver_guest_info, xenserver_guest_powerstate modules:
docs are updated to reflect recent Citrix rebranding of XenServer. Broken
URLs to external resources are fixed.
- xenserver_guest, xenserver_guest_info, xenserver_guest_powerstate modules:
more tested platforms are mentioned in docs.
(cherry picked from commit 7afba9420a)
* docker_login: Use with statement for accessing files (#64382)
* Update changelogs/fragments/64382-docker_login-fix-invalid-json.yml
Co-Authored-By: Felix Fontein <felix@fontein.de>
(cherry picked from commit 52c4c1b00d)
The error is not always an invalid username/password. It could be a connection timeout or refusal.
(cherry picked from commit d5fbe6573b)
Co-authored-by: Sam Doran <sdoran@redhat.com>
Add integration test for copy: deep recursive with remote_src=True
(cherry picked from commit b7e38dfa52)
Co-authored-by: Alexander Korsunsky <A.Korsunsky@gmail.com>
* Fix#63919: don't run os.makedirs on empty dir path
* integration test for lineinfile create: yes without path (Sam Doran <sdoran@redhat.com>)
(cherry picked from commit 3c978a3225)
* check status code value lower boundary
Any HTTP code below 200 cannot be considered a success, should be
handled like a failure instead.
This is particularly true for below zero status codes.
Fixes#63139
* provide changelog fragment
* ensure connection errors are handled in Acme module
* add fetch_url check to ACME.send_signed_request
* remove module.fail_json
* move _assert_fetch_url_success out of ACMEAccount
* fix ansible-lint errors
* use simplified syntax status checking
(cherry picked from commit 0d905a0496)
* Make acl module to work with whitespaces in path
* Added a changelog fragment
* Add quotes to changelog fragment
(cherry picked from commit 504d76e956)
* Fix issue when setting an empty pass to no_log param (#62804)
* Fix issue when setting an empty pass to no_log param
* Fix typo
(cherry picked from commit 322e225830)
* Fix up actual get for older versions
This fixes ansible-test so it no longer tries to install sanity test dependencies on unsupported Python versions.
(cherry picked from commit 437e9b7063)
Co-authored-by: Matt Clay <matt@mystile.com>
* Fix validate-modules support for collections.
- Relative imports now work correctly.
- The collection loader is now used.
- Modules are invoked as `__main__`.
* Remove obsolete validate-modules code ignores.
* Handle sys.exit in validate-modules.
* Add check for AnsibleModule initialization.
* Remove `missing-module-utils-import` check.
This check does not support relative imports or collections.
Instead of trying to overhaul the test, we can rely on the `ansible-module-not-initialized` test instead.
* Fix badly named error codes with `c#` in the name.
The `#` conflicts with comments in the sanity test ignore files.
* Add changelog entries.
(cherry picked from commit e9f8a34dce)
Co-authored-by: Matt Clay <matt@mystile.com>
We want the script to live in the ansible-test rpm subpackage alongside
of its libraries
Fixes#64275
(cherry picked from commit 87de146038)
Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
* clear configuration candidate when return to user-view.
* add a changelog fragment for the pr.
* Update 63513-ce_action_wait_prompt_trigger_time_out.yaml
* Update 63513-ce_action_wait_prompt_trigger_time_out.yaml
(cherry picked from commit 47c31c201b)
Use a separate variable for the boolean test rather than having the same variable sometimes be a boolean and sometimes be a regular expression match object
Add integration tests to cover this scenario
(cherry picked from commit 29d4d318a5)
Co-authored-by: Sam Doran <sdoran@redhat.com>
* crypto modules: improve return value list documentation (#62929)
* Improve return value documentation by allowing entry for return values.
* Add docs formatting, adjust styling.
* Fix sample return value. (Taken from https://tools.ietf.org/html/rfc7517#appendix-A.1.)
* Work around abuse of .
(cherry picked from commit 054285c34c)
* Add changelog.
Initialize variables in case the shadow file is not found.
Handle IndexErrors if something goes wrong with file parsing.
(cherry picked from commit e9d10f94b7)
Co-authored-by: Sam Doran <sdoran@redhat.com>
* ce_netstream_global: bugs fix(list index out of range) (#63332)
* update to fix bugs:index out of range
* list index out of range
* list index out of range
* update for bad-whitespace
* Update ce_netstream_aging.py
* Update ce_netstream_aging.py
* Update ce_netstream_global.py
* Update ce_netstream_global.py
* Update ce_netstream_global.py
* Update ce_netstream_template.py
* Update ce_netstream_global.py
* Update ce_netstream_global.py
* Update ce_netstream_template.py
* Update ce_netstream_aging.py
(cherry picked from commit b7f12f9ff3)
* add a changelog fragment.
* Update 63389_ce_netsream_list_index_out_of_range.yml
empty-lines too many blank lines (1 > 0)
* clean "changed" after it has been processed
without this change, a loop of `debug` tasks with `changed_when`
causes the "changed" status to get lost before output
* runme.sh tests for debug loop status
(cherry picked from commit bfd32c9b00)
* Specifying IP addresses needs API version 1.22 or newer.
* Simplify code.
* Use IPAMConfig.IPv*Address instead of IPAddress and GlobalIPv6Address.
* Add changelog.
* Fix syntax errors.
* Add integration test.
* Don't rely on netaddr.
* Normalize IPv6 addresses before comparison.
* Install netaddr, and use it.
(cherry picked from commit 62c0cae29a)
On python 3, if there is no explicit "return True", the
function call will be seen as "False", thus failling the module
(cherry picked from commit 75c4e9ec05)
* docs: update to latest 3 versions (#64109)
(cherry picked from commit 409545825f)
* update too old version to 2.4 (#64167)
(cherry picked from commit c63ef6d911)
* update backport instructions to use stable-2.9 (#64168)
(cherry picked from commit f264e9cfca)
* [Doc-Release-2.9] update release and maintenance page for 2.9 (#64166)
* only 2.4 and earlier used the old changelog system
(cherry picked from commit 3f808d9ed6)
* clarify no subfolders and md only for collections /docs folder (#63808)
(cherry picked from commit 6a2902c8d5)
* Fixed example error in windows_winrm user guide (#63922)
The example code to configure TLS 1.2 Support using Ansible had an indention error. The register variable 'enable_tls12' was not indented. This caused the subsequent task to fail since the variable was not registered.
(cherry picked from commit c562e17659)
* Fix doc errors in AWS modules (#63851)
* Fix register/debug in aws_batch_compute_environment
* Fix aws_batch_job_queue doc errors
* Fix module naming: `batch_job_queue` > `aws_batch_job_queue`
* Fix missing register
* Update debug task to use modern YAML format
* Fix missing register + debug for lambda_policy
* Fix YAML syntax for elb_application_lb_info module
(cherry picked from commit e4f16368ed)
* Update documentation for package module (#63909)
It is not clear from the documentation that list can be used
(cherry picked from commit 7f2c367d78)
* [ec2_launch_template] Update description of state param (#63147)
Currently, it is not possible to delete specific versions of an ec2 launch template. The module docs incorrectly suggest that there is a `version` param to the module that can be used to do that. This patch aims to correct that error.
(cherry picked from commit 7ea7260753)
* template: Add a space in example block (#63930)
(cherry picked from commit f279715c29)
* revisions to docsite README (#63957)
(cherry picked from commit 5c962ef859)
* combine galaxy.com install roles details (#63486)
(cherry picked from commit ee8a088205)
* Correct a typo (#64020)
(cherry picked from commit 18f4f0549f)
* Update password.py (#63965)
Update the examples of the password lookup plugin to show how multiple options are joined together.
(cherry picked from commit 92daec5d0b)
* Fix indentation of example (#63789)
Remove no_log since module_defaults aren't displayed like set_fact was
(cherry picked from commit 1e52782d6b)
* add newline to render table correctly (#63769)
(cherry picked from commit 1aee11c860)
* clarified some points on environment keyword usage (#64065)
(cherry picked from commit 885ee62b53)
* Replaced old DSC links that given 404 (#63556)
Replace DSC links that returned "not found" with updated, working links.
(cherry picked from commit f638f29e44)
* Fix example in pip module documentation (#63462)
(cherry picked from commit d8b9f9fb4f)
* Update vmware ansible modules requirements section (#62797)
Update vSphere Automation Python SDK to the requirement section
Signed-off-by: Jobin George <jgeorge@vmware.com>
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 8a77f17dea)
* Typo usersername should be username (#63671)
(cherry picked from commit 2ef4ac1404)
* Update description for firstmatch option (#62896)
Fixes issue https://github.com/ansible/ansible/issues/62862. The edit makes the description for the `firstmatch` option clearer. The `firstmatch` option was introduced by PR https://github.com/ansible/ansible/pull/33825
(cherry picked from commit aeb0dde7cc)
* Update win_regmerge.py (#63633)
s/windows/Windows/ in title
(cherry picked from commit 4326165be5)
* Example incorrect: server_url is required argument (#63670)
The example "Delete GitLab Group" does not work - requires server_url parameter. This likely applies to all Examples, so this change proposes at least putting in the required parameter in the examples. In future we can remove the soon-to-be deprecated server_url parameter.
(cherry picked from commit b02467961a)
* doc: win_user: fix typo in the description of the groups modifyer (#63743)
(cherry picked from commit 6046386dba)
* Update AWS dev guide to recommend module_defaults and point to CI policy repo (#63589)
(cherry picked from commit 9cda5819b9)
* Add example for port range to win_firewall_rule_module (#63269)
(cherry picked from commit 2e81b813dd)
* added a link to install instruction of OpenSSH (#63548)
(cherry picked from commit cfe2beae46)
* [stable-2.9] Fix various import sanity test issues.
- Relative imports are now properly recognized.
- Correct script invocation of Ansible modules is used.
- Warnings are now consistently reported as errors.
- Errors are now consistently reported with the file tested.
Resolves https://github.com/ansible/ansible/issues/62723
Resolves https://github.com/ansible/ansible/issues/61884
(cherry picked from commit 92ccdeac31)
Co-authored-by: Matt Clay <matt@mystile.com>
* Changelog entry for ansible-test sanity fixes.
(cherry picked from commit 0923ed56c7)
* AH servers include automation-hub as part of the server configuration.
So we don't need to add it here.
Fixes#63699
* Update unittests for the fix to galaxy wait_import_task
(cherry picked from commit cc1ff57)
Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
This brings in the final Python 3.8.0 release instead of a release candidate.
(cherry picked from commit 7448084858)
Co-authored-by: Matt Clay <matt@mystile.com>
* [stable-2.9] Added changelog fragment
(cherry picked from commit 7da37e5)
Co-authored-by: Andrea Tartaglia <andrea@braingap.uk>
* Fixes --version in ansible-galaxy cli
(cherry picked from commit 202ad4f89a)
* Handle galaxy v2/v3 API diffs for artifact publish response
For publishing a collection artifact
(POST /v3/collections/artifacts/), the response
format is different between v2 and v3.
For v2 galaxy, the 'task' url returned is
a full url with scheme:
{"task": "https://galaxy-dev.ansible.com/api/v2/collection-imports/35573/"}
For v3 galaxy, the task url is relative:
{"task": "/api/automation-hub/v3/imports/collections/838d1308-a8f4-402c-95cb-7823f3806cd8/"}
So check which API we are using and update the task url approriately.
* Use full url for all wait_for_import messages
Update unit tests to parameterize the expected
responses and urls.
* update explanatory comment
* Rename n_url to full_url.
* Fix issue with overwrite of the complete path
* Fixes overwrite of the complete path in case there's extra path stored
in self.api_sever
* Normalizes the input to the wait_import_task function so it receives
the same value on both v2 and v3
Builds on #63523
* Update unittests for new call signature
* Add changelog for ansible-galaxy publish API fixes.
(cherry picked from commit 4cad7e4)
Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
* Update sros_config.py (#63132)
(cherry picked from commit b3deab4319)
* add note about collection links (#63346)
(cherry picked from commit bdd0fac606)
* Nosh module documentation update (#63303)
* detail the 'status' dictionary
* did not add individual descriptions, see nosh documentation for those
* sample: False not being rendered unless 'False' is quoted
(cherry picked from commit df283788e5)
* Move galaxy appendix info to a new Galaxy section (#63356)
* start galaxy docs restructure
* shared snippets in txt files
* moved all content to galaxy section
(cherry picked from commit ae265bc546)
* Enter should be Italics as it is a menu option (#63441)
(cherry picked from commit 7a8c909876)
* ini_file: remove incorrect documentation (#63394)
(cherry picked from commit ab249a469e)
* Changed with_items to loop in VMware example (#63022)
(cherry picked from commit 876a2d57be)
* ovirt update fetch_nested param doc (#63191)
(cherry picked from commit 0beab6bf69)
* Update 'delete' parameter description in synchronize module (#63450)
Co-Authored-By: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit da46800f1b)
* Update unarchive.py - Further clarify extra_opts (#58102)
Update the description in the options to help assist with what the module is looking for in the extra_opts. #31873 alone is not enough since if you are not familiar with the option given in the example it may not be obvious that both elements are part of the same option instead of being two different options.
Co-Authored-By: Alicia Cozine <879121+acozine@users.noreply.github.com>
(cherry picked from commit e967060b9f)
* ovirt_vm add warning about next run configuration (#63458)
(cherry picked from commit 16e49fdd44)
* Fix doc - porting_guide_2.8 value example (#63493)
(cherry picked from commit e0f67b58ce)
* Fix warnings for ufw examples (#63505)
(cherry picked from commit e4eea0510c)
* Update stat.py (#63289)
Reword awkward documentation language.
(cherry picked from commit b46299ff86)
* Update win_disk_facts.py example (#63266)
Fix incorrect index for second disk (should be `disks[1]` not `disks[0]`)
(cherry picked from commit ce1c8c24f7)
* Fix broken link (#63185)
(cherry picked from commit 021d095625)
* Typo on line 161 (#63133)
fix module name for azure_rm_manageddisk in one example
(cherry picked from commit 81a614684a)
* docs: add Centos and Ubuntu to examples for playbook conditionals (#63085)
Co-Authored-By: Sandra McCann <samccann@redhat.com>
(cherry picked from commit 19587b35da)
* Spot instance code error (#63246)
Adds 'instance_initiated_shutdown_behavior: terminate' to spot instance example for greater efficiency.
(cherry picked from commit 5ed163ce3f)
* Pass a JSON file to the Lambda's payload (#63261)
* Add an example of passing a JSON file to the Lambda's payload
Events passed to Lambda are commonly in JSON format, the change provides an example of using JSON file as an alternative to the inline YAML payload in the other examples.
(cherry picked from commit 1d5206f53e)
* Update ec2.py (#63260)
Change the explanation of spot_wait_timeout
(cherry picked from commit 719170e5c1)
* fix aruba_config examples (#63136)
(cherry picked from commit 6ff5968781)
* [ec2_launch_template] Update examples (#63152)
- Update tasks names for existing examples
- Add a new example showing how to delete a launch template
(cherry picked from commit 32980f214a)
* Get no_log parameters from subspec
* Add changelog and unit tests
* Handle list of dicts in suboptions
Add fancy error message (this will probably haunt me)
* Update unit tests to test for list of dicts in suboptions
* Add integration tests
* Validate parameters in dict and list
In case it comes in as a string
* Make changes based on feedback, fix tests
* Simplify validators since we only need to validate dicts
Add test for suboptions passed in as strings to ensure they get validated properly and turned into a dictionary.
ci_complete
* Add a few more integration tests
(cherry picked from commit e9d29b1fe4)
Co-authored-by: Sam Doran <sdoran@redhat.com>
* Improve docker_container docs.
* Fix usage of C(...) and I(...) and abuses of I(...).
* tls_verify has been made an alias of validate_certs some time ago.
* Fix YAML problems, order, formatting.
* Split long description.
* Rewrite state docs and make proper sentences.
Co-Authored-By: Andrey Klychkov <aaklychkov@mail.ru>
(cherry picked from commit 5349b3ae4c)
* 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
* 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)
* 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
* 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)
* 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)
* Fixing typo mistake in testbed with section. Deploy template from content library is supported from 67U3
(cherry picked from commit c6c13b5626)
* Typo fix in mssql_db (#63184)
Changed from 'then' to 'than'
(cherry picked from commit b5cc0872e7)
* VMware: Update maintenance notes on vmware_cfg_backup (#62853)
Maintenance mode seems only to be required for load or restet, not for save_configuration.
(cherry picked from commit e977e0af74)
* Misc typo in nxos_config documentation (#62629)
* Changed 'exit' to 'exist'
* Removed unnecessary word 'first'
(cherry picked from commit 0554b50eed)
* postgresql: add elements for list params to the module's documentation (#63186)
(cherry picked from commit 8a37a2440e)
* mysql: add elements for list params to the modules' documentation (#63187)
(cherry picked from commit 30c2d21f17)
* Add spaces around {{ indicators. (#63125)
The example looked a little less readable by not having spaces after `{{` and before `}}`. This commit should make the examples match [ansible-lint rule 206](https://github.com/ansible/ansible-lint/blob/master/lib/ansiblelint/rules/VariableHasSpacesRule.py)
(cherry picked from commit b7a9d99cef)
* fix typo in collection/plugins/readme (#63162)
(cherry picked from commit da1a945088)
* Docs: User guide overhaul, part 1 (#63056)
(cherry picked from commit 941a9b68fc)
* Concise file module example description (#62932)
A file won't be created by the example, the execution would fail unless the file already exists as specified by the module options
(cherry picked from commit 87a6f8397e)
* Added suffix note to process_name_exact parameter (#62849)
(cherry picked from commit 992b81e8fc)
* Fix broken link to powershell resources (#62845)
The previous link (https://docs.microsoft.com/en-us/powershell/dsc/builtinresource ) is a 404 . MS has a new link https://docs.microsoft.com/en-us/powershell/dsc/resources/resources with the same content
(cherry picked from commit cae4255a16)
* Update playbooks_environment.rst (#62800)
(cherry picked from commit cea8a222a3)
* Update win_dsc.py (#62863)
(cherry picked from commit 798c5a55fa)
* Adjust documentation for yum clean to use best practices (#62898)
The yum module docs suggested using `shell: yum clean all`, which gives an `ansible-lint` error. Plus, you should use the `command` module unless you need more advanced features than just passing in an arbitrary command. Fixes that problem by using the `command` module in the example instead.
(cherry picked from commit 1e6fd6f54d)
* This should never have been "support:network" (#63068)
(cherry picked from commit 7ae46329f2)
* Add docs on hiding sensitive data in loops (#63096)
(cherry picked from commit 0311897722)
* Doc updates to openssl_certificate and ecs_certificate (#63006)
* Update lib/ansible/modules/crypto/entrust/ecs_certificate.py
Co-Authored-By: Felix Fontein <felix@fontein.de>
(cherry picked from commit e55f46f302)
* Update intro_installation.rst (#62994)
(cherry picked from commit f2214951c5)
* Update xml.py (#63128)
Update example to remove escape characters in front of special characters as it is not needed to add explicitly anymore with latest ansible version
(cherry picked from commit 82a6f9d198)
* add more anchors to collections docs (#62827)
(cherry picked from commit 7e01de96d7)
* add anchors to support galaxy links (#62808)
(cherry picked from commit 1b3bf33bdf)
* doc: fix typos (#62852)
(cherry picked from commit b33ae14949)
* Add some documentation about using plugins in collections (#62465)
- FQCN requirements
- Sharing code in collections
- Limitations with inventory caching
(cherry picked from commit d41050b28b)
* Remove Latin phrases from the docs (#62419)
* add styleguide about avoiding use of latin words
(cherry picked from commit e7436e278f)
* ovirt: Fixing typo in ovirt_disk examples (#62962)
(cherry picked from commit 50dc41cca2)
* vmware guidlines: adjust the location of cloud-config-vcenter.ini.template (#62970)
Update the location of the cloud-config-vcenter.ini.template template.
The file has been moved by: 2e7d36a3f9.
(cherry picked from commit 7ecfa4a471)
* Prefer https:// links in the docs site (#62939)
This is a follow-up of last year's 1a11cec. It deals with links which
at that point either were not present or did not support https://.
(cherry picked from commit c8315bfd60)
* fix minor typos (#62950)
(cherry picked from commit ad580a71c4)
* Modernize Vagrant documentation (#62923)
* By requiring a slightly newer Vagrant version (from 2015) we get the
same generated Ansible inventory format is still used by today's
version of Vagrant. That extended inventory format also has the
benefit of allowing for simpler Ansible examples.
* Switching to a current and supported Ubuntu LTS version.
(cherry picked from commit 0d79013f51)
* add ios/iosxr deprecated modules (#62908)
(cherry picked from commit 6bbd9c9eca)
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>
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>
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>
* 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
* Remove duplicate bundled provides line in the rpm spec file
* Remove jmespath and passlib on RHEL7 as these are optional dependencies
which aren't shipped with RHEL7
(cherry picked from commit 593d639)
Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
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>
* Improved docs on docker_swarm_service
Co-Authored-By: Piotr Wojciechowski <23406016+WojciechowskiPiotr@users.noreply.github.com>
Co-Authored-By: Felix Fontein <felix@fontein.de>
(cherry picked from commit d4064a965b)
* Update pip module docs (#62359)
* Clarifying pip module requirements in reference to #47361
* Further clarifying message with link to ansible_python_interpreter
(cherry picked from commit d3ec5ca80f)
* chore/doc-module: sts_assume_role.py (#62475)
Update `Example` section with with the correct module usage.
(cherry picked from commit a4a216640f)
* Improve dconf documentation to include conversion problems (#62316)
(cherry picked from commit 864928365e)
* Add examples for various inventory setups to the documentation (#62323)
* Updates docs/docsite/rst/user_guide/intro_inventory.rst, closes#12480.
* Use code-block and rename groups in inventory setup examples
* Fix group name in inventory setup example
Co-Authored-By: Sandra McCann <samccann@redhat.com>
(cherry picked from commit 7047b66d34)
* added networking porting guide info (#61999)
* Update docs/docsite/rst/porting_guides/porting_guide_2.9.rst
Co-Authored-By: Nathaniel Case <this.is@nathanielca.se>
(cherry picked from commit 6d35f9026f)
* [docs] split collections into user and dev guide sections (#62363)
(cherry picked from commit 7badeb6df0)
* fixed options (#62605)
(cherry picked from commit 170b4e63ff)
* ec2_vpc_subnet: Rename resource_tags > tags (#62663)
Most of the AWS module documentation refers to `tags` and not
`resource_tags`. This patch updates the documentation to match
other AWS module documentation. 😉
Signed-off-by: Major Hayden <major@redhat.com>
(cherry picked from commit cced1a3cd1)
* [Docs] Document the resource module builder (#62222)
(cherry picked from commit b17581a307)
* Fix link syntax and a typo in dev collections doc (#62650)
(cherry picked from commit 2969614c2c)
* hcloud_volume: clarify volume size units (#62771)
(cherry picked from commit 190b8fcd1c)
* ovirt_host update force doc (#62491)
(cherry picked from commit 3b2b418aad)
* update example document for zabbix_action module (#62667)
(cherry picked from commit 3299f29f7c)
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>
The `pids` module returns the list of the PID in a `pids` key.
This change ensures we correctly wait for the end of the previous mongod
instances before we start the next ones.
In addition, we remove an unnecessary `ignore_errors`.
See: #61938
Original PR: https://github.com/ansible/ansible/pull/62627
(cherry picked from commit cee55ab718)
* [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>
* 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)
Microsoft's DNS server uses GSS-TSIG to secure Dynamic DNS
updates. That is a Kerberos based form of TSIG neither supported by
the Ansible nsupdate module nor the underlying dnspython module.
Related to #57294 and #62238.
(cherry picked from commit 70a33c3140)
* 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>
* 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)
RPM builds on Fedora and RHEL create a python shebang line with -s
This is not good for ansible since ansible has a lot of optional
features which need extra dependencies installed. If the user installs
those extra dependencies to their home directory or to /usr/local then
the -s will keep them from being used.
(cherry picked from commit bebb11b)
Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
* 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)
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>
* 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>
* 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.
* Fix network_cli exec_command connection init
Fixes https://github.com/ansible/ansible/issues/61596
* If `exec_command` method is invoked from module side
on connection object to execute the command on target
host check if connection is created if not create the
connection.
* Fix review comment
(cherry picked from commit 74e4993628)
The os_keystone_endpoint module has two interface arguments -
'interface' for authentication, and 'endpoint_interface' for the
endpoint being registered. Currently the module documentation only
covers 'interface', when in fact it should cover 'endpoint_interface'
and pick up 'interface' from the standard OpenStack module parameter
documentation.
(cherry picked from commit 448a8c4e5f)
Avoid "no backward incompatible interface" term which uses a double
negation and replaces it with easier "backward compatible interface"
contruct.
(cherry picked from commit 179eb623d7)
* Add integration tests for ansible-doc.
* Enable tests that now pass
* Cleanup processing of plugin docs
* Mostly separate the steps of processing plugin docs
1) Acquire source data
2) Transform and calculate additonal data
3) Format data for output
4) Output data
format_plugin_doc() is still mixing transformation and formatting but
that should be fixed in a devel-only change
* Raise exceptions in _get_plugin_doc() on errors.
* Remove check to exclude on blacklisted extensions. We already request
only .py files
* If there is no DOCUMENTATION entry in the plugin, raise an exception
from _get_plugin_doc(). Everywhere we use _get_plugin_doc(), this is
treated as an error
* If there is no ANSIBLE_METADATA raise an exception as well as
displaying of docs assumes that this has been set.
* If there is neither DOCUMENTATION nor ANSIBLE_METADATA, warn about the
lack of METADATA and error on the lack of DOCUMENTATION. Lack of
DOCUMENTATION is more important so it is what the user should see.
* Add a few special cases for backwards compat. These should probably
be made errors in 2.10:
* no docs but has metadata shows no documentation rather than an error
* empty plugin file shows no doumentation rather than an error
* Simplify backwards compatibility logic.
(cherry picked from commit 3b86dc3e12)
* Fix ansible-doc traceback for removed modules.
This avoids tracebacks with errors like the following when a module has been removed:
module module_name missing documentation (or could not parse documentation): 'NoneType' object does not support item assignment
* Fix ansible-doc sanity test warning handling.
Warnings about removed modules/plugins on stderr are now properly ignored.
Previously an ansible-doc error could result in unrelated errors going undetected because tests were stopped early and the underlying error was ignored.
(cherry picked from commit 064e8e1ef4)
Co-authored-by: Matt Clay <matt@mystile.com>
* [stable-2.9] Fix "JSON object must be str, bytes or bytearray, not list" (#62350)
(cherry picked from commit 84d9b3e)
Co-authored-by: Nathaniel Case <ncase@redhat.com>
* Add changelog
* routeros_facts: fix for error when there's more than 10 interfaces (#61376)
* fix: proper regex for preprocessing routeros output
* test: regression test
* test: fix nondeterministic unit test
* changelog
* Commands tests (#62322)
* commands tests
* add space in order to delete it and tun shipable tests again
* delete space in order to run shipable tests again
(cherry picked from commit 47cf4e6565)
* changelog
Fixes#62319
Change `enable` option to `enabled` in junos_interfaces
and junos_lldp_interfaces
data model to be in sync with other network platform
resource modules added in 2.9 version.
(cherry picked from commit a9a5f4e40d)
This avoids displaying the credentials in CI when retrying tests at maximum verbosity.
(cherry picked from commit b73e7721df)
Co-authored-by: Matt Clay <matt@mystile.com>
The documentation links are now displayed when running from an install.
Previously the links were only displayed when running from source.
This was due to ansible-test checking for the presence of documentation files locally, which are only present when running from source.
The check is no longer necessary since there is a sanity test in place to enforce the presence of documentation for all sanity tests.
(cherry picked from commit 32d965e)
Co-authored-by: Matt Clay <matt@mystile.com>
Fixes#61978
* moar tests for get_url fetch behavior with existing file
* add changelog fragment
(cherry picked from commit 7d51cac)
Co-authored-by: Matt Martz <matt@sivel.net>
* Fix for junos cli_config replace option
* For device that support replace option by loading
configuration from a file on device `config` option
is not required and value of `replace` option is the
path of configuration file on device. This fix allows
invoking run() function in cli_config if `config` option
is None and `replace` option is not boolean
* The command to replace running config on junos device
is `load override <filename>` and not `load replace <filename>`
This is fixed in the junos cliconf plugin.
* Add integration test
(cherry picked from commit 200ed25648)
* VMware: Fix issue with order of changes in vmware_vcenter_statistics
* [WIP] VMware: Fix fragile sort order in vmware_vcenter_statistics (#62288)
* vmware_vcenter_statistics: Fix fragile sort order
* vmware_vcenter_statistics: Python 2.6 compatibility
(cherry picked from commit 3e4d5aeee3)
* remove choices from gather_network_resources facts and allow negating subset without needing to add a new subset specific for negation
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
* negated all, min should not return any fact
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit c1e02d5c7a)
* openssh_keypair: make sure public key has same permissions as private key (#61658)
* Make sure public key has same permissions as private key.
* Add changelog.
* Text, not binary.
(cherry picked from commit c19cea9b03)
* openssh_keypair file permissions/ownership: add porting guide entry (#62176)
* Add porting guide entry for 2.9.
(cherry picked from commit 0e72cbd451)
* In pika v1.0.0 BlockingChannel.is_closing was removed. Updating
plugin accordingly.
Ref: https://github.com/pika/pika/pull/1034
* Adding change fragment for is_closing bug.
* Updated change fragment description.
(cherry picked from commit 9b149917a6)
* Pika v1.0.0 and above were causing issues for publish_message. Updated
to ensure publish_message works with pika 0.13.1 and 1.0.0 and above.
* Adding changelog fragment for rabbitmq_publish fix.
* Updating return value.
(cherry picked from commit 1b2fd2cb5f)
* Always specify header of connection keep-alive regardless of python version.
* Add chgangelog fragment
* Fixes to changelog fragment
(cherry picked from commit 606e13919e)
The default behavior of the ansible-test vcenter plugin is to use the govcsim container to run tests.
However, unless the govcsim mode was specified using the VMWARE_TEST_PLATFORM environment variable, the filter code would skip the tests unless the tests ran on Shippable or the user had an ansible-core-ci key.
Now the filter correctly recognizes that govcsim is the default.
(cherry picked from commit cd4882e)
Co-authored-by: Matt Clay <matt@mystile.com>
* Fix location of unit test requirements.
* Preserve ansible-test unit test requirements.
* Remove redundant unit test requirements.
* Fix location of network test requirements.
* Preserve ansible-test network test requirements.
* Remove redundant network test requirements.
* Add missing ordereddict requirements.
* Load collection requirements correctly.
* Add changelog fragment.
(cherry picked from commit cdc4926)
Co-authored-by: Matt Clay <matt@mystile.com>
Add information and examples on how to use additional properties from a doc fragment
Add info about layering properties
(cherry picked from commit 9b348e690c)
(cherry picked from commit 5deb01c84d)
(cherry picked from commit 041c52d629)
* docs: Update apt_key.py, add requirements of gpg (#61552)
(cherry picked from commit 5d7d4a93c8)
* Proposals aren't really used much, delete reference from docs (#61800)
(cherry picked from commit 41055b5dc8)
* Update gitlab_hooks docs (#61837)
(cherry picked from commit 223dab99ea)
* Unify ios_logging and eos_logging documentation with accepted options (#61777)
(cherry picked from commit cc9adf7f1a)
* don't set default:None in documentation when there is no default (#61111), otherwise "None" will be rendered as a string on docsite
(cherry picked from commit 1aca1f86b6)
* Update mso_schema_template_deploy.py (#61849), correct module name in examples
(cherry picked from commit 394a05108d)
* Update hashi_vault.py documentation with kv V2 example (#61221)
(cherry picked from commit 70f501d5c8)
* [stable-2.9] Fix ansible-test pytest plugin loading. (#62119)
* Avoid assertion rewriting in pytest plugins.
Adding PYTEST_DONT_REWRITE to the ansible-test pytest plugin docstrings disables assertion rewriting in pytest for those plugins.
This avoids warnings during test execution if the plugins are loaded multiple times (such as being imported within tests).
* Run ansible-test pytest plugins early.
The ansible-test pytest plugins need to load and run earlier than conftest modules.
To facilitate this, the pytest_configure function is run during loading, which works since they are loaded (but not always run) before conftest modules are loaded.
A check has also been added to the pytest_configure functions to prevent them from running multiple times in the same process.
* Load pytest plugins using an env var.
The -p command line option loads plugins before conftest, but only during collection.
The PYTEST_PLUGINS environment variable loads plugins before confest, both during collection and test execution.
(cherry picked from commit aaa6d2e)
Co-authored-by: Matt Clay <matt@mystile.com>
* Add missing changelog entry for ansible-test fix.
PR https://github.com/ansible/ansible/pull/62119 was missing a changelog entry.
(cherry picked from commit 6c78f02121)
* bump hcloud version to 1.4.1
`hcloud`<=1.4.0 has requirement `requests==2.20.0`. This prevents the
installation of the Vcenter Automation SDK which depends on `requests>=2.22.0`.
`hcloud` 1.4.1 does not have the problem: 8bff356efb
Bumping the dependency will resolve the issue.
(cherry picked from commit 0f52b18)
Co-authored-by: Gonéri Le Bouder <goneri@lebouder.net>
* moved most ansible edits out of theme.css
* remove unnecessary edit to theme.css
* replace with upstream minified theme.css for 0.4.3
(cherry picked from commit de826b437d)
* meraki_organization - Add warning about organization deletion
The documentation is now more explicit about the ramifications of using `state: absent` in a task.
(cherry picked from commit 7d303e54f6)
* Add caution about handlers & import to Pitfalls on the playbooks_reuse page.
The fact that handlers lose their name: when using import_tasks:, while logical, is not intuitive and should be noted.
Co-Authored-By: Sandra McCann <samccann@redhat.com>
(cherry picked from commit 375eb9723a)
##### SUMMARY
Looks like the "parent_group" option in "keyed_groups" is a very recent feature that is not being documented.
This pull request just adds a simple example of the usage of this useful feature.
##### ISSUE TYPE
- Docs Pull Request
+label: docsite_pr
(cherry picked from commit 411b208147)
##### SUMMARY
Although there is an example showing that username is not required with personal access token, it will be nice to more clearly state in options description.
##### ISSUE TYPE
- Docs Pull Request
+label: docsite_pr
(cherry picked from commit 58acc8d082)
* [osx_default] We are looking for the "defaults" executable, not "osx_defaults"
* [osx_default] Add example for setting system wide default
(cherry picked from commit a09b89f567)
Creating a virtual environment using `venv` when running in a virtual environment created by `virtualenv` results in a copy of the original virtual environment instead of creation of a new one.
To work around this, `ansible-test` now identifies when it is running in a `virtualenv` created virtual environment and uses the real Python interpreter to create the `venv` virtual environment.
(cherry picked from commit a7bc11c)
Co-authored-by: Matt Clay <matt@mystile.com>
The `test/results/` directory for Ansible test output was already ignored when not using git.
When Ansible Collections were switched to `tests/output/` the ignore entry was previously overlooked.
(cherry picked from commit f110abb)
Co-authored-by: Matt Clay <matt@mystile.com>
* Fix ansible-test venv activation.
When using the ansible-test --venv option, an execv wrapper for each python interpreter is now used instead of a symbolic link.
* Fix ansible-test execv wrapper generation.
Use the currently running Python interpreter for the shebang in the execv wrapper instead of the selected interpreter.
This allows the wrapper to work when the selected interpreter is a script instead of a binary.
* Fix ansible-test sanity requirements install.
When running sanity tests on multiple Python versions, install requirements for all versions used instead of only the default version.
* Fix ansible-test --venv when installed.
When running ansible-test from an install, the --venv delegation option needs to make sure the ansible-test code is available in the created virtual environment.
Exposing system site packages does not work because the virtual environment may be for a different Python version than the one on which ansible-test is installed.
(cherry picked from commit c77ab11051)
Co-authored-by: Matt Clay <matt@mystile.com>
* Fixes to ecs_certificate cert chain for #61738
* Added changelog fragment
* Fixes to ecs_certificate for cleaner join, and better integration test
* Fix integration test formatting
* End cert chain with a \n
* Update changelogs/fragments/61738-ecs-certificate-invalid-chain.yaml
Co-Authored-By: Felix Fontein <felix@fontein.de>
* Update main.yml
(cherry picked from commit 943888b955)
This allows junos_config to changes the candidate configuration only and
does not commit it as the active configuration at once w/ the
'check_commit' option.
(cherry picked from commit 483e76ee58)
* Fix ansible-connection persist after playbook run issue
* PR https://github.com/ansible/ansible/pull/59153 to add support
for delaying the ansible-connection added an old issue of
ansible-connection persisting even after playbook run is finished
till either command timeout or connect timeout is triggered.
ansible-connection persist after playbook execution is done
and also delays the connection initilization untill a method
in invoked from module side on the connection object.
* Add chanegelog
(cherry picked from commit 4f29b5a76b)
Python < 2.7.9 does not have the ssl.SSLContext attribute.
ssl.SSLContext is only required when we want to validate the SSL
connection. If `validate_certs` is false, we don't initialize the
`ssl_context` variable.
Add unit-test coverage and a little refactoring:
- avoid the use of `mocker`, when we can push `monkeypatch` which is
`pytest`'s default.
- use `mock.Mocker()` when possible
closes: #57072
(cherry picked from commit 3ea8e0a144)
* fix erroneous failures in docker_compose due to deprecation warnings from docker (#60961)
* Update error handling to work with new method of capturing output
Co-Authored-By: Felix Fontein <felix@fontein.de>
* update error handling
* fix syntax error
* fix indentation
* fix indentation (again)
* remove erroneous line
(cherry picked from commit 0c73e47a42)
Needs to require ansible = version rather than ansible-version
(cherry picked from commit 59afffa)
Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
* [stable-2.9] aws_s3 - wait for the bucket before setting ACLs (#61735)
* Wait for the bucket to become available if possible before setting ACLs
(cherry picked from commit 91ccb03552)
Co-authored-by: Sloane Hertel <shertel@redhat.com>
* s3 - improve waiting for the bucket (#61802)
(cherry picked from commit ff05991265)
On OpenBSD, 13 asterisk characters as a password hash, marks the
account as disabled. Otherwise daily(8) script which executes
security(8) will email operator about not properly locked accounts.
Before the diff, we see following warning:
> [WARNING]: The input password appears not to have been hashed. The 'password' argument must be encrypted for this module to work properly.
After the diff, warning is gone.
(cherry picked from commit 1dea661ce8)
Co-authored-by: kucharskim <mikolaj@kucharski.name>
* Fix Decode Bug in Py3
(cherry picked from commit 87642ac93e3cd9d85147f205a0cfdf2d7f42b400)
* Update fortios.py
(cherry picked from commit 416bc3c0409e6098e701a9f944af5060e691f887)
* Remove special char from name
* Ensure full compatibility when ansible is install from Py2
* Update lib/ansible/plugins/httpapi/fortios.py
Co-Authored-By: Nathaniel Case <this.is@nathanielca.se>
(cherry picked from commit 7601b7fa0defeade4cad2b8e0edd73afcde8b395)
* Update lib/ansible/module_utils/network/fortios/fortios.py
Co-Authored-By: Nathaniel Case <this.is@nathanielca.se>
(cherry picked from commit e4f6a19cb4ddab65a2950ae9ea4371ea5045441a)
* Update lib/ansible/module_utils/network/fortios/fortios.py
Co-Authored-By: Nathaniel Case <this.is@nathanielca.se>
(cherry picked from commit ba1c2e4ea05a1541baab0549cd8643f617eaabde)
* Suggested changes by Qalthos
(cherry picked from commit ae4bde8500f2439f926cd05f83ba27b57792c30d)
* Suggested changes by Qalthos
(cherry picked from commit 63bea8e2a6c2c5c2ec659e21e1fb44e02002f466)
* Retriggerting due to shippable failure
* [stable-2.9] aws_codebuild tests - add retries and delay instead of a pause task (#61731)
- Add retries instead of a pause task
- Shorten the IAM role name length
- Put the IAM role name in defaults/main.yml instead
- Fix the aws_codepipeline tests too
(cherry picked from commit 9ee0deea24)
Co-authored-by: Sloane Hertel <shertel@redhat.com>
* codebuild/codepipeline - fix regex for shippable resource_prefix (#61783)
* Fix bad assumption about shippable resource_prefix for codebuild and codepipeline tests
* Update test/integration/targets/aws_codepipeline/defaults/main.yml
(cherry picked from commit d5c8d325e4)
- Generate an extra package for `ansible-test`.
- Manually install the files because CDBS get confused by our two
Python packages
- Refresh the package descriptions to match what is done with the RPM
(cherry picked from commit 3f9316b)
Co-authored-by: Gonéri Le Bouder <goneri@lebouder.net>
* Include ansible-test in a subpackage
* Sync with the ansible engine spec file
* Addresses https://github.com/ansible/ansible/issues/60380 to the
extent that we're likely to fix that.
(cherry picked from commit 9be8a98)
Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
* ansible-test - Contiune if the git command returns an error
* Just return stdout
* Use to_text() when displaying exception
* Add a message property to SubprocessError
(cherry picked from commit e218c98)
Co-authored-by: Sam Doran <sdoran@redhat.com>
* [stable-2.9] Fix ansible-test coverage path handling. (#61528)
* Fix ansible-test coverage path handling.
* Split CI unit tests into two groups.
(cherry picked from commit e4e5005640)
Co-authored-by: Matt Clay <matt@mystile.com>
* Add changelog fragment.
The `git submodule status` command is relative to the current git repository by default.
When running from a repository subdirectory paths can be returned above the current directory.
Specifying the current directory with `git submodule status` avoids listing submodules above that directory.
This will fix issues when testing a collection that is rooted below the repository root when that repository uses submodules.
(cherry picked from commit 4063d58339)
Co-authored-by: Matt Clay <matt@mystile.com>
* Azure fix _info/_facts return values for some modules
* Further test fixes
* securitygroup fixes after the move to _info module
(cherry picked from commit 951dac7691)
* Refactor galaxy collection API for v3 support (#61510)
* Refactor galaxy collection API for v3 support
* Added unit tests for GalaxyAPI and starting to fix other failures
* finalise tests
* more unit test fixes
(cherry picked from commit a7fd6e99d9)
* Added changelog fragment
- ce_dldp - tag named data of a xpath is unnecessay for old sotfware version to find a element from xml tree, but element can not be found with 'data' tag for new version, so remove.
- ce_dldp_interface - tag named data of a xpath is unnecessay for old sotfware version to find a element from xml tree, but element can not be found with 'data' tag for new version, so remove.
- ce_dldp - tag named data of a xpath is unnecessary for old software version to find a element from xml tree, but element can not be found with 'data' tag for new version, so remove.
- ce_dldp_interface - tag named data of a xpath is unnecessary for old software version to find a element from xml tree, but element can not be found with 'data' tag for new version, so remove.
- ce_vxlan_arp - override 'get_config' to show specific configuration.
- ce_vxlan_gateway - override 'get_config' to show specific configuration.
- ce_vxlan_global - Netwrok_cli and netconf should be not mixed together, otherwise something bad will happen. Function get_nc_config uses netconf and load_config uses network_cli.
- ce_vxlan_tunnel - Netwrok_cli and netconf should be not mixed together, otherwise something bad will happen. Function get_nc_config uses netconf and load_config uses network_cli.
- ce_vxlan_vap - tag named data of a xpath is unnecessay for old sotfware version to find a element from xml tree, but element can not be found with 'data' tag for new version, so remove.
- ce_vxlan_global - Network_cli and netconf should be not mixed together, otherwise something bad will happen. Function get_nc_config uses netconf and load_config uses network_cli.
- ce_vxlan_tunnel - Network_cli and netconf should be not mixed together, otherwise something bad will happen. Function get_nc_config uses netconf and load_config uses network_cli.
- ce_vxlan_vap - tag named data of a xpath is unnecessary for old software version to find a element from xml tree, but element can not be found with 'data' tag for new version, so remove.
- Fixed ce_bgp,first the pattern to be searched is need to change, otherwise there is no data to be found.then after running a task with this module,it will not show 'changed' correctly.
- Fixed ce_bgp_af,'changed' of module run restult is not showed, however the module run correctly,and update coommands of result is not correct.
- Fixed ce_bgp_af,'changed' of module run result is not showed, however the module runs correctly,and updates commands if result is not correct.
- Fixed ce_bgp_neighbor, find specify bgp as information, as number is necessary and so on.
- Fixed ce_bgp_neighbor_af,update commands should be showed correctly, and xml for filter and edit are also re-factor as the software version upgrade and update.
- zabbix_template - new parameter `dump_format` allows user to specify in which format (JSON or XML) should a template be exported from Zabbix
- zabbix_template - it is no longer accepted to provide parameters `template_name` and `template_groups` when using `template_json`
- zabbix_template - parameters `template_name`, `template_json` and `template_xml` are now mutually exclusive
- zabbix_template - parameter `template_groups` is now required when passing `template_name` and template is being created for the fisrt time. Not required when template is being updated.
- zabbix_template - parameter `template_groups` is now required when passing `template_name` and template is being created for the first time. Not required when template is being updated.
- zabbix_template - now allows import of multiple templates at once when using `template_json` or `template_xml` parameters
- zabbix_template - template can now be updated with just a `clear_templates` parameter without requiring any additional parameters to be passed (see examples of the module)
- CLI - the `ANSIBLE_PLAYBOOK_DIR` envvar or `playbook_dir` config can now substitute for the --playbook-dir arg on CLIs that support it (https://github.com/ansible/ansible/issues/59464)
- pulp_repo - the ``client_cert`` and ``client_key`` options were used for both requests to the Pulp instance and for the repo to sync with, resulting in errors when they were used. Use the new options ``feed_client_cert`` and ``feed_client_key`` for client certificates that should only be used for repo synchronisation, and not for communication with the Pulp instance. (https://github.com/ansible/ansible/issues/59513)
- cron and cronvar - use get_bin_path utility to locate the default crontab executable instead of the hardcoded /usr/bin/crontab. (https://github.com/ansible/ansible/pull/59765)
- ce_bgp - update to fix some bugs - When the vrf_name parameter is in the module and the configuration is repeatedly sent to the device, the module displays change = True. (https://github.com/ansible/ansible/pull/60573)
- ce_evpn_global - update to fix some bugs - Modify the configured query statement and replace get_config with exec_command. (https://github.com/ansible/ansible/pull/61013)
- ce_evpn_bgp - update to fix some bugs - Modify the configured query statement and replace get_config with exec_command. (https://github.com/ansible/ansible/pull/61136)
- ce_evpn_bgp_rr - update to fix some bugs - Modify the configured query statement and replace get_config with exec_command. (https://github.com/ansible/ansible/pull/61168)
- ce_netstream_export- update to fix some bugs - Modify the configured query statement and replace get_config with exec_command. (https://github.com/ansible/ansible/pull/61652)
- ce_netstream_aging- update to fix some bugs - Modify the configured query statement and replace get_config with exec_command. (https://github.com/ansible/ansible/pull/61653)
- ce_stp - update to fix some bugs - Modify the configured query statement and replace get_config with exec_command. (https://github.com/ansible/ansible/pull/61774)
- "iosxr_l3_interfaces - Fixes IOSXR L3 which was having idempotent issue raised in issue #61844, also adding a RTT for iosxr_l3_interfaces resource module"
- ce_vxlan_vap - update to fix some bugs - Modify the Operator Difference between Python 2 and Python 3. (https://github.com/ansible/ansible/pull/61996)
- this fix result in no more traceback on empty config when state is 'merged', 'replaced' or 'overridden'. (https://github.com/ansible/ansible/pull/62518).