Ansible role for running puppet
e5e1127122
Since I53cb63ffa4ae50575d4fa37b24323ad13ec1bac3 some puppet runs are failing because system-config:playbooks/roles/set-hostname moved to roles/set-hostname and became a symlink. rsync refuses to overwrite the directory with a symlink because it seems to not be empty, because we never removed the files in it. Handle the possibility of things moving around like this by specifying delete so old files are cleared out. Finally set manifest_base dir ownership and mode to address linter E208. Depends-On: https://review.opendev.org/762181 Change-Id: I249d713214d8383a3ccfe1a400404cbdcb97dcc6 |
||
---|---|---|
defaults | ||
handlers | ||
library | ||
meta | ||
tasks | ||
templates | ||
tests | ||
vars | ||
.gitignore | ||
.gitreview | ||
.zuul.yaml | ||
bindep.txt | ||
LICENSE | ||
README.md | ||
requirements.txt | ||
run_tests.sh | ||
test-requirements.txt | ||
tox.ini |
puppet
Run puppet consistently from ansible.
Requirements
puppet needs to be installed on the target node, and if puppet agent is being used, the cert exchange needs to have been performed.
Role Variables
Either puppetmaster or manifest should be supplied. If you are using puppet agent, you want to supply puppetmaster. If you are using puppet apply, you want to supply manifest.
Dependencies
None
Example Playbook using a puppetmaster
The only required argument is puppetmaster:
- hosts: servers
roles:
- { role: puppet, puppetmaster: puppetmaster.openstack.org }
Example Playbook without a puppetmaster
The only required argument is manifest:
- hosts: servers
roles:
- { role: puppet, manifest: /opt/system-config/production/manifests/site.pp }
License
Apache
Author Information
ansible-puppet is maintained by the OpenStack Infra team. The best way to contact them is on #openstack-infra on freenode.