win_dsc - return warning from DSC invocation (#51927)

This commit is contained in:
Jordan Borean 2019-02-12 13:50:00 +10:00 committed by GitHub
parent 338ad565a7
commit 179cbb9891
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 16 additions and 2 deletions

View file

@ -0,0 +1,2 @@
minor_changes:
- win_dsc - Display the warnings produced by the DSC engine for better troubleshooting - https://github.com/ansible/ansible/issues/51543

View file

@ -236,7 +236,11 @@ try
{
#Defined variables in strictmode
$TestError, $TestError = $null
$TestResult = Invoke-DscResource @Config -Method Test -ModuleName $Module -ErrorVariable TestError -ErrorAction SilentlyContinue
$TestResult = Invoke-DscResource @Config -Method Test -ModuleName $Module -ErrorVariable TestError -ErrorAction SilentlyContinue -WarningVariable TestWarn
foreach ($warning in $TestWarn) {
Add-Warning -obj $result -message $warning.Message
}
if ($TestError)
{
throw ($TestError[0].Exception.Message)
@ -245,7 +249,10 @@ try
{
if ($check_mode -eq $False)
{
$SetResult = Invoke-DscResource -Method Set @Config -ModuleName $Module -ErrorVariable SetError -ErrorAction SilentlyContinue -WarningAction SilentlyContinue
$SetResult = Invoke-DscResource -Method Set @Config -ModuleName $Module -ErrorVariable SetError -ErrorAction SilentlyContinue -WarningVariable SetWarn
foreach ($warning in $SetWarn) {
Add-Warning -obj $result -message $warning.Message
}
if ($SetError -and ($SetResult -eq $null))
{
#If SetError was filled, throw to exit out of the try/catch loop

View file

@ -307,6 +307,9 @@
that:
- test_dsc_custom is changed
- test_dsc_custom_output.content|b64decode|strip_newline == test_dsc_custom_expected|strip_newline
- test_dsc_custom.warnings | length == 2
- "'[[xTestResource]DirectResourceAccess] test warning' in test_dsc_custom.warnings[0]"
- "'[[xTestResource]DirectResourceAccess] set warning' in test_dsc_custom.warnings[1]"
- name: run custom DSC resource with version
win_dsc:

View file

@ -119,6 +119,7 @@ CimInstanceArrayParam:
}
New-Item -Path $Path -ItemType File > $null
Set-Content -Path $Path -Value $file_contents > $null
Write-Warning -Message "set warning"
}
Function Test-TargetResource
@ -167,6 +168,7 @@ Function Test-TargetResource
[Microsoft.Management.Infrastructure.CimInstance[]]
$CimInstanceArrayParam
)
Write-Warning -Message "test warning"
return $false
}