A command line tool to create a graph representing your Ansible playbook tasks and roles
Project description
ansible-playbook-grapher is a command line tool to create a graph representing your Ansible playbook tasks and roles. The aim of this project is to quickly have an overview of your playbook.
Inspired by Ansible Inventory Grapher.
Prerequisites
Ansible >= 2.4: The script has not been tested with an earlier version of Ansible. If you still use an older version of Ansible, create an virtual environment and install ansible-playbook-grapher. The installation process will install a version of Ansible >= 2.4
graphviz: The tool used to generate the graph in SVG.
$ sudo apt-get install graphviz # or yum install or brew install
Installation
$ pip install ansible-playbook-grapher
Usage
$ ansible-playbook-grapher examples/playbook.yml
Example
$ ansible-playbook-grapher --include-role-tasks examples/example_with_roles.yml
Example
Some options are available:
$ ansible-playbook-grapher --help
Usage: ansible-playbook-grapher [options] playbook.yml
Make graph from your Playbook.
Options:
--ask-vault-pass ask for vault password
-e EXTRA_VARS, --extra-vars=EXTRA_VARS
set additional variables as key=value or YAML/JSON, if
filename prepend with @
-h, --help show this help message and exit
--include-role-tasks Include the tasks of the role in the graph.
-i INVENTORY, --inventory=INVENTORY
specify inventory host path (default=[%s]) or comma
separated host list.
--new-vault-id=NEW_VAULT_ID
the new vault identity to use for rekey
--new-vault-password-file=NEW_VAULT_PASSWORD_FILES
new vault password file for rekey
-o OUTPUT_FILE_NAME, --ouput-file-name=OUTPUT_FILE_NAME
Output filename without the '.svg' extension. Default:
<playbook>.svg
-s, --save-dot-file Save the dot file used to generate the graph.
--skip-tags=SKIP_TAGS
only run plays and tasks whose tags do not match these
values
-t TAGS, --tags=TAGS only run plays and tasks tagged with these values
--vault-id=VAULT_IDS the vault identity to use
--vault-password-file=VAULT_PASSWORD_FILES
vault password file
-v, --verbose verbose mode (-vvv for more, -vvvv to enable
connection debugging)
--version show program's version number and exit
Contribution
Contributions are welcome. Feel free to contribute by creating an issue or submitting a PR :smiley:
Dev environment
To setup a new development environment: - Install graphviz sudo apt-get install graphviz # or yum install or brew install - Install pandoc. I recommend downloading a binary package and install it. Pandoc is used to convert the readme in rst. - pip install -r requirements.txt
TODO
Graphviz : properly rank the edge of the graph to represent the order of the execution of the tasks and roles
Graphviz : find a way to avoid or reduce edges overlapping
Refactor the graph representation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ansible_playbook_grapher-0.7.2-py2.py3-none-any.whl.
File metadata
- Download URL: ansible_playbook_grapher-0.7.2-py2.py3-none-any.whl
- Upload date:
- Size: 13.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
acc24cac07c8f6f3907db0a5ccdbe7c2b7d696f3adacbcf3bd08e0e7711a7a75
|
|
| MD5 |
54ad14973bb7611cb1999005e561ce28
|
|
| BLAKE2b-256 |
c50eba85e74e17a63774ba7da8775f90f5d129e4a0e9327369690080dd79fcf5
|