Ansible role for running puppet
Go to file
Ian Wienand e5e1127122 Add delete to synchronize
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
2020-11-10 09:48:56 -08:00
defaults Add flag to control logging the rsyncs 2020-04-30 08:45:59 -05:00
handlers Add all of the files needed to make this a role 2015-02-22 22:59:39 -05:00
library Add color parameter 2020-04-21 16:04:48 -05:00
meta Fix ansible-lint 2019-05-13 18:30:12 +02:00
tasks Add delete to synchronize 2020-11-10 09:48:56 -08:00
templates Fix hieradata path for puppet 4 2019-02-03 15:45:20 +01:00
tests Add all of the files needed to make this a role 2015-02-22 22:59:39 -05:00
vars Define defaults as defaults, not variables 2016-01-18 19:41:56 -05:00
.gitignore Add tox -eansible-lint support 2015-11-11 21:43:59 -05:00
.gitreview OpenDev Migration Patch 2019-04-19 19:25:37 +00:00
.zuul.yaml Switch to linters job 2019-05-12 20:20:42 +02:00
bindep.txt Add bindep.txt file 2018-04-20 14:34:02 -04:00
LICENSE Add all of the files needed to make this a role 2015-02-22 22:59:39 -05:00
README.md Update README with info about puppet apply 2016-10-20 15:48:40 -07:00
requirements.txt Add tox -eansible-lint support 2015-11-11 21:43:59 -05:00
run_tests.sh Add all of the files needed to make this a role 2015-02-22 22:59:39 -05:00
test-requirements.txt Add tox -eansible-lint support 2015-11-11 21:43:59 -05:00
tox.ini Fix ansible-lint 2019-05-13 18:30:12 +02:00

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.