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
$ ansible-playbook-grapher --include-role-tasks examples/example_with_roles.yml
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
Hashes for ansible_playbook_grapher-0.7.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | acc24cac07c8f6f3907db0a5ccdbe7c2b7d696f3adacbcf3bd08e0e7711a7a75 |
|
MD5 | 54ad14973bb7611cb1999005e561ce28 |
|
BLAKE2b-256 | c50eba85e74e17a63774ba7da8775f90f5d129e4a0e9327369690080dd79fcf5 |