Remove the loop from apply_config

This commit is contained in:
twangboy 2016-11-07 14:10:09 -07:00
parent 743164844d
commit c934a2bfa7

View file

@ -401,6 +401,9 @@ def apply_config(path, source=None, salt_env='base'):
salt '*' dsc.run_config C:\\DSC\\WebSiteConfiguration salt://dsc/configs/WebSiteConfiguration
'''
# If you're getting an error along the lines of "The client cannot connect
# to the destination specified in the request.", try the following:
# Enable-PSRemoting -SkipNetworkProfileCheck
config = path
if source:
# Make sure the folder names match
@ -430,16 +433,17 @@ def apply_config(path, source=None, salt_env='base'):
# Run the DSC Configuration
# Putting quotes around the parameter protects against command injection
cmd = '$job = Start-DscConfiguration -Path "{0}"; '.format(config)
cmd += 'Do{ } While ($job.State -notin \'Completed\', \'Failed\'); ' \
'return $job.State'
cmd = 'Start-DscConfiguration -Path "{0}" -Wait -Force'.format(config)
ret = _pshell(cmd)
if ret is False:
raise CommandExecutionError('Apply Config Failed: {0}'.format(path))
cmd = '$status = Get-DscConfigurationStatus; $status.Status'.format(config)
ret = _pshell(cmd)
log.info('DSC Apply Config: {0}'.format(ret))
if ret == 'Completed':
return True
else:
return False
return ret == 'Success'
def get_config():
@ -475,10 +479,7 @@ def test_config():
'''
cmd = 'Test-DscConfiguration *>&1'
ret = _pshell(cmd)
if ret == 'True':
return True
else:
return False
return ret == 'True'
def get_config_status():