|
|
@ -176,9 +176,7 @@ class Zfs(object):
|
|
|
|
def set_properties_if_changed(self):
|
|
|
|
def set_properties_if_changed(self):
|
|
|
|
current_properties = self.get_current_properties()
|
|
|
|
current_properties = self.get_current_properties()
|
|
|
|
for prop, value in self.properties.iteritems():
|
|
|
|
for prop, value in self.properties.iteritems():
|
|
|
|
if prop not in current_properties:
|
|
|
|
if current_properties.get(prop, None) != value:
|
|
|
|
self.module.fail_json(msg="invalid property '%s'" % prop)
|
|
|
|
|
|
|
|
if current_properties[prop] != value:
|
|
|
|
|
|
|
|
self.set_property(prop, value)
|
|
|
|
self.set_property(prop, value)
|
|
|
|
|
|
|
|
|
|
|
|
def get_current_properties(self):
|
|
|
|
def get_current_properties(self):
|
|
|
@ -188,8 +186,9 @@ class Zfs(object):
|
|
|
|
cmd += ['all', self.name]
|
|
|
|
cmd += ['all', self.name]
|
|
|
|
rc, out, err = self.module.run_command(" ".join(cmd))
|
|
|
|
rc, out, err = self.module.run_command(" ".join(cmd))
|
|
|
|
properties = dict()
|
|
|
|
properties = dict()
|
|
|
|
for p, v in [l.split('\t')[1:3] for l in out.splitlines()]:
|
|
|
|
for prop, value, source in [l.split('\t')[1:4] for l in out.splitlines()]:
|
|
|
|
properties[p] = v
|
|
|
|
if source == 'local':
|
|
|
|
|
|
|
|
properties[prop] = value
|
|
|
|
# Add alias for enhanced sharing properties
|
|
|
|
# Add alias for enhanced sharing properties
|
|
|
|
properties['sharenfs'] = properties.get('share.nfs', None)
|
|
|
|
properties['sharenfs'] = properties.get('share.nfs', None)
|
|
|
|
properties['sharesmb'] = properties.get('share.smb', None)
|
|
|
|
properties['sharesmb'] = properties.get('share.smb', None)
|
|
|
|