Skip to main content

A command line tool to create a graph representing your Ansible playbook tasks and roles

Project description

# Ansible Playbook Grapher

[ansible-playbook-grapher](https://github.com/haidaraM/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](https://github.com/willthames/ansible-inventory-grapher).

## Pérequis
* **Ansible** >= 2.4: The script has not been tested yet with an earlier version of Ansible.
```
$ sudo pip3 install 'ansible>=2.4'
```
* **graphviz**: The tool used to generate the graph in SVG.
```
$ sudo apt-get install graphviz
```

## Installation
```
$ sudo pip3 install ansible-playbook-grapher
```

## Usage

```
$ ansible-playbook-grapher examples/playbook.yml
```

![Example](examples/example.png)

Some options are available:

```
$ ansible-playbook-grapher --help
usage: ansible-playbook-grapher [-h] [-i INVENTORY] [--include-role-tasks]
[-s] [-o OUTPUT_FILE_NAME] [-v]
playbook

Simple grapher for an Ansible Playbook. You will need to install Ansible,
graphviz on your system (sudo apt-get install graphviz). Has been tested with
Ansible 2.4.

positional arguments:
playbook The playbook to grah.

optional arguments:
-h, --help show this help message and exit
-i INVENTORY, --inventory INVENTORY
Ansible inventory. Useful if you want to have a
tooltip with hostnames on the play nodes.
--include-role-tasks Include the tasks of the role in the graph. Can
produce a huge graph if you have lot of roles.
-s, --save-dot-file Save the dot file used to generate the graph.
-o OUTPUT_FILE_NAME, --ouput-file-name OUTPUT_FILE_NAME
Output filename without the '.svg' extension. Default:
<playbook_filename>.svg
-v, --version Print version and exit.

```


## 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
- Ansible: Variables interpolation in node name (when possible)


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ansible_playbook_grapher-0.3.2-py2.py3-none-any.whl (10.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file ansible_playbook_grapher-0.3.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for ansible_playbook_grapher-0.3.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5c239ddc1f168ca0ae0c1e65a75a0cd72946677f83abc74e94205f27bcdc9f68
MD5 337b3cb5c009e527abb9d9a5456aa7fe
BLAKE2b-256 a0d48e672f43f07aaae1fa2eca1937abcf4a17c1bdf443120af289796a3bb33e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page