From 79ef6dc58d8a2cfed17c91f5e7fe34f11ede88ed Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 2 Dec 2023 01:12:53 +0000 Subject: [PATCH 1/3] chore(deps): update ansible-core requirement Updates the requirements on [ansible-core](https://github.com/ansible/ansible) to permit the latest version. - [Release notes](https://github.com/ansible/ansible/releases) - [Commits](https://github.com/ansible/ansible/compare/v2.15.0...v2.16.0) --- updated-dependencies: - dependency-name: ansible-core dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 3c8b9cd8..c11a130b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -ansible-core>=2.15,<2.15.5 +ansible-core>=2.15,<2.16.1 graphviz>=0.18,<1 colour<1 lxml<6 From 3c6fabc7b5fbed0b782f462670cc696e09ff20d6 Mon Sep 17 00:00:00 2001 From: Mohamed El Mouctar HAIDARA Date: Wed, 27 Dec 2023 23:59:23 +0100 Subject: [PATCH 2/3] fix --- ansibleplaybookgrapher/parser.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ansibleplaybookgrapher/parser.py b/ansibleplaybookgrapher/parser.py index f48df70e..d6b25f23 100644 --- a/ansibleplaybookgrapher/parser.py +++ b/ansibleplaybookgrapher/parser.py @@ -18,9 +18,11 @@ from ansible.cli import CLI from ansible.errors import AnsibleParserError, AnsibleUndefinedVariable, AnsibleError from ansible.parsing.yaml.objects import AnsibleUnicode -from ansible.playbook import Playbook, Play +from ansible.playbook import Playbook from ansible.playbook.block import Block from ansible.playbook.helpers import load_list_of_blocks +from ansible.playbook.play import Play +from ansible.playbook.role import Role from ansible.playbook.role_include import IncludeRole from ansible.playbook.task import Task from ansible.playbook.task_include import TaskInclude @@ -213,13 +215,17 @@ def parse(self, *args, **kwargs) -> PlaybookNode: # loop through the roles display.v("Parsing roles...") - for role in play.get_roles(): + for role in play.get_roles(): # type: Role # Don't insert tasks from ``import/include_role``, preventing duplicate graphing if role.from_include: continue # the role object doesn't inherit the tags from the play. So we add it manually. role.tags = role.tags + play.tags + + # More context on this line, see here: https://github.com/ansible/ansible/issues/82310 + role._parent = None + if not role.evaluate_tags( only_tags=self.tags, skip_tags=self.skip_tags, all_vars=play_vars ): From b86d31db2d858b954ae7113467a29a615eb90182 Mon Sep 17 00:00:00 2001 From: Mohamed El Mouctar HAIDARA Date: Thu, 28 Dec 2023 00:03:02 +0100 Subject: [PATCH 3/3] update --- ansibleplaybookgrapher/parser.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ansibleplaybookgrapher/parser.py b/ansibleplaybookgrapher/parser.py index d6b25f23..6a8779b5 100644 --- a/ansibleplaybookgrapher/parser.py +++ b/ansibleplaybookgrapher/parser.py @@ -224,6 +224,7 @@ def parse(self, *args, **kwargs) -> PlaybookNode: role.tags = role.tags + play.tags # More context on this line, see here: https://github.com/ansible/ansible/issues/82310 + # This seems to work for now. role._parent = None if not role.evaluate_tags(