Puppet default execution involves the definition of none modules.

The Puppet executor has been modified to consider if the recipe is empty.

Closes Bug: #1477482

Change-Id: I23aad503a758e95729b0fb3108049a6652becb32
This commit is contained in:
Henar Muñoz Frutos 2015-07-23 12:02:53 +02:00
parent cbf4ede2a9
commit 5fc7584583
2 changed files with 13 additions and 3 deletions

View File

@ -86,8 +86,10 @@ class PuppetExecutor(chef_puppet_executor_base.ChefPuppetExecutorBase):
def _create_manifest(self, module_name, module_recipe):
return "node 'default' { class { " + module_name + '::' +\
module_recipe + ':}}'
if len(module_recipe) == 0:
return "node 'default' {{ class {{ {0}:}}}}".format(module_name)
return "node 'default' {{ class {{ {0}::{1}:}}}}".\
format(module_name, module_recipe)
def _create_hiera_data(self, cookbook_name,
recipe_attributes):

View File

@ -33,6 +33,10 @@ class TestPuppetExecutor(base.MuranoAgentTestCase, fixtures.TestWithFixtures):
node = self.puppet_executor._create_manifest('cookbook', 'recipe')
self.assertEqual(node, self.get_manifest('cookbook', 'recipe'))
def test_create_manifest_norecipe(self):
node = self.puppet_executor._create_manifest('cookbook', '')
self.assertEqual(node, self.get_manifest_norecipe('cookbook'))
def test_create_hierdata(self):
atts = {
'att1': 'value1',
@ -126,4 +130,8 @@ class TestPuppetExecutor(base.MuranoAgentTestCase, fixtures.TestWithFixtures):
def get_manifest(self, cookbook, recipe):
return "node \'default\' { " \
"class { " + cookbook + '::' + recipe + ':}}'
"class { " + cookbook + '::' + recipe + ':}}'
def get_manifest_norecipe(self, cookbook):
return "node \'default\' { " \
"class { " + cookbook + ':}}'