Skip to content

Instantly share code, notes, and snippets.

@jtyr
Last active April 25, 2019 10:35
Show Gist options
  • Select an option

  • Save jtyr/5213fabf2bcb943efc82f00959b91163 to your computer and use it in GitHub Desktop.

Select an option

Save jtyr/5213fabf2bcb943efc82f00959b91163 to your computer and use it in GitHub Desktop.
Ansible dynamic inventory script that reads any Ansible hosts file and transforms it into the JSON data structure.
This was moved to https://github.com/jtyr/ansible-ini_inventory
@andrew-sumner

Copy link
Copy Markdown

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?

@derekslenk

derekslenk commented Dec 28, 2017

Copy link
Copy Markdown

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

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

@mterzo

mterzo commented Jan 18, 2018

Copy link
Copy Markdown

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)
  else:
    hosts += [host_line]
  return hosts

@narkq

narkq commented Mar 27, 2018

Copy link
Copy Markdown

@jtyr

jtyr commented Jul 12, 2018

Copy link
Copy Markdown
Author

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