Objective: Verify that cloud-network-config-controller restarts when hypershift.openshift.io/restart-date is set on the HostedCluster.
Maps to: JIRA reproduction steps and acceptance criteria
Cluster: brcox-88531-hc on Azure dev mgmt cluster — HCP namespace: clusters-brcox-88531-hc
Release image: registry.build10.ci.openshift.org/ci-ln-1qhpr62/release:latest (CNO PR #3030 + HyperShift PR #8751)
| Step | Check | Result | Evidence |
|---|---|---|---|
| 1 | CNCC pod running in HCP namespace | PASS | cloud-network-config-controller-5c7997f74f-7hllb Running |
| 2 | Record pod name and creation timestamp (before) | PASS | Pod 5c7997f74f-7hllb created 2026-06-17T11:13:20Z |
| 3 | Set restart-date annotation on HostedCluster |
PASS | Set to 2026-06-17T11:43:15Z; annotation propagated to HCP |
| 4 | Wait up to 5 minutes for CNO reconcile | PASS | New pod appeared ~2 min after annotation set (CNO ResyncPeriod = 3 min) |
| 5 | CNCC pod has newer creation timestamp | PASS | 11:13:20Z → 11:45:28Z |
| 6 | CNCC pod name changed (new ReplicaSet rolled out) | PASS | 5c7997f74f-7hllb → 76dd98d985-k6zvs (new RS) |
$ oc get pods -n clusters-brcox-88531-hc \
-o custom-columns='NAME:.metadata.name,READY:.status.containerStatuses[0].ready,RESTARTS:.status.containerStatuses[0].restartCount,CREATED:.metadata.creationTimestamp' \
| grep cloud-network-config
cloud-network-config-controller-5c7997f74f-7hllb true 0 2026-06-17T11:13:20Z
$ RESTART_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
# RESTART_DATE=2026-06-17T11:43:15Z
$ oc annotate hostedcluster -n clusters brcox-88531-hc \
"hypershift.openshift.io/restart-date=$RESTART_DATE" --overwrite
hostedcluster.hypershift.openshift.io/brcox-88531-hc annotated
# Verify annotation propagated to HCP:
$ oc get hcp brcox-88531-hc -n clusters-brcox-88531-hc \
-o jsonpath='{.metadata.annotations.hypershift\.openshift\.io/restart-date}'
2026-06-17T11:43:15Z
$ oc get pods -n clusters-brcox-88531-hc \
-o custom-columns='NAME:.metadata.name,READY:.status.containerStatuses[0].ready,RESTARTS:.status.containerStatuses[0].restartCount,CREATED:.metadata.creationTimestamp' \
| grep cloud-network-config
cloud-network-config-controller-76dd98d985-k6zvs true 0 2026-06-17T11:45:28Z
# New ReplicaSet rolled out: 5c7997f74f -> 76dd98d985
# Creation timestamp changed: 11:13:20Z -> 11:45:28Z
# Pod restarted ~2 minutes after restart-date annotation was set
# Deployment now at generation 2 with restart-date on pod template:
$ oc get deployment cloud-network-config-controller -n clusters-brcox-88531-hc \
-o jsonpath='generation: {.metadata.generation} restart-date: {.spec.template.metadata.annotations.hypershift\.openshift\.io/restart-date}'
generation: 2 restart-date: 2026-06-17T11:43:15Z
# ReplicaSet history showing old RS scaled down:
$ oc get rs -n clusters-brcox-88531-hc | grep cloud-network-config
cloud-network-config-controller-5c7997f74f 0 0 <none> 2026-06-17T11:13:20Z
cloud-network-config-controller-76dd98d985 1 1 1 2026-06-17T11:45:28Z