summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAbhijeet Kasurde <akasurde@redhat.com>2024-10-25 20:20:11 +0200
committerGitHub <noreply@github.com>2024-10-25 20:20:11 +0200
commitab1a8cb3b3e157efc45adcfb7e8bee36c8aa91ed (patch)
tree8eb4cc0caf3b1a0f465a4e59c1ac8c0aa05138af
parentPreserve `_ansible_no_log` from action result; fix `include_vars` to set prop... (diff)
downloadansible-ab1a8cb3b3e157efc45adcfb7e8bee36c8aa91ed.tar.xz
ansible-ab1a8cb3b3e157efc45adcfb7e8bee36c8aa91ed.zip
docs: print deprecation collection name (#84126)
While showing the deprecation message, mention the collection name from which the module is removed. Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
-rw-r--r--changelogs/fragments/deprecated.yml3
-rwxr-xr-xlib/ansible/cli/doc.py2
-rw-r--r--lib/ansible/config/manager.py4
-rw-r--r--test/integration/targets/ansible-doc/randommodule-text.output2
-rwxr-xr-xtest/integration/targets/ansible-doc/runme.sh3
5 files changed, 11 insertions, 3 deletions
diff --git a/changelogs/fragments/deprecated.yml b/changelogs/fragments/deprecated.yml
new file mode 100644
index 0000000000..aa632c0487
--- /dev/null
+++ b/changelogs/fragments/deprecated.yml
@@ -0,0 +1,3 @@
+---
+minor_changes:
+ - docs - add collection name in message from which the module is being deprecated (https://github.com/ansible/ansible/issues/84116).
diff --git a/lib/ansible/cli/doc.py b/lib/ansible/cli/doc.py
index af13782990..52ec8a6c7b 100755
--- a/lib/ansible/cli/doc.py
+++ b/lib/ansible/cli/doc.py
@@ -1396,7 +1396,7 @@ class DocCLI(CLI, RoleMixin):
if 'removed_at_date' not in doc['deprecated'] and 'version' in doc['deprecated'] and 'removed_in' not in doc['deprecated']:
doc['deprecated']['removed_in'] = doc['deprecated']['version']
try:
- text.append('\t' + C.config.get_deprecated_msg_from_config(doc['deprecated'], True))
+ text.append('\t' + C.config.get_deprecated_msg_from_config(doc['deprecated'], True, collection_name=collection_name))
except KeyError as e:
raise AnsibleError("Invalid deprecation documentation structure", orig_exc=e)
else:
diff --git a/lib/ansible/config/manager.py b/lib/ansible/config/manager.py
index f71613bca6..818219b130 100644
--- a/lib/ansible/config/manager.py
+++ b/lib/ansible/config/manager.py
@@ -682,12 +682,14 @@ class ConfigManager(object):
self._plugins[plugin_type][name] = defs
@staticmethod
- def get_deprecated_msg_from_config(dep_docs, include_removal=False):
+ def get_deprecated_msg_from_config(dep_docs, include_removal=False, collection_name=None):
removal = ''
if include_removal:
if 'removed_at_date' in dep_docs:
removal = f"Will be removed in a release after {dep_docs['removed_at_date']}\n\t"
+ elif collection_name:
+ removal = f"Will be removed in: {collection_name} {dep_docs['removed_in']}\n\t"
else:
removal = f"Will be removed in: Ansible {dep_docs['removed_in']}\n\t"
diff --git a/test/integration/targets/ansible-doc/randommodule-text.output b/test/integration/targets/ansible-doc/randommodule-text.output
index e8905165fa..695ffcc3f8 100644
--- a/test/integration/targets/ansible-doc/randommodule-text.output
+++ b/test/integration/targets/ansible-doc/randommodule-text.output
@@ -12,7 +12,7 @@
messages.
DEPRECATED:
Reason: Test deprecation
- Will be removed in: Ansible 3.0.0
+ Will be removed in: testns.testcol 3.0.0
Alternatives: Use some other module
OPTIONS (= indicates it is required):
diff --git a/test/integration/targets/ansible-doc/runme.sh b/test/integration/targets/ansible-doc/runme.sh
index f7accb217c..91da3e854d 100755
--- a/test/integration/targets/ansible-doc/runme.sh
+++ b/test/integration/targets/ansible-doc/runme.sh
@@ -30,6 +30,9 @@ ansible-doc -t keyword -l | grep "${GREP_OPTS[@]}" 'vars_prompt: list of variabl
ansible-doc -t keyword vars_prompt | grep "${GREP_OPTS[@]}" 'description: list of variables to prompt for.'
ansible-doc -t keyword asldkfjaslidfhals 2>&1 | grep "${GREP_OPTS[@]}" 'Skipping Invalid keyword'
+echo "Check if deprecation collection name is printed"
+ansible-doc --playbook-dir ./ testns.testcol.randommodule 2>&1 | grep "${GREP_OPTS[@]}" "Will be removed in: testns.testcol"
+
# collections testing
(
unset ANSIBLE_PLAYBOOK_DIR