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

Refactor common.py #481

Merged
merged 24 commits into from
Jun 23, 2022
Merged

Refactor common.py #481

merged 24 commits into from
Jun 23, 2022

Conversation

gravesm
Copy link
Member

@gravesm gravesm commented Jun 17, 2022

SUMMARY

This work represents a complete refactoring of the K8sAnsibleMixin class in common.py. This class will be deprecated and eventually removed. The refactor has been done alongside the existing code so that there should be no breaking changes.

ISSUE TYPE
COMPONENT NAME
ADDITIONAL INFORMATION

gravesm and others added 24 commits May 24, 2022 11:53
* Add new AnsibleK8SModule class

This class is intended to replace part of the K8SAnsibleMixin class and
is part of a larger refactoring effort.

* Fix sanity errors

* Fix unit tests

* Add mock to test requirements
Add resource definition refactor

SUMMARY

This refactors most of the logic around creating a list of functional
resource definitions based on input parameters for the module.

ISSUE TYPE

COMPONENT NAME

ADDITIONAL INFORMATION

Reviewed-by: Alina Buzachis <None>
Reviewed-by: Abhijeet Kasurde <None>
Reviewed-by: Mike Graves <[email protected]>
Reviewed-by: None <None>
Initial work K8S client class

SUMMARY

Initial work on K8SClient Class.

Reviewed-by: Mike Graves <[email protected]>
Reviewed-by: Alina Buzachis <None>
Reviewed-by: None <None>
Add new waiter

SUMMARY

This refactors the waiter logic from common.py into a separate module.

ISSUE TYPE

COMPONENT NAME

ADDITIONAL INFORMATION

Reviewed-by: None <None>
Reviewed-by: Alina Buzachis <None>
Reviewed-by: None <None>
K8sService class

SUMMARY

This refactors the perform_action() logic from common.py into a separate K8sService class.
TODO:

 Unit tests.

ISSUE TYPE

New Module Pull Request

COMPONENT NAME

service.py

Reviewed-by: Abhijeet Kasurde <None>
Reviewed-by: Mike Graves <[email protected]>
Reviewed-by: Alina Buzachis <None>
Reviewed-by: None <None>
k8s runner

SUMMARY

k8s runner
Requires: #307

ISSUE TYPE

New Module Pull Request

Reviewed-by: Abhijeet Kasurde <None>
Reviewed-by: Alina Buzachis <None>
Reviewed-by: Mike Graves <[email protected]>
Reviewed-by: None <None>
Migrate json_patch to use new refactored code

SUMMARY

Migrate json_patch to use new refactored code

ISSUE TYPE

COMPONENT NAME

k8s_json_patch
ADDITIONAL INFORMATION

Reviewed-by: Alina Buzachis <None>
Reviewed-by: None <None>
* Use refactored module_utils

Signed-off-by: Alina Buzachis <[email protected]>

* Update k8s_info.py

* Fix assertion

Signed-off-by: Alina Buzachis <[email protected]>
Update k8s_rollback to use refactored module_utils

SUMMARY

Update k8s_rollback to use refactored module_utils

ISSUE TYPE

Feature Pull Request

COMPONENT NAME

k8s_rollback

Reviewed-by: Mike Graves <[email protected]>
Reviewed-by: None <None>
Move module dependency functions outside of module

SUMMARY

This moves the has_at_least and requires functions that had been on the
module to top level functions. The functions on the module now call
these with a few added bits of functionality.
Moving these functions to the top level and removing their requirement
on having a module makes them usable in situations where we may not yet
have a module, such as during client creation.

ISSUE TYPE

COMPONENT NAME

ADDITIONAL INFORMATION

Reviewed-by: Alina Buzachis <None>
Reviewed-by: None <None>
Refactor k8s_service to use new module_utils code

SUMMARY

Refactor k8s_service to use new module_utils code

ISSUE TYPE

Feature Pull Request

COMPONENT NAME

k8s_service

Reviewed-by: Mike Graves <[email protected]>
Reviewed-by: Alina Buzachis <None>
Reviewed-by: None <None>
Refactor k8s_cluster_info to use new module_utils code

SUMMARY

Refactor k8s_cluster_info to use new module_utils code

ISSUE TYPE
COMPONENT NAME

k8s_cluster_info
ADDITIONAL INFORMATION

Reviewed-by: Alina Buzachis <None>
Reviewed-by: None <None>
* Refactor k8s_exec to use new module_utils code

Signed-off-by: Alina Buzachis <[email protected]>

* Fix client

Signed-off-by: Alina Buzachis <[email protected]>
* Use refactored module_utils

Signed-off-by: Alina Buzachis <[email protected]>

* Fix runner

Signed-off-by: Alina Buzachis <[email protected]>

* Fix runner

Signed-off-by: Alina Buzachis <[email protected]>

* Update runner.py

* black runner

Signed-off-by: Alina Buzachis <[email protected]>

* Fix units

Signed-off-by: Alina Buzachis <[email protected]>

* Fix ResourceTimeout

Signed-off-by: Alina Buzachis <[email protected]>

* Attempt to fix 'Create custom resource'

Signed-off-by: Alina Buzachis <[email protected]>

* Update svc.find_resource(..., fail=True)

Signed-off-by: Alina Buzachis <[email protected]>

* Attempt to fix integration tests

Signed-off-by: Alina Buzachis <[email protected]>

* Fix apiVersion for Job

Signed-off-by: Alina Buzachis <[email protected]>

* Fix crd

Signed-off-by: Alina Buzachis <[email protected]>

* Add exception = None

Signed-off-by: Alina Buzachis <[email protected]>

* Fix apiVersion for definition

Signed-off-by: Alina Buzachis <[email protected]>

* Fix assert

Signed-off-by: Alina Buzachis <[email protected]>

* Fix returned results

Signed-off-by: Alina Buzachis <[email protected]>

* Update runner to return results accordingly

Signed-off-by: Alina Buzachis <[email protected]>

* Fix assert

Signed-off-by: Alina Buzachis <[email protected]>

* Add validate-missing

Signed-off-by: Alina Buzachis <[email protected]>

* Update client.py

* Fix failures

* Fix black formatting

Co-authored-by: Mike Graves <[email protected]>
This primarily moves the diff and wait logic from the various service
methods to perform_action to eliminate code duplication. I also moved
the diff_objects function out of the service object and moved most of
the find_resource logic to a new resource client method. We ended up
with several modules creating a service object just to use one of these
methods, so it seemed to make sense to make these more accessible.
Port changes from main to refactored branch

Depends-on: ansible/ansible-zuul-jobs#1563
SUMMARY

This PR contains several commits that complete the rebase of the 2.x-refactor branch onto main. Most of the changes here had to be manually backported after rebasing as the original changes were to code that will be deprecated. In addition, rather than trying to manually sort out conflicts and changes to the sanity ignores, I rewrote the refresh_ignore_files script to fully automate the management of ignore files. Previously, these files were both manually edited and auto-generated. This should no longer be the case, and these files should never be manually edited going forward.
For the purposes of reviewing and history, I kept all changes in separate commits tied to the original commit being backported.

ISSUE TYPE

COMPONENT NAME

ADDITIONAL INFORMATION

Reviewed-by: Jill R <None>
Ensure CoreExceptions are handled gracefully

SUMMARY

CoreExceptions, when raised, should have a reasonably helpful and
actionable message associated with them. This adds a final check in
module execution to gracefully fail from these exceptions. A new
fail_from_exception method is added both to simplify exiting the module,
and to ensure that any chained exceptions are available when using -vvv.

ISSUE TYPE

COMPONENT NAME

ADDITIONAL INFORMATION

Reviewed-by: Alina Buzachis <None>
Reviewed-by: Joseph Torcasso <None>
Migrate k8s_taint to refactored code

Depends-on: #476
SUMMARY

This changes the k8s_taint module to use the newly refactored code.

ISSUE TYPE

COMPONENT NAME

ADDITIONAL INFORMATION

Reviewed-by: Alina Buzachis <None>
@softwarefactory-project-zuul
Copy link

Build succeeded.

✔️ build-ansible-collection SUCCESS in 2m 56s
ansible-test-sanity-docker-devel FAILURE in 8m 58s (non-voting)
ansible-test-sanity-docker-milestone FAILURE in 9m 09s (non-voting)
✔️ ansible-test-sanity-docker-stable-2.9 SUCCESS in 10m 46s
✔️ ansible-test-sanity-docker-stable-2.11 SUCCESS in 9m 26s
✔️ ansible-test-sanity-docker-stable-2.12 SUCCESS in 8m 51s
✔️ ansible-test-units-kubernetes-core-python38 SUCCESS in 5m 44s
✔️ ansible-test-splitter SUCCESS in 2m 41s
✔️ integration-kubernetes.core-devel-1 SUCCESS in 26m 30s (non-voting)
✔️ integration-kubernetes.core-devel-2 SUCCESS in 32m 57s (non-voting)
✔️ integration-kubernetes.core-devel-3 SUCCESS in 39m 20s (non-voting)
✔️ integration-kubernetes.core-milestone-1 SUCCESS in 26m 39s
✔️ integration-kubernetes.core-milestone-2 SUCCESS in 32m 58s
✔️ integration-kubernetes.core-milestone-3 SUCCESS in 39m 37s
✔️ integration-kubernetes.core-2.9-1 SUCCESS in 26m 50s
✔️ integration-kubernetes.core-2.9-2 SUCCESS in 34m 22s
✔️ integration-kubernetes.core-2.9-3 SUCCESS in 39m 16s
✔️ integration-kubernetes.core-2.10-1 SUCCESS in 26m 48s
✔️ integration-kubernetes.core-2.10-2 SUCCESS in 32m 51s
✔️ integration-kubernetes.core-2.10-3 SUCCESS in 37m 21s
✔️ integration-kubernetes.core-with-turbo-1 SUCCESS in 25m 28s
✔️ integration-kubernetes.core-with-turbo-2 SUCCESS in 33m 37s
✔️ integration-kubernetes.core-with-turbo-3 SUCCESS in 40m 05s
✔️ ansible-tox-linters SUCCESS in 4m 43s
✔️ ansible-galaxy-importer SUCCESS in 3m 23s

Copy link
Contributor

@jillr jillr left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@abikouo abikouo left a comment

Choose a reason for hiding this comment

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

LGTM!! Thanks Mikes

@gravesm gravesm merged commit 9f51fc0 into main Jun 23, 2022
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Mar 2, 2023
7.3.0

Major Changes
-------------

kubernetes.core
~~~~~~~~~~~~~~~

- refactor K8sAnsibleMixin into module_utils/k8s/ (ansible-collections/kubernetes.core#481).

Minor Changes
-------------

Ansible-core
~~~~~~~~~~~~

- Make using blocks as handlers a parser error (ansible/ansible#79968)
- ansible-test - Specify the configuration file location required by test plugins when the config file is not found. This resolves issue: ansible/ansible#79411
- ansible-test - Update error handling code to use Python 3.x constructs, avoiding direct use of ``errno``.
- ansible-test acme test container - update version to update used Pebble version, underlying Python and Go base containers, and Python requirements (ansible/ansible#79783).

cisco.aci
~~~~~~~~~

- Add Node Profile BGP Peer and Route Control Profile functionalities to aci_l3out_bgp_peer module
- Add SVI auto state support (auto_state attribute) to aci_l3out_interface
- Add aci_aaa_domain, aci_aaa_role and aci_custom_privilege modules
- Add aci_fabric_pod_policy_group module
- Add aci_interface_policy_leaf_profile_fex_policy_group module and add FEX support to aci_access_port_to_interface_policy_leaf_profile
- Add aci_tenant_span_src_group_src module
- Add action_groups for module_defaults
- Add support for filter direction in aci_contract_subject and aci_contract_subject_to_filter
- Update modules to assign roles and permissions to a user

cisco.nxos
~~~~~~~~~~

- `nxos_acls` - Support ICMPv6 option. Please refer to module doc for all new options (ansible-collections/cisco.nxos#624).
- `nxos_facts` - Update facts gathering logic to ensure that `gather_network_resources: all` does not fail for NX-OS on MDS switches.
- `nxos_l2_interfaces` - Add new mode dot1q-tunnel (ansible-collections/cisco.nxos#600).

community.crypto
~~~~~~~~~~~~~~~~

- get_certificate - adds ``ciphers`` option for custom cipher selection (ansible-collections/community.crypto#571).

community.general
~~~~~~~~~~~~~~~~~

- dnsimple - set custom User-Agent for API requests to DNSimple (ansible-collections/community.general#5927).
- flatpak_remote - add new boolean option ``enabled``. It controls, whether the remote is enabled or not (ansible-collections/community.general#5926).
- gitlab_project - add ``releases_access_level``, ``environments_access_level``, ``feature_flags_access_level``, ``infrastructure_access_level``, ``monitor_access_level``, and ``security_and_compliance_access_level`` options (ansible-collections/community.general#5986).
- jc filter plugin - added the ability to use parser plugins (ansible-collections/community.general#6043).
- keycloak_group - add new optional module parameter ``parents`` to properly handle keycloak subgroups (ansible-collections/community.general#5814).
- keycloak_user_federation - make ``org.keycloak.storage.ldap.mappers.LDAPStorageMapper`` the default value for mappers ``providerType`` (ansible-collections/community.general#5863).
- ldap modules - add ``xorder_discovery`` option (ansible-collections/community.general#6045, ansible-collections/community.general#6109).
- lxd_container - add diff and check mode (ansible-collections/community.general#5866).
- mattermost, rocketchat, slack - replace missing default favicon with docs.ansible.com favicon (ansible-collections/community.general#5928).
- modprobe - add ``persistent`` option (ansible-collections/community.general#4028, ansible-collections/community.general#542).
- osx_defaults - include stderr in error messages (ansible-collections/community.general#6011).
- proxmox - suppress urllib3 ``InsecureRequestWarnings`` when ``validate_certs`` option is ``false`` (ansible-collections/community.general#5931).
- redfish_command - adding ``EnableSecureBoot`` functionality (ansible-collections/community.general#5899).
- redfish_command - adding ``VerifyBiosAttributes`` functionality (ansible-collections/community.general#5900).
- sefcontext - add support for path substitutions (ansible-collections/community.general#1193).

community.grafana
~~~~~~~~~~~~~~~~~

- able to set `uid` for datasources in grafana via module grafana_datasource

community.mongodb
~~~~~~~~~~~~~~~~~

- 491 mongodb_shell - Add feature to detect if mongo or mongosh is available.
- 494 mongodb_auth - Removes module_defaults from role.
- 494 mongodb_shutdown - Fix examples block.
- 511 mongodb_auth - Adds support for deletion of users.
- 514 mongodb_linux - Remove extended FQCN for pam_limits.
- 524 mongodb_auth - Add supports for Amazon Linux 2.
- 528 multiple roles - Use first ip address when multiple bind IPs provided.
- 530 mongodb_role - Adds new module to manage MongoDB roles.
- 536 mongodb_auth - Add user after enabling authentication.
- 544 mongodb_replicaset - Module documentation improvements.
- 547 mongodb_repository - Bump default of MongoDB to 6.0.

community.mysql
~~~~~~~~~~~~~~~

- mysql_info - add ``connector_name`` and ``connector_version`` to returned values (ansible-collections/community.mysql#497).
- mysql_role - enable auto_commit to avoid MySQL metadata table lock (ansible-collections/community.mysql#479).
- mysql_user - add plugin_auth_string as optional parameter to use a specific pam service if pam/auth_pam plugin is used (ansible-collections/community.mysql#445).
- mysql_user - add the ``session_vars`` argument to set session variables at the beginning of module execution (ansible-collections/community.mysql#478).
- mysql_user - display a more informative invalid privilege exception. Changes the exception handling of the granting permission logic to show the query executed , params and the exception message granting privileges fails` (ansible-collections/community.mysql#465).
- mysql_user - enable auto_commit to avoid MySQL metadata table lock (ansible-collections/community.mysql#479).
- setup_mysql - update MySQL tarball URL (ansible-collections/community.mysql#491).

community.vmware
~~~~~~~~~~~~~~~~

- vmware_guest_disk - Add support for IDE disk add, remove or reconfigure, and change to gather same VM disk info as in vmware_guest_disk_info (ansible-collections/community.vmware#1428).
- vmware_guest_disk - Extend return value documentation for vmware_guest_disk (ansible-collections/community.vmware#1641)
- vmware_guest_disk_info - Move gather VM disk info function to vm_device_helper.py (ansible-collections/community.vmware#1617)
- vmware_vmotion - New parameter timeout in order to allow vmotions running longer than 1 hour (https://github.com/ansible-collections/community.vmware/pulls/1629).

grafana.grafana
~~~~~~~~~~~~~~~

- Updated the return message in grafana.grafana.folder module

hetzner.hcloud
~~~~~~~~~~~~~~

- hcloud_server - add private_networks_info containing name and private ip in responses
- hcloud_server_info - add private_networks_info containing name and private ip in responses
- inventory plugin - Add list of all private networks to server variables.
- inventory plugin - Add new connect_with setting public_ipv6 to connect to discovered servers via public IPv6 address.
- inventory plugin - Add public IPv6 address to server variables.
- inventory plugin - Log warning instead of crashing when some servers do not work with global connect_with setting.

inspur.ispim
~~~~~~~~~~~~

- Change the ansible-test.yml application file version.
- Change the description of the edit_bios module file_url field.
- Modify the description information of the backup module item field.
- Modify the description of the media_attach, retry_count, and retry_time_interval fields of the edit_kvm module.
- Modify the description of the secure_channel field of the edit_media_instance module.
- Modify the description of the slot and vname fields of the add_ldisk module.
- Modify the edit_ntp module example.
- Modify the edit_snmp_trap module version field description information.
- Modify the mode field description information of update_fw module.
- Modify the name field description of the user_group module.
- Modify the restore module example.
- Modify the supporting properties and description information of the edit_ncsi module edit_ncsi field.
- The edit_power_budget module adds the except_action field.

kubernetes.core
~~~~~~~~~~~~~~~

- Adjust k8s_user_impersonation tests to be compatible with Kubernetes 1.24 (ansible-collections/kubernetes.core#520).
- add support for dry run with kubernetes client version >=18.20 (ansible-collections/kubernetes.core#245).
- added ignore.txt for Ansible 2.14 devel branch.
- fixed module_defaults by removing routing hacks from runtime.yml (ansible-collections/kubernetes.core#347).
- helm - add support for -set-file, -set-json, -set and -set-string options when running helm install (ansible-collections/kubernetes.core#533).
- helm - add support for helm dependency update (ansible-collections/kubernetes.core#208).
- helm - add support for post-renderer flag (ansible-collections/kubernetes.core#30).
- helm - add support for timeout cli parameter to allow setting Helm timeout independent of wait (ansible-collections/kubernetes.core#67).
- helm - add support for wait parameter for helm uninstall command. (https://github.com/ansible-collections/kubernetes/core/issues/33).
- helm - support repo location for helm diff (ansible-collections/kubernetes.core#174).
- helm - when ansible is executed in check mode, return the diff between what's deployed and what will be deployed.
- helm, helm_plugin, helm_info, helm_plugin_info, kubectl - add support for in-memory kubeconfig. (ansible-collections/kubernetes.core#492).
- helm_info - add hooks, notes and manifest as part of returned information (ansible-collections/kubernetes.core#546).
- helm_info - add release state as a module argument (ansible-collections/kubernetes.core#377).
- helm_info - added possibility to get all values by adding get_all_values parameter (ansible-collections/kubernetes.core#531).
- helm_plugin - Add plugin_version parameter to the helm_plugin module (ansible-collections/kubernetes.core#157).
- helm_plugin - Add support for helm plugin update using state=update.
- helm_repository - Ability to replace (overwrite) the repo if it already exists by forcing (ansible-collections/kubernetes.core#491).
- helm_repository - add support for pass-credentials cli parameter (ansible-collections/kubernetes.core#282).
- helm_repository - added support for ``host``, ``api_key``, ``validate_certs``, and ``ca_cert``.
- helm_repository - mark `pass_credentials` as no_log=True to silence false warning (ansible-collections/kubernetes.core#412).
- helm_template - add name (NAME of release) and disable_hook as optional module arguments (ansible-collections/kubernetes.core#313).
- helm_template - add show_only and release_namespace as module arguments (ansible-collections/kubernetes.core#313).
- helm_template - add support for -set-file, -set-json, -set and -set-string options when running helm template (ansible-collections/kubernetes.core#546).
- k8s - add no_proxy support to k8s* (ansible-collections/kubernetes.core#272).
- k8s - add support for server_side_apply. (ansible-collections/kubernetes.core#87).
- k8s - add support for user impersonation. (https://github.com/ansible-collections/kubernetes/core/issues/40).
- k8s - allow resource definition using metadata.generateName (ansible-collections/kubernetes.core#35).
- k8s lookup plugin - Enable turbo mode via environment variable  (ansible-collections/kubernetes.core#291).
- k8s, k8s_scale, k8s_service - add support for resource definition as manifest via. (ansible-collections/kubernetes.core#451).
- k8s_cp - remove dependency with 'find' executable on remote pod when state=from_pod (ansible-collections/kubernetes.core#486).
- k8s_drain - Adds ``delete_emptydir_data`` option to ``k8s_drain.delete_options`` to evict pods with an ``emptyDir`` volume attached (ansible-collections/kubernetes.core#322).
- k8s_exec - select first container from the pod if none specified (ansible-collections/kubernetes.core#358).
- k8s_exec - update deprecation warning for `return_code` (ansible-collections/kubernetes.core#417).
- k8s_json_patch - minor typo fix in the example section (ansible-collections/kubernetes.core#411).
- k8s_log - add the ``all_containers`` for retrieving all containers' logs in the pod(s).
- k8s_log - added the `previous` parameter for retrieving the previously terminated pod logs (ansible-collections/kubernetes.core#437).
- k8s_log - added the `tail_lines` parameter to limit the number of lines to be retrieved from the end of the logs (ansible-collections/kubernetes.core#488).
- k8s_rollback - add support for check_mode. (https://github.com/ansible-collections/kubernetes/core/issues/243).
- k8s_scale - add support for check_mode. (https://github.com/ansible-collections/kubernetes/core/issues/244).
- kubectl - wait for dd command to complete before proceeding (ansible-collections/kubernetes.core#321).
- kubectl.py - replace distutils.spawn.find_executable with shutil.which in the kubectl connection plugin (ansible-collections/kubernetes.core#456).

netapp.ontap
~~~~~~~~~~~~

- na_ontap_aggregate - new option ``allow_flexgroups`` added.
- na_ontap_cifs - new options ``access_based_enumeration``, ``change_notify``, ``encryption``, ``home_directory``, ``oplocks``, ``show_snapshot``, ``allow_unencrypted_access``, ``namespace_caching`` and ``continuously_available`` added in REST.
- na_ontap_dns - ``skip_validation`` option requires 9.9.1 or later with REST and ignored for cluster DNS operations.
- na_ontap_dns - support cluster scope for modify and delete.
- na_ontap_interface - do not attempt to migrate FC interface if desired ``home_port``, ``home_node`` and ``current_port``, ``current_node`` are same.
- na_ontap_license - support for NLF v2 license files.
- na_ontap_nfs - new options ``root``, ``windows`` and ``security`` added in REST.
- na_ontap_user_role - ``command_directory_name`` is required if ``privileges`` not set in REST.
- na_ontap_user_role - ``path`` is required if ``privileges`` set in REST.
- na_ontap_volume_efficiency - REST support for ``policy`` requires 9.7 or later, ``path`` requires 9.9.1 or later and ``volume_efficiency`` and ``start_ve_scan_old_data`` requires 9.11.1 or later.
- na_ontap_volume_efficiency - ``schedule``, ``start_ve_scan_all``, ``start_ve_build_metadata``, ``start_ve_delete_checkpoint``, ``start_ve_queue_operation``, ``start_ve_qos_policy`` and ``stop_ve_all_operations`` options are not supported with REST.
- na_ontap_volume_efficiency - new option ``volume_name`` added.
- na_ontap_volume_efficiency - updated private cli with REST API.

netbox.netbox
~~~~~~~~~~~~~

- nb_inventory - Add serial and asset tag to extracted attributes

purestorage.flasharray
~~~~~~~~~~~~~~~~~~~~~~

- purefa_network - Added support for NVMe-RoCE and NVMe-TCP service types
- purefa_user - Added Ops Admin role to choices
- purefa_vlan - Added support for NVMe-TCP service type

Breaking Changes / Porting Guide
--------------------------------

hetzner.hcloud
~~~~~~~~~~~~~~

- inventory plugin - Python v3.5+ is now required.

Deprecated Features
-------------------

- Since the google.cloud collection seems to be maintained again, we `cancelled the removal process <https://github.com/ansible-collections/overview/blob/main/removal_from_ansible.rst#cancelling-removal-of-an-unmaintained-collection>`__. So contrary to an earlier announcement, this collection is NOT deprecated and will NOT be removed from Ansible 8 (ansible-community/community-topics#105).

community.general
~~~~~~~~~~~~~~~~~

- gitlab_runner - the option ``access_level`` will lose its default value in community.general 8.0.0. From that version on, you have set this option to ``ref_protected`` explicitly, if you want to have a protected runner (ansible-collections/community.general#5925).
StinkyBenji referenced this pull request in StinkyBenji/ansible-tekton-demo Nov 1, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[kubernetes.core](https://github.com/ansible-collections/kubernetes.core)
| galaxy-collection | minor | `2.2.3` -> `2.4.0` |

---

### Release Notes

<details>
<summary>ansible-collections/kubernetes.core (kubernetes.core)</summary>

###
[`v2.4.0`](https://github.com/ansible-collections/kubernetes.core/blob/HEAD/CHANGELOG.rst#v240)

[Compare
Source](https://github.com/ansible-collections/kubernetes.core/compare/2.3.2...2.4.0)

\======

## Major Changes

- refactor K8sAnsibleMixin into module_utils/k8s/
([https://github.com/ansible-collections/kubernetes.core/pull/481](https://github.com/ansible-collections/kubernetes.core/pull/481)).

## Minor Changes

- Adjust k8s_user_impersonation tests to be compatible with Kubernetes
1.24
([https://github.com/ansible-collections/kubernetes.core/pull/520](https://github.com/ansible-collections/kubernetes.core/pull/520)).
- add support for dry run with kubernetes client version >=18.20
([https://github.com/ansible-collections/kubernetes.core/pull/245](https://github.com/ansible-collections/kubernetes.core/pull/245)).
-   added ignore.txt for Ansible 2.14 devel branch.
- fixed module_defaults by removing routing hacks from runtime.yml
([https://github.com/ansible-collections/kubernetes.core/pull/347](https://github.com/ansible-collections/kubernetes.core/pull/347)).
- helm - add support for -set-file, -set-json, -set and -set-string
options when running helm install
([https://github.com/ansible-collections/kubernetes.core/issues/533](https://github.com/ansible-collections/kubernetes.core/issues/533)).
- helm - add support for helm dependency update
([https://github.com/ansible-collections/kubernetes.core/pull/208](https://github.com/ansible-collections/kubernetes.core/pull/208)).
- helm - add support for post-renderer flag
([https://github.com/ansible-collections/kubernetes.core/issues/30](https://github.com/ansible-collections/kubernetes.core/issues/30)).
- helm - add support for timeout cli parameter to allow setting Helm
timeout independent of wait
([https://github.com/ansible-collections/kubernetes.core/issues/67](https://github.com/ansible-collections/kubernetes.core/issues/67)).
- helm - add support for wait parameter for helm uninstall command.
(https://github.com/ansible-collections/kubernetes/core/issues/33).
- helm - support repo location for helm diff
([https://github.com/ansible-collections/kubernetes.core/issues/174](https://github.com/ansible-collections/kubernetes.core/issues/174)).
- helm - when ansible is executed in check mode, return the diff between
what's deployed and what will be deployed.
- helm, helm_plugin, helm_info, helm_plugin_info, kubectl - add support
for in-memory kubeconfig.
([https://github.com/ansible-collections/kubernetes.core/issues/492](https://github.com/ansible-collections/kubernetes.core/issues/492)).
- helm_info - add hooks, notes and manifest as part of returned
information
([https://github.com/ansible-collections/kubernetes.core/pull/546](https://github.com/ansible-collections/kubernetes.core/pull/546)).
- helm_info - add release state as a module argument
([https://github.com/ansible-collections/kubernetes.core/issues/377](https://github.com/ansible-collections/kubernetes.core/issues/377)).
- helm_info - added possibility to get all values by adding
get_all_values parameter
([https://github.com/ansible-collections/kubernetes.core/pull/531](https://github.com/ansible-collections/kubernetes.core/pull/531)).
- helm_plugin - Add plugin_version parameter to the helm_plugin module
([https://github.com/ansible-collections/kubernetes.core/issues/157](https://github.com/ansible-collections/kubernetes.core/issues/157)).
-   helm_plugin - Add support for helm plugin update using state=update.
- helm_repository - Ability to replace (overwrite) the repo if it
already exists by forcing
([https://github.com/ansible-collections/kubernetes.core/issues/491](https://github.com/ansible-collections/kubernetes.core/issues/491)).
- helm_repository - add support for pass-credentials cli parameter
([https://github.com/ansible-collections/kubernetes.core/pull/282](https://github.com/ansible-collections/kubernetes.core/pull/282)).
- helm_repository - added support for `host`, `api_key`,
`validate_certs`, and `ca_cert`.
- helm_repository - mark `pass_credentials` as no_log=True to silence
false warning
([https://github.com/ansible-collections/kubernetes.core/issues/412](https://github.com/ansible-collections/kubernetes.core/issues/412)).
- helm_template - add name (NAME of release) and disable_hook as
optional module arguments
([https://github.com/ansible-collections/kubernetes.core/issues/313](https://github.com/ansible-collections/kubernetes.core/issues/313)).
- helm_template - add show_only and release_namespace as module
arguments
([https://github.com/ansible-collections/kubernetes.core/issues/313](https://github.com/ansible-collections/kubernetes.core/issues/313)).
- helm_template - add support for -set-file, -set-json, -set and
-set-string options when running helm template
([https://github.com/ansible-collections/kubernetes.core/pull/546](https://github.com/ansible-collections/kubernetes.core/pull/546)).
- k8s - add no_proxy support to k8s\*
[https://github.com/ansible-collections/kubernetes.core/pull/272](https://github.com/ansible-collections/kubernetes.core/pull/272)2).
- k8s - add support for server_side_apply.
([https://github.com/ansible-collections/kubernetes.core/issues/87](https://github.com/ansible-collections/kubernetes.core/issues/87)).
- k8s - add support for user impersonation.
(https://github.com/ansible-collections/kubernetes/core/issues/40).
- k8s - allow resource definition using metadata.generateName
([https://github.com/ansible-collections/kubernetes.core/issues/35](https://github.com/ansible-collections/kubernetes.core/issues/35)).
- k8s lookup plugin - Enable turbo mode via environment variable
([https://github.com/ansible-collections/kubernetes.core/issues/291](https://github.com/ansible-collections/kubernetes.core/issues/291)).
- k8s, k8s_scale, k8s_service - add support for resource definition as
manifest via.
([https://github.com/ansible-collections/kubernetes.core/issues/451](https://github.com/ansible-collections/kubernetes.core/issues/451)).
- k8s_cp - remove dependency with 'find' executable on remote pod when
state=from_pod
([https://github.com/ansible-collections/kubernetes.core/issues/486](https://github.com/ansible-collections/kubernetes.core/issues/486)).
- k8s_drain - Adds `delete_emptydir_data` option to
`k8s_drain.delete_options` to evict pods with an `emptyDir` volume
attached
([https://github.com/ansible-collections/kubernetes.core/pull/322](https://github.com/ansible-collections/kubernetes.core/pull/322)).
- k8s_exec - select first container from the pod if none specified
([https://github.com/ansible-collections/kubernetes.core/issues/358](https://github.com/ansible-collections/kubernetes.core/issues/358)).
- k8s_exec - update deprecation warning for `return_code`
([https://github.com/ansible-collections/kubernetes.core/issues/417](https://github.com/ansible-collections/kubernetes.core/issues/417)).
- k8s_json_patch - minor typo fix in the example section
([https://github.com/ansible-collections/kubernetes.core/issues/411](https://github.com/ansible-collections/kubernetes.core/issues/411)).
- k8s_log - add the `all_containers` for retrieving all containers' logs
in the pod(s).
- k8s_log - added the `previous` parameter for retrieving the previously
terminated pod logs
([https://github.com/ansible-collections/kubernetes.core/issues/437](https://github.com/ansible-collections/kubernetes.core/issues/437)).
- k8s_log - added the `tail_lines` parameter to limit the number of
lines to be retrieved from the end of the logs
([https://github.com/ansible-collections/kubernetes.core/issues/488](https://github.com/ansible-collections/kubernetes.core/issues/488)).
- k8s_rollback - add support for check_mode.
(https://github.com/ansible-collections/kubernetes/core/issues/243).
- k8s_scale - add support for check_mode.
(https://github.com/ansible-collections/kubernetes/core/issues/244).
- kubectl - wait for dd command to complete before proceeding
([https://github.com/ansible-collections/kubernetes.core/pull/321](https://github.com/ansible-collections/kubernetes.core/pull/321)).
- kubectl.py - replace distutils.spawn.find_executable with shutil.which
in the kubectl connection plugin
([https://github.com/ansible-collections/kubernetes.core/pull/456](https://github.com/ansible-collections/kubernetes.core/pull/456)).

## Bugfixes

- Fix dry_run logic - Pass the value dry_run=All instead of dry_run=True
to the client, add conditional check on kubernetes client version as
this feature is supported only for kubernetes >= 18.20.0
([https://github.com/ansible-collections/kubernetes.core/pull/561](https://github.com/ansible-collections/kubernetes.core/pull/561)).
- Fix kubeconfig parameter when multiple config files are provided
([https://github.com/ansible-collections/kubernetes.core/issues/435](https://github.com/ansible-collections/kubernetes.core/issues/435)).
- Helm - Fix issue with alternative kubeconfig provided with
validate_certs=False
([https://github.com/ansible-collections/kubernetes.core/issues/538](https://github.com/ansible-collections/kubernetes.core/issues/538)).
- Various modules and plugins - use vendored version of
`distutils.version` instead of the deprecated Python standard library
`distutils`
([https://github.com/ansible-collections/kubernetes.core/pull/314](https://github.com/ansible-collections/kubernetes.core/pull/314)).
- add missing documentation for filter plugin
kubernetes.core.k8s_config_resource_name
([https://github.com/ansible-collections/kubernetes.core/issues/558](https://github.com/ansible-collections/kubernetes.core/issues/558)).
- common - Ensure the label_selectors parameter of \_wait_for method is
optional.
-   common - handle `aliases` passed from inventory and lookup plugins.
- helm_template - evaluate release_values after values_files, insuring
highest precedence (now same behavior as in helm module).
([https://github.com/ansible-collections/kubernetes.core/pull/348](https://github.com/ansible-collections/kubernetes.core/pull/348))
-   import exception from `kubernetes.client.rest`.
- k8s - Fix issue with check_mode when using server side apply
([https://github.com/ansible-collections/kubernetes.core/issues/547](https://github.com/ansible-collections/kubernetes.core/issues/547)).
- k8s - Fix issue with server side apply with kubernetes release
'25.3.0'
([https://github.com/ansible-collections/kubernetes.core/issues/548](https://github.com/ansible-collections/kubernetes.core/issues/548)).
- k8s_cp - add support for check_mode
([https://github.com/ansible-collections/kubernetes.core/issues/380](https://github.com/ansible-collections/kubernetes.core/issues/380)).
- k8s_drain - fix error caused by accessing an undefined variable when
pods have local storage
([https://github.com/ansible-collections/kubernetes.core/issues/292](https://github.com/ansible-collections/kubernetes.core/issues/292)).
- k8s_info - don't wait on empty List resources
([https://github.com/ansible-collections/kubernetes.core/pull/253](https://github.com/ansible-collections/kubernetes.core/pull/253)).
- k8s_info - fix issue when module returns successful true after the
resource cache has been established during periods where communication
to the api-server is not possible
([https://github.com/ansible-collections/kubernetes.core/issues/508](https://github.com/ansible-collections/kubernetes.core/issues/508)).
- k8s_log - Fix module traceback when no resource found
([https://github.com/ansible-collections/kubernetes.core/issues/479](https://github.com/ansible-collections/kubernetes.core/issues/479)).
- k8s_log - fix exception raised when the name is not provided for
resources requiring.
([https://github.com/ansible-collections/kubernetes.core/issues/514](https://github.com/ansible-collections/kubernetes.core/issues/514))
- k8s_scale - fix waiting on statefulset when scaled down to 0 replicas
([https://github.com/ansible-collections/kubernetes.core/issues/203](https://github.com/ansible-collections/kubernetes.core/issues/203)).
- module_utils.common - change default opening mode to read-bytes to
avoid bad interpretation of non ascii characters and strings, often
present in 3rd party manifests.
- module_utils/k8s/client.py - fix issue when trying to authenticate
with host, client_cert and client_key parameters only.
- remove binary file from k8s_cp test suite
([https://github.com/ansible-collections/kubernetes.core/pull/298](https://github.com/ansible-collections/kubernetes.core/pull/298)).
- use resource prefix when finding resource and apiVersion is v1
([https://github.com/ansible-collections/kubernetes.core/issues/351](https://github.com/ansible-collections/kubernetes.core/issues/351)).

## New Modules

- helm_pull - download a chart from a repository and (optionally) unpack
it in local directory.

###
[`v2.3.2`](https://github.com/ansible-collections/kubernetes.core/compare/2.3.1...2.3.2)

[Compare
Source](https://github.com/ansible-collections/kubernetes.core/compare/2.3.1...2.3.2)

###
[`v2.3.1`](https://github.com/ansible-collections/kubernetes.core/blob/HEAD/CHANGELOG.rst#v231)

[Compare
Source](https://github.com/ansible-collections/kubernetes.core/compare/2.3.0...2.3.1)

\======

## Bugfixes

- Catch exception raised when the process is waiting for resources
([https://github.com/ansible-collections/kubernetes.core/issues/407](https://github.com/ansible-collections/kubernetes.core/issues/407)).
- Remove `omit` placeholder when defining resource using template
parameter
([https://github.com/ansible-collections/kubernetes.core/issues/431](https://github.com/ansible-collections/kubernetes.core/issues/431)).
- k8s - fix the issue when trying to delete resources using
label_selectors options
([https://github.com/ansible-collections/kubernetes.core/issues/433](https://github.com/ansible-collections/kubernetes.core/issues/433)).
- k8s_cp - fix issue when using parameter local_path with file on
managed node.
([https://github.com/ansible-collections/kubernetes.core/issues/421](https://github.com/ansible-collections/kubernetes.core/issues/421)).
- k8s_drain - fix error occurring when trying to drain node with
disable_eviction set to yes
([https://github.com/ansible-collections/kubernetes.core/issues/416](https://github.com/ansible-collections/kubernetes.core/issues/416)).

###
[`v2.3.0`](https://github.com/ansible-collections/kubernetes.core/blob/HEAD/CHANGELOG.rst#v230)

[Compare
Source](https://github.com/ansible-collections/kubernetes.core/compare/2.2.3...2.3.0)

\======

## Minor Changes

- add support for dry run with kubernetes client version >=18.20
([https://github.com/ansible-collections/kubernetes.core/pull/245](https://github.com/ansible-collections/kubernetes.core/pull/245)).
- fixed module_defaults by removing routing hacks from runtime.yml
([https://github.com/ansible-collections/kubernetes.core/pull/347](https://github.com/ansible-collections/kubernetes.core/pull/347)).
- helm - add support for timeout cli parameter to allow setting Helm
timeout independent of wait
([https://github.com/ansible-collections/kubernetes.core/issues/67](https://github.com/ansible-collections/kubernetes.core/issues/67)).
- helm - add support for wait parameter for helm uninstall command.
(https://github.com/ansible-collections/kubernetes/core/issues/33).
- helm - support repo location for helm diff
([https://github.com/ansible-collections/kubernetes.core/issues/174](https://github.com/ansible-collections/kubernetes.core/issues/174)).
- helm - when ansible is executed in check mode, return the diff between
what's deployed and what will be deployed.
- helm_info - add release state as a module argument
([https://github.com/ansible-collections/kubernetes.core/issues/377](https://github.com/ansible-collections/kubernetes.core/issues/377)).
- helm_plugin - Add plugin_version parameter to the helm_plugin module
([https://github.com/ansible-collections/kubernetes.core/issues/157](https://github.com/ansible-collections/kubernetes.core/issues/157)).
-   helm_plugin - Add support for helm plugin update using state=update.
- helm_repository - add support for pass-credentials cli parameter
([https://github.com/ansible-collections/kubernetes.core/pull/282](https://github.com/ansible-collections/kubernetes.core/pull/282)).
- helm_repository - added support for `host`, `api_key`,
`validate_certs`, and `ca_cert`.
- helm_template - add show_only and release_namespace as module
arguments
([https://github.com/ansible-collections/kubernetes.core/issues/313](https://github.com/ansible-collections/kubernetes.core/issues/313)).
- k8s - add no_proxy support to k8s\*
[https://github.com/ansible-collections/kubernetes.core/pull/272](https://github.com/ansible-collections/kubernetes.core/pull/272)2).
- k8s - add support for server_side_apply.
([https://github.com/ansible-collections/kubernetes.core/issues/87](https://github.com/ansible-collections/kubernetes.core/issues/87)).
- k8s - add support for user impersonation.
(https://github.com/ansible-collections/kubernetes/core/issues/40).
- k8s - allow resource definition using metadata.generateName
([https://github.com/ansible-collections/kubernetes.core/issues/35](https://github.com/ansible-collections/kubernetes.core/issues/35)).
- k8s lookup plugin - Enable turbo mode via environment variable
([https://github.com/ansible-collections/kubernetes.core/issues/291](https://github.com/ansible-collections/kubernetes.core/issues/291)).
- k8s_drain - Adds `delete_emptydir_data` option to
`k8s_drain.delete_options` to evict pods with an `emptyDir` volume
attached
([https://github.com/ansible-collections/kubernetes.core/pull/322](https://github.com/ansible-collections/kubernetes.core/pull/322)).
- k8s_exec - select first container from the pod if none specified
([https://github.com/ansible-collections/kubernetes.core/issues/358](https://github.com/ansible-collections/kubernetes.core/issues/358)).
- k8s_rollback - add support for check_mode.
(https://github.com/ansible-collections/kubernetes/core/issues/243).
- k8s_scale - add support for check_mode.
(https://github.com/ansible-collections/kubernetes/core/issues/244).
- kubectl - wait for dd command to complete before proceeding
([https://github.com/ansible-collections/kubernetes.core/pull/321](https://github.com/ansible-collections/kubernetes.core/pull/321)).

## Bugfixes

- Various modules and plugins - use vendored version of
`distutils.version` instead of the deprecated Python standard library
`distutils`
([https://github.com/ansible-collections/kubernetes.core/pull/314](https://github.com/ansible-collections/kubernetes.core/pull/314)).
- common - Ensure the label_selectors parameter of \_wait_for method is
optional.
- helm_template - evaluate release_values after values_files, insuring
highest precedence (now same behavior as in helm module).
([https://github.com/ansible-collections/kubernetes.core/pull/348](https://github.com/ansible-collections/kubernetes.core/pull/348))
-   import exception from `kubernetes.client.rest`.
- k8s_drain - fix error caused by accessing an undefined variable when
pods have local storage
([https://github.com/ansible-collections/kubernetes.core/issues/292](https://github.com/ansible-collections/kubernetes.core/issues/292)).
- k8s_info - don't wait on empty List resources
([https://github.com/ansible-collections/kubernetes.core/pull/253](https://github.com/ansible-collections/kubernetes.core/pull/253)).
- k8s_scale - fix waiting on statefulset when scaled down to 0 replicas
([https://github.com/ansible-collections/kubernetes.core/issues/203](https://github.com/ansible-collections/kubernetes.core/issues/203)).
- module_utils.common - change default opening mode to read-bytes to
avoid bad interpretation of non ascii characters and strings, often
present in 3rd party manifests.
- remove binary file from k8s_cp test suite
([https://github.com/ansible-collections/kubernetes.core/pull/298](https://github.com/ansible-collections/kubernetes.core/pull/298)).
- use resource prefix when finding resource and apiVersion is v1
([https://github.com/ansible-collections/kubernetes.core/issues/351](https://github.com/ansible-collections/kubernetes.core/issues/351)).

## New Modules

-   k8s_taint - Taint a node in a Kubernetes/OpenShift cluster

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/StinkyBenji/ansible-tekton-demo).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMS41IiwidXBkYXRlZEluVmVyIjoiMzcuMzEuNSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants