mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Merge branch '2018.3' into 51266_schedule_enable_disable_break_save
This commit is contained in:
commit
3d52b26cbd
3 changed files with 32 additions and 5 deletions
|
@ -5083,7 +5083,7 @@ def _findOptionValueAdvAudit(option):
|
|||
field_names = _get_audit_defaults('fieldnames')
|
||||
# If the file doesn't exist anywhere, create it with default
|
||||
# fieldnames
|
||||
__salt__['file.mkdir'](os.path.dirname(f_audit))
|
||||
__salt__['file.makedirs'](f_audit)
|
||||
__salt__['file.write'](f_audit, ','.join(field_names))
|
||||
|
||||
audit_settings = {}
|
||||
|
@ -5187,7 +5187,7 @@ def _set_audit_file_data(option, value):
|
|||
# Copy the temporary csv file over the existing audit.csv in both
|
||||
# locations if a value was written
|
||||
__salt__['file.copy'](f_temp.name, f_audit, remove_existing=True)
|
||||
__salt__['file.mkdir'](os.path.dirname(f_audit_gpo))
|
||||
__salt__['file.makedirs'](f_audit_gpo)
|
||||
__salt__['file.copy'](f_temp.name, f_audit_gpo, remove_existing=True)
|
||||
finally:
|
||||
f_temp.close()
|
||||
|
|
|
@ -781,10 +781,12 @@ def _check_directory_win(name,
|
|||
if not os.path.isdir(name):
|
||||
changes = {name: {'directory': 'new'}}
|
||||
else:
|
||||
# Check owner
|
||||
# Check owner by SID
|
||||
if win_owner is not None:
|
||||
owner = salt.utils.win_dacl.get_owner(name)
|
||||
if not owner.lower() == win_owner.lower():
|
||||
current_owner = salt.utils.win_dacl.get_owner(name)
|
||||
current_owner_sid = salt.utils.win_functions.get_sid_from_name(current_owner)
|
||||
expected_owner_sid = salt.utils.win_functions.get_sid_from_name(win_owner)
|
||||
if not current_owner_sid == expected_owner_sid:
|
||||
changes['owner'] = win_owner
|
||||
|
||||
# Check perms
|
||||
|
|
|
@ -889,6 +889,31 @@ class FileTest(ModuleCase, SaltReturnAssertsMixin):
|
|||
self.assertFalse(os.path.exists(straydir))
|
||||
self.assertTrue(os.path.isdir(name))
|
||||
|
||||
def test_directory_is_idempotent(self):
|
||||
'''
|
||||
Ensure the file.directory state produces no changes when rerun.
|
||||
'''
|
||||
name = os.path.join(TMP, 'a_dir_twice')
|
||||
|
||||
if IS_WINDOWS:
|
||||
username = os.environ.get('USERNAME', 'Administrators')
|
||||
domain = os.environ.get('USERDOMAIN', '')
|
||||
fullname = '{0}\\{1}'.format(domain, username)
|
||||
|
||||
ret = self.run_state('file.directory', name=name, win_owner=fullname)
|
||||
else:
|
||||
ret = self.run_state('file.directory', name=name)
|
||||
|
||||
self.assertSaltTrueReturn(ret)
|
||||
|
||||
if IS_WINDOWS:
|
||||
ret = self.run_state('file.directory', name=name, win_owner=username)
|
||||
else:
|
||||
ret = self.run_state('file.directory', name=name)
|
||||
|
||||
self.assertSaltTrueReturn(ret)
|
||||
self.assertSaltStateChangesEqual(ret, {})
|
||||
|
||||
@with_tempdir()
|
||||
def test_directory_clean_exclude(self, base_dir):
|
||||
'''
|
||||
|
|
Loading…
Add table
Reference in a new issue