AzLocal.UpdateManagement v0.8.81: Step.10 KPI fix + shared step-summary helpers (Step.05/06/07/08/09/10)#87
Merged
Merged
Conversation
…ry helpers (Step.05/06/07/08/09/10) Step.10 Fleet Health Status - Fixes the long-standing KPI bug where the legacy top table mixed two axes (cluster bucket counts vs failing-check counts) and produced confusing output like "11 + 8 != 20" when one or more clusters had HealthStatus other than 'Healthy' AND no failing detail rows (e.g. 'In progress', 'Unknown', 'Health check failed'). - Splits the table into two: **Cluster Counts** (Total / Healthy / Unhealthy / Other) and **Failing Checks Breakdown** (Total / Critical / Warning / Distinct Reasons). Adds an OtherClusters bucket so Cluster Counts always sum to Total Clusters in Subscription. - Detailed Results: Title column now appears FIRST (collapsed when identical to the Failure Reason), adds a collapsible Description column with file paths / volume detail (the "which drive is corrupt" surface that was previously hidden), and adds a raw health-check FailureName column for grep/triage. - Emits a new step output: other_clusters. Shared step-summary helpers (Step.05-10) - New private helpers in AzLocal.UpdateManagement/Private/: - Get-AzLocalStatusIconMap.ps1 - host-aware status->icon map (Unicode glyphs for GitHub Actions / Local; Markdown shortcodes for Azure DevOps where the renderer prefers them). - Get-AzLocalClusterPortalLink.ps1 - wraps cluster names in an Azure portal anchor (with ClusterPortalUrl override and -Escape switch). - Get-AzLocalCtrlClickTip.ps1 - single source of truth for the "Hold Ctrl / Cmd / middle-click" tip line. - Step.05 (Export-AzLocalClusterUpdateReadinessReport), Step.06 (Export-AzLocalClusterReadinessGateReport), Step.07 (Add-AzLocalApplyUpdatesStepSummary), Step.08 (Export-AzLocalUpdateRunMonitorReport), Step.09 (Export-AzLocalFleetUpdateStatusReport) and Step.10 (Export-AzLocalFleetHealthStatusReport) now all read icons from the helper rather than inlining glyph constants. This eliminates the literal ✅ / 🔵 rendering on Azure DevOps and the duplicated glyph maps across Public cmdlets. Tests - 1209 Pester tests pass (40-test regression from a PS 5.1 [char] supplementary-plane trap caught and fixed in Get-AzLocalStatusIconMap before merge). - New regression Describe blocks cover: helper registration, host-aware icon output, no key-drift between the two return blocks, Step.05/06/07/08/09/10 all import the helper, Step.10 KPI counting (Cluster Counts vs Failing Checks Breakdown, OtherClusters bucket sums correctly, Title-first ordering, Description column visibility). Docs - CHANGELOG.md, README.md, docs/release-history.md, Automation-Pipeline-Examples/README.md and Automation-Pipeline-Examples/docs/appendix-pipelines.md all updated with the v0.8.81 entry. 22 YAML pipeline templates re-pinned to GENERATED_AGAINST_MODULE_VERSION=0.8.81.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
AzLocal.UpdateManagement v0.8.81. Fixes the long-standing Step.10 Fleet Health KPI bug, surfaces the per-cluster drive/volume detail that was previously hidden, and consolidates the host-aware step-summary icon plumbing behind three shared private helpers (Step.05/06/07/08/09/10 all now consume the same source).
PR is from
users/nebird/v0.8.81straight tomainper the user's instruction ("all of this please in 0.8.81 and a single PR to main").Step.10 Fleet Health Status
11 + 8 != 20when one or more clusters had HealthStatus other thanHealthyAND no failing detail rows (e.g.In progress,Unknown,Health check failed).Critical + Warning = Total Failing ChecksOtherClustersbucket (andother_clustersstep output) so the sums always reconcile.Othercaptures clusters with no failing checks but a non-Healthyoverview state.Microsoft.Health.FaultType...) for grep / triageShared step-summary helpers (Step.05-10)
Three new private helpers under
AzLocal.UpdateManagement/Private/:Get-AzLocalStatusIconMap.ps1status -> iconmap. Unicode glyphs on GitHub Actions and Local; Markdown shortcodes (:white_check_mark:etc.) on Azure DevOps where the renderer prefers them.Get-AzLocalClusterPortalLink.ps1ClusterPortalUrloverride and-Escapeswitch).Get-AzLocalCtrlClickTip.ps1Ctrl/Cmd/ middle-click" tip line.All six public step-summary cmdlets now read icons from the helper rather than inlining glyph constants:
Export-AzLocalClusterUpdateReadinessReportExport-AzLocalClusterReadinessGateReportAdd-AzLocalApplyUpdatesStepSummaryExport-AzLocalUpdateRunMonitorReportExport-AzLocalFleetUpdateStatusReportExport-AzLocalFleetHealthStatusReportThis eliminates literal
:white_check_mark:/:large_blue_circle:characters bleeding through on Azure DevOps and the duplicated glyph maps across cmdlets.Tests
FailedCount=0).OtherClustersbucket reconciliation, Title-first ordering, Description column visibilityA 40-test pre-merge regression (a PowerShell 5.1
[char]supplementary-plane trap in the icon helper -[char]0x1F535overflows since[char]is 16-bit) was caught and fixed before push by switching to[char]::ConvertFromUtf32(0x1F535)for emoji codepoints above0xFFFF.Docs
CHANGELOG.md,README.md,docs/release-history.md,Automation-Pipeline-Examples/README.mdandAutomation-Pipeline-Examples/docs/appendix-pipelines.mdall carry the v0.8.81 entry (Step.05-10 narrative updated to describe the new shared-helper plumbing and the Step.10 KPI split / column reorder).GENERATED_AGAINST_MODULE_VERSION=0.8.81.Post-merge
PSGallery publish via
Publish-Module.ps1once the PR merges.