cloud-init icon indicating copy to clipboard operation
cloud-init copied to clipboard

Ansible Control Module

Open holmanb opened this issue 3 years ago • 0 comments

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

holmanb avatar Oct 07 '22 04:10 holmanb