Use PuppetV2 for ceph_mon

This commit is contained in:
Dmitry Shulyak 2015-10-09 14:21:44 +03:00
parent 03dc6af92b
commit 263a65f3e6
3 changed files with 15 additions and 4 deletions

View File

@ -1,5 +1,5 @@
id: ceph_mon id: ceph_mon
handler: puppet handler: puppetv2
version: 1.0.0 version: 1.0.0
input: input:
library: library:

View File

@ -16,7 +16,7 @@
from solar.core.handlers.ansible_template import AnsibleTemplate from solar.core.handlers.ansible_template import AnsibleTemplate
from solar.core.handlers.ansible_playbook import AnsiblePlaybook from solar.core.handlers.ansible_playbook import AnsiblePlaybook
from solar.core.handlers.base import Empty 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 from solar.core.handlers.shell import Shell
@ -24,7 +24,8 @@ HANDLERS = {'ansible': AnsibleTemplate,
'ansible_playbook': AnsiblePlaybook, 'ansible_playbook': AnsiblePlaybook,
'shell': Shell, 'shell': Shell,
'puppet': Puppet, 'puppet': Puppet,
'none': Empty} 'none': Empty,
'puppetv2': PuppetV2}
def get(handler_name): def get(handler_name):
handler = HANDLERS.get(handler_name, None) handler = HANDLERS.get(handler_name, None)

View File

@ -137,9 +137,12 @@ class Puppet(TempFileHandler):
return p.directory return p.directory
def _make_args(self, resource):
return {resource.name: resource.to_dict()}
def upload_hiera_resource(self, resource): def upload_hiera_resource(self, resource):
with open('/tmp/puppet_resource.yaml', 'w') as f: 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( self.transport_sync.copy(
resource, resource,
@ -207,3 +210,10 @@ class Puppet(TempFileHandler):
'/tmp/{}/*'.format(os.path.split(manifests_path)[1]), '/tmp/{}/*'.format(os.path.split(manifests_path)[1]),
module_directory module_directory
) )
class PuppetV2(Puppet):
def _make_args(self, resource):
return resource.args