do not merge: OCPBUGS-98213 Verification#6033
Conversation
|
/hold will not merge. |
There was a problem hiding this comment.
Pull request overview
This PR is a verification-oriented change to help confirm HyperShift router behavior (router pod should not be deployed until routes can be rendered into the router ConfigMap). It does this by (1) forcing a single focused E2E scenario and (2) adding mgmt-agent watchers to emit Kubernetes event timelines (router ConfigMap lifecycle).
Changes:
- Focuses the “Private KeyVault” cluster-create E2E and pins it to an explicitly resolved OCP 4.23 candidate install version, plus an out-of-band CPO image override tag.
- Adds a
ConfigMapWatcherinmgmt-agentto logrouterConfigMap create/update/delete events (via a field-selector-scoped informer). - Wires the new watcher into mgmt-agent startup under leader election and adds basic unit tests.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| test/e2e/cluster_create_private_kv.go | Focused E2E test + explicit version resolution + experimental tag to override CPO image |
| mgmt-agent/pkg/controller/cmwatcher.go | New informer-backed ConfigMap watcher that logs router ConfigMap events |
| mgmt-agent/pkg/controller/cmwatcher_test.go | Unit tests for the new watcher/logging helper |
| mgmt-agent/cmd/options.go | Wires ConfigMap watcher/informers into mgmt-agent lifecycle under leader election |
2138cb4 to
5971d81
Compare
531682d to
8baf66f
Compare
|
KQL queries to show that there is a single revision of router pod replicasets during installation. Can use these for cluster installs if we know the hostedcluster namespace. let hcNamespace="";
cluster('https://hcp-dev-us-2.eastus2.kusto.windows.net').database('ServiceLogs').kubeAudit
| where timestamp between (datetime(2026-07-13T15:43:01Z) .. datetime(2026-07-14T16:06:00Z))
| where resourceId has 'ci01-j8862720-mgmt-1'
| where stage == 'ResponseComplete'
| where tostring(objectRef.namespace) == 'ocm-arohcpci01-2rhbkb9hj5tgfjeb1avcm9ncp7upjvb1-e1j5q9p7g7s1v2z'
| where objectRef.resource in("deployments", "replicasets")
| project timestamp=requestReceivedTimestamp,
verb,
resource = tostring(objectRef.resource),
name = tostring(objectRef.name),
userName = tostring(user.username),
responseCode = toint(responseStatus.code)
| order by timestamp asc
cluster('https://hcp-dev-us-2.eastus2.kusto.windows.net').database('ServiceLogs').kubernetesEvents
| where timestamp between (datetime(2026-07-13T15:43:01Z) .. datetime(2026-07-13T16:06:00Z))
| where cluster in ('ci01-j8862720-svc', 'ci01-j8862720-mgmt-1')
| where eventNamespace == hcNamespace
| where objectKind == 'Deployment' and reason == 'ScalingReplicaSet'
| extend firstSeen = coalesce(firstSeen, todatetime(log.event_time))
| project firstSeen, objectName, message
| order by firstSeen asc |
8baf66f to
786bef5
Compare
786bef5 to
399a89a
Compare
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: bennerv The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
399a89a to
b9791db
Compare
b9791db to
5b31334
Compare
| const channelGroup = "candidate" | ||
|
|
||
| By("resolving 5.0 install version") | ||
| cpVersion, err := framework.GetLatestInstallVersion(ctx, channelGroup, "5.0") | ||
| Expect(err).NotTo(HaveOccurred(), "failed to resolve 5.0 install version") | ||
|
|
||
| By("creating cluster parameters") | ||
| clusterParams := framework.NewDefaultClusterParams20251223() | ||
| clusterParams.ClusterName = customerClusterName | ||
| managedResourceGroupName := framework.SuffixName(*resourceGroup.Name, "-managed", 64) | ||
| clusterParams.ManagedResourceGroupName = managedResourceGroupName | ||
| clusterParams.KeyVaultVisibility = "Private" | ||
| clusterParams.OpenshiftVersionId = cpVersion | ||
| clusterParams.ChannelGroup = channelGroup | ||
| clusterParams.Tags[api.TagClusterCPOImageOverride] = to.Ptr("arohcpocpdev.azurecr.io/control-plane-operator@sha256:edb375fd935a683a08e56d7594513595d2fd05c8c9d10b4afab3e450fca0b674") // d565a6ed5b |
| clusterParams.KeyVaultVisibility = "Private" | ||
| clusterParams.OpenshiftVersionId = cpVersion | ||
| clusterParams.ChannelGroup = channelGroup | ||
| clusterParams.Tags[api.TagClusterCPOImageOverride] = to.Ptr("arohcpocpdev.azurecr.io/control-plane-operator@sha256:edb375fd935a683a08e56d7594513595d2fd05c8c9d10b4afab3e450fca0b674") // d565a6ed5b |
|
@bennerv: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
What
Help verify router pod doesn't get deployed until all route are able to be rendered in the router configmap.
Why
Testing