mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-07 13:52:54 +00:00
win_updates: fix typo with download failure and whitelist on multiple updates (#40283)
This commit is contained in:
3
changelogs/fragments/win_updates_typo_whitelist_fix.yaml
Normal file
3
changelogs/fragments/win_updates_typo_whitelist_fix.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
bugfixes:
|
||||||
|
- win_updates - Fix typo that hid the download error when a download failed
|
||||||
|
- win_updates - Fix logic when using a whitelist for multiple updates
|
||||||
@@ -119,19 +119,24 @@ foreach ($update in $search_result.Updates) {
|
|||||||
|
|
||||||
# validate update again blacklist/whitelist
|
# validate update again blacklist/whitelist
|
||||||
$skipped = $false
|
$skipped = $false
|
||||||
|
$whitelist_match = $false
|
||||||
foreach ($whitelist_entry in $whitelist) {
|
foreach ($whitelist_entry in $whitelist) {
|
||||||
$kb_match = $false
|
if ($update_info.title -imatch $whitelist_entry) {
|
||||||
foreach ($kb in $update_info.kb) {
|
$whitelist_match = $true
|
||||||
if ("KB$kb" -imatch $whitelist_entry) {
|
|
||||||
$kb_match = $true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (-not ($kb_match -or $update_info.title -imatch $whitelist_entry)) {
|
|
||||||
Write-DebugLog -msg "Skipping update $($update_info.id) - $($update_info.title) as it was not found in the whitelist"
|
|
||||||
$skipped = $true
|
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
foreach ($kb in $update_info.kb) {
|
||||||
|
if ("KB$kb" -imatch $whitelist_entry) {
|
||||||
|
$whitelist_match = $true
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
if ($whitelist.Length -gt 0 -and -not $whitelist_match) {
|
||||||
|
Write-DebugLog -msg "Skipping update $($update_info.id) - $($update_info.title) as it was not found in the whitelist"
|
||||||
|
$skipped = $true
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($blacklist_entry in $blacklist) {
|
foreach ($blacklist_entry in $blacklist) {
|
||||||
$kb_match = $false
|
$kb_match = $false
|
||||||
foreach ($kb in $update_info.kb) {
|
foreach ($kb in $update_info.kb) {
|
||||||
@@ -237,7 +242,7 @@ foreach ($update in $updates_to_install) {
|
|||||||
Write-DebugLog -msg "Download result code for $update_number $($update.Identity.UpdateId) = $($download_result.ResultCode)"
|
Write-DebugLog -msg "Download result code for $update_number $($update.Identity.UpdateId) = $($download_result.ResultCode)"
|
||||||
# FUTURE: configurable download retry
|
# FUTURE: configurable download retry
|
||||||
if ($download_result.ResultCode -ne 2) { # OperationResultCode orcSucceeded
|
if ($download_result.ResultCode -ne 2) { # OperationResultCode orcSucceeded
|
||||||
Fail-Json -obj $result -message "Failed to download update $update_number $($update.Identity.UpdateId) - $($update.Title): Download Result $($download_result.ResuleCode)"
|
Fail-Json -obj $result -message "Failed to download update $update_number $($update.Identity.UpdateId) - $($update.Title): Download Result $($download_result.ResultCode)"
|
||||||
}
|
}
|
||||||
|
|
||||||
$result.changed = $true
|
$result.changed = $true
|
||||||
|
|||||||
Reference in New Issue
Block a user