This repository is meant to share an ansible plugin which provides a dynamic ansible inventory based on your puppet environment through puppetdb.
In the environments directory you can find a puppetdb query for each environment you have (default development and production). Those files will be used by the puppetdb inventory script to create groups of hosts per puppet environment.
This is the actual script which will call the puppetdb api to dynamically lookup for the nodes in your puppet environments to be used in ansible.
You should adapt the environments/files to your needs, rename the files to your puppet environments and adapt them so they reflect your catalog-environments. Then copy them over to your ansible root directory:
$ sudo cp -R environments /etc/ansibleThere are different ways to configure your ansible environment to use this dynamic inventory script.
You could copy it over to /etc/ansible/hosts:
$ sudo cp puppetdb.sh /etc/ansible/hostsOr you could use the -i inventory parameter:
$ ansible -i puppetdb.shWhen replaced hosts file:
$ ansible development -a 'whoami' --sudo -K --list-hostsUsing the --inventory option
$ ansible development -i puppetdb.sh -a 'whoami' --sudo -K --list-hosts