Monty Taylor
0f893027c4
Add a module_utils OpenStack Cloud constructor (#20974)
Start using this to construct shade OpenStack Cloud objects in a consistent manner. This will let us centralize things like dealing with password arguments and whatnot. It also allows us to introduce the ability to pass a fully formed config dict directly to the module. Migrate all OpenStack modules to use openstack_cloud_from_module. Have it return the shade library since it's responsible for importing shade and shade is needed for the exceptions. Only pull specific OpenStack arguments for the constructor Rather than passing **module.params to the shade constructor, pull out only the values that make sense. This should prevent the issues with module parameters stepping on shade parameters. Replace module.params.pop with module.params.get We don't need to pop these anymore since the shade constructor is now using opt-in values. Using real urls is ungood. Use example.com domains. Also, get rid of the antiquated port numbers. |
7 years ago | |
---|---|---|
.. | ||
inventory | Add a module_utils OpenStack Cloud constructor (#20974) | 7 years ago |
vault | Python 2.6 `str.format()` compatibility fixes. | 7 years ago |
README.md | updated readme with vault and 2.4 inv plugins (#26361) | 7 years ago |
README.md
contrib
Files here provide an extension mechanism for Ansible similar to plugins. They are not maintained by the Ansible core team or installed with Ansible.
inventory
Before 2.4 introduced inventory plugins, inventory scripts were the only way to provide sources that were not built into Ansible. Inventory scripts allow you to store your hosts, groups, and variables in any way you like.
Starting with Ansible version 2.4, they are enabled via the 'script' inventory plugin. Examples of use include discovering inventory from EC2 or pulling it from Cobbler. These could also be used to interface with LDAP or the database.
chmod +x
an inventory plugin and either name it /etc/ansible/hosts
or use ansible -i /path/to/inventory/script
. You might also need to copy a configuration file with the same name and/or set environment variables. The scripts or configuration files can provide more details.
vault
If the file passed to --vault-password-file
has the executable bit set, Ansible will execute it and use the stdout of that execution as 'the secret'.
Vault scripts provided here use this facility to retrieve the vault secret from a number of sources.
contributions welcome
Send in pull requests to add scripts of your own. The sky is the limit!