From 0953291bf20cf3fc8e8214752594b95b4b845fa4 Mon Sep 17 00:00:00 2001 From: Mohamed El Mouctar HAIDARA Date: Sat, 3 Jun 2023 20:06:02 +0200 Subject: [PATCH] docs: Release v2.0.0 [ci skip] --- CHANGELOG.md | 3 +- README.md | 428 +++++++++++------------------ ansibleplaybookgrapher/__init__.py | 2 +- 3 files changed, 166 insertions(+), 267 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c610b5cc..ecbdd74a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,9 +3,10 @@ ## What's Changed - 🚀🚀Add support for MermaidJS 🚀🚀. See https://github.com/haidaraM/ansible-playbook-grapher/issues/137 +- Add generated images in the CI job summary - Update various Dependencies: pytest, pytest-cov, ansible-core, pyquery etc... - ci: Add dependabot for github-actions -- Rename some tests files.. +- Rename some tests files... ## Breaking changes diff --git a/README.md b/README.md index 5299082f..9a4c4ccb 100644 --- a/README.md +++ b/README.md @@ -85,302 +85,200 @@ ansible-playbook-grapher tests/fixtures/with_block.yml ![Example](https://raw.githubusercontent.com/haidaraM/ansible-playbook-grapher/main/img/block.png) ```bash -ansible-playbook-grapher --include-role-tasks --renderer mermaid-flowchart tests/fixtures/multi-plays.yml tests/fixtures/with_block.yml +ansible-playbook-grapher --include-role-tasks --renderer mermaid-flowchart tests/fixtures/multi-plays.yml ``` ```mermaid --- title: Ansible Playbook Grapher --- -%%{ init: { 'flowchart': { 'curve': 'bumpX' } } }%% +%%{ init: { "flowchart": { "curve": "bumpX" } } }%% flowchart LR %% Start of the playbook 'tests/fixtures/multi-plays.yml' - playbook_bd8798bc("tests/fixtures/multi-plays.yml") + playbook_34b89e53("tests/fixtures/multi-plays.yml") %% Start of the play 'Play: all (0)' - play_fb11c1f8["Play: all (0)"] - style play_fb11c1f8 fill:#4d8b41,color:#ffffff - playbook_bd8798bc --> |"1"| play_fb11c1f8 - linkStyle 0 stroke:#4d8b41,color:#4d8b41 - pre_task_0aea2a6b["[pre_task] Pretask"] - style pre_task_0aea2a6b stroke:#4d8b41,fill:#ffffff - play_fb11c1f8 --> |"1"| pre_task_0aea2a6b - linkStyle 1 stroke:#4d8b41,color:#4d8b41 - pre_task_e48d82b5["[pre_task] Pretask 2"] - style pre_task_e48d82b5 stroke:#4d8b41,fill:#ffffff - play_fb11c1f8 --> |"2"| pre_task_e48d82b5 - linkStyle 2 stroke:#4d8b41,color:#4d8b41 + play_8c4134b8["Play: all (0)"] + style play_8c4134b8 fill:#656f5d,color:#ffffff + playbook_34b89e53 --> |"1"| play_8c4134b8 + linkStyle 0 stroke:#656f5d,color:#656f5d + pre_task_dd2c1b7d["[pre_task] Pretask"] + style pre_task_dd2c1b7d stroke:#656f5d,fill:#ffffff + play_8c4134b8 --> |"1"| pre_task_dd2c1b7d + linkStyle 1 stroke:#656f5d,color:#656f5d + pre_task_bc33639f["[pre_task] Pretask 2"] + style pre_task_bc33639f stroke:#656f5d,fill:#ffffff + play_8c4134b8 --> |"2"| pre_task_bc33639f + linkStyle 2 stroke:#656f5d,color:#656f5d %% Start of the role 'fake_role' - role_d95e9d5f("[role] fake_role") - style role_d95e9d5f fill:#4d8b41,color:#ffffff,stroke:#4d8b41 - play_fb11c1f8 --> |"3"| role_d95e9d5f - linkStyle 3 stroke:#4d8b41,color:#4d8b41 - task_41f6dd12["fake_role : Debug 1"] - style task_41f6dd12 stroke:#4d8b41,fill:#ffffff - role_d95e9d5f --> |"1 [when: ansible_distribution == 'Debian']"| task_41f6dd12 - linkStyle 4 stroke:#4d8b41,color:#4d8b41 - task_9dcf29d3["fake_role : Debug 2"] - style task_9dcf29d3 stroke:#4d8b41,fill:#ffffff - role_d95e9d5f --> |"2 [when: ansible_distribution == 'Debian']"| task_9dcf29d3 - linkStyle 5 stroke:#4d8b41,color:#4d8b41 - task_dc3f4611["fake_role : Debug 3 with double quote "here" in the name"] - style task_dc3f4611 stroke:#4d8b41,fill:#ffffff - role_d95e9d5f --> |"3 [when: ansible_distribution == 'Debian']"| task_dc3f4611 - linkStyle 6 stroke:#4d8b41,color:#4d8b41 + play_8c4134b8 --> |"3"| role_f4e6fb4d + linkStyle 3 stroke:#656f5d,color:#656f5d + role_f4e6fb4d("[role] fake_role") + style role_f4e6fb4d fill:#656f5d,color:#ffffff,stroke:#656f5d + task_94f7fc58[" fake_role : Debug 1"] + style task_94f7fc58 stroke:#656f5d,fill:#ffffff + role_f4e6fb4d --> |"1 [when: ansible_distribution == 'Debian']"| task_94f7fc58 + linkStyle 4 stroke:#656f5d,color:#656f5d + task_bd56c6b5[" fake_role : Debug 2"] + style task_bd56c6b5 stroke:#656f5d,fill:#ffffff + role_f4e6fb4d --> |"2 [when: ansible_distribution == 'Debian']"| task_bd56c6b5 + linkStyle 5 stroke:#656f5d,color:#656f5d + task_4f51a1cc[" fake_role : Debug 3 with double quote "here" in the name"] + style task_4f51a1cc stroke:#656f5d,fill:#ffffff + role_f4e6fb4d --> |"3 [when: ansible_distribution == 'Debian']"| task_4f51a1cc + linkStyle 6 stroke:#656f5d,color:#656f5d %% End of the role 'fake_role' %% Start of the role 'display_some_facts' - role_2b74c9f5("[role] display_some_facts") - style role_2b74c9f5 fill:#4d8b41,color:#ffffff,stroke:#4d8b41 - play_fb11c1f8 --> |"4"| role_2b74c9f5 - linkStyle 7 stroke:#4d8b41,color:#4d8b41 - task_1c0691fb["display_some_facts : ansible_architecture"] - style task_1c0691fb stroke:#4d8b41,fill:#ffffff - role_2b74c9f5 --> |"1"| task_1c0691fb - linkStyle 8 stroke:#4d8b41,color:#4d8b41 - task_c7d6574e["display_some_facts : ansible_date_time"] - style task_c7d6574e stroke:#4d8b41,fill:#ffffff - role_2b74c9f5 --> |"2"| task_c7d6574e - linkStyle 9 stroke:#4d8b41,color:#4d8b41 - task_e26456cf["display_some_facts : Specific included task for Debian"] - style task_e26456cf stroke:#4d8b41,fill:#ffffff - role_2b74c9f5 --> |"3"| task_e26456cf - linkStyle 10 stroke:#4d8b41,color:#4d8b41 + play_8c4134b8 --> |"4"| role_497b8470 + linkStyle 7 stroke:#656f5d,color:#656f5d + role_497b8470("[role] display_some_facts") + style role_497b8470 fill:#656f5d,color:#ffffff,stroke:#656f5d + task_984b3c44[" display_some_facts : ansible_architecture"] + style task_984b3c44 stroke:#656f5d,fill:#ffffff + role_497b8470 --> |"1"| task_984b3c44 + linkStyle 8 stroke:#656f5d,color:#656f5d + task_3cb4a46c[" display_some_facts : ansible_date_time"] + style task_3cb4a46c stroke:#656f5d,fill:#ffffff + role_497b8470 --> |"2"| task_3cb4a46c + linkStyle 9 stroke:#656f5d,color:#656f5d + task_715c2049[" display_some_facts : Specific included task for Debian"] + style task_715c2049 stroke:#656f5d,fill:#ffffff + role_497b8470 --> |"3"| task_715c2049 + linkStyle 10 stroke:#656f5d,color:#656f5d %% End of the role 'display_some_facts' - task_f0ec5674["[task] Add backport {{backport}}"] - style task_f0ec5674 stroke:#4d8b41,fill:#ffffff - play_fb11c1f8 --> |"5"| task_f0ec5674 - linkStyle 11 stroke:#4d8b41,color:#4d8b41 - task_614fa7f3["[task] Install packages"] - style task_614fa7f3 stroke:#4d8b41,fill:#ffffff - play_fb11c1f8 --> |"6"| task_614fa7f3 - linkStyle 12 stroke:#4d8b41,color:#4d8b41 - post_task_bfd4a733["[post_task] Posttask"] - style post_task_bfd4a733 stroke:#4d8b41,fill:#ffffff - play_fb11c1f8 --> |"7"| post_task_bfd4a733 - linkStyle 13 stroke:#4d8b41,color:#4d8b41 - post_task_6728f20f["[post_task] Posttask 2"] - style post_task_6728f20f stroke:#4d8b41,fill:#ffffff - play_fb11c1f8 --> |"8"| post_task_6728f20f - linkStyle 14 stroke:#4d8b41,color:#4d8b41 + task_d8b579ea["[task] Add backport {{backport}}"] + style task_d8b579ea stroke:#656f5d,fill:#ffffff + play_8c4134b8 --> |"5"| task_d8b579ea + linkStyle 11 stroke:#656f5d,color:#656f5d + task_99117197["[task] Install packages"] + style task_99117197 stroke:#656f5d,fill:#ffffff + play_8c4134b8 --> |"6"| task_99117197 + linkStyle 12 stroke:#656f5d,color:#656f5d + post_task_f789bda0["[post_task] Posttask"] + style post_task_f789bda0 stroke:#656f5d,fill:#ffffff + play_8c4134b8 --> |"7"| post_task_f789bda0 + linkStyle 13 stroke:#656f5d,color:#656f5d + post_task_08755b4b["[post_task] Posttask 2"] + style post_task_08755b4b stroke:#656f5d,fill:#ffffff + play_8c4134b8 --> |"8"| post_task_08755b4b + linkStyle 14 stroke:#656f5d,color:#656f5d %% End of the play 'Play: all (0)' %% Start of the play 'Play: database (0)' - play_200a2cda["Play: database (0)"] - style play_200a2cda fill:#195db3,color:#ffffff - playbook_bd8798bc --> |"2"| play_200a2cda - linkStyle 15 stroke:#195db3,color:#195db3 + play_40fea3c6["Play: database (0)"] + style play_40fea3c6 fill:#2370a9,color:#ffffff + playbook_34b89e53 --> |"2"| play_40fea3c6 + linkStyle 15 stroke:#2370a9,color:#2370a9 %% Start of the role 'fake_role' - role_584c099b("[role] fake_role") - style role_584c099b fill:#195db3,color:#ffffff,stroke:#195db3 - play_200a2cda --> |"1"| role_584c099b - linkStyle 16 stroke:#195db3,color:#195db3 - task_4363c0b7["fake_role : Debug 1"] - style task_4363c0b7 stroke:#195db3,fill:#ffffff - role_584c099b --> |"1 [when: ansible_distribution == 'Debian']"| task_4363c0b7 - linkStyle 17 stroke:#195db3,color:#195db3 - task_aff132aa["fake_role : Debug 2"] - style task_aff132aa stroke:#195db3,fill:#ffffff - role_584c099b --> |"2 [when: ansible_distribution == 'Debian']"| task_aff132aa - linkStyle 18 stroke:#195db3,color:#195db3 - task_69120ebe["fake_role : Debug 3 with double quote "here" in the name"] - style task_69120ebe stroke:#195db3,fill:#ffffff - role_584c099b --> |"3 [when: ansible_distribution == 'Debian']"| task_69120ebe - linkStyle 19 stroke:#195db3,color:#195db3 + play_40fea3c6 --> |"1"| role_38fdd7bb + linkStyle 16 stroke:#2370a9,color:#2370a9 + role_38fdd7bb("[role] fake_role") + style role_38fdd7bb fill:#2370a9,color:#ffffff,stroke:#2370a9 + task_54a811a1[" fake_role : Debug 1"] + style task_54a811a1 stroke:#2370a9,fill:#ffffff + role_38fdd7bb --> |"1 [when: ansible_distribution == 'Debian']"| task_54a811a1 + linkStyle 17 stroke:#2370a9,color:#2370a9 + task_0400749b[" fake_role : Debug 2"] + style task_0400749b stroke:#2370a9,fill:#ffffff + role_38fdd7bb --> |"2 [when: ansible_distribution == 'Debian']"| task_0400749b + linkStyle 18 stroke:#2370a9,color:#2370a9 + task_e453cadd[" fake_role : Debug 3 with double quote "here" in the name"] + style task_e453cadd stroke:#2370a9,fill:#ffffff + role_38fdd7bb --> |"3 [when: ansible_distribution == 'Debian']"| task_e453cadd + linkStyle 19 stroke:#2370a9,color:#2370a9 %% End of the role 'fake_role' %% Start of the role 'display_some_facts' - role_f46ed679("[role] display_some_facts") - style role_f46ed679 fill:#195db3,color:#ffffff,stroke:#195db3 - play_200a2cda --> |"2"| role_f46ed679 - linkStyle 20 stroke:#195db3,color:#195db3 - task_5f4d00e6["display_some_facts : ansible_architecture"] - style task_5f4d00e6 stroke:#195db3,fill:#ffffff - role_f46ed679 --> |"1"| task_5f4d00e6 - linkStyle 21 stroke:#195db3,color:#195db3 - task_fa40d63b["display_some_facts : ansible_date_time"] - style task_fa40d63b stroke:#195db3,fill:#ffffff - role_f46ed679 --> |"2"| task_fa40d63b - linkStyle 22 stroke:#195db3,color:#195db3 - task_3527696f["display_some_facts : Specific included task for Debian"] - style task_3527696f stroke:#195db3,fill:#ffffff - role_f46ed679 --> |"3"| task_3527696f - linkStyle 23 stroke:#195db3,color:#195db3 + play_40fea3c6 --> |"2"| role_b05b7094 + linkStyle 20 stroke:#2370a9,color:#2370a9 + role_b05b7094("[role] display_some_facts") + style role_b05b7094 fill:#2370a9,color:#ffffff,stroke:#2370a9 + task_153db06e[" display_some_facts : ansible_architecture"] + style task_153db06e stroke:#2370a9,fill:#ffffff + role_b05b7094 --> |"1"| task_153db06e + linkStyle 21 stroke:#2370a9,color:#2370a9 + task_13df99ce[" display_some_facts : ansible_date_time"] + style task_13df99ce stroke:#2370a9,fill:#ffffff + role_b05b7094 --> |"2"| task_13df99ce + linkStyle 22 stroke:#2370a9,color:#2370a9 + task_369b5720[" display_some_facts : Specific included task for Debian"] + style task_369b5720 stroke:#2370a9,fill:#ffffff + role_b05b7094 --> |"3"| task_369b5720 + linkStyle 23 stroke:#2370a9,color:#2370a9 %% End of the role 'display_some_facts' %% End of the play 'Play: database (0)' %% Start of the play 'Play: webserver (0)' - play_34799e65["Play: webserver (0)"] - style play_34799e65 fill:#7f4d73,color:#ffffff - playbook_bd8798bc --> |"3"| play_34799e65 - linkStyle 24 stroke:#7f4d73,color:#7f4d73 + play_a68ff4e7["Play: webserver (0)"] + style play_a68ff4e7 fill:#a905c7,color:#ffffff + playbook_34b89e53 --> |"3"| play_a68ff4e7 + linkStyle 24 stroke:#a905c7,color:#a905c7 %% Start of the role 'nested_include_role' - role_1bfe7836("[role] nested_include_role") - style role_1bfe7836 fill:#7f4d73,color:#ffffff,stroke:#7f4d73 - play_34799e65 --> |"1"| role_1bfe7836 - linkStyle 25 stroke:#7f4d73,color:#7f4d73 - task_40d7c36f["nested_include_role : Ensure postgresql is at the latest version"] - style task_40d7c36f stroke:#7f4d73,fill:#ffffff - role_1bfe7836 --> |"1"| task_40d7c36f - linkStyle 26 stroke:#7f4d73,color:#7f4d73 - task_bc9f916c["nested_include_role : Ensure that postgresql is started"] - style task_bc9f916c stroke:#7f4d73,fill:#ffffff - role_1bfe7836 --> |"2"| task_bc9f916c - linkStyle 27 stroke:#7f4d73,color:#7f4d73 + play_a68ff4e7 --> |"1"| role_8bcf64e2 + linkStyle 25 stroke:#a905c7,color:#a905c7 + role_8bcf64e2("[role] nested_include_role") + style role_8bcf64e2 fill:#a905c7,color:#ffffff,stroke:#a905c7 + task_bd87cdf3[" nested_include_role : Ensure postgresql is at the latest version"] + style task_bd87cdf3 stroke:#a905c7,fill:#ffffff + role_8bcf64e2 --> |"1"| task_bd87cdf3 + linkStyle 26 stroke:#a905c7,color:#a905c7 + task_d7674c4b[" nested_include_role : Ensure that postgresql is started"] + style task_d7674c4b stroke:#a905c7,fill:#ffffff + role_8bcf64e2 --> |"2"| task_d7674c4b + linkStyle 27 stroke:#a905c7,color:#a905c7 %% Start of the role 'display_some_facts' - role_dfff70cd("[role] display_some_facts") - style role_dfff70cd fill:#7f4d73,color:#ffffff,stroke:#7f4d73 - role_1bfe7836 --> |"3 [when: x is not defined]"| role_dfff70cd - linkStyle 28 stroke:#7f4d73,color:#7f4d73 - task_2700f9a8["display_some_facts : ansible_architecture"] - style task_2700f9a8 stroke:#7f4d73,fill:#ffffff - role_dfff70cd --> |"1"| task_2700f9a8 - linkStyle 29 stroke:#7f4d73,color:#7f4d73 - task_84bd5d7e["display_some_facts : ansible_date_time"] - style task_84bd5d7e stroke:#7f4d73,fill:#ffffff - role_dfff70cd --> |"2"| task_84bd5d7e - linkStyle 30 stroke:#7f4d73,color:#7f4d73 - task_1b02d165["display_some_facts : Specific included task for Debian"] - style task_1b02d165 stroke:#7f4d73,fill:#ffffff - role_dfff70cd --> |"3"| task_1b02d165 - linkStyle 31 stroke:#7f4d73,color:#7f4d73 + role_8bcf64e2 --> |"3 [when: x is not defined]"| role_806214e1 + linkStyle 28 stroke:#a905c7,color:#a905c7 + role_806214e1("[role] display_some_facts") + style role_806214e1 fill:#a905c7,color:#ffffff,stroke:#a905c7 + task_b1fb63fd[" display_some_facts : ansible_architecture"] + style task_b1fb63fd stroke:#a905c7,fill:#ffffff + role_806214e1 --> |"1"| task_b1fb63fd + linkStyle 29 stroke:#a905c7,color:#a905c7 + task_4a1319fd[" display_some_facts : ansible_date_time"] + style task_4a1319fd stroke:#a905c7,fill:#ffffff + role_806214e1 --> |"2"| task_4a1319fd + linkStyle 30 stroke:#a905c7,color:#a905c7 + task_175005a1[" display_some_facts : Specific included task for Debian"] + style task_175005a1 stroke:#a905c7,fill:#ffffff + role_806214e1 --> |"3"| task_175005a1 + linkStyle 31 stroke:#a905c7,color:#a905c7 %% End of the role 'display_some_facts' %% Start of the role 'fake_role' - role_6433854b("[role] fake_role") - style role_6433854b fill:#7f4d73,color:#ffffff,stroke:#7f4d73 - role_1bfe7836 --> |"4"| role_6433854b - linkStyle 32 stroke:#7f4d73,color:#7f4d73 - task_10479304["fake_role : Debug 1"] - style task_10479304 stroke:#7f4d73,fill:#ffffff - role_6433854b --> |"1"| task_10479304 - linkStyle 33 stroke:#7f4d73,color:#7f4d73 - task_a13ab280["fake_role : Debug 2"] - style task_a13ab280 stroke:#7f4d73,fill:#ffffff - role_6433854b --> |"2"| task_a13ab280 - linkStyle 34 stroke:#7f4d73,color:#7f4d73 - task_bffa1ed0["fake_role : Debug 3 with double quote "here" in the name"] - style task_bffa1ed0 stroke:#7f4d73,fill:#ffffff - role_6433854b --> |"3"| task_bffa1ed0 - linkStyle 35 stroke:#7f4d73,color:#7f4d73 + role_8bcf64e2 --> |"4"| role_557d6933 + linkStyle 32 stroke:#a905c7,color:#a905c7 + role_557d6933("[role] fake_role") + style role_557d6933 fill:#a905c7,color:#ffffff,stroke:#a905c7 + task_1fa41f3c[" fake_role : Debug 1"] + style task_1fa41f3c stroke:#a905c7,fill:#ffffff + role_557d6933 --> |"1"| task_1fa41f3c + linkStyle 33 stroke:#a905c7,color:#a905c7 + task_2841d72b[" fake_role : Debug 2"] + style task_2841d72b stroke:#a905c7,fill:#ffffff + role_557d6933 --> |"2"| task_2841d72b + linkStyle 34 stroke:#a905c7,color:#a905c7 + task_e5fef12a[" fake_role : Debug 3 with double quote "here" in the name"] + style task_e5fef12a stroke:#a905c7,fill:#ffffff + role_557d6933 --> |"3"| task_e5fef12a + linkStyle 35 stroke:#a905c7,color:#a905c7 %% End of the role 'fake_role' %% End of the role 'nested_include_role' %% Start of the role 'display_some_facts' - role_9188508e("[role] display_some_facts") - style role_9188508e fill:#7f4d73,color:#ffffff,stroke:#7f4d73 - play_34799e65 --> |"2"| role_9188508e - linkStyle 36 stroke:#7f4d73,color:#7f4d73 - task_b0401984["display_some_facts : ansible_architecture"] - style task_b0401984 stroke:#7f4d73,fill:#ffffff - role_9188508e --> |"1"| task_b0401984 - linkStyle 37 stroke:#7f4d73,color:#7f4d73 - task_417dd6b4["display_some_facts : ansible_date_time"] - style task_417dd6b4 stroke:#7f4d73,fill:#ffffff - role_9188508e --> |"2"| task_417dd6b4 - linkStyle 38 stroke:#7f4d73,color:#7f4d73 - task_60860d86["display_some_facts : Specific included task for Debian"] - style task_60860d86 stroke:#7f4d73,fill:#ffffff - role_9188508e --> |"3"| task_60860d86 - linkStyle 39 stroke:#7f4d73,color:#7f4d73 + play_a68ff4e7 --> |"2"| role_2720d5bc + linkStyle 36 stroke:#a905c7,color:#a905c7 + role_2720d5bc("[role] display_some_facts") + style role_2720d5bc fill:#a905c7,color:#ffffff,stroke:#a905c7 + task_4d8d8def[" display_some_facts : ansible_architecture"] + style task_4d8d8def stroke:#a905c7,fill:#ffffff + role_2720d5bc --> |"1"| task_4d8d8def + linkStyle 37 stroke:#a905c7,color:#a905c7 + task_58aea4f6[" display_some_facts : ansible_date_time"] + style task_58aea4f6 stroke:#a905c7,fill:#ffffff + role_2720d5bc --> |"2"| task_58aea4f6 + linkStyle 38 stroke:#a905c7,color:#a905c7 + task_800f91e9[" display_some_facts : Specific included task for Debian"] + style task_800f91e9 stroke:#a905c7,fill:#ffffff + role_2720d5bc --> |"3"| task_800f91e9 + linkStyle 39 stroke:#a905c7,color:#a905c7 %% End of the role 'display_some_facts' %% End of the play 'Play: webserver (0)' %% End of the playbook 'tests/fixtures/multi-plays.yml' - - %% Start of the playbook 'tests/fixtures/with_block.yml' - playbook_2e263466("tests/fixtures/with_block.yml") - %% Start of the play 'Play: all (0)' - play_74990123["Play: all (0)"] - style play_74990123 fill:#a4288c,color:#ffffff - playbook_2e263466 --> |"1"| play_74990123 - linkStyle 40 stroke:#a4288c,color:#a4288c - %% Start of the role 'fake_role' - role_5914bd45("[role] fake_role") - style role_5914bd45 fill:#a4288c,color:#ffffff,stroke:#a4288c - play_74990123 --> |"1"| role_5914bd45 - linkStyle 41 stroke:#a4288c,color:#a4288c - pre_task_87f2b15f["fake_role : Debug 1"] - style pre_task_87f2b15f stroke:#a4288c,fill:#ffffff - role_5914bd45 --> |"1"| pre_task_87f2b15f - linkStyle 42 stroke:#a4288c,color:#a4288c - pre_task_64224a5c["fake_role : Debug 2"] - style pre_task_64224a5c stroke:#a4288c,fill:#ffffff - role_5914bd45 --> |"2"| pre_task_64224a5c - linkStyle 43 stroke:#a4288c,color:#a4288c - pre_task_eaf098d3["fake_role : Debug 3 with double quote "here" in the name"] - style pre_task_eaf098d3 stroke:#a4288c,fill:#ffffff - role_5914bd45 --> |"3"| pre_task_eaf098d3 - linkStyle 44 stroke:#a4288c,color:#a4288c - %% End of the role 'fake_role' - %% Start of the block 'Block in pre task' - block_59e01f41["[block] Block in pre task"] - style block_59e01f41 fill:#a4288c,color:#ffffff,stroke:#a4288c - play_74990123 --> |"2"| block_59e01f41 - linkStyle 45 stroke:#a4288c,color:#a4288c - subgraph subgraph_block_59e01f41["Block in pre task "] - pre_task_d56eed17["debug"] - style pre_task_d56eed17 stroke:#a4288c,fill:#ffffff - block_59e01f41 --> |"1"| pre_task_d56eed17 - linkStyle 46 stroke:#a4288c,color:#a4288c - end - %% End of the block 'Block in pre task' - task_13ae5b2d["[task] Install tree"] - style task_13ae5b2d stroke:#a4288c,fill:#ffffff - play_74990123 --> |"3"| task_13ae5b2d - linkStyle 47 stroke:#a4288c,color:#a4288c - %% Start of the block 'Install Apache' - block_58464279["[block] Install Apache"] - style block_58464279 fill:#a4288c,color:#ffffff,stroke:#a4288c - play_74990123 --> |"4 [when: (ansible_facts['distribution'] == 'CentOS' and ansible_facts['distribution_major_version'] == '6')]"| block_58464279 - linkStyle 48 stroke:#a4288c,color:#a4288c - subgraph subgraph_block_58464279["Install Apache "] - task_3c6e5034["Install some packages"] - style task_3c6e5034 stroke:#a4288c,fill:#ffffff - block_58464279 --> |"1 [when: (ansible_facts['distribution'] == 'CentOS' and ansible_facts['distribution_major_version'] == '6')]"| task_3c6e5034 - linkStyle 49 stroke:#a4288c,color:#a4288c - task_7f997d4e["template"] - style task_7f997d4e stroke:#a4288c,fill:#ffffff - block_58464279 --> |"2 [when: (ansible_facts['distribution'] == 'CentOS' and ansible_facts['distribution_major_version'] == '6')]"| task_7f997d4e - linkStyle 50 stroke:#a4288c,color:#a4288c - %% Start of the block '' - block_58e72e2c["[block] "] - style block_58e72e2c fill:#a4288c,color:#ffffff,stroke:#a4288c - block_58464279 --> |"3 [when: (ansible_facts['distribution'] == 'CentOS' and ansible_facts['distribution_major_version'] == '6')]"| block_58e72e2c - linkStyle 51 stroke:#a4288c,color:#a4288c - subgraph subgraph_block_58e72e2c[" "] - task_752a43fc["get_url"] - style task_752a43fc stroke:#a4288c,fill:#ffffff - block_58e72e2c --> |"1 [when: (ansible_facts['distribution'] == 'CentOS' and ansible_facts['distribution_major_version'] == '6') and True]"| task_752a43fc - linkStyle 52 stroke:#a4288c,color:#a4288c - task_b31070fc["command"] - style task_b31070fc stroke:#a4288c,fill:#ffffff - block_58e72e2c --> |"2 [when: (ansible_facts['distribution'] == 'CentOS' and ansible_facts['distribution_major_version'] == '6')]"| task_b31070fc - linkStyle 53 stroke:#a4288c,color:#a4288c - end - %% End of the block '' - task_4ff99c46["service"] - style task_4ff99c46 stroke:#a4288c,fill:#ffffff - block_58464279 --> |"4 [when: (ansible_facts['distribution'] == 'CentOS' and ansible_facts['distribution_major_version'] == '6')]"| task_4ff99c46 - linkStyle 54 stroke:#a4288c,color:#a4288c - end - %% End of the block 'Install Apache' - task_27e5fe68["[task] Create a username for tomcat"] - style task_27e5fe68 stroke:#a4288c,fill:#ffffff - play_74990123 --> |"5"| task_27e5fe68 - linkStyle 55 stroke:#a4288c,color:#a4288c - post_task_b09e48f3["[post_task] Debug"] - style post_task_b09e48f3 stroke:#a4288c,fill:#ffffff - play_74990123 --> |"6"| post_task_b09e48f3 - linkStyle 56 stroke:#a4288c,color:#a4288c - %% Start of the block 'My post task block' - block_644a319d["[block] My post task block"] - style block_644a319d fill:#a4288c,color:#ffffff,stroke:#a4288c - play_74990123 --> |"7"| block_644a319d - linkStyle 57 stroke:#a4288c,color:#a4288c - subgraph subgraph_block_644a319d["My post task block "] - post_task_e6f19df5["template"] - style post_task_e6f19df5 stroke:#a4288c,fill:#ffffff - block_644a319d --> |"1"| post_task_e6f19df5 - linkStyle 58 stroke:#a4288c,color:#a4288c - end - %% End of the block 'My post task block' - %% End of the play 'Play: all (0)' - %% End of the playbook 'tests/fixtures/with_block.yml' - - ``` Note on block: Since `block`s are logical group of tasks, the conditional `when` is not displayed on the edges pointing diff --git a/ansibleplaybookgrapher/__init__.py b/ansibleplaybookgrapher/__init__.py index 29ca941b..cb45adca 100644 --- a/ansibleplaybookgrapher/__init__.py +++ b/ansibleplaybookgrapher/__init__.py @@ -27,7 +27,7 @@ from .graph_model import PlaybookNode, PlayNode, TaskNode, RoleNode, BlockNode from .parser import PlaybookParser -__version__ = "2.0.0-dev2" +__version__ = "2.0.0" __prog__ = "ansible-playbook-grapher" display = Display()