Scenario 5: Second restart-date Update Triggers Another Rollout

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.

Overall Scenario 5: PASS
StepCheckResultEvidence
1Operands stable after Scenario 4 (same value re-apply)PASSAll 4 pods unchanged at gen 2 (confirmed in Scenario 4)
2Record current pod timestampsPASSSee evidence below
3Set a NEW restart-date valuePASSSet to 2026-06-17T11:52:52Z (new value, different from previous 11:43:15Z)
4Operands restarted with newer timestampsPASSAll 4 pods replaced at ~11:55 UTC, deployments at gen 3 (see evidence)

Evidence

Steps 1-2 — Pod state before new annotation
$ 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
Step 3 — Set new restart-date value
$ 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
Step 4 — Pod state after new annotation (captured at 11:56 UTC)
$ 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
← Scenario 4 Scenario 6 →