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:
parent
e6044ae938
commit
a4e1c86595
@ -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)
|
||||
|
@ -1,6 +1,8 @@
|
||||
# == Class: ansible
|
||||
#
|
||||
class ansible {
|
||||
class ansible (
|
||||
$ansible_hostfile = '/usr/local/bin/puppet-inventory'
|
||||
) {
|
||||
|
||||
include logrotate
|
||||
include pip
|
||||
@ -18,7 +20,10 @@ class ansible {
|
||||
|
||||
file { '/etc/ansible/ansible.cfg':
|
||||
ensure => present,
|
||||
source => 'puppet:///modules/ansible/ansible.cfg',
|
||||
mode => '0644',
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
content => template('ansible/ansible.cfg.erb'),
|
||||
require => File['/etc/ansible'],
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
[defaults]
|
||||
hostfile=/usr/local/bin/puppet-inventory
|
||||
hostfile=<%= @ansible_hostfile %>
|
||||
library=/usr/share/ansible:/etc/ansible/library
|
||||
log_path=/var/log/ansible.log
|
Loading…
x
Reference in New Issue
Block a user