Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix remove_orphans using APIs exposed via AnsibleDockerClient #54316

Merged
merged 10 commits into from
Mar 30, 2019

Conversation

sluther
Copy link
Contributor

@sluther sluther commented Mar 25, 2019

SUMMARY

fix remove_orphans by using the low-level API exposed by the AnsibleDockerClient to determine if there are any orphaned containers. If there are, result['changed'] is set to True. This causes self.project.up() to run, which successfully removes the orphan containers.

Fixes #26937

ISSUE TYPE
  • Bugfix Pull Request
COMPONENT NAME

docker_compose

ADDITIONAL INFORMATION

@sluther
Copy link
Contributor Author

sluther commented Mar 25, 2019

@ansibot ansibot added affects_2.8 This issue/PR affects Ansible v2.8 bug This issue/PR relates to a bug. cloud community_review In order to be merged, this PR must follow the community review workflow. docker module This issue/PR relates to a module. needs_triage Needs a first human triage before being processed. new_contributor This PR is the first contribution by a new community member. support:community This issue/PR relates to code supported by the Ansible community. labels Mar 25, 2019
@ansibot
Copy link
Contributor

ansibot commented Mar 25, 2019

The test ansible-test sanity --test pylint [explain] failed with 2 errors:

lib/ansible/modules/cloud/docker/docker_compose.py:731:0: trailing-whitespace Trailing whitespace
lib/ansible/modules/cloud/docker/docker_compose.py:738:0: trailing-whitespace Trailing whitespace

The test ansible-test sanity --test pep8 [explain] failed with 3 errors:

lib/ansible/modules/cloud/docker/docker_compose.py:731:1: W293 blank line contains whitespace
lib/ansible/modules/cloud/docker/docker_compose.py:738:1: W293 blank line contains whitespace
lib/ansible/modules/cloud/docker/docker_compose.py:741:15: E111 indentation is not a multiple of four

click here for bot help

@ansibot ansibot added ci_verified Changes made in this PR are causing tests to fail. needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR. and removed community_review In order to be merged, this PR must follow the community review workflow. labels Mar 25, 2019
@ansibot
Copy link
Contributor

ansibot commented Mar 25, 2019

The test ansible-test sanity --test pylint [explain] failed with 2 errors:

lib/ansible/modules/cloud/docker/docker_compose.py:731:0: trailing-whitespace Trailing whitespace
lib/ansible/modules/cloud/docker/docker_compose.py:742:0: trailing-whitespace Trailing whitespace

The test ansible-test sanity --test pep8 [explain] failed with 2 errors:

lib/ansible/modules/cloud/docker/docker_compose.py:731:1: W293 blank line contains whitespace
lib/ansible/modules/cloud/docker/docker_compose.py:742:1: W293 blank line contains whitespace

click here for bot help

@ansibot ansibot added community_review In order to be merged, this PR must follow the community review workflow. and removed ci_verified Changes made in this PR are causing tests to fail. needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR. labels Mar 25, 2019
@ansibot ansibot removed the needs_triage Needs a first human triage before being processed. label Mar 25, 2019
@ansibot
Copy link
Contributor

ansibot commented Mar 27, 2019

The test ansible-test sanity --test pep8 [explain] failed with 1 error:

lib/ansible/modules/cloud/docker/docker_compose.py:724:21: E128 continuation line under-indented for visual indent

click here for bot help

@ansibot ansibot added ci_verified Changes made in this PR are causing tests to fail. needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR. and removed community_review In order to be merged, this PR must follow the community review workflow. labels Mar 27, 2019
@felixfontein
Copy link
Contributor

If you install flake8 locally, it's easier to fix such problems (by running flake8 /path/to/docker_compose.py you can see the result in 1 sec instead of waiting for CI to execute and report it).

@sluther
Copy link
Contributor Author

sluther commented Mar 27, 2019

Thanks, I'll install that now.

@ansibot ansibot removed the ci_verified Changes made in this PR are causing tests to fail. label Mar 27, 2019
@ansibot ansibot added community_review In order to be merged, this PR must follow the community review workflow. and removed needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR. labels Mar 27, 2019
Copy link
Contributor

@felixfontein felixfontein left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shipit

@ansibot ansibot added automerge This PR was automatically merged by ansibot. shipit This PR is ready to be merged by Core and removed community_review In order to be merged, this PR must follow the community review workflow. labels Mar 30, 2019
@resmo
Copy link
Contributor

resmo commented Mar 30, 2019

bot_status

@felixfontein
Copy link
Contributor

@resmo the problem is that there are two authors (because we used the github suggestion feature) and not two commits, that's why automerge fails... (ansible/ansibullbot#1165)

@resmo
Copy link
Contributor

resmo commented Mar 30, 2019

I see... merging

@resmo resmo merged commit 5517b03 into ansible:devel Mar 30, 2019
@felixfontein
Copy link
Contributor

@sluther thanks a lot for working on this! It's good to see that docker_service/docker_compose finally gets some attention :)
@resmo thanks for merging!

felixfontein pushed a commit to felixfontein/ansible that referenced this pull request Apr 2, 2019
rowshi added a commit to rowshi/ansible that referenced this pull request Apr 2, 2019
* Add gluster_heal_facts module for Gluster storage. (#45997)

Fixes #45983

Signed-off-by: Devyani Kota <[email protected]>
Co-Authored-By: devyanikota <[email protected]>

* openssl_certificate: fix state=absent (#54298)

* Fix state=absent.

* Add changelog.

* Fix broken backup. (#54290)

* openssl_certificate, openssl_csr: refactoring / cleanup (#54287)

* Moving common cryptography-related code to module_utils/crypto.py.

* Fix typo / linting.

* openssl_*: proper mode support (#54085)

* Add write helper.

* Adjust modules (except openssl_certificate).

* Adding tests for mode (with openssl_privatekey).

* Add openssl_certificate support.

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

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

* Add changelog.

* Extend test.

* Add fw via panorama connectivity to panos connection (#52954)

* Add fw via panorama connectivity to panos connection

* updating panos connection as per review comments

* Fixing when 'provider' isn't specified, adding deprecation warning when classic provider params are used

* VMware: Tag various VMware objects (#54033)

* tag portgroups and dvs
* Add support for datacenter tagging
* Support for tagging clusters
* Hostsystem tag option
* pep recommendations
* Remove Vmware from VmwareDistributedSwitch object type
* Fix typos in example tasks of vmware_tag_manager

* Fix punctuation around issue reporting link (#54295)

Figure out how to format the release announcement so a link isn't
directly followed by a period which would hinder cutand paste but uses
proper grammar and punctuation.

* more 2.8 facts modules renamed to info (#54313)

* Fix for type error introduced by #51034 (#54333)

* Fix for type error

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

* Return dict directly to avoid failing key lookup

* Remove "legacy" code from PlayIterator (#53754)

* add suboptions in ovirt docs (#53934)

* add suboptions in doc_fragments/ovirt

* update ovirt doc fragment module docs

* add ovirt docs_fragment to BOTMETA.yml

* meraki_vlan - Document DHCP responses (#54142)

* Added documentation for new DHCP responses.

* Added the actual DHCP options documentation

* Add example of network agnostic modules in use (#53755)

* add network agnostic example
* added link to multiple prompts example
* verified network agnostic playbook
* improve use of when

* Add nxos_config sanity test (#54258)

* check aws inv plugin (#53435)

* Add the constructed config with legacy settings enabled to match the script

* Add interesting characters in tags and security group names

* add strict to config

* Add a stopped instance in inventory

* Create symlinks in the test

* Add reservation details to mock

* run script and plugin with a virtual env

* call the script with ansible-inventory

* Fix code coverage collection.

* VMware: Change in update tag API (#54304)

Changed update tag API as per new changes.

Fixes: #53060

Signed-off-by: Abhijeet Kasurde <[email protected]>

* openssl_dhparam: fix state=absent (#54296)

* Fix remove.

* Add changelog.

* Add response documentation. (#54276)

* add missing integration tests for postgresql_schema module (#54185)

* add missing integration tests for postgresql_schema module

* add missing integration tests for postgresql_schema module

* postgresql_schema: add CI test with function in module from #54237

* postgresql_schema: add CI test with function in module from #54237

* add DROP SCHEMA test with check_mode=yes #54185

* docker_container: add networks_cli_compatible option (#54198)

* Adding networks_cli_compatible option.

* Move network tests into own test file.

* Extend tests (for networks_cli_compatible=no).

* Adding tests for networks_cli_compatible=yes.

* There seems to be no way to create a container without at least one network attached.

* Integrate networks / purge_networks with comparisons.

* Speed up tests.

* Removing double dot.

* Add changelog.

* Use comparisons value only if the networks option has been specified. purge_networks on the other hand also removes networks if it has not been specified.

* fix AWS plugin credential precedence for environment variables (#52945)

* fix AWS plugin credential precedence for environment variables

* Allow aliases in direct plugins options

Consolidate precedence fix just in the doc fragment using aliases for mismatched options

* Access options with the option name rather than alias

* fix indentation

* update unit tests

* Improve readability

* Avoid erroring on host group confusion in keyed groups (#54099)

* added attribution to author (#54356)

* pip: add an example of an offline installation (#54327)

* pip: add an example of an offline installation

* remove whitespaces from blank lines

* cs_instance_facts: add a "nic" fact to return VM networking information (#54337)

* cs_instance_facts: add a "nic" fact to return detailed VM networking informations

* cs_instance_facts: typos in dco

* docker_swarm inventory: add aliases (#54355)

* Implement option type checking. Add support for aliases..

Add same aliases as for docker_* modules.

* Linting.

* Fix rabbitmq_publish integration test.

* Fix nuage_vspk integration test:

- Wait for API to be ready.
- Enumerate test cases on controller.

* Merge pull request #54367 from mattclay/fix-ping-test

Fix ping integration test to work with ssh.

* win_environment: remove uneeded required_by entry in spec (#54369)

* win basic - do not warn on case insensitive matches (#54371)

* porting guide - move win_dsc changes to proper section (#54372)

* Fixes #54139 Azure Container Instance ports should be associated with container (#54163)

* VMware: vmware_guest_snapshot: fix the syntax of the example (#54362)

* Fix netconf plugin dispatch response (#54326)

Fixes #53236

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

* VMware: Add check for custom attribute type before removal (#53632)

* Added host inventory option to zabbix_host_facts module (#54341)

* VMware: return facts depending upon backing type (#52638)

* Not all Backings are equal

The class used for the backing is not identical in all cases, and do not have the same properties/methods.
Following backings exists at the time of this writing:
vim.vm.device.VirtualDisk.FlatVer1BackingInfo
vim.vm.device.VirtualDisk.FlatVer2BackingInfo
vim.vm.device.VirtualDisk.LocalPMemBackingInfo
vim.vm.device.VirtualDisk.PartitionedRawDiskVer2BackingInfo
vim.vm.device.VirtualDisk.RawDiskMappingVer1BackingInfo
vim.vm.device.VirtualDisk.RawDiskVer2BackingInfo
vim.vm.device.VirtualDisk.SeSparseBackingInfo
vim.vm.device.VirtualDisk.SparseVer1BackingInfo
vim.vm.device.VirtualDisk.SparseVer2BackingInfo

* postgresql_facts -> postgresql_info (#54389)

* postgresql_facts -> postgresql_info

* postgresql_facts -> postgresql_info: fix comment

* Fixes #53277 (#53285)

* Fixes 53277

* Still fixes #53277 , now with dressed up except (PEP8 E722)

* Update inventory caching to remove deprecation warnings (#53976)

* docker_swarm inventory: fix tests, and make sure that they fail if no host is found (#54380)

* Fix tests, and make sure that they fail if no host is found.

* Fix interpreter.

* docker_swarm_service: Remove configs and secrets defaults (#54361)

* Remove defaults

* Skip redundant casting

* Indentation fix

* Use generic compare functions

* Add tests for compare functions

* Remove extra whitespace

* Add changelog fragment

* Fix bug in data returns for some queries used by facts module (#52832)

* Fix bug in data returns for some queries used by facts module

* Add additional query to return all servers (up to 5000)

* Fix key checking in rest_api

* ovirt: Require SDK v4.3.0 (#54385)

* New module to install images on Cisco FTD devices (#53467)

* Add ftd_install module

* Remove shebangs

* Avoid using enum package

* Update module docs

* Update ftd_install docs

* Update PropertyMock import

* Fixing unit tests

* Move get_system_info and FtdOperations to module_utils

* Update dependency name

* Move Kick assertion to module_utils

* Add a note about Python interpreter for this module

* Avoid WorkerProcess._new_stdin FD sharing (#51623) (#51624)

This avoids holding open _new_stdin within the parent process, where
subsequent WorkerProcess forks will duplicate it, producing significant
noise in the FD table of every worker.

Fix by overriding start() and moving the work to there, with a finally:
to ensure parent FD is closed after start().

* Fix bug when setting up a local vserver peer (#54257)

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b42886aebb4d2b2ab27c91c96d97858a.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b42886aebb4d2b2ab27c91c96d97858a.

* Revert "documentation changes"

This reverts commit 02c369d0414fdff492d90865c903bdade3174261.

* fix bug

* Revert "Revert "documentation changes""

This reverts commit 496b91bebe407b36ca2c98ba6215dfb04153c8d1.

* openssl_pkcs12: privatekey_path and friendly_name are not always required together (#54370)

* Removed required_together, updated tests

Since required_together: privatekey_path -> friendly_name, is not always
required it has been removed.
Updated openssl_pkcs12 integration tests to be in line with other
openssl_* modules, and added a test for export with no privatekey_path.

* linter fixes

* Removed cryptography from tests

* Added changelog fragment

* Removed non-necessary select_crypto_backend

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

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

* Add test for removal.

* Remove systems_uri as parameter from get_psu_inventory method (#54262)

* [Doc UFW] Precise proto when using multiple ports (#54288)

<!--- Your description here -->

+label: docsite_pr

* replace - fixed combined before and after usage (#31452)

When using before and after in combination, the opposite behavior was induced. This PR makes the the replacement happen between the specified patterns as intended.

* Added integration tests
* Add changelog, porting guide entry, and minor doc fixes

* rds_instance - Fixed CloudWatch logs export for existing RDS instances (#52989)

* Fix ec2_asg_facts so it doesn't fail when using templates instead of configurations (#53017)

* [ec2_group] fix mutating rules which result in the warning message 'Ran out of time waiting for sg-xxx' (#53374)

* Expose loop_control.loop_var as ansible_loop_var (#54240)

* Expose the loop_var as ansible_loop_var

* Add docs

* fix assert test

* Indicate version added

* [inventory_aws_conformance] fix the order of list variables created in config since it otherwise varies (#54365)

modify mock for boto to reflect the new fixed order for the config

* Expose timeout option to Redfish modules (#54130)

* added timeout option to Redfish modules

* Apply suggestions from code review

Removed 'required: false' and added 'type: int' to 'timeout' documentation string.

Co-Authored-By: billdodd <[email protected]>

* Bug fixes for GCP modules (#54382)

* fix issue in random_mac filter with short prefixes  (#53928)

* Fix failing test modules due to incorrect use of pytest.skip() (#54282)

* Use pytest.mark.skip instead of pytest.skip.

* Update author field and add type for all options in docs (#54350)

* Move interface management into delegate_to test.

* cs_volume: fix unit tests cleanup (#54397)

* Add hcloud_volume module (#53745)

* Allow using Azure rm legacy hostnames (#54060)

* Gitlab runner inventory plugin (#53897)

* openstack: add os module_defaults group (#54319)

* win_regedit - fix typo in HKU path selector

* selogin

original commit:
https://github.com/linux-system-roles/selinux/commit/8efa4cdde9a9cc2adaf487e96d9e93b7d7bcf8c6

update module to match current ansible standards

- update version_added
- fix sanity checks
- match docs to module definition of required and default values
  - explicit default of 's0' for selevel
  - no default for seuser or login
- rename serange->selevel, add alias
- add required imports
- add RETURN info (stolen from sister module)
- add author github handles
- remove star-import, name specific requirements
- handle import error similar to sister modules
- collapse exceptions
- remove IOError, alias for OSError
  - https://stackoverflow.com/questions/29347790/difference-between-ioerror-and-oserror
- drop 'required: false' as false is the default
- list dependencies as python-agnostic
- selogin does not support check_mode
- remove unused functions
- require seuser only if state=present

Co-authored-by: James Cassell <[email protected]>

* selogin: check_mode, ignore_selinux_state, tests

ignore_selinux_state based on #48945

* kubevirt: cleanup module docs (#54119)

* use ANSIBLE_ prefix on all ansible-defined env vars (#54272)

mark old version deprecated in all places referenced via docs

* rename dellemc_idrac_firmware -> idrac_firmware (#54421)

* no need to deprecate, added in 2.8

* [inventory_aws_conformance] use consistent sg order in script (#54423)

* [inventory_aws_conformance] Use consistent security group order for the script

* win_acl - fix support for registry paths (#54427)

* win_acl - remove test return values

* renaming facts to info (#54432)

(cherry picked from commit c5edffcdb8042f041eee41e2f11ccd2e4567e3ee)

* systemd: Allow standalone 'daemon_reexec' option without using 'name' (#54424)

* Fix aks failure (#54381)

* nxos_interfaces_ospf: fix passive-interface states & check_mode (#54260)

* nxos_interfaces_ospf: fix passive-interface states & check_mode

This fix addresses issues #41704 and #45343.

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

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

   \**See `router ospf` configuration.*

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

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

Code changes:

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

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

* Fixed `check_mode`.

Sanity verified on: N9K,N7K,N3K,N6K

* Fix doc header

* Unit tests for passive-interface

* doc fix #2

* Fix indent for SA

* Remove 'default' keyword, restore bool behavior

* remove changes to sanity

* Temporarily skip failing Docker tests on RHEL 7.6.

* hashi_vault: Use mount_point kwarg for ldap/userpass login (#54358)

Fixes: #54249

* Clean up remote setup script for tests. (#54433)

* Only update sshd_config for FreeBSD tests.
* Also skip service restart unless config changed.
* Only pip install virtualenv for macOS tests.
* Also add retries and disable pip version check.
* Fix indentation.
* Reduce noise during remote instance setup.
* Refactor and clean up pip install.
* Decrease verbosity of commands.
* Remove unnecessary package install.

* Update playbooks_conditionals.rst (#54438)

added missed verb for better readability

* XenServer: Minor changes to error messages (#54434)

Changed "." for "!" in some error messages to make error messages uniform across the code.

* Use virtualenv for filters and lookups tests.

* Check for existence of object attr login_handle (#53821)

* More GCP Utils Tests (#53568)

* navigate_hash tests

* remove_nones_from_dict tests

* replace_resource_dict tests

* Add new CloudStack module cs_physical_network (#54098)

* Add hcloud_location_facts module (#53848)

* Add hcloud_image_facts module (#53849)

* Add hcloud_server_facts module (#53850)

* Add hcloud_datacenter_facts module (#53851)

* Add hcloud_server_type_facts module (#53852)

* New lookup module: manifold (#50435)

* New lookup module: manifold

Add Manifold.co integration. The plugin fetches resource credentials
from Manifold service.

* module manifold: fix ansible lint warnings

* module manifold: fix false warning - split test assertion

* manifold module: fix unittest import

* manifold module: fix unittest patch

* manifold module: fix python3 requests getheader error

* Securize the index based lookup of dict.keys() (#54452)

* kubevirt_vm: Fix waiting for ephemral VM (#54453)

* Separate state from config, update ucspe link, ensure description idempotence (#54425)

* Separate state from config, update ucspe link

* Correct sanity errors

* Fix documentation link for emulator

* Fix ucspe link in documentation

* Exos httpapi (#54405)

* Modify EXOS module utils to utilize 'httpapi' or 'network-cli' connection

* Changes to cliconf plugin to support 'json' or 'text' output for compatibility between network-cli and httpapi

* Add HTTPAPI plugin supportng JSONRPC and RESTCONF for EXOS

* exos_facts modify commands with run script cli2json.py to command dictionary specifying 'json' output
Load appropriate fixtures

* Update exos_config module to utilize the get_diff and get_default_flag functionality.
JSONRPC doesn't work well with pipes, regex MULTILINE

* Support for NOS agnostic 'cli_config' module by implementing 'get_default_flag' and 'get_diff' functionality

* Update Ansible Documentation regarding the connections available for EXOS

* Added default openshift VM templates label (#54456)

* Lenovo cnos user module (#53763)

* Adding cnos_user module to Ansible

* Update cnos_user.py

* Adding Functional test cases and unit test cases.

* Fixing Bug found in testing with Lenovo Mars.

* Review comments incorporated

* Review comments implemented.

* Copy paste mistake

* Fix to allow Po interface descriptions (#51726)

* Fix to allow Po interface descriptions

* add absent to UNSUPPORTED_STATES for IF_TYPE_PO

* github_webhook: Fix create of new hook with existing hooks (#54458)

When creating a new webhook with existing hooks already in place, the
module would erroneously select one of the existing hooks to update
instead of creating the hook anew. This fixes that bug.

* bug fix (#54430)

* New Module na_elementsw_cluster_config (#52373)

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b42886aebb4d2b2ab27c91c96d97858a.

* New module

* fix author

* update copy right

* fixes

* Add support for multiple IPv6 addresses in nxos_l3_interface module (#50892)

* Add support for multiple IPv6 addresses in nxos_l3_interface module

Cisco support multiple IPv6 addresses on each interface but only the first
IPv6 is considered by this module. There is no impact on the configuration
but the module is not idempotent.

* Add internal support for IPv6 list
* Fix module idempotency

* Initialize tests for nxos_l3_interface

* Fix IPv4 removal idempotency
* Fix data extraction from nxos config

* Fix silently ignored interfaces in nxos_l3_interface

* Add warning when interface does not exist in nxos config

* Added a new module that can manage rules in pg_hba files. (#32666)

* Added a new module that can manage rules in pg_hba files.

* Adding a backup_file option

* Add Pure Storage FlashArray module to support Offload to NFS and S3 targets (#53664)

* meraki_network - Parameter change for combined network type (#49160)

* Added support for types parameter
- Parameter is used to specify multiple network types

* Fix documentation

* Apply suggestions from code review

Co-Authored-By: kbreit <[email protected]>

* Reworked type parameter to be a list so types isn't needed

* Re-add tags documentation

* Fix documentation around compatibility

* Convert tags to list from string

* Add changelog fragment

* qradar httpapi plugin (#52690)

* qradar httpapi plugin

Signed-off-by: Adam Miller <[email protected]>

* remove no longer used get_session_uid method

Signed-off-by: Adam Miller <[email protected]>

* To ipv6 network (#48572)

* Add to_ipv6_subnet function

* Use the correct function for subnet

* Corrected code style and tests

* Corrected testcase assertion

64 bits make 8 octets, or 4 hextets

* Import from correct module directly

* Fix .encode('hex') call for python3 (#53343)

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b42886aebb4d2b2ab27c91c96d97858a.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b42886aebb4d2b2ab27c91c96d97858a.

* documentation changes

* Revert "documentation changes"

This reverts commit 02c369d0414fdff492d90865c903bdade3174261.

* fix encode calls for python3

* fix small issue

* switch to to_text

* Fix string

* fixing gcp inv plugin (#54426)

* start fixing gcp inv plugin

* minor fixes

* added clog

* ajust comments

* link indv zone/project

* separate specific zone/project from other params

* restoring zones query per project

* also work when zones given

* fixed scopes, removed incorrect docs as not option

* ACI Private_Key String to Allow for Vaulting (#54251)

* Allows the use of Private_Keys to be entered as a string instead of just a file. Making it possible to use VAULT to encrypt the key

* Fixed Issues auto check found

* Provide helpful information while avoiding credential exposure

* Restore original variable name :-)

* Fix a few other things

* Influence the default certificate_name in both cases

* Update documentation

* Add contributed docs

* Fix CI issue

* Fix tests which assume `virtualenv` is available.

* Revert "Temporarily skip failing Docker tests on RHEL 7.6."

This reverts commit affde96fa8390cef23cfe1834992ec97e8dbea7b.

* Add clarification to insertbefore and insertafter paramaters in lineinfile (#54409)

* Fix virtualenv activation in tests.

* Fix service integration test python selection. (#54449)

* Fix service integration test python selection.
* Clean up source in ansible_test_service.
* Rename script to include in python tests.
* Make shebang templating sanity friendly.
* Fix checksum.
* Use realpath of python to avoid selinux issues.

* Fix example on address | ipsubnet(20) usage (#54388)

<!--- Your description here -->
`192.168.128.0/20` does not contain `192.168.144.5`, the correct subnet is `192.168.144.0/20` (which is what is rendered on my test template).
+label: docsite_pr

* win_optional_feature - support multiple feature in name (#54368)

* Make pip test work with versioned virtualenv. (#54483)

* restored configurabilty of scopes (#54485)

* Bugfix/52688 gcp compute missing image (#54468)

* adding (optionally) image information to inventory var
* add boot image mapping to gcp_compute instance data for all disk
image data in the configured zones

Signed-off-by: Adam Miller <[email protected]>

* common_return_values.rst: add missing closing parenthesis (#54487)

* Pin rabbitmq tests to pika < 1.0.0 to fix tests.

Tests are failing with the release of pika 1.0.0.

* Handle gracefully a bad module 'results' key (#53973)

* Handle gracefully a bad module 'results' key

  fixes #53962

* Improve ansible-test python interpreter selection. (#54445)

* Handle errors correctly in rhn_channel (#54194)

* Handle errors correctly in rhn_channel

* also fail if required info is not available

* Add workspace module for azure (#53731)

* add workspace

* add other properties

* add facts modules

* add test

* add doc

* fix lint

* fix lint

* rename the module

* fix docs

* Use locking for concurrent file access (#52567)

* Use locking for concurrent file access

This implements locking to be used for modules that are used for
concurrent file access, like lineinfile or known_hosts.

* Reinstate lock_timeout

This commit includes:
- New file locking infrastructure for modules
- Enable timeout tests
- Madifications to support concurrency with lineinfile

* Rebase, update changelog and tests

We need to specify ansible_python_interpreter to avoid running interpreter discovery and selecting the incorrect interpreter.

Remove the import of lock in known_hosts since it is not used.

* win_shell: Implement option 'profile', allowing the user to control p… (#54299)

* win_shell: Implement option 'profile', allowing the user to control powershell profile sourcing before running a command

* Set version_added to 2.8

* Make sure profile directory exists before writing profile file

* Changes to make tests immutable and align with ps args

* win_user_right - fix non json output issue (#54495)

* Catch all request timeouts for winrm connection (#54104)

* Catch all request timeouts for winrm connection

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

Improves on: #51744

Co-Authored-By: westphahl <[email protected]>

* Changelog for winrm error handling improvement

* Add a force_replace_host flag to win_domain_membership (#53542)

* Add a force_replace_host flag to win_domain_membership

Satisfies https://github.com/ansible/ansible/issues/53539

* Rework backticks

* Bump version_added

* Check for existence of current hostname as well; use LDAPFilter during search

* Rename $force_replace_host to $allow_existing_computer_account

* Added docs, porting guide and minor nit in code

* standardize TLS connection properties (#54315)

* openstack: standardize tls params

* tower: tower_verify_ssl->validate_certs

* docker: use standard tls config params

- cacert_path -> ca_cert
- cert_path -> client_cert
- key_path -> client_key
- tls_verify -> validate_certs

* k8s: standardize tls connection params

- verify_ssl -> validate_certs
- ssl_ca_cert -> ca_cert
- cert_file -> client_cert
- key_file -> client_key

* ingate: verify_ssl -> validate_certs

* manageiq: standardize tls params

- verify_ssl -> validate_certs
- ca_bundle_path -> ca_cert

* mysql: standardize tls params

- ssl_ca -> ca_cert
- ssl_cert -> client_cert
- ssl_key -> client_key

* nios: ssl_verify -> validate_certs

* postgresql: ssl_rootcert -> ca_cert

* rabbitmq: standardize tls params

- cacert -> ca_cert
- cert -> client_cert
- key -> client_key

* rackspace: verify_ssl -> validate_certs

* vca: verify_certs -> validate_certs

* kubevirt_cdi_upload: upload_host_verify_ssl -> upload_host_validate_certs

* lxd: standardize tls params

- key_file -> client_key
- cert_file -> client_cert

* get_certificate: ca_certs -> ca_cert

* get_certificate.py: clarify one or more certs in a file

Co-Authored-By: jamescassell <[email protected]>

* zabbix: tls_issuer -> ca_cert

* bigip_device_auth_ldap: standardize tls params

- ssl_check_peer -> validate_certs
- ssl_client_cert -> client_cert
- ssl_client_key -> client_key
- ssl_ca_cert -> ca_cert

* vdirect: vdirect_validate_certs -> validate_certs

* mqtt: standardize tls params

- ca_certs -> ca_cert
- certfile -> client_cert
- keyfile -> client_key

* pulp_repo: standardize tls params

remove `importer_ssl` prefix

* rhn_register: sslcacert -> ca_cert

* yum_repository: standardize tls params

The fix for yum_repository is not straightforward since this module is
only a thin wrapper for the underlying commands and config.  In this
case, we add the new values as aliases, keeping the old as primary,
only due to the internal structure of the module.

Aliases added:
- sslcacert -> ca_cert
- sslclientcert -> client_cert
- sslclientkey -> client_key
- sslverify -> validate_certs

* gitlab_hook: enable_ssl_verification -> hook_validate_certs

* Adjust arguments for docker_swarm inventory plugin.

* foreman callback: standardize tls params

- ssl_cert -> client_cert
- ssl_key -> client_key

* grafana_annotations: validate_grafana_certs -> validate_certs

* nrdp callback: validate_nrdp_certs -> validate_certs

* kubectl connection: standardize tls params

- kubectl_cert_file -> client_cert
- kubectl_key_file -> client_key
- kubectl_ssl_ca_cert -> ca_cert
- kubectl_verify_ssl -> validate_certs

* oc connection: standardize tls params

- oc_cert_file -> client_cert
- oc_key_file -> client_key
- oc_ssl_ca_cert -> ca_cert
- oc_verify_ssl -> validate_certs

* psrp connection: cert_trust_path -> ca_cert

TODO: cert_validation -> validate_certs (multi-valued vs bool)

* k8s inventory: standardize tls params

- cert_file -> client_cert
- key_file -> client_key
- ca_cert -> ca_cert
- verify_ssl -> validate_certs

* openshift inventory: standardize tls params

- cert_file -> client_cert
- key_file -> client_key
- ca_cert -> ca_cert
- verify_ssl -> validate_certs

* tower inventory: verify_ssl -> validate_certs

* hashi_vault lookup: cacert -> ca_cert

* k8s lookup: standardize tls params

- cert_file -> client_cert
- key_file -> client_key
- ca_cert -> ca_cert
- verify_ssl -> validate_certs

* laps_passord lookup: cacert_file -> ca_cert

* changelog for TLS parameter standardization

* add new module: azure_rm_rediscachefirewallrule (#53161)

* List azure resources under resource group in azure_rm_resourcegroup_facts (#54322)

* Fix OpenSSL tests on FreeBSD with Python 3.x.

* Lenovo cnos vrf (#54188)

* Adding module cnos_vrf to manage VRF Configurations.

* Update cnos_vrf.py

* Adding Functional Tests, Unit Tests and Bug Fixes.

* Fixing discrepancy in description against sample

* Review comments incorporated

* Review comments 2 Done

* Update basic.yaml

* Update test_cnos_vrf.py

* Review comments 3

* Include partioned tables (#54517)

Include partioned tables in ALL_IN_SCHEMA list.

* Stop using ca_certs alias. (#54507)

* Fix file path encoding bugs on Python 3.

* virt_net: idempotency of create/stop actions (#53276)

Currently, if we try to stop or start a network two time in a row, the
second call will fail. With this patch:

- we don't recreate a network, if it exists
- we only stop a network if it's active, and so we avoid an exception
  saying the network is not active

* test: mock libvirt

* add integration tests for virt_net

* test: enable virt_net test on RedHat 7 and 8

* ci: use the unsupported alias

* tests that require privileged mode are run in VM

* virt_net/create raise unexpected libvirt exception

* import mock from units.compat

* virt_net: do not call create() on "active" network

* virt_net func test: only clean up the libvirt packages

* test: virt_net: don't use assert_called()

* virt_net: add the destructive alias

* move the test in virt_net dir

* test/virt_net: clean up the network at the end

* VMware: properly format the Jinja2 of the vmware example (#54526)

* Revert "Use locking for concurrent file access (#52567)" (#54547)

This reverts commit e152b277cfc055a3b7bfdaa41db024168ca7a2a8.

* bug fix to na_ontap_interface (#54469)

* bug fix

* Update lib/ansible/modules/storage/netapp/na_ontap_interface.py

Co-Authored-By: carchi8py <[email protected]>

* Collection content loading (#52194)

* basic plugin loading working (with many hacks)

* task collections working

* play/block-level collection module/action working

* implement PEP302 loader

* implicit package support (no need for __init.py__ in collections)
* provides future options for secure loading of content that shouldn't execute inside controller (eg, actively ignore __init__.py on content/module paths)
* provide hook for synthetic collection setup (eg ansible.core pseudo-collection for specifying built-in plugins without legacy path, etc)

* synthetic package support

* ansible.core.plugins mapping works, others don't

* synthetic collections working for modules/actions

* fix direct-load legacy

* change base package name to ansible_collections

* note

* collection role loading

* expand paths from installed content root vars

* feature complete?

* rename ansible.core to ansible.builtin

* and various sanity fixes

* sanity tweaks

* unittest fixes

* less grabby error handler on has_plugin

* probably need to replace with a or harden callers

* fix win_ping test

* disable module test with explicit file extension; might be able to support in some scenarios, but can't see any other tests that verify that behavior...

* fix unicode conversion issues on py2

* attempt to keep things working-ish on py2.6

* python2.6 test fun round 2

* rename dirs/configs to "collections"

* add wrapper dir for content-adjacent

* fix pythoncheck to use localhost

* unicode tweaks, native/bytes string prefixing

* rename COLLECTION_PATHS to COLLECTIONS_PATHS

* switch to pathspec

* path handling cleanup

* change expensive `all` back to or chain

* unused import cleanup

* quotes tweak

* use wrapped iter/len in Jinja proxy

* var name expansion

* comment seemingly overcomplicated playbook_paths resolution

* drop unnecessary conditional nesting

* eliminate extraneous local

* zap superfluous validation function

* use slice for rolespec NS assembly

* misc naming/unicode fixes

* collection callback loader asks if valid FQ name instead of just '.'
* switch collection role resolution behavior to be internally `text` as much as possible

* misc fixmes

* to_native in exception constructor
* (slightly) detangle tuple accumulation mess in module_utils __init__ walker

* more misc fixmes

* tighten up action dispatch, add unqualified action test

* rename Collection mixin to CollectionSearch

* (attempt to) avoid potential confusion/conflict with builtin collections, etc

* stale fixmes

* tighten up pluginloader collections determination

* sanity test fixes

* ditch regex escape

* clarify comment

* update default collections paths config entry

* use PATH format instead of list

* skip integration tests on Python 2.6

ci_complete

* Update the `dest` return parameter in the 'result` dictionary in case that the 'dest' variable gets recomposed from the destination directory and the filename. (#53823)

That's a proposal to fix #53822.

* cs_service_offering: update params in arg spec and documentation (#54511)

* cs_service_offering: update params in arg spec and documentation

* fix documentation formatting error

* Add a new CloudStack module - cs_traffic_type (#54451)

* Add get_physical_network to AnsibleCloudStack

* Add new module cs_traffic_type

* Fix ovirt4.py inventory file for oVirt 4.3 (#54338)

ovirt4.py inventory file fails with oVirt 4.3 with the following error:
Traceback (most recent call last):
  File "inventory/ovirt", line 259, in <module>
    main()
  File "inventory/ovirt", line 250, in main
    vm_name=args.host,
  File "inventory/ovirt", line 209, in get_data
    vms[name] = get_dict_of_struct(connection, vm)
  File "inventory/ovirt", line 178, in get_dict_of_struct
    (stat.name, stat.values[0].datum) for stat in stats
  File "inventory/ovirt", line 178, in <genexpr>
    (stat.name, stat.values[0].datum) for stat in stats
IndexError: list index out of range

* Add IndicatorLED control commands to redfish_command module (#53752)

* Add Chassis commands IndicatorLedOn, IndicatorLedOff, and IndicatorLedBlink

* Add manage_indicator_led function to redfish_utils

* Add Chassis command category with IndicatorLedOn/Off/Blink commands to redfish_command

* Add IndicatorLedBlink example to EXAMPLES docstring, and make the category == 'Chassis' section more generic for future development

* cs_network_offering: add a for_vpc parameter (#54551)

* cs_network_offering: add for_vpc parameter

* add changelog fragment

* Support ansible-galaxy test on FreeBSD Python 3.x.

* Fix elasticache documentation of security_group_ids (#54522)

When creating an ElastiCache redis cluster/instance via this module using a list of security group names (i.e. "FooSG") with `security_group_ids`, the module will fail to create the redis cluster/instance.

When using the security group ID (i.e. "sg-XXXXXXXX"), the cluster is created successfully. Tested with Ansible v2.7.8.

+label: docsite_pr

* Fix git test on FreeBSD with Python 3.x. (#54560)

* Fix git test on FreeBSD with Python 3.x.

* Fix pull test on FreeBSD with Python 3.x. (#54565)

* Fix postgresql test on FreeBSD with Python 3.x.

* Fix xml test on FreeBSD with Python 3.x.

* Fix xml test version check.

* adds the ability to set pool member monitors to none (#54549)

* Add azure servicebus module (#51320)

* Test FreeBSD 12.0 with Python 3.x by default.

* Renaming inconsistent module name (#54513)

* Use correct python for -c invocations in tests. (#54577)

* Use correct python for -c invocations in tests.
* Only set releasever when available.

* cloudstack: streamline modules doc (part 5) (#54523)

* proper name for aks version facts (#54578)

* PS AddType - Add the ability to supply custom compile symbols for C# code (#54582)

* Add vgpu_placement to ovirt_host.py (#49718)

* doc fixes in resorce group (#54575)

* doc fixes in resorce group

* ltl fix

* Ovirt docs add suboption (#54586)

* ovirt_vm first section of suboption

* ovirt_vm sec section of suboption

* dont use suboption with lists

* ovirt auto migrate vm (#54542)

* ovirt auto migrate vm

* ovirt vm auto migrage only without host

* repair ovirt auto migrate vm

* Add Bitbucket Pipelines known host module (#54238)

* Add module to manage Bitbucket Pipelines "Known Hosts"

* Rename bitbucket_pipelines_known_host to bitbucket_pipeline_known_host

* Rename `hostname` module param to `name`

* Rename `public_key` module param to `key`

* Fix documentation `version_added` tag

* Remove suppression of deprecation warnings

* Added check availability of package `paramiko`

* Make `paramiko` package optional if `key` is present

* Apply suggestions from code review

Co-Authored-By: catcombo <[email protected]>

* Add error messages for invalid username or repository

* Add detection of public key type for key passed as parameter

* Restore Python 2 compatibility

* Fix error message wording

* Add Bitbucket access key module (#54592)

* Add Bitbucket access key module

* Add Bitbucket access key tests

* Remove superseded `bitbucket_deploy_key` module

* Apply suggestions from code review

* Add Bitbucket Pipelines SSH key pair module (#54241)

* Add module to manage Bitbucket Pipelines key pairs

* Rename module bitbucket_pipelines_ssh_key to bitbucket_pipeline_key_pair

* Update `version_added` documentation field

* Cosmetic changes

* Apply suggestions from code review

Co-Authored-By: catcombo <[email protected]>

* New module postgresql_membership: Add or remove PostgreSQL roles from groups (#53733)

* New module postgresql_membership: initial

* New module postgresql_membership: fixed sanity

* ACI: New aci_maintenance_policy module (#48368)

* create aci_maintenance_policy module

* added adminst for triggering upgrade

* fixed argument

* Various changes

* Capitalize

* upgrade to adminst, change bool default, ignoreCompat

* upgrade to adminst, change bool default, ignoreCompat

* Create untested task to enable a syslog server (#53125)

* meraki_device - Support for creating and modifying device notes (#51100)

* Add support for notes

* Add test for notes

* Device notes changes
- Renamed from notes to note
- Modified tests to work

* Comment device test since it only works once

* Remove assertion stanza and move assertion to existing one

* Add version_added to note documentation

* Converted from tabs to spaces

* Added changelog fragment

* Remove changelog file since it's a feature

* Add changelog fragment

* New module - meraki_static_route (#49271)

* Initial commit for static route module
- Create and query functionality in place today

* Enabled querying both all routes and single route

* Bug fixes and idempotency check
- Requires new idempotency code to validate, blocking on that

* Enabled test cases

* Documentation fixes

* Whitespace fix

* Major improvements based on Dag's commments
- Improved documentation and examples
- Fixed fixed IP assignments and reserved range parameters
- Improved integration tests
- Made check mode work

* Rename str to string in documentation

* Move back to str

* Fix indentation

* Fix documentation for example of fixed_ip_assignments
- Removed default=None for args

* Updating working groups links to community wiki (#54482)

Updating working groups links to community wiki and adding Working Groups wiki link (https://github.com/ansible/community/wiki#working-groups)
+label: docsite_pr

* Warn on incorrect use of parameter, and remove fix for now (#54336)

* Fix wrong example, remove strictness and fix tests

It was obvious that (because of an incorrect example) people were using
the **xml** module incorrectly, specifying the `attribute` parameter
where it was not supported (i.e. ignored).

While this functionality would have been useful, it currently returns as
if the information was requested from the parent, so we cannot simply
make it to what would be expected.

Therefor the real solution is to provide a warning when we find
incorrect use, and deprecate this use. Then later we could implement
this functionality correctly.

While troubleshooting this issue, I found that in some cases our
integration tests were not being run when we expected it.

This fixes #53459

* Change warning

* Fix weird sanity test error

* Add a comment to the deprecate-test

* cs_service_offering: Implement customizable compute offers (#54597)

* cs_physical_network: use name as param for network (#54602)

* document specifying openstack clouds path via env var (#54532)

* docs: Add example of anchor and aliases in playbook (#54079)

* docs: Add example of anchor and aliases in playbook

YAML supports anchors and aliases, add examples for explaining
this functionality with respect to Ansible playbook. Fix headers, fix 
local TOC, remove unused section on YAML tags and Python types.

* New module postgresql_table - create postgresql table on remote host (#52077)

* New module postgresql_table - create postgresql table on remote host

* New module postgresql_table - fix tests

* New module postgresql_table - fix tests

* New module postgresql_table - fix tests

* New module postgresql_table - fix a typo

* New module postgresql_table - change columns and params to type str

* New module postgresql_table - fix columns type

* New module postgresql_table - added pg_quote_identifier

* New module postgresql_table - removed unused lib

* New module postgresql_table - query -> queries

* New module postgresql_table - test improvement

* New module postgresql_table - fixed tests for PG 9.0

* New module postgresql_table - fixes

* New module postgresql_table - fixes

* fixes an issue with banner_text breaking idempotency (#54548)

* Add ca_cert to postgresql_membership docs.

* fixes an issue with removal of virtual disks on blades systems (#54546)

* Bug fixes for GCP modules (#54574)

* docker_swarm_service: Don't override docker-py secret/config defaults (#54611)

* Only supply specified config arguments

* Only supply specified secret arguments

* Remove invalid test alias.

* Enable adding VLAN IP ranges for Physical Networks (#54576)

* Enable ec2_transit_gateway test in CI. (#54619)

* Enable ec2_transit_gateway test in CI.

* Mark the test unstable.

The test sometimes attempts to delete the transit gateway while it
is in the pending state, which is not permitted.

* Correcting return types for subscriptions_confirmed and subscriptions_deleted. (#54624)

* openssl_* modules: private key errors (#54088)

* Improve error handling, in particular with respect to private key loading problems.

* Add tests to validate that modules regenerate invalid input and don't crash.

* Don't crash when input is invalid.

* Create 'better' broken input.

* Fix paths.

* Simplifying pyOpenSSL error handling.

* fix remove_orphans using APIs exposed via AnsibleDockerClient (#54316)

Co-Authored-By: sluther <[email protected]>

* openssl_*: add backup option (#54294)

* Fix typo in cryptography backend. (#54634)

* cloud: huawei: Add new module hwc_network_vpc (#54102)

* ec2_eip_facts - Add link to describe-address filters doc (#54609)

* ec2_eip_facts - Add link to describe-address filters doc

* ec2_eip_facts - Added U() for URL linking

Co-Authored-By: dthvt <[email protected]>

* Another typo: tested superset instead of subset (#54637)

* BIGIP: deprecates TMOS v11.x support for GTM modules (#54543)

* deprecates TMOS v11 support for GTM modules

* correct version

* correct version

* cloudstack: streamline modules doc (part 6) (#54641)

* Parameter types added
* Copyright format fixes
* Doc style fixes
* Examples format fixes
* validate-module errors fixes

* win_nssm: refactor to fix issues, support check mode and add more features (#45693)

* win_nssm: rename cmdlets to use approved verbs, rename service name parameters

* win_nssm: improve code style and cmdlets ordering

* win_nssm: always escape all command line parameters with Argv-ToString

fix error when the service name contains quotes

* win_nssm: use Fail-Json instead of exceptions and remove global try/catch

* win_nssm: small refactoring, inline some functions

* win_nssm: refactoring - add a generic cmdlet to idempotently set any nssm service parameter

* win_nssm: refactoring - inline some functions

To make the code more malleable for future changes

* win_nssm: change application, stdout_file and stderr_file options type to path

* win_nssm: deprecates app_parameters, rename app_parameters_free_form to arguments, and add support for list of parameters

* win_nssm: add support of check mode

* win_nssm: add working_directory option

* win_nssm: add display_name and description options

* win_nssm: minor changes

* win_nssm: remove some sanity exclusions

* win_nssm: avoid using aliases and minor style fixes

* win_nssm: doc and ui improvements

* win_nssm: remove sanity exclusions

* win_nssm: minor revision

* win_nssm: deprecates dependencies, start_mode, user and password parameters and some choices of state in favor of win_service

* win_nssm: fix style

* win_nssm: add executable option to specify the location of the NSSM utility

* win_nssm: add missing parameter types

* win_nssm: add diff mode support

* win_nssm: avoid displaying depreciation warning if default value is assigned

* win_nssm: fix variable scope

* win_nssm: use the explicit -LiteralPath parameter name instead of -Path

* win_nssm: fix documentation

* win_nssm: add porting guide entries

* win_nssm: add changelog fragment

* Add new windows module: win_hosts (#46450)

* Add win_hosts module

added win_hosts module for easier manipulation of hosts entries in "%windir%\system32\drivers\etc\hosts" for windows systems

* Update win_hosts.py

* Add alias support to win_hosts module (#1)

* win_hosts supports aliases

added support for adding / removing aliases from a host entry, rather than adding a new entry

added ability for win_hosts to detect aliases:
`192.168.1.1 alias1 alias2 alias3`
```
win_hosts:
  host_name: alias2
  ip_address: 192.168.1.1
```
will result in `192.168.1.1 alias1 alias3`

also includes `replace` and `add` as options for `ip_action` (`replace` is default)

for example:
```
192.168.1.1 my_reused_alias
192.168.1.2 my_reused_alias
```
with
```
win_hosts:
  host_name: my_reused_alias
  ip_address: 192.168.1.3
  ip_action: add
```
the result will be
```
192.168.1.1 my_reused_alias
192.168.1.2 my_reused_alias
```
but with `ip_action=replace` the result would be
```
192.168.1.3 my_reused_alias
```

* fixed metadata version and version added

* fix line endings

* upload fixed line endings

try to upload the file with the fixed line endings

* aliases and canonical names are separate entities. added IPv4 and IPv6 validation

* only makes changes if "check_mode" is false

* improved behavior for duplicate aliases/entries.

* adding tests

* missing aliases file

* fix trailing whitespace and uses explicit paths

* Tweak tests to copy and restore original hosts file

* docker_swarm: Add support for default_addr_pool and subnet_size (#54642)

* Add support for default_addr_pool and subnet_size

* Add changelog fragment

* Document options only used on init / join

* cloudstack: fix E326 (#54657)

* cloudstack: remove choice list for hypervisor param

* cloudstack: streamline network_type with returned value by the API

* cloudstack: remove E326

* add changelog fragment

* azure_rm_managed_disk additional disk types (#54644)

* Rename inconsistent azure_rm_virtualmachine_scaleset modules (#54579)

@yungezz yes, i remember. pls keep in mind that they are not broken

* add azure_rm_rediscache reboot/regenerate key (#54572)

* Fix for function app settings (#54662)

* support application security group in network security group (#54584)

* Ovirt add docs suboptions (#54639)

* ovirt disks suboptions

* ovirt_network add docs suboptions

* ovirt_network add suboptions types

* add another ovirt docs suboptions

* ovirt cluster correct description

* finish ovirt_vm suboptions docs

* Support to create VM from template (#54222)

* Remove check for commercial types in scaleway_compute (#54535)

* Add hcloud_floating_ip_facts module (#54667)

* openssl_certificate: fix ACME provider (#54656)

* Change default of acme_chain to no.

* Stop using string command lines.

* Add changelog.

* Fix changelog.

* openssh_cert: add serial_number param (#54653)

* [openssh_cert] cleanup the returned certificate info

- Drop the certificate path - it is already present in rc.filename.
- Drop the leading whitespace for all lines.

Signed-off-by: Jakob Ackermann <[email protected]>

* [openssh_cert] add support for a certificate serial number

Signed-off-by: Jakob Ackermann <[email protected]>

* [openssh_cert] fix lint error

Signed-off-by: Jakob Ackermann <[email protected]>

* [openssh_cert] drop explicit default value

Signed-off-by: Jakob Ackermann <[email protected]>

* [openssh_cert] enforce the specified or missing serial number

Signed-off-by: Jakob Ackermann <[email protected]>

* [openssh_cert] passing no explicit serial number ignores any present one

Signed-off-by: Jakob Ackermann <[email protected]>

* docker_swarm: Return UnlockKey (#54490)

* Return UnlockKey

* Add changelog fragment

* Add method to check if a parameter exists in diffs

* Add method to get swarm unlock key

* Add option unlock_key

* Only return unlock key when created or changed

* Rename difference check

* Extend unlock key example

* Assert that unlock_key is a string

* Fix docker_swarm_info authors

* Don’t silence APIErrors

* Test unlock_key on unlocked swarm

* Catch APIError when retrieving unlock key

* Better return value description

* Lint

* Fix UnlockKey return value documentation

Co-Authored-By: hannseman <[email protected]>

* Get unlock key safely

Co-Authored-By: hannseman <[email protected]>

* Return None on empty UnlockKey

* Assert swarm_unlock_key is undefined if unqueried

* Add documentation about swarm_info unlock_key

* Add change log fragment for unlock_key option

* Revert "Add change log fragment for unlock_key option"

This reverts commit e3cb2325b552e5d14cc3f42b33a86bf3ee84d3b9.

* Use generator expression instead

* Restart docker more decisively

* Use systemctl kill

Co-Authored-By: hannseman <[email protected]>

* Try to restart docker daemon

* add ovirt template clone name (#54596)

* add ovirt template clone name

* ovirt template clone name update docs

* Add latest updates from FTD Ansible downstream repository. (#53638)

* Add latest updates from FTD Ansible downstream repository.
 - add a better implementation of the upsert operation;
 - add API version lookup functionality;
 - add filter which remove duplicated references from the list of references;
 - fix minor bugs.

* fix issues outlined by ansibot

* fix argument name for _check_enum_method

* postgresql_lang module: fixed doc formatting, added aliases, pg_utils, added missing CI tests (#54672)

* postgresql_lang: fixed doc

* postgresql_lang: add pg_utils

* postgresql_lang: added return value - queries

* postgresql_lang: added CI tests

* postgresql_lang: restricted CI using CentOS

* postgresql_lang: fixed typos in CI comments

* kubevirt_vm: rename parameters to template_parameters (#54676)

* pamd: fix idempotence issue when removing rules (#54105)

* na_elementsw_cluster was using wrong username/password (#54622)

* Bug fix

* Bug fix

* Multiple fixs for na_ontap_user (#54610)

* Fix ontap user for 9.1

* fix bugs:

* update unit tests

* ovirt add template version (#54675)

* Add hcloud_volume_facts (#54666)

* Add hcloud_volume_facts

* Fix server name

* cs_vlan_ip_range: Update return values documentation (#54677)

* cs_vlan_ip_range: Update return values documentation

* add missing start/end_ipv6 return values to the doc

* Fix error with get_manager_nic_inventory method (#54553)

* Fix error with get_manager_nic_inventory function

- Function was not updated when code to handle multiple systems was added

* More elegant way to put self.manager_uri in a list

* Add ssh key facts for hcloud (#54518)

* Add ssh_key facts

* Fix documentation

* Add new Redfish facts module to handle Dell-specific OEM extensions (#54360)

* Add new Redfish facts module to handle Dell-specific OEM extensions

- Extends the existing RedfishUtils class and leverages its methods

* Add timeout parameter

* Removed version_added for timeout paramater

* Add new Redfish config module to handle Dell-specific OEM extensions (#54359)

* Add new Redfish config modules to handle Dell-specific OEM extensions

- Extends the existing RedfishUtils class and leverages its methods

* Removed extra password key

* Add timeout parameter

* Updates to DOCUMENTATION section

- Removed version_added from several parameters
- Added type to category parameter

* Clarify source of the host name (#54693)

The host could have been either the inventory name (`inventory_hostname`)
or the discovered hostname (`ansible_hostname`)

Inspecting the source code of `fetch.py` shows that the
inventory name is preferred.

```
if 'inventory_hostname' in task_vars:
                    target_name = task_vars['inventory_hostname']
```

* win_credential - fix encoding for text based secrets (#54695)

* win_credential - fix encoding for text based secrets

* Fix py2 encoding issues

* Remove redundant requirements from test.

* more doc improvements (#54649)

* vultr: fix missing encoding header (#54696)

* botmeta: add huawei team (#54651)

* Add maintainer for docker_compose. (#54703)

* ovirt_disk: Support Hosted Engine content types (#54328)

Signed-off-by: Tal Nisan <[email protected]>
abadger pushed a commit that referenced this pull request Apr 4, 2019
@ansible ansible locked and limited conversation to collaborators Jul 25, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
affects_2.8 This issue/PR affects Ansible v2.8 automerge This PR was automatically merged by ansibot. bug This issue/PR relates to a bug. cloud docker module This issue/PR relates to a module. new_contributor This PR is the first contribution by a new community member. shipit This PR is ready to be merged by Core support:community This issue/PR relates to code supported by the Ansible community.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

remove_orphans with docker_service module
4 participants