cloud-init
cloud-init copied to clipboard
Ansible Control Module
Configure and run ansible controller instance during boot
New Features:
-------------
- pull one or more playbooks from (optionally private) repositories using deploy keys
- playbook execution: execute one or more playbooks during boot
- support for ansible pip install as custom user
- new example docs showing how to bootstrap nodes for control by ansible
- example demonstrating ansible controller server setup
- example using ansible to launch and configure instances using a supported datasource (LXD)
Config Files and SSH Keys:
--------------------------
Some existing modules already provide desirable behavior for
writing out inventory configuration, ansible.cfg, and other
configuration files.
Additional Context
Depends on PR: https://github.com/canonical/cloud-init/pull/1736 (will rebase on it once merged) Design document Sibling repo: https://github.com/holmanb/ansible-lxd-public
I need to add a couple of unit tests, but would like to give reviewers the chance to review current schema and behavior (much of which is covered in the integration test) before adding unit tests.
TODO Before Merge:
- [ ] rebase on https://github.com/canonical/cloud-init/pull/1736
- [ ] unit tests
Testing
tox -e integration-tests tests/integration_tests/modules/test_ansible.py