summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Krizek <martin.krizek@gmail.com>2022-11-29 16:43:14 +0100
committerGitHub <noreply@github.com>2022-11-29 16:43:14 +0100
commit3bda4eae6f1273a42f14b3dedc0d4f5928b290f6 (patch)
tree8dff3aafccafb63d63c1ef71c64b932091dc7bb9
parent01ff57bdff35e0e97b16caa2c420fe01039d13e1 (diff)
downloadansible-3bda4eae6f1273a42f14b3dedc0d4f5928b290f6.tar.gz
Fix repr(Task) to check action when testing for a meta task (#79464)
Fixes #79459
-rw-r--r--changelogs/fragments/79459-fix-meta-task-check.yml2
-rw-r--r--lib/ansible/playbook/task.py2
-rw-r--r--test/integration/targets/tasks/playbook.yml12
-rwxr-xr-xtest/integration/targets/tasks/runme.sh3
-rw-r--r--test/integration/targets/tasks/tasks/main.yml4
5 files changed, 18 insertions, 5 deletions
diff --git a/changelogs/fragments/79459-fix-meta-task-check.yml b/changelogs/fragments/79459-fix-meta-task-check.yml
new file mode 100644
index 0000000000..14f39791bf
--- /dev/null
+++ b/changelogs/fragments/79459-fix-meta-task-check.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - "Fix a traceback occuring when a task is named ``meta`` (https://github.com/ansible/ansible/issues/79459)"
diff --git a/lib/ansible/playbook/task.py b/lib/ansible/playbook/task.py
index 6a9136d254..1a71336bab 100644
--- a/lib/ansible/playbook/task.py
+++ b/lib/ansible/playbook/task.py
@@ -138,7 +138,7 @@ class Task(Base, Conditional, Taggable, CollectionSearch):
def __repr__(self):
''' returns a human readable representation of the task '''
- if self.get_name() in C._ACTION_META:
+ if self.action in C._ACTION_META:
return "TASK: meta (%s)" % self.args['_raw_params']
else:
return "TASK: %s" % self.get_name()
diff --git a/test/integration/targets/tasks/playbook.yml b/test/integration/targets/tasks/playbook.yml
new file mode 100644
index 0000000000..04f0421716
--- /dev/null
+++ b/test/integration/targets/tasks/playbook.yml
@@ -0,0 +1,12 @@
+- hosts: localhost
+ gather_facts: false
+ tasks:
+ # make sure tasks with an undefined variable in the name are gracefully handled
+ - name: "Task name with undefined variable: {{ not_defined }}"
+ debug:
+ msg: Hello
+
+ # ensure we properly test for an action name, not a task name when cheking for a meta task
+ - name: "meta"
+ debug:
+ msg: Hello \ No newline at end of file
diff --git a/test/integration/targets/tasks/runme.sh b/test/integration/targets/tasks/runme.sh
new file mode 100755
index 0000000000..57cbf28a85
--- /dev/null
+++ b/test/integration/targets/tasks/runme.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+ansible-playbook playbook.yml \ No newline at end of file
diff --git a/test/integration/targets/tasks/tasks/main.yml b/test/integration/targets/tasks/tasks/main.yml
deleted file mode 100644
index f6ac1114d0..0000000000
--- a/test/integration/targets/tasks/tasks/main.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-# make sure tasks with an undefined variable in the name are gracefully handled
-- name: "Task name with undefined variable: {{ not_defined }}"
- debug:
- msg: Hello