From 0c81145fd350001f74264a2a9f91b07c017ae8e9 Mon Sep 17 00:00:00 2001 From: Sandra McCann Date: Thu, 20 Sep 2018 15:10:39 -0400 Subject: [PATCH] [WIP] Backport/2.7/second batch (#45927) * Update influxdb_database.py (#39984) (cherry picked from commit 049a4620581672a7b6adc0b9d2faf5f7c369357c) * Link to the Galaxy platforms list from the meta file template (#34046) (cherry picked from commit fa18d45eb37949a5bac17bf7d3870f9e34bfb798) * fix gce_backend_service examples for healthchecks (#31134) (cherry picked from commit e26d758d6fe960b7728895f754935c0b47a720f0) * Clarify the creates and removes options (#45485) (cherry picked from commit bf90a44468a1a952eb948dd6c101b7331e34789f) * lineinfile note belongs in changelog for 2.6, not 2.7 (#45517) (cherry picked from commit 228fee4f3abb1f131bfc063fd37e58fb3661606c) * Update keycloak_client.py (#43547) (cherry picked from commit cb460dee74f20d2684a2352c20c88c4f97e22c84) * The keyword 'cloud' has been deprecated in favor of the 'profile' keyword by os-client-config. (#31389) (cherry picked from commit 17ca0a9bd9d025a99f733af522c5881f8201fdcd) * Clarified documentation for the unsafe_writes option (#27471) (cherry picked from commit dd5d191d7a6985ff068ee458d6dd56c46273e6f8) --- contrib/inventory/openstack.yml | 2 +- .../docsite/rst/porting_guides/porting_guide_2.6.rst | 7 +++++-- .../docsite/rst/porting_guides/porting_guide_2.7.rst | 6 ------ lib/ansible/galaxy/data/container/meta/main.yml.j2 | 5 ++++- lib/ansible/galaxy/data/default/meta/main.yml.j2 | 5 ++++- .../modules/cloud/google/gcp_backend_service.py | 4 ++-- lib/ansible/modules/commands/command.py | 4 ++-- .../modules/database/influxdb/influxdb_database.py | 2 +- .../modules/identity/keycloak/keycloak_client.py | 4 ++++ lib/ansible/utils/module_docs_fragments/files.py | 12 +++++++----- test/sanity/validate-modules/ignore.txt | 1 - .../cli/test_data/role_skeleton/meta/main.yml.j2 | 5 ++++- 12 files changed, 34 insertions(+), 23 deletions(-) diff --git a/contrib/inventory/openstack.yml b/contrib/inventory/openstack.yml index 8d0cb291b44587..8053fb8fdaeb58 100644 --- a/contrib/inventory/openstack.yml +++ b/contrib/inventory/openstack.yml @@ -6,7 +6,7 @@ clouds: username: fb886a9b-c37b-442a-9be3-964bed961e04 password: fantastic-password1 rax: - cloud: rackspace + profile: rackspace auth: username: example password: spectacular-password diff --git a/docs/docsite/rst/porting_guides/porting_guide_2.6.rst b/docs/docsite/rst/porting_guides/porting_guide_2.6.rst index 7315697f195d13..d585c00491fb8f 100644 --- a/docs/docsite/rst/porting_guides/porting_guide_2.6.rst +++ b/docs/docsite/rst/porting_guides/porting_guide_2.6.rst @@ -27,8 +27,7 @@ Deprecated Modules ======= -Major changes in popular modules are detailed here - +Major changes in popular modules are detailed here: Modules removed @@ -74,6 +73,10 @@ Noteworthy module changes * The ``k8s`` module will not automatically change ``Project`` creation requests into ``ProjectRequest`` creation requests as the ``openshift_raw`` module did. You must now specify the ``ProjectRequest`` kind explicitly. * The ``k8s`` module will not automatically remove secrets from the Ansible return values (and by extension the log). In order to prevent secret values in a task from being logged, specify the ``no_log`` parameter on the task block. * The ``k8s_scale`` module now supports scalable OpenShift objects, such as ``DeploymentConfig``. +* The ``lineinfile`` module was changed to show a warning when using an empty string as a regexp. + Since an empty regexp matches every line in a file, it will replace the last line in a file rather + than inserting. If this is the desired behavior, use ``'^'`` which will match every line and + will not trigger the warning. * Openstack modules are no longer using ``shade`` library. Instead ``openstacksdk`` is used. Since ``openstacksdk`` should be already present as a dependency to ``shade`` no additional actions are required. Plugins diff --git a/docs/docsite/rst/porting_guides/porting_guide_2.7.rst b/docs/docsite/rst/porting_guides/porting_guide_2.7.rst index b0077785d41ca4..00438b0db1f9c1 100644 --- a/docs/docsite/rst/porting_guides/porting_guide_2.7.rst +++ b/docs/docsite/rst/porting_guides/porting_guide_2.7.rst @@ -145,12 +145,6 @@ Major changes in popular modules are detailed here :ref:`DEFAULT_SYSLOG_FACILITY`. If you have :ref:`DEFAULT_SYSLOG_FACILITY` configured, the location of remote logs on systems which use journald may change. -* The ``lineinfile`` module was changed to show a warning when using an empty string as a regexp. - Since an empty regexp matches every line in a file, it will replace the last line in a file rather - than inserting. If this is the desired behavior, use ``'^'`` which will match every line and - will not trigger the warning. - - Modules removed --------------- diff --git a/lib/ansible/galaxy/data/container/meta/main.yml.j2 b/lib/ansible/galaxy/data/container/meta/main.yml.j2 index 62de8b69d636bd..7ac7d89bb3be1b 100644 --- a/lib/ansible/galaxy/data/container/meta/main.yml.j2 +++ b/lib/ansible/galaxy/data/container/meta/main.yml.j2 @@ -30,7 +30,10 @@ galaxy_info: #github_branch: # - # platforms is a list of platforms, and each platform has a name and a list of versions. + # Provide a list of supported platforms, and for each platform a list of versions. + # If you don't wish to enumerate all versions for a particular platform, use 'all'. + # To view available platforms and versions (or releases), visit: + # https://galaxy.ansible.com/api/v1/platforms/ # # platforms: # - name: Fedora diff --git a/lib/ansible/galaxy/data/default/meta/main.yml.j2 b/lib/ansible/galaxy/data/default/meta/main.yml.j2 index a4896f6c5df47f..f8fb848398ccfc 100644 --- a/lib/ansible/galaxy/data/default/meta/main.yml.j2 +++ b/lib/ansible/galaxy/data/default/meta/main.yml.j2 @@ -30,7 +30,10 @@ galaxy_info: #github_branch: # - # platforms is a list of platforms, and each platform has a name and a list of versions. + # Provide a list of supported platforms, and for each platform a list of versions. + # If you don't wish to enumerate all versions for a particular platform, use 'all'. + # To view available platforms and versions (or releases), visit: + # https://galaxy.ansible.com/api/v1/platforms/ # # platforms: # - name: Fedora diff --git a/lib/ansible/modules/cloud/google/gcp_backend_service.py b/lib/ansible/modules/cloud/google/gcp_backend_service.py index eede3793eee77f..3c681514f62bde 100644 --- a/lib/ansible/modules/cloud/google/gcp_backend_service.py +++ b/lib/ansible/modules/cloud/google/gcp_backend_service.py @@ -86,7 +86,7 @@ backends: - instance_group: managed_instance_group_1 healthchecks: - - name: healthcheck_name_for_backend_service + - healthcheck_name_for_backend_service port_name: myhttpport state: present @@ -104,7 +104,7 @@ max_utilization: 0.5 max_rate: 4 healthchecks: - - name: healthcheck_name_for_backend_service + - healthcheck_name_for_backend_service port_name: myhttpport state: present timeout: 60 diff --git a/lib/ansible/modules/commands/command.py b/lib/ansible/modules/commands/command.py index 28bd4a59aea5be..7f4a73d63027c9 100644 --- a/lib/ansible/modules/commands/command.py +++ b/lib/ansible/modules/commands/command.py @@ -39,10 +39,10 @@ version_added: "2.6" creates: description: - - A filename or (since 2.0) glob pattern, when it already exists, this step will B(not) be run. + - A filename or (since 2.0) glob pattern. If it already exists, this step B(won't) be run. removes: description: - - A filename or (since 2.0) glob pattern, when it does not exist, this step will B(not) be run. + - A filename or (since 2.0) glob pattern. If it already exists, this step B(will) be run. version_added: "0.8" chdir: description: diff --git a/lib/ansible/modules/database/influxdb/influxdb_database.py b/lib/ansible/modules/database/influxdb/influxdb_database.py index 8f913806ce723c..8aea65a2a7b71d 100644 --- a/lib/ansible/modules/database/influxdb/influxdb_database.py +++ b/lib/ansible/modules/database/influxdb/influxdb_database.py @@ -22,7 +22,7 @@ author: "Kamil Szczygiel (@kamsz)" requirements: - "python >= 2.6" - - "influxdb >= 0.9" + - "influxdb >= 0.9 & <= 1.2.4" - requests options: database_name: diff --git a/lib/ansible/modules/identity/keycloak/keycloak_client.py b/lib/ansible/modules/identity/keycloak/keycloak_client.py index f6e0fc7658b55a..1ea9b6948c8edc 100644 --- a/lib/ansible/modules/identity/keycloak/keycloak_client.py +++ b/lib/ansible/modules/identity/keycloak/keycloak_client.py @@ -45,6 +45,10 @@ choices: ['present', 'absent'] default: 'present' + realm: + description: + - The realm to create the client in. + client_id: description: - Client id of client to be worked on. This is usually an alphanumeric name chosen by diff --git a/lib/ansible/utils/module_docs_fragments/files.py b/lib/ansible/utils/module_docs_fragments/files.py index 4e95120f691dbe..b18c86b9a6993b 100644 --- a/lib/ansible/utils/module_docs_fragments/files.py +++ b/lib/ansible/utils/module_docs_fragments/files.py @@ -57,11 +57,13 @@ class ModuleDocFragment(object): default: "s0" unsafe_writes: description: - - Normally this module uses atomic operations to prevent data corruption or inconsistent reads from the target files, - sometimes systems are configured or just broken in ways that prevent this. One example are docker mounted files, - they cannot be updated atomically and can only be done in an unsafe manner. - - This boolean option allows ansible to fall back to unsafe methods of updating files for those cases in which you do - not have any other choice. Be aware that this is subject to race conditions and can lead to data corruption. + - By default this module uses atomic operations to prevent data + corruption or inconsistent reads from the target files, + but sometimes systems are configured or just broken in ways that prevent this. One example is docker mounted files, + which cannot be updated atomically from inside the container and can only be written in an unsafe manner. + - This option allows Ansible to fall back to unsafe methods of + updating files when atomic operations fail (however, it doesn't force Ansible to perform unsafe writes). + IMPORTANT! Unsafe writes are subject to race conditions and can lead to data corruption. type: bool default: 'no' version_added: "2.2" diff --git a/test/sanity/validate-modules/ignore.txt b/test/sanity/validate-modules/ignore.txt index 092d17d6b58248..005b2576f8bad6 100644 --- a/test/sanity/validate-modules/ignore.txt +++ b/test/sanity/validate-modules/ignore.txt @@ -578,7 +578,6 @@ lib/ansible/modules/files/synchronize.py E325 lib/ansible/modules/files/synchronize.py E327 lib/ansible/modules/files/unarchive.py E323 lib/ansible/modules/identity/cyberark/cyberark_user.py E324 -lib/ansible/modules/identity/keycloak/keycloak_client.py E322 lib/ansible/modules/identity/keycloak/keycloak_client.py E324 lib/ansible/modules/identity/keycloak/keycloak_client.py E325 lib/ansible/modules/identity/keycloak/keycloak_clienttemplate.py E324 diff --git a/test/units/cli/test_data/role_skeleton/meta/main.yml.j2 b/test/units/cli/test_data/role_skeleton/meta/main.yml.j2 index 12a63444a940c0..c3e9bd46e40192 100644 --- a/test/units/cli/test_data/role_skeleton/meta/main.yml.j2 +++ b/test/units/cli/test_data/role_skeleton/meta/main.yml.j2 @@ -27,7 +27,10 @@ galaxy_info: #github_branch: # - # platforms is a list of platforms, and each platform has a name and a list of versions. + # Provide a list of supported platforms, and for each platform a list of versions. + # If you don't wish to enumerate all versions for a particular platform, use 'all'. + # To view available platforms and versions (or releases), visit: + # https://galaxy.ansible.com/api/v1/platforms/ # # platforms: # - name: Fedora