Objective: Verify successive restart-date changes each trigger exactly one rollout.
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)
Note: Follows directly from Scenario 4. Annotation was 2026-06-17T11:43:15Z; updated to a new value.
| Step | Check | Result | Evidence |
|---|---|---|---|
| 1 | Operands stable after Scenario 4 (same value re-apply) | PASS | All 4 pods unchanged at gen 2 (confirmed in Scenario 4) |
| 2 | Record current pod timestamps | PASS | See evidence below |
| 3 | Set a NEW restart-date value | PASS | Set to 2026-06-17T11:52:52Z (new value, different from previous 11:43:15Z) |
| 4 | Operands restarted with newer timestamps | PASS | All 4 pods replaced at ~11:55 UTC, deployments at gen 3 (see evidence) |
$ oc get pods -n clusters-brcox-88531-hc \
-o custom-columns='NAME:.metadata.name,CREATED:.metadata.creationTimestamp' \
| grep -E "multus|network-node-identity|ovnkube-control-plane|cloud-network-config"
cloud-network-config-controller-76dd98d985-k6zvs 2026-06-17T11:45:28Z
multus-admission-controller-5fd559d858-75t5j 2026-06-17T11:45:35Z
network-node-identity-85d874994d-pd9ks 2026-06-17T11:45:50Z
ovnkube-control-plane-7dbccb64d4-g8stz 2026-06-17T11:45:44Z
$ RESTART_DATE2=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
# RESTART_DATE2=2026-06-17T11:52:52Z
$ oc annotate hostedcluster -n clusters brcox-88531-hc \
"hypershift.openshift.io/restart-date=$RESTART_DATE2" --overwrite
hostedcluster.hypershift.openshift.io/brcox-88531-hc annotated
# Verify HCP annotation updated:
$ oc get hcp brcox-88531-hc -n clusters-brcox-88531-hc \
-o jsonpath='{.metadata.annotations.hypershift\.openshift\.io/restart-date}'
2026-06-17T11:52:52Z
$ 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 -E "multus|network-node-identity|ovnkube-control-plane|cloud-network-config"
cloud-network-config-controller-68bbc58f96-brmrw true 0 2026-06-17T11:54:56Z
multus-admission-controller-6b96956cdc-cdz2h true 0 2026-06-17T11:55:03Z
network-node-identity-575487f6f7-f42vf true 0 2026-06-17T11:55:18Z
ovnkube-control-plane-55f85bf477-z8sks true 0 2026-06-17T11:55:12Z
# All 4 operands restarted with new ReplicaSets and new creation timestamps.
# Rollout time: ~2 min after annotation change (11:52:52Z → 11:54:56Z).
# Second update successfully triggered a second rollout.
# Deployments now at generation 3 with new restart-date:
$ oc get deployment -n clusters-brcox-88531-hc \
cloud-network-config-controller multus-admission-controller \
network-node-identity ovnkube-control-plane \
-o jsonpath='{range .items[*]}Deployment: {.metadata.name} gen: {.metadata.generation} restart-date: {.spec.template.metadata.annotations.hypershift\.openshift\.io/restart-date}
{end}'
Deployment: cloud-network-config-controller gen: 3 restart-date: 2026-06-17T11:52:52Z
Deployment: multus-admission-controller gen: 3 restart-date: 2026-06-17T11:52:52Z
Deployment: network-node-identity gen: 3 restart-date: 2026-06-17T11:52:52Z
Deployment: ovnkube-control-plane gen: 3 restart-date: 2026-06-17T11:52:52Z
# 3 ReplicaSets per deployment (gen 1, 2, 3):
$ oc get rs -n clusters-brcox-88531-hc \
-o custom-columns='NAME:.metadata.name,DESIRED:.spec.replicas,CURRENT:.status.replicas,READY:.status.readyReplicas,CREATED:.metadata.creationTimestamp' \
| grep cloud-network-config
cloud-network-config-controller-5c7997f74f 0 0 <none> 2026-06-17T11:13:20Z
cloud-network-config-controller-68bbc58f96 1 1 1 2026-06-17T11:54:56Z
cloud-network-config-controller-76dd98d985 0 0 <none> 2026-06-17T11:45:28Z