Skip to content

Commit 59bac86

Browse files
author
tworker
committed
Blatantly stealing get_config_value method from chef-solo-provisioner
1 parent 5b205fb commit 59bac86

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

aminatorplugins/provisioner/puppet.py

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -73,17 +73,26 @@ def add_plugin_args(self):
7373
action=conf_action(self._config.plugins[self.full_name]),
7474
help='Used when generating/copying certs for use with Puppet Master')
7575

76+
def _get_config_value(self, name, default):
77+
config = self._config.plugins[self.full_name]
78+
79+
if config.get(name):
80+
return config.get(name)
81+
82+
self._config.plugins[self.full_name].__setattr__(name, default)
83+
return default
84+
7685
def _store_package_metadata(self):
7786
""
78-
87+
7988
def _provision_package(self):
8089
""
81-
90+
8291
def _pre_chroot_block(self):
8392
log.debug('Starting _pre_chroot_block')
8493
context = self._config.context
8594
config = self._config
86-
95+
8796
log.debug("Setting metadata release to {0}".format(time.strftime("%Y%m%d%H%M")))
8897
context.package.attributes = {'name': '', 'version': 'puppet', 'release': time.strftime("%Y%m%d%H%M") }
8998

@@ -93,8 +102,8 @@ def _pre_chroot_block(self):
93102
self._set_up_puppet_manifests(context.package.arg)
94103

95104
def _set_up_puppet_certs(self, pem_file_name):
96-
certs_dir = self._config.context.puppet.get('puppet_certs_dir', os.path.join('/var','lib','puppet','ssl','certs'))
97-
private_keys_dir = self._config. context.puppet.get('puppet_private_keys_dir',os.path.join('/var','lib','puppet','ssl','private_keys'))
105+
certs_dir = self._get_config_value('puppet_certs_dir', os.path.join('/var','lib','puppet','ssl','certs'))
106+
private_keys_dir = self._config. self._get_config_value('puppet_private_keys_dir',os.path.join('/var','lib','puppet','ssl','private_keys'))
98107

99108
mkdir_p(self._distro._mountpoint + certs_dir)
100109
mkdir_p(self._distro._mountpoint + private_keys_dir)
@@ -150,7 +159,7 @@ def _rm_puppet_certs_dirs(self, certs_dir = '/var/lib/puppet/ssl'):
150159

151160
def _escaped_puppet_args(self):
152161
import re
153-
return re.sub('\s','\ ', self._config.context.puppet.get('puppet_args', '' ))
162+
return re.sub('\s','\ ', self._get_config_value('puppet_args', '' ))
154163

155164
def provision(self):
156165
"""
@@ -175,7 +184,7 @@ def provision(self):
175184
self._puppet_run_mode = 'master'
176185

177186
self._pre_chroot_block()
178-
187+
179188
log.debug('Entering chroot at {0}'.format(self._distro._mountpoint))
180189
with Chroot(self._distro._mountpoint):
181190
if self._distro._name is 'redhat':
@@ -191,7 +200,7 @@ def provision(self):
191200

192201
if self._puppet_run_mode is 'master':
193202
log.info('Running puppet agent')
194-
result = puppet_agent( escaped_args, context.package.arg, context.puppet.get('puppet_master', socket.gethostname()) )
203+
result = puppet_agent( escaped_args, context.package.arg, self._get_config_value('puppet_master', socket.gethostname()) )
195204
self._rm_puppet_certs_dirs()
196205
elif self._puppet_run_mode is 'apply':
197206
if self._puppet_apply_file is '':

0 commit comments

Comments
 (0)