# new tool: Visansible - Visualization of Ansibel-Facts

**URL:** <https://forum.ansible.com/t/new-tool-visansible-visualization-of-ansibel-facts/31832>\
**Category:** Ansible Project\
**Created:** [December 17, 2019, 4:04am UTC](https://forum.ansible.com/t/new-tool-visansible-visualization-of-ansibel-facts/31832 "2019-12-17T04:04:28Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Oliver\_Dippel](https://avatars.discourse-cdn.com/v4/letter/o/48db29/32.png) [@Oliver\_Dippel](https://forum.ansible.com/u/Oliver_Dippel)\
**Post date:** [December 17, 2019, 4:04am UTC](https://forum.ansible.com/t/new-tool-visansible-visualization-of-ansibel-facts/31832/1 "2019-12-17T04:04:28Z")

</div>

Hi,

hope you like it and it is useful:

[https://github.com/multigcs/visansible](https://github.com/multigcs/visansible)

 ![network.png](https://us1.discourse-cdn.com/ansible/original/2X/5/5dacd5c359c581dfc564b7bd449b7da4029c1a49.png)

---

<div class="post-metadata">

**Author:** ![j.r.hawkesworth](https://avatars.discourse-cdn.com/v4/letter/j/a3d4f5/32.png) [@j.r.hawkesworth](https://forum.ansible.com/u/j.r.hawkesworth)\
**Post date:** [December 30, 2019, 11:03am UTC](https://forum.ansible.com/t/new-tool-visansible-visualization-of-ansibel-facts/31832/2 "2019-12-30T11:03:38Z")

</div>

Thanks for this.

I have a couple of suggestions:

Consider using ‘argparse’ so that the inventory file can be specified as it is hard coded to inventory.cfg at the moment.  
[https://docs.python.org/3.8/library/argparse.html#module-argparse](https://docs.python.org/3.8/library/argparse.html#module-argparse)  
would be nice to be able to configure the path to the ‘facts’ dir and also the port that the server listens on.

Consider tracking the line number in inventory\_read so if it is unable to parse inventory it is possible to see where the error occurs.

I tried with one of my inventory files and it fails like this

Traceback (most recent call last):  
File “visansible.py”, line 1663, in   
inventory\_read()  
File “visansible.py”, line 1604, in inventory\_read  
value = line.split(“=”)[1].strip()  
IndexError: list index out of range

I think maybe the inventory\_read method doesn’t handle the [group\_name:children] or [group\_name:vars] syntax that ansible inventory allows.

Jon

---

<div class="post-metadata">

**Author:** ![j.r.hawkesworth](https://avatars.discourse-cdn.com/v4/letter/j/a3d4f5/32.png) [@j.r.hawkesworth](https://forum.ansible.com/u/j.r.hawkesworth)\
**Post date:** [January 2, 2020, 7:18pm UTC](https://forum.ansible.com/t/new-tool-visansible-visualization-of-ansibel-facts/31832/3 "2020-01-02T19:18:07Z")

</div>

Just to say that the issue I had turned out to be because the parsing doesn't handle the possibility that an inventory group may contain the name of one or more groups.

Simple fix seems to be to ignore the line in this case and not to support visualisation of groups within groups, for now.
