Instantly share code, notes, and snippets.

@jtyr /
Last active Jul 12, 2018

What would you like to do?
Ansible dynamic inventory script that reads any Ansible hosts file and transforms it into the JSON data structure.
This was moved to

This comment has been minimized.

andrew-sumner commented Dec 5, 2017

This doesn't work for me after upgrading to Ansible 2.4 as it's unable to find InventoryParser. Do you have a fix (or suggestion) for this?


This comment has been minimized.

derekslenk commented Dec 28, 2017

I am having the same issue as @andrew-sumner...would love to know if anyone knows of a fix

it looks like ansible 2.4 doesn't include an InventoryParser class anymore.


This comment has been minimized.

mterzo commented Jan 18, 2018

Found this tip really useful. Thanks for putting this together. got me looking for what I needed in the 2.4 patch

Here's something similar to what I've implemented in my code.

from ansible.plugins.inventory import expand_hostname_range, detect_range

def my_expand(host_line):
  hosts = []
  if detect_range(host_line):
    hosts += expand_hostname_range(host_line)
    hosts += [host_line]
  return hosts

This comment has been minimized.

narkq commented Mar 27, 2018


This comment has been minimized.


jtyr commented Jul 12, 2018

I have fixed to error and moved the script into a proper GitHub repo here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment