fix 35591, verify the acl file exist before proceed

This commit is contained in:
Hengyang Hu 2016-08-19 16:52:44 -07:00
parent 6eabe6356f
commit 69a2427670

View file

@ -25,6 +25,9 @@ Ensure a Linux ACL does not exist
- perms: rwx
'''
# Import python libs
import os
# Import Python libs
from __future__ import absolute_import
@ -58,6 +61,11 @@ def present(name, acl_type, acl_name='', perms='', recurse=False):
_octal = {'r': 4, 'w': 2, 'x': 1, '-': 0}
if not os.path.isfile(name):
ret['comment'] = '{0} does not exist'.format(name)
ret['result'] = False
return ret
__current_perms = __salt__['acl.getfacl'](name)
if acl_type.startswith(('d:', 'default:')):
@ -97,10 +105,7 @@ def present(name, acl_type, acl_name='', perms='', recurse=False):
ret['result'] = None
return ret
if recurse:
__salt__['acl.modfacl'](acl_type, acl_name, perms, name, recursive=True)
else:
__salt__['acl.modfacl'](acl_type, acl_name, perms, name)
__salt__['acl.modfacl'](acl_type, acl_name, perms, name, recursive=recurse)
else:
ret['comment'] = 'Permissions will be applied'
@ -108,10 +113,7 @@ def present(name, acl_type, acl_name='', perms='', recurse=False):
ret['result'] = None
return ret
if recurse:
__salt__['acl.modfacl'](acl_type, acl_name, perms, name, recursive=True)
else:
__salt__['acl.modfacl'](acl_type, acl_name, perms, name)
__salt__['acl.modfacl'](acl_type, acl_name, perms, name, recursive=recurse)
else:
ret['comment'] = 'ACL Type does not exist'
ret['result'] = False
@ -128,6 +130,11 @@ def absent(name, acl_type, acl_name='', perms='', recurse=False):
'changes': {},
'comment': ''}
if not os.path.isfile(name):
ret['comment'] = '{0} does not exist'.format(name)
ret['result'] = False
return ret
__current_perms = __salt__['acl.getfacl'](name)
if acl_type.startswith(('d:', 'default:')):
@ -164,10 +171,7 @@ def absent(name, acl_type, acl_name='', perms='', recurse=False):
ret['result'] = None
return ret
if recurse:
__salt__['acl.delfacl'](acl_type, acl_name, perms, name, recursive=True)
else:
__salt__['acl.delfacl'](acl_type, acl_name, perms, name)
__salt__['acl.delfacl'](acl_type, acl_name, perms, name, recursive=recurse)
else:
ret['comment'] = 'Permissions are in the desired state'