diff --git a/changelogs/fragments/20230206-deprecate-k8s-inventory.yml b/changelogs/fragments/20230206-deprecate-k8s-inventory.yml new file mode 100644 index 00000000..01f4ddf4 --- /dev/null +++ b/changelogs/fragments/20230206-deprecate-k8s-inventory.yml @@ -0,0 +1,2 @@ +deprecated_features: +- k8s - the ``k8s`` inventory plugin has been deprecated and will be removed in release 4.0.0 (https://github.com/ansible-collections/kubernetes.core/issues/31). diff --git a/meta/runtime.yml b/meta/runtime.yml index 6b6ebf57..1eadc3f8 100644 --- a/meta/runtime.yml +++ b/meta/runtime.yml @@ -20,6 +20,12 @@ plugin_routing: inventory: openshift: redirect: community.okd.openshift + k8s: + deprecation: + removal_version: 4.0.0 + warning_text: >- + The k8s inventory plugin has been deprecated and + will be removed in release 4.0.0. modules: k8s_auth: redirect: community.okd.k8s_auth diff --git a/plugins/inventory/k8s.py b/plugins/inventory/k8s.py index 099730f1..45a36ec8 100644 --- a/plugins/inventory/k8s.py +++ b/plugins/inventory/k8s.py @@ -19,6 +19,13 @@ DOCUMENTATION = """ - Uses the kubectl connection plugin to access the Kubernetes cluster. - Uses k8s.(yml|yaml) YAML configuration file to set parameter values. + deprecated: + removed_in: 4.0.0 + why: | + As discussed in U(https://github.com/ansible-collections/kubernetes.core/issues/31), we decided to + remove the k8s inventory plugin in release 4.0.0. + alternative: "Use M(kubernetes.core.k8s_info) and M(ansible.builtin.add_host) instead." + options: plugin: description: token that ensures this is a source file for the 'k8s' plugin. @@ -155,6 +162,12 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable): def parse(self, inventory, loader, path, cache=True): super(InventoryModule, self).parse(inventory, loader, path) + + self.display.deprecated( + "The 'k8s' inventory plugin has been deprecated and will be removed in release 4.0.0", + version="4.0.0", + collection_name="kubernetes.core", + ) cache_key = self._get_cache_prefix(path) config_data = self._read_config_data(path) self.setup(config_data, cache, cache_key)