Skip to content

Latest commit

 

History

History
662 lines (510 loc) · 44.6 KB

CHANGELOG.rst

File metadata and controls

662 lines (510 loc) · 44.6 KB

Kubernetes Collection Release Notes

This major release drops support for ansible-core<2.15.

  • inventory/k8s.py - Defer removal of k8s inventory plugin to version 6.0.0 (#734).
  • Remove support for ansible-core<2.15 (#737).

This major release brings several bug fixes. We have also removed support for ansible-core<2.15 and deprecated functions and class from module_utils/common.py.

  • inventory/k8s.py - Defer removal of k8s inventory plugin to version 5.0 (#723).
  • k8s - The module and K8sService were changed so warnings returned by the K8S API are now displayed to the user.
  • k8s - Support for merge_type=json has been removed in version 4.0.0. Please use kubernetes.core.k8s_json_patch instead (#722).
  • k8s_exec - the previously deprecated result.return_code return value has been removed, consider using result.rc instead (#726).
  • module_utils/common.py - the previously deprecated K8sAnsibleMixin class has been removed (#726).
  • module_utils/common.py - the previously deprecated configuration_digest() function has been removed (#726).
  • module_utils/common.py - the previously deprecated get_api_client() function has been removed (#726).
  • module_utils/common.py - the previously deprecated unique_string() function has been removed (#726).
  • Resolve Collections util resource discovery fails when complex subresources present (#676).
  • align helmdiff_check() function commandline rendering with the deploy() function (#670).
  • avoid unsafe conditions in integration tests (#665).
  • helm - use reuse-values when running helm diff command (#680).
  • integrations test helm_kubeconfig - set helm version to v3.10.3 to avoid incompatability with new bitnami charts (#670).

This release comes with documentation updates.

  • inventory/k8s.py - Defer removal of k8s inventory plugin to version 6.0.0 (#734).
  • connection/kubectl.py - Added an example of using the kubectl connection plugin to the documentation (#741).

This release comes with some bugfixes and documentation updates. It also adds new features to the kubectl connection plugin and the kustomize lookup plugin.

  • kubectl - added support of local enviroment variable that will be used for kubectl and may be requried for establishing connections ifself (#702)
  • kustomize - new parameter added to --enable-helm (#568)
  • helm - expand kubeconfig path with user's home directory for consistency with k8s
  • k8s_json_patch - rename action symlink to ensure k8s action plugin is used (#652).

This release fixes issue with resources discovery when complex subresources are present, and fixes issues with reuse-values parameter for helm module.

  • Resolve Collections util resource discovery fails when complex subresources present (#676).
  • align helmdiff_check() function commandline rendering with the deploy() function (#670).
  • helm - use reuse-values when running helm diff command (#680).
  • integrations test helm_kubeconfig - set helm version to v3.10.3 to avoid incompatability with new bitnami charts (#670).

This major release drops support for ansible-core versions lower than 2.14, Python versions lower than 3.9 and updates python kubernetes library to 24.2.0, helm/kind-action to 1.8.0, kubernetes >= 1.24, along with bug fixes and minor changes.

  • helm - add reuse_values and reset_values support to helm module (#394).
  • k8s - add new option delete_all to support deletion of all resources when state is set to absent. (#504)
  • k8s, k8s_info - add a hidden_fields option to allow fields to be hidden in the results of k8s and k8s_info
  • k8s_drain - add ability to filter the list of pods to be drained by a pod label selector (#474).
  • Remove support for ansible-core < 2.14
  • Update python kubernetes library to 24.2.0, helm/kind-action to 1.8.0, kubernetes >= 1.24.
  • k8s - the k8s inventory plugin has been deprecated and will be removed in release 4.0.0 (#31).
  • helm - Put the chart_ref into quotes when running helm show chart, helm upgrade and helm dependency update commands (#653).
  • helm - delete temporary file created when deploying chart with option release_values set (#530).
  • helm - fix issue occurring when uninstalling chart with statues others than deployed (#319).
  • helm - fix post_renderer argument breaking the helm deploy_command (#586).
  • helm - use post_renderer when checking changed status for a helm release (#588).
  • k8s_scale - clean handling of ResourceTimeout exception (#583).
  • k8s_scale - fix issue when scaling StatefulSets with updateStrategy=OnDelete (#579).
  • refactor K8sAnsibleMixin into module_utils/k8s/ (#481).
  • Adjust k8s_user_impersonation tests to be compatible with Kubernetes 1.24 (#520).
  • add support for dry run with kubernetes client version >=18.20 (#245).
  • added ignore.txt for Ansible 2.14 devel branch.
  • fixed module_defaults by removing routing hacks from runtime.yml (#347).
  • helm - add support for -set-file, -set-json, -set and -set-string options when running helm install (#533).
  • helm - add support for helm dependency update (#208).
  • helm - add support for post-renderer flag (#30).
  • helm - add support for timeout cli parameter to allow setting Helm timeout independent of wait (#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 (#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. (#492).
  • helm_info - add hooks, notes and manifest as part of returned information (#546).
  • helm_info - add release state as a module argument (#377).
  • helm_info - added possibility to get all values by adding get_all_values parameter (#531).
  • helm_plugin - Add plugin_version parameter to the helm_plugin module (#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 (#491).
  • helm_repository - add support for pass-credentials cli parameter (#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 (#412).
  • helm_template - add name (NAME of release) and disable_hook as optional module arguments (#313).
  • helm_template - add show_only and release_namespace as module arguments (#313).
  • helm_template - add support for -set-file, -set-json, -set and -set-string options when running helm template (#546).
  • k8s - add no_proxy support to k8s* (#272).
  • k8s - add support for server_side_apply. (#87).
  • k8s - add support for user impersonation. (https://github.com/ansible-collections/kubernetes/core/issues/40).
  • k8s - allow resource definition using metadata.generateName (#35).
  • k8s lookup plugin - Enable turbo mode via environment variable (#291).
  • k8s, k8s_scale, k8s_service - add support for resource definition as manifest via. (#451).
  • k8s_cp - remove dependency with 'find' executable on remote pod when state=from_pod (#486).
  • k8s_drain - Adds delete_emptydir_data option to k8s_drain.delete_options to evict pods with an emptyDir volume attached (#322).
  • k8s_exec - select first container from the pod if none specified (#358).
  • k8s_exec - update deprecation warning for return_code (#417).
  • k8s_json_patch - minor typo fix in the example section (#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 (#437).
  • k8s_log - added the tail_lines parameter to limit the number of lines to be retrieved from the end of the logs (#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 (#321).
  • kubectl.py - replace distutils.spawn.find_executable with shutil.which in the kubectl connection plugin (#456).
  • 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 (#561).
  • Fix kubeconfig parameter when multiple config files are provided (#435).
  • Helm - Fix issue with alternative kubeconfig provided with validate_certs=False (#538).
  • Various modules and plugins - use vendored version of distutils.version instead of the deprecated Python standard library distutils (#314).
  • add missing documentation for filter plugin kubernetes.core.k8s_config_resource_name (#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). (#348)
  • import exception from kubernetes.client.rest.
  • k8s - Fix issue with check_mode when using server side apply (#547).
  • k8s - Fix issue with server side apply with kubernetes release '25.3.0' (#548).
  • k8s_cp - add support for check_mode (#380).
  • k8s_drain - fix error caused by accessing an undefined variable when pods have local storage (#292).
  • k8s_info - don't wait on empty List resources (#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 (#508).
  • k8s_log - Fix module traceback when no resource found (#479).
  • k8s_log - fix exception raised when the name is not provided for resources requiring. (#514)
  • k8s_scale - fix waiting on statefulset when scaled down to 0 replicas (#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 (#298).
  • use resource prefix when finding resource and apiVersion is v1 (#351).
  • helm_pull - download a chart from a repository and (optionally) unpack it in local directory.
  • Catch expectation raised when the process is waiting for resources (#407).
  • Remove omit placeholder when defining resource using template parameter (#431).
  • k8s - fix the issue when trying to delete resources using label_selectors options (#433).
  • k8s_cp - fix issue when using parameter local_path with file on managed node. (#421).
  • k8s_drain - fix error occurring when trying to drain node with disable_eviction set to yes (#416).
  • add support for dry run with kubernetes client version >=18.20 (#245).
  • fixed module_defaults by removing routing hacks from runtime.yml (#347).
  • helm - add support for timeout cli parameter to allow setting Helm timeout independent of wait (#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 (#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 (#377).
  • helm_plugin - Add plugin_version parameter to the helm_plugin module (#157).
  • helm_plugin - Add support for helm plugin update using state=update.
  • helm_repository - add support for pass-credentials cli parameter (#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 (#313).
  • k8s - add no_proxy support to k8s* (#272).
  • k8s - add support for server_side_apply. (#87).
  • k8s - add support for user impersonation. (https://github.com/ansible-collections/kubernetes/core/issues/40).
  • k8s - allow resource definition using metadata.generateName (#35).
  • k8s lookup plugin - Enable turbo mode via environment variable (#291).
  • k8s_drain - Adds delete_emptydir_data option to k8s_drain.delete_options to evict pods with an emptyDir volume attached (#322).
  • k8s_exec - select first container from the pod if none specified (#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 (#321).
  • Various modules and plugins - use vendored version of distutils.version instead of the deprecated Python standard library distutils (#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). (#348)
  • import exception from kubernetes.client.rest.
  • k8s_drain - fix error caused by accessing an undefined variable when pods have local storage (#292).
  • k8s_info - don't wait on empty List resources (#253).
  • k8s_scale - fix waiting on statefulset when scaled down to 0 replicas (#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 (#298).
  • use resource prefix when finding resource and apiVersion is v1 (#351).
  • k8s_taint - Taint a node in a Kubernetes/OpenShift cluster
  • add support for in-memory kubeconfig in addition to file for k8s modules. (#212).
  • helm - add support for history_max cli parameter (#164).
  • k8s - add support for label_selectors options (#43).
  • k8s - add support for waiting on statefulsets (#195).
  • k8s_log - Add since-seconds parameter to the k8s_log module (#142).
  • new lookup plugin to support kubernetes kustomize feature. (#39).
  • re-enable turbo mode for collection. The default is initially set to off (#169).
  • common - import k8sdynamicclient directly to workaround Ansible upstream bug (#162).
  • connection plugin - add arguments information into censored command (#196).
  • fix resource cache not being used (#228).
  • k8s - Fixes a bug where diff was always returned when using apply or modifying an existing object, even when diff=no was specified. The module no longer returns diff unless requested and will now honor diff=no (#146).
  • k8s_cp - fix k8s_cp uploading when target container's WORKDIR is not '/' (#222).
  • k8s_exec - add missing deprecation notice to return_code for k8s_exec (#233).
  • k8s_exec - fix k8s_exec returning rc attribute, to follow ansible's common return values (#230).
  • lookup - recommend query instead of lookup (#147).
  • support the template param in all collections depending on kubernetes.core (#154).
  • kustomize - Build a set of kubernetes resources using a 'kustomization.yaml' file.
  • k8s_cp - Copy files and directories to and from pod.
  • k8s_drain - Drain, Cordon, or Uncordon node in k8s cluster
  • check auth params for existence, not whether they are true (#151).
  • remove cloud.common as default dependency (#148).
  • temporarily disable turbo mode (#149).
  • Fix apply for k8s module when an array attribute from definition contains empty dict (#113).
  • rename the apply function to fix broken imports in Ansible 2.9 (#135).
  • inventory - add community.kubernetes to list of plugin choices in k8s inventory (#128).
  • k8s - deprecate merge_type=json. The JSON patch functionality has never worked (#99).
  • k8s_json_patch - split JSON patch functionality out into a separate module (#99).
  • replaces the openshift client with the official kubernetes client (#34).
  • Add cache_file when DynamicClient is created (#46).
  • Add configmap and secret hash functionality (#48).
  • Add logic for cache file name generation (#46).
  • Replicate apply method in the DynamicClient (#45).
  • add proxy_headers option for authentication on k8s_xxx modules (#58).
  • add support for using tags when running molecule test suite (#62).
  • added documentation for kubernetes.core collection (#50).
  • common - removed KubernetesAnsibleModule, use K8sAnsibleMixin instead (#70).
  • helm - add example for complex values in helm module (#109).
  • k8s - Handle list of definition for option template (#49).
  • k8s - continue_on_error option added (whether to continue on creation/deletion errors) (#49).
  • k8s - support patched value for state option. patched state is an existing resource that has a given patch applied (#90).
  • k8s - wait for all pods to update when rolling out daemonset changes (#102).
  • k8s_scale - ability to scale multiple resource using label_selectors (#114).
  • k8s_scale - new parameter to determine whether to continue or not on error when scaling multiple resources (#114).
  • kubeconfig - update kubeconfig file location in the documentation (#53).
  • remove old change log fragment files.
  • remove the deprecated KubernetesRawModule class (ansible-collections/community.kubernetes#232).
  • replicate base resource for lists functionality (#89).
  • Drop python 2 support (#86).
  • helm_plugin - remove unused release_namespace parameter (#85).
  • helm_plugin_info - remove unused release_namespace parameter (#85).
  • k8s_cluster_info - returned apis as list to avoid being overwritten in case of multiple version (#41).
  • k8s_facts - remove the deprecated alias from k8s_facts to k8s_info (#125).
  • k8s_json_patch - Apply JSON patch operations to existing objects
  • helm_plugin - Manage Helm plugins
  • helm_plugin_info - Gather information about Helm plugins
  • helm - Manages Kubernetes packages with the Helm package manager
  • helm_info - Get information from Helm package deployed inside the cluster
  • helm_repository - Add and remove Helm repository
  • kubectl - Warn about information disclosure when using options like kubectl_password, kubectl_extra_args, and kubectl_token to pass data through to the command line using the kubectl connection plugin (ansible-collections/community.kubernetes#51).
  • k8s_exec - Execute command in Pod
  • k8s_log - Fetch logs from Kubernetes resources
  • k8s - Inventory source migrated from Ansible 2.9 to Kubernetes collection.
  • k8s - Lookup plugin migrated from Ansible 2.9 to Kubernetes collection.
  • k8s - Module migrated from Ansible 2.9 to Kubernetes collection.
  • k8s_auth - Module migrated from Ansible 2.9 to Kubernetes collection.
  • k8s_config_resource_name - Filter plugin migrated from Ansible 2.9 to Kubernetes collection.
  • k8s_info - Module migrated from Ansible 2.9 to Kubernetes collection.
  • k8s_scale - Module migrated from Ansible 2.9 to Kubernetes collection.
  • k8s_service - Module migrated from Ansible 2.9 to Kubernetes collection.
  • kubectl - Connection plugin migrated from Ansible 2.9 to Kubernetes collection.
  • openshift - Inventory source migrated from Ansible 2.9 to Kubernetes collection.