{
  "apiVersion": "ops.cisco.vk/v1alpha1",
  "kind": "IOSXESoftwareRollout",
  "metadata": {
    "creationTimestamp": "2026-10-01T08:07:57Z",
    "finalizers": [
      "ops.cisco.vk/iosxesoftwarerollout-safety"
    ],
    "generation": 2,
    "name": "cycle-20261001080450-64cad6-cat9k-lab-101-downgrade-rollout",
    "namespace": "cvk-live",
    "resourceVersion": "9522264",
    "uid": "db50342d-ad8b-449c-ab6d-79dda756e8b9"
  },
  "spec": {
    "approval": {
      "approvedAt": "2026-10-01T08:08:02.859042Z",
      "approvedBy": "system:admin",
      "planHash": "sha256:3a3d70168e146cb47e3d52690879285d81c8e9047f2b1b62283defa2aa79f138"
    },
    "control": {
      "revision": 0
    },
    "plan": {
      "budgets": {
        "domains": [
          {
            "maxConcurrentTransfers": 1,
            "topologyKey": "distribution.cisco.vk/cache-domain"
          },
          {
            "maxUnavailable": 1,
            "topologyKey": "operations.cisco.vk/redundancy-domain"
          }
        ],
        "maxConcurrentTransfers": 1,
        "maxUnavailable": 1
      },
      "canaries": [
        {
          "devices": [
            "cat9k-lab-101"
          ],
          "name": "c9300-24p"
        }
      ],
      "health": {
        "canarySoakSeconds": 0,
        "maxObservationAgeSeconds": 300,
        "network": {
          "enabled": true,
          "requireCompleteEvidence": true
        },
        "waveSoakSeconds": 0
      },
      "image": {
        "imageFamily": "cat9k",
        "sha256": "c210d89b0bcbdeea4962b87b5f159c331988fe5a85d07a5a30da0438b2d99355",
        "sources": [
          {
            "name": "lab-source",
            "priority": 10,
            "url": "sftp://10.0.2.2/home/cisco/cvk-gnoi-images/cat9k_iosxe.17.18.02.SPA.bin",
            "urlSecretRef": {
              "name": "pr194-iosxe-image-source"
            }
          }
        ]
      },
      "installTimeoutSeconds": 14400,
      "pauseAfterCanary": false,
      "rebootTimeoutSeconds": 3600,
      "requestedAt": "2026-10-01T08:07:23.008008Z",
      "requestedBy": "system:admin",
      "rollbackOnFailure": true,
      "strategy": "Reload",
      "targetVersion": "17.18.02",
      "targets": {
        "allowAll": false,
        "maxTargets": 1,
        "selector": {
          "matchLabels": {
            "topology.cisco.vk/lab-node": "cat9k-lab-101"
          }
        }
      },
      "workloads": {
        "drain": {
          "maxPods": 2,
          "maxTerminationGraceSeconds": 60,
          "namespaces": [
            "cvk-pr194-workloads"
          ],
          "timeoutSeconds": 600
        },
        "policy": "Drain"
      }
    }
  },
  "status": {
    "approval": {
      "planHash": "sha256:3a3d70168e146cb47e3d52690879285d81c8e9047f2b1b62283defa2aa79f138",
      "reason": "ExactPlanApproved",
      "valid": true,
      "validatedAt": "2026-10-01T08:08:03Z"
    },
    "conditions": [
      {
        "lastTransitionTime": "2026-10-01T08:07:57Z",
        "message": "frozen plan created; approval of the exact plan hash is required",
        "observedGeneration": 1,
        "reason": "PlanFrozen",
        "status": "True",
        "type": "Planned"
      },
      {
        "lastTransitionTime": "2026-10-01T08:08:03Z",
        "message": "exact frozen plan hash was approved",
        "observedGeneration": 2,
        "reason": "ExactPlanApproved",
        "status": "True",
        "type": "Approved"
      },
      {
        "lastTransitionTime": "2026-10-01T08:33:48Z",
        "message": "all targets completed and passed their post-mutation health gates",
        "observedGeneration": 2,
        "reason": "Succeeded",
        "status": "False",
        "type": "Progressing"
      }
    ],
    "control": {
      "effectiveRevision": 0,
      "requestedRevision": 0
    },
    "counts": {
      "succeeded": 1,
      "total": 1
    },
    "effectivePolicy": {
      "epoch": 1,
      "policy": {
        "domains": [
          {
            "maxConcurrentTransfers": 1,
            "topologyKey": "distribution.cisco.vk/cache-domain"
          },
          {
            "maxUnavailable": 1,
            "topologyKey": "operations.cisco.vk/redundancy-domain"
          },
          {
            "maxConcurrentTransfers": 1,
            "topologyKey": "topology.kubernetes.io/region"
          },
          {
            "maxUnavailable": 1,
            "topologyKey": "topology.kubernetes.io/zone"
          }
        ],
        "healthFreshnessSeconds": 300,
        "ledgerName": "cisco-vk-cisco-virtual-kubelet-topology-ledger",
        "ledgerNamespace": "cisco-vk-system",
        "ledgerUID": "8587a09e-451e-43a1-b638-0b2c11af78b6",
        "maxActiveReservations": 3,
        "maxConcurrentTransfers": 1,
        "maxLedgerSizeBytes": 262144,
        "maxTargets": 3,
        "maxUnavailable": 1,
        "name": "cisco-vk-cisco-virtual-kubelet-topology-policy",
        "namespace": "cisco-vk-system",
        "resourceVersion": "9307543",
        "semanticHash": "sha256:126ba7e90a790a30df18a4a37991753648bdcb33638b01007a5318b605b02e8c",
        "structuralHash": "sha256:b249339c9fc553970a0b6dcfa12ff41eef37e5a620803680dceb811a1c163408",
        "uid": "525ff87f-b74a-44c4-b54e-408e63a3a2e7"
      },
      "updatedAt": "2026-10-01T08:07:57Z"
    },
    "frozenPlan": {
      "campaignGeneration": 1,
      "createdAt": "2026-10-01T08:07:57Z",
      "encodedSizeBytes": 3472,
      "hash": "sha256:3a3d70168e146cb47e3d52690879285d81c8e9047f2b1b62283defa2aa79f138",
      "policy": {
        "domains": [
          {
            "maxConcurrentTransfers": 1,
            "topologyKey": "distribution.cisco.vk/cache-domain"
          },
          {
            "maxUnavailable": 1,
            "topologyKey": "operations.cisco.vk/redundancy-domain"
          },
          {
            "maxConcurrentTransfers": 1,
            "topologyKey": "topology.kubernetes.io/region"
          },
          {
            "maxUnavailable": 1,
            "topologyKey": "topology.kubernetes.io/zone"
          }
        ],
        "healthFreshnessSeconds": 300,
        "ledgerName": "cisco-vk-cisco-virtual-kubelet-topology-ledger",
        "ledgerNamespace": "cisco-vk-system",
        "ledgerUID": "8587a09e-451e-43a1-b638-0b2c11af78b6",
        "maxActiveReservations": 3,
        "maxConcurrentTransfers": 1,
        "maxLedgerSizeBytes": 262144,
        "maxTargets": 3,
        "maxUnavailable": 1,
        "name": "cisco-vk-cisco-virtual-kubelet-topology-policy",
        "namespace": "cisco-vk-system",
        "resourceVersion": "9307543",
        "semanticHash": "sha256:126ba7e90a790a30df18a4a37991753648bdcb33638b01007a5318b605b02e8c",
        "structuralHash": "sha256:b249339c9fc553970a0b6dcfa12ff41eef37e5a620803680dceb811a1c163408",
        "uid": "525ff87f-b74a-44c4-b54e-408e63a3a2e7"
      },
      "targets": [
        {
          "canaryCohort": "c9300-24p",
          "childName": "cycle-20261001080450-64cad6-cat9k-lab-101-downgrade-rollout-cat9k-lab-101-8fbd3657",
          "deviceGeneration": 6,
          "deviceName": "cat9k-lab-101",
          "deviceUID": "20f3e68e-b127-4f2e-9a36-b66945135051",
          "driver": "XE",
          "imageFamily": "cat9k",
          "nodeName": "cat9k-lab-101",
          "nodeUID": "1d153018-19a3-42dc-a7b9-da36c5bf0a95",
          "physicalIdentity": "foc2520l6h1",
          "projectionHash": "sha256:692be3346f119d8c911d6420967b74b764162eca6bcc3b33a31daf891c4484f2",
          "qualificationCohort": "c9300-24p",
          "source": {
            "name": "lab-source",
            "priority": 10,
            "secretName": "pr194-iosxe-image-source",
            "secretUID": "05d5617d-d807-4388-902f-9148c667fcc3",
            "sha256": "c210d89b0bcbdeea4962b87b5f159c331988fe5a85d07a5a30da0438b2d99355",
            "url": "sftp://10.0.2.2/home/cisco/cvk-gnoi-images/cat9k_iosxe.17.18.02.SPA.bin"
          },
          "topology": [
            {
              "key": "distribution.cisco.vk/cache-domain",
              "value": "ubuntu16"
            },
            {
              "key": "operations.cisco.vk/redundancy-domain",
              "value": "physical-c9k-lab"
            },
            {
              "key": "topology.cisco.vk/lab-node",
              "value": "cat9k-lab-101"
            },
            {
              "key": "topology.cisco.vk/lab-set",
              "value": "pr194-physical-c9k"
            },
            {
              "key": "topology.cisco.vk/site",
              "value": "ubuntu16-physical"
            },
            {
              "key": "topology.kubernetes.io/region",
              "value": "lab"
            },
            {
              "key": "topology.kubernetes.io/zone",
              "value": "physical-c9k-lab"
            }
          ],
          "wave": 0,
          "workerProtocolVersion": "rollout-v1"
        }
      ]
    },
    "message": "all targets completed and passed their post-mutation health gates",
    "observedGeneration": 2,
    "phase": "Succeeded",
    "targets": [
      {
        "deviceName": "cat9k-lab-101",
        "deviceUID": "20f3e68e-b127-4f2e-9a36-b66945135051",
        "lastTransitionTime": "2026-10-01T08:33:48Z",
        "leafName": "cycle-20261001080450-64cad6-cat9k-lab-101-downgrade-rollout-cat9k-lab-101-8fbd3657",
        "leafUID": "96509792-b5a8-4283-8d3b-1445ef288c97",
        "message": "upgrade complete",
        "phase": "Succeeded",
        "reason": "HealthGatePassed"
      }
    ]
  }
}
