Repository navigation
Conversation
683ebcb to
60f4e16
Compare
Manual Testing Report — controlPlaneVersion status (release-4.21)Environment:
Test 1: Initial Cluster Creation (4.21.0)Steps:
Result: PASS
Test 2: CRD Printer ColumnsSteps:
Result: PASS (with caveat)
Test 3: Upgrade with No Nodes (Partial State)Steps:
Result: PASS
Test 4: Stacked Upgrade (4.21.1 → 4.21.2, Still No Nodes)Steps:
Result: PASS
Test 5: Scale Up and CompletionSteps:
Result: PASS
Test 6: HC ↔ HCP PropagationResult: PASS
Summary
Note on CRD update: When upgrading an existing HyperShift installation, |
🧪 qe — 2026-04-13T19:45:30ZManual Testing Report — controlPlaneVersion status (release-4.21)Environment:
Test 1: Initial Cluster Creation (4.21.0)Steps:
Result: PASS
Test 2: CRD Printer ColumnsSteps:
Result: PASS (with caveat)
Test 3: Upgrade with No Nodes (Partial State)Steps:
Result: PASS
Test 4: Stacked Upgrade (4.21.1 → 4.21.2, Still No Nodes)Steps:
Result: PASS
Test 5: Scale Up and CompletionSteps:
Result: PASS
Test 6: HC ↔ HCP PropagationResult: PASS
Summary
Note on CRD update: When upgrading an existing HyperShift installation, |
60f4e16 to
d4cc7e5
Compare
…nent versions Add ControlPlaneVersionStatus and ControlPlaneUpdateHistory types to HostedClusterStatus and HostedControlPlaneStatus. These track management-side control plane component versions independently from CVO, enabling service providers to detect completed control plane upgrades and compute NodePool version skew without waiting for data-plane rollout. Ref: CNTRLPLANE-2914 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Ahmed Abdalla <aabdelre@redhat.com>
… and docs Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…tatus Implement reconcileControlPlaneVersion() that aggregates ControlPlaneComponent status into hcp.Status.ControlPlaneVersion with version transition logic, image-only change detection, and observedGeneration tracking. Include pruneHistory() ported from CVO's weighted ranking algorithm with exact constants to cap history at 100 entries. Ref: CNTRLPLANE-2914 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Ahmed Abdalla <aabdelre@redhat.com>
Deep-copy controlPlaneVersion from HostedControlPlane status to HostedCluster status, following the existing Platform field propagation pattern. Handles nil gracefully for version skew safety during rolling upgrades. Ref: CNTRLPLANE-2914 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Ahmed Abdalla <aabdelre@redhat.com>
Extract the api/ module lint commands into standalone api-lint and api-lint-fix targets, reused by lint and lint-fix as dependencies. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Ahmed Abdalla <aabdelre@redhat.com>
d4cc7e5 to
74d1d3a
Compare
Exploratory QE Validation Report: controlPlaneVersion Backport to release-4.21Test Environment
Scenario 1: controlPlaneVersion field presence on HCP - PASSCommands: Observed output:
Result: All three fields ( Scenario 2: Initial deployment - Partial to Completed transition - PASSCommands: Observed output:
Result: All ControlPlaneComponents reached target version. Scenario 3: HCP-to-HC status propagation - PASSCommands: Observed output:
Result: HC Scenario 4: Upgrade - Partial to Completed transition - PASSCommands: Observed output:
Final state: {
"desired": {"version": "4.21.3", "image": "...sha256:f25a1e9a..."},
"history": [
{"state": "Completed", "version": "4.21.3", "startedTime": "2026-07-21T06:51:53Z", "completionTime": "2026-07-21T06:56:45Z"},
{"state": "Completed", "version": "4.21.2", "startedTime": "2026-07-20T22:40:41Z", "completionTime": "2026-07-20T23:00:44Z"}
],
"observedGeneration": 2
}Result: z-stream upgrade correctly prepends a new Partial entry that transitions to Completed. Previous entries preserved. PASS Scenario 5: History pruning - PASSApproach: Lowered Setup: Patched HCP status with 7 history entries (4.21.3, 4.21.2, 4.21.1, 4.20.5, 4.20.4, 4.20.3, 4.20.2). Observed output after CPO reconcile: Result: 7 entries pruned to 3. Kept the most recent entries, removed older z-stream entries, consistent with CVO weighted ranking algorithm. Code change reverted after testing. PASS Summary
|
Summary
Cherry-pick of openshift#7887 (CNTRLPLANE-2914: Add controlPlaneVersion status to HostedCluster and HostedControlPlane) to release-4.21.
This backport adds the
controlPlaneVersionstatus field toHostedClusterandHostedControlPlane, providing a management-side view of control plane component rollout status independent of the CVO.Changes
ControlPlaneVersionStatusandControlPlaneUpdateHistoryAPI typesreconcileControlPlaneVersionaggregation logic in CPOpruneHistorywith CVO weighted ranking algorithmcontrolPlaneVersionfrom HCP to HC statusWaitForControlPlaneRolloute2e helper (gated to 4.21+)WaitForImageRolloutdeprecated alias forWaitForDataPlaneRolloutConflict Resolution
Configurationfield in applyconfiguration types preserved (exists in 4.21, not in original feature branch base)WaitForControlPlaneComponentRollout(existing 4.21 function) preserved alongside newWaitForControlPlaneRolloutVersion422toVersion421for backport contextNote: This PR targets the fork's
release-4.21branch. A corresponding PR should be opened againstopenshift/hypershiftrelease-4.21once this is reviewed.Ref: openshift#7887