nickjj/ansigenome

Ansible vs non-ansible machine(s) graph

Closed this issue · 3 comments

How hard would it be to bend this fantastic tool into a dynamic machine graph (via gather_facts)?

My usecase would be to have ansigenome assess the "ansible coverage" over a bunch of machines. That is, how many machines have been "ansiblized" using roles vs those that were installed manually (legacy manual installations).

Like regular developers do with test coverage.

Hmm, that seems a little out of scope for this project unless I'm misunderstanding your request's implementation details? I'm not sure how gather_facts would fit into the equation.

Are you asking for some way to feed ansigenome a list of inventory paths along with a master list of all your servers and then have it figure out which hosts in the master list are not in any of the inventories?

A first iteration would be to pass all inventories and build a graph with those machines... but yes, I am now realizing that it might be a bit out of the scope of this project since it's essentially a visualization project: how machines are related to each other in a (distributed, large) organization? i.e, can they see each other via SSH or are they firewalled?

One can just show an aggregated list of machines, but visually is not very appealing to, say, managers (via dashboards like nagios does)... I'm thinking of a graph on which some nodes are bigger than the others, depending on machine characteristics (amount of storage, cores, etc...)

Then, on another (even fuzzier spec-wise) iteration but here's where ansigenome would shine: given inventories and roles, see which machines have roles deployed on them and which have been installed manually and therefore require more automation efforts... I also realize this is hard to pull off since AFAIK there's no way to know whether a service/software has been installed via ansible or not (manually).

That would give an organization an idea of the level of "automation coverage", how many of the servers are declared in ansible roles vs servers installed in a hurry (technical debt).

Thanks for reading and for giving feedback anyhow ;)

Closing this but would be interested if you end up coming up with something external to Ansigenome.