From 263a65f3e6bec88ae5442732b52facacb19b3868 Mon Sep 17 00:00:00 2001 From: Dmitry Shulyak Date: Fri, 9 Oct 2015 14:21:44 +0300 Subject: [PATCH] Use PuppetV2 for ceph_mon --- resources/ceph_mon/meta.yaml | 2 +- solar/solar/core/handlers/__init__.py | 5 +++-- solar/solar/core/handlers/puppet.py | 12 +++++++++++- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/resources/ceph_mon/meta.yaml b/resources/ceph_mon/meta.yaml index 30195bc8..14859a50 100644 --- a/resources/ceph_mon/meta.yaml +++ b/resources/ceph_mon/meta.yaml @@ -1,5 +1,5 @@ id: ceph_mon -handler: puppet +handler: puppetv2 version: 1.0.0 input: library: diff --git a/solar/solar/core/handlers/__init__.py b/solar/solar/core/handlers/__init__.py index a894671d..995fc9c1 100644 --- a/solar/solar/core/handlers/__init__.py +++ b/solar/solar/core/handlers/__init__.py @@ -16,7 +16,7 @@ from solar.core.handlers.ansible_template import AnsibleTemplate from solar.core.handlers.ansible_playbook import AnsiblePlaybook from solar.core.handlers.base import Empty -from solar.core.handlers.puppet import Puppet +from solar.core.handlers.puppet import Puppet, PuppetV2 from solar.core.handlers.shell import Shell @@ -24,7 +24,8 @@ HANDLERS = {'ansible': AnsibleTemplate, 'ansible_playbook': AnsiblePlaybook, 'shell': Shell, 'puppet': Puppet, - 'none': Empty} + 'none': Empty, + 'puppetv2': PuppetV2} def get(handler_name): handler = HANDLERS.get(handler_name, None) diff --git a/solar/solar/core/handlers/puppet.py b/solar/solar/core/handlers/puppet.py index e7b98d36..09cd8197 100644 --- a/solar/solar/core/handlers/puppet.py +++ b/solar/solar/core/handlers/puppet.py @@ -137,9 +137,12 @@ class Puppet(TempFileHandler): return p.directory + def _make_args(self, resource): + return {resource.name: resource.to_dict()} + def upload_hiera_resource(self, resource): with open('/tmp/puppet_resource.yaml', 'w') as f: - f.write(yaml.safe_dump(resource.args)) + f.write(yaml.safe_dump(self._make_args(resource))) self.transport_sync.copy( resource, @@ -207,3 +210,10 @@ class Puppet(TempFileHandler): '/tmp/{}/*'.format(os.path.split(manifests_path)[1]), module_directory ) + + +class PuppetV2(Puppet): + + def _make_args(self, resource): + return resource.args +