Satori/AnsibleModuleProposal
< Satori
Ansible Module Proposal
When running discovery, utilize Ansible if it's already available on the system.
Benefits
- It's written in Python so it's native (no shell-out)
- It has system info (facts) already built in with the `setup` module
- It will run ohai and facter on the system to be discovered if already installed
- We can create our own modules that live with the code or provide an option to look at a custom path
Deficiencies
- Each module has to be called individually
- Potentially "heavy" in terms of installation and execution (possibly negated by not directly requiring)
- Could open the door for changes instead of read-only
Interface
>>> from satori import ansible >>> creds = {"username": "Tobias", "password": "pa$$word"} >>> facts = ansible.discover(host, creds)
Implementation
- Import `satori.ansible` in a `try except` block to see if it is installed
- Simply require a `pip install ansible` to take advantage of it
- Allow a `-a` flag with an optional parameter of `--ansible-module-path` and/or `--ansible-module-name` for custom modules
- Do read only operations. This may only be allowable via the `setup` module execution _only_, and not allowing cutom modules yet.