Make ansible speak to appropriate puppetmaster

With split puppet master infrastructure ansible needs to be told which
puppetmaster to talk to. Do this by making puppetmaster a required
argument to the puppet ansible playbook.

Since we can't rely on the cert listing while this is happening also add
puppet master specific host list files which can be used to specify
which hosts talk to which puppetmaster via the new ansible playbook
feature.

Change-Id: I412c2bd6cb390d00d1b9d0e4630e75776edabbb9
This commit is contained in:
Clark Boylan 2014-09-10 13:46:17 -07:00 committed by James E. Blair
parent d0e491172f
commit a9fa45bc21
2 changed files with 4 additions and 5 deletions

View File

@ -1,4 +0,0 @@
[defaults]
hostfile=/usr/local/bin/puppet-inventory
library=/usr/share/ansible:/etc/ansible/library
log_path=/var/log/ansible.log

View File

@ -53,6 +53,7 @@ def main():
module = AnsibleModule(
argument_spec=dict(
timeout=dict(default="30m"),
puppetmaster=dict(required=True),
show_diff=dict(
default=False, aliases=['show-diff'], type='bool'),
),
@ -67,9 +68,11 @@ def main():
msg="Could not find puppet. Please ensure it is installed.")
cmd = ("timeout -s 9 %(timeout)s %(puppet_cmd)s agent --onetime"
" --server %(puppetmaster)s"
" --ignorecache --no-daemonize --no-usecacheonfailure --no-splay"
" --detailed-exitcodes --verbose") % dict(
timeout=pipes.quote(p['timeout']), puppet_cmd=PUPPET_CMD)
timeout=pipes.quote(p['timeout']), puppet_cmd=PUPPET_CMD,
puppetmaster=pipes.quote(p['puppetmaster']))
if p['show_diff']:
cmd += " --show-diff"
rc, stdout, stderr = module.run_command(cmd)