{
  "apiVersion": "ops.cisco.vk/v1alpha1",
  "kind": "IOSXESoftwareUpgrade",
  "metadata": {
    "annotations": {
      "topology.cisco.vk/app-worker-config-revision": "sha256:252124222130f6c2bac51842de1de67ac0824e3d5fbeb6c9cf8e712889998088",
      "topology.cisco.vk/app-worker-pod-name": "cat9k-lab-101-vk-7d4dd64c4d-5d8kp",
      "topology.cisco.vk/app-worker-pod-uid": "6525cc4b-06c5-40d5-88df-d153b8899bbc",
      "topology.cisco.vk/app-worker-username": "system:serviceaccount:cvk-live:cisco-vk-cisco-virtual-kubelet-app-hosting",
      "topology.cisco.vk/campaign-name": "cycle-20261001080450-64cad6-cat9k-lab-101-downgrade-rollout",
      "topology.cisco.vk/campaign-namespace": "cvk-live",
      "topology.cisco.vk/campaign-uid": "db50342d-ad8b-449c-ab6d-79dda756e8b9",
      "topology.cisco.vk/device-generation": "6",
      "topology.cisco.vk/device-name": "cat9k-lab-101",
      "topology.cisco.vk/device-namespace": "cvk-live",
      "topology.cisco.vk/device-uid": "20f3e68e-b127-4f2e-9a36-b66945135051",
      "topology.cisco.vk/ledger-uid": "8587a09e-451e-43a1-b638-0b2c11af78b6",
      "topology.cisco.vk/managed": "true",
      "topology.cisco.vk/network-worker-pod-name": "u20f3e68e-b127-4f2e-9a36-b66945135051-network-7c99b8c77d-j64f7",
      "topology.cisco.vk/network-worker-pod-uid": "2e2d051c-e4fc-4e60-a8ad-458faffcf29b",
      "topology.cisco.vk/network-worker-username": "system:serviceaccount:cvk-live:cisco-vk-cisco-virtual-kubelet-network-management",
      "topology.cisco.vk/node-name": "cat9k-lab-101",
      "topology.cisco.vk/node-uid": "1d153018-19a3-42dc-a7b9-da36c5bf0a95",
      "topology.cisco.vk/plan-hash": "sha256:3a3d70168e146cb47e3d52690879285d81c8e9047f2b1b62283defa2aa79f138",
      "topology.cisco.vk/reservation-id": "8fbd3657a97d84fdf037ea05dce2efa5",
      "topology.cisco.vk/source-secret-uid": "05d5617d-d807-4388-902f-9148c667fcc3",
      "topology.cisco.vk/worker-protocol": "rollout-v1",
      "topology.cisco.vk/worker-username": "system:serviceaccount:cvk-live:cisco-vk-cisco-virtual-kubelet-network-management"
    },
    "creationTimestamp": "2026-10-01T08:08:04Z",
    "finalizers": [
      "ops.cisco.vk/iosxesoftwareupgrade-cleanup"
    ],
    "generation": 1,
    "labels": {
      "topology.cisco.vk/campaign-uid": "db50342d-ad8b-449c-ab6d-79dda756e8b9"
    },
    "name": "cycle-20261001080450-64cad6-cat9k-lab-101-downgrade-rollout-cat9k-lab-101-8fbd3657",
    "namespace": "cvk-live",
    "resourceVersion": "9522209",
    "uid": "96509792-b5a8-4283-8d3b-1445ef288c97"
  },
  "spec": {
    "deviceRef": {
      "name": "cat9k-lab-101"
    },
    "imageSource": {
      "sha256": "c210d89b0bcbdeea4962b87b5f159c331988fe5a85d07a5a30da0438b2d99355",
      "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,
    "maxRetries": 3,
    "rebootTimeoutSeconds": 3600,
    "resumePolicy": "Retry",
    "rollbackOnFailure": true,
    "strategy": "Reload",
    "targetVersion": "17.18.02"
  },
  "status": {
    "activationStartTime": "2026-10-01T08:14:13Z",
    "completionTime": "2026-10-01T08:22:34Z",
    "conditions": [
      {
        "lastTransitionTime": "2026-10-01T08:22:34Z",
        "message": "upgrade complete",
        "observedGeneration": 1,
        "reason": "Succeeded",
        "status": "True",
        "type": "Ready"
      },
      {
        "lastTransitionTime": "2026-10-01T08:14:12Z",
        "message": "image transfer or supervisor synchronization completed and the install stream closed cleanly",
        "observedGeneration": 1,
        "reason": "Transferred",
        "status": "True",
        "type": "Transferred"
      },
      {
        "lastTransitionTime": "2026-10-01T08:11:47Z",
        "message": "resolved and pinned sha256:c210d89b0bcbdeea4962b87b5f159c331988fe5a85d07a5a30da0438b2d99355 (1247897709 bytes); ready for gNOI OS.Install",
        "observedGeneration": 1,
        "reason": "ImagePinned",
        "status": "True",
        "type": "ImageResolved"
      },
      {
        "lastTransitionTime": "2026-10-01T08:22:37Z",
        "message": "upgrade complete",
        "observedGeneration": 1,
        "reason": "OutcomeVerified",
        "status": "True",
        "type": "DeviceMutationSettled"
      },
      {
        "lastTransitionTime": "2026-10-01T08:14:12Z",
        "message": "device validated image version 17.18.02.0.4112.1766116039",
        "observedGeneration": 1,
        "reason": "Validated",
        "status": "True",
        "type": "Validated"
      },
      {
        "lastTransitionTime": "2026-10-01T08:15:44Z",
        "message": "gNOI OS.Activate did not return cleanly after requesting version 17.18.02.0.4112.1766116039 on the active supervisor: gnoi OS.Activate: rpc error: code = DeadlineExceeded desc = context deadline exceeded; waiting up to 3600s for the device to report the target version",
        "observedGeneration": 1,
        "reason": "ActivationResponseLost",
        "status": "True",
        "type": "Activated"
      },
      {
        "lastTransitionTime": "2026-10-01T08:22:33Z",
        "message": "device is reachable on target version 17.18.02.0.4112.1766116039",
        "observedGeneration": 1,
        "reason": "DeviceReachable",
        "status": "True",
        "type": "DeviceReachable"
      },
      {
        "lastTransitionTime": "2026-10-01T08:22:34Z",
        "message": "gNOI OS.Verify reports target version 17.18.02.0.4112.1766116039",
        "observedGeneration": 1,
        "reason": "Verified",
        "status": "True",
        "type": "Verified"
      }
    ],
    "executionModel": "AtMostOnceV1",
    "installStartTime": "2026-10-01T08:11:47Z",
    "managedMutationClaims": [
      {
        "claimedAt": "2026-10-01T08:14:13Z",
        "controlRevision": 0,
        "policyEpoch": 1,
        "reservationID": "8fbd3657a97d84fdf037ea05dce2efa5",
        "stage": "PrimaryActivation"
      },
      {
        "claimedAt": "2026-10-01T08:11:47Z",
        "controlRevision": 0,
        "policyEpoch": 1,
        "reservationID": "8fbd3657a97d84fdf037ea05dce2efa5",
        "stage": "PrimaryInstall"
      }
    ],
    "managerAdmission": {
      "campaignUID": "db50342d-ad8b-449c-ab6d-79dda756e8b9",
      "controlRevision": 0,
      "deviceGeneration": 6,
      "deviceUID": "20f3e68e-b127-4f2e-9a36-b66945135051",
      "leafUID": "96509792-b5a8-4283-8d3b-1445ef288c97",
      "ledgerUID": "8587a09e-451e-43a1-b638-0b2c11af78b6",
      "nodeUID": "1d153018-19a3-42dc-a7b9-da36c5bf0a95",
      "physicalIdentity": "foc2520l6h1",
      "planHash": "sha256:3a3d70168e146cb47e3d52690879285d81c8e9047f2b1b62283defa2aa79f138",
      "policyEpoch": 1,
      "policyResourceVersion": "9307543",
      "policyUID": "525ff87f-b74a-44c4-b54e-408e63a3a2e7",
      "protocolVersion": "rollout-v1",
      "reservationID": "8fbd3657a97d84fdf037ea05dce2efa5",
      "state": "Settled",
      "topologyLockID": "1754f2e649265899ab00209cf0728cc1",
      "updatedAt": "2026-10-01T08:33:30Z"
    },
    "managerControl": {
      "reason": "CampaignControl",
      "revision": 0,
      "updatedAt": "2026-10-01T08:08:03Z"
    },
    "managerDrain": {
      "controlRevision": 0,
      "drainDeadline": "2026-10-01T08:18:12Z",
      "maintenanceTaintPresentBefore": false,
      "nodeUID": "1d153018-19a3-42dc-a7b9-da36c5bf0a95",
      "nodeUnschedulableBefore": false,
      "pods": [
        {
          "controller": {
            "apiVersion": "apps/v1",
            "generation": 3,
            "kind": "ReplicaSet",
            "name": "cvk-topology-drain-a-0926-649c457fff",
            "namespace": "cvk-pr194-workloads",
            "uid": "1802f6d2-ecbc-43a8-968e-3219c75e5b86"
          },
          "deletionObservedAt": "2026-10-01T08:08:21Z",
          "deviceCleanAt": "2026-10-01T08:08:40Z",
          "deviceCleanInventoryRevision": 1,
          "eligibilityHash": "sha256:ca3bfede504c86c74b68f8be74caf07e1f3ad56baa0246a44c1a3dc2e66465fe",
          "evictionRequestedAt": "2026-10-01T08:08:19Z",
          "name": "cvk-topology-drain-a-0926-649c457fff-cwb62",
          "namespace": "cvk-pr194-workloads",
          "pdbs": [
            {
              "apiVersion": "policy/v1",
              "currentHealthy": 2,
              "desiredHealthy": 1,
              "disruptionsAllowed": 1,
              "expectedPods": 2,
              "generation": 2,
              "kind": "PodDisruptionBudget",
              "name": "cvk-topology-drain-0926",
              "namespace": "cvk-pr194-workloads",
              "observedGeneration": 2,
              "uid": "3b314af5-06eb-4fb4-8ae5-252834cbdfde"
            }
          ],
          "phase": "Complete",
          "protectedAt": "2026-10-01T08:08:14Z",
          "releasedAt": "2026-10-01T08:08:43Z",
          "terminationGracePeriodSeconds": 30,
          "uid": "e717875d-14f8-4355-bbfd-c4fded105336",
          "workloadController": {
            "apiVersion": "apps/v1",
            "generation": 3,
            "kind": "Deployment",
            "name": "cvk-topology-drain-a-0926",
            "namespace": "cvk-pr194-workloads",
            "uid": "3efd5abb-bd5d-401e-9afc-4a5f5c23aa0b"
          }
        },
        {
          "controller": {
            "apiVersion": "apps/v1",
            "generation": 3,
            "kind": "ReplicaSet",
            "name": "cvk-topology-drain-b-0926-67ff7d64b",
            "namespace": "cvk-pr194-workloads",
            "uid": "89bd2924-d924-4d46-b0fb-d245c4d1a545"
          },
          "deletionObservedAt": "2026-10-01T08:09:13Z",
          "deletionObservedInventoryRevision": 1,
          "deviceCleanAt": "2026-10-01T08:09:31Z",
          "deviceCleanInventoryRevision": 2,
          "eligibilityHash": "sha256:15ee13240a6ad83e9e89926605bfdd2aa28064d096342aa3491d8fd85841d392",
          "evictionRequestedAt": "2026-10-01T08:09:12Z",
          "name": "cvk-topology-drain-b-0926-67ff7d64b-hw9wt",
          "namespace": "cvk-pr194-workloads",
          "pdbs": [
            {
              "apiVersion": "policy/v1",
              "currentHealthy": 2,
              "desiredHealthy": 1,
              "disruptionsAllowed": 1,
              "expectedPods": 2,
              "generation": 2,
              "kind": "PodDisruptionBudget",
              "name": "cvk-topology-drain-0926",
              "namespace": "cvk-pr194-workloads",
              "observedGeneration": 2,
              "uid": "3b314af5-06eb-4fb4-8ae5-252834cbdfde"
            }
          ],
          "phase": "Complete",
          "protectedAt": "2026-10-01T08:08:16Z",
          "releasedAt": "2026-10-01T08:09:32Z",
          "terminationGracePeriodSeconds": 30,
          "uid": "560bc776-9e4b-47f9-b908-fce5e1018594",
          "workloadController": {
            "apiVersion": "apps/v1",
            "generation": 3,
            "kind": "Deployment",
            "name": "cvk-topology-drain-b-0926",
            "namespace": "cvk-pr194-workloads",
            "uid": "d2ab152c-51d3-47c5-903d-6a41d9301962"
          }
        }
      ],
      "policyEpoch": 1,
      "protocolVersion": "pdb-drain-v1",
      "recoveryDeadline": "2026-10-01T08:34:37Z",
      "reservationID": "8fbd3657a97d84fdf037ea05dce2efa5",
      "sessionToken": "[REDACTED sha256:51fa6aa1a3b9dc40b21b58a128b81f7b3a1040960404d198617129b2e68aa002]",
      "startedAt": "2026-10-01T08:08:12Z",
      "state": "Settled",
      "updatedAt": "2026-10-01T08:33:30Z"
    },
    "message": "upgrade complete",
    "observedGeneration": 1,
    "phase": "Succeeded",
    "previousVersion": "17.18.03.0.5496.1776157760",
    "primarySupervisorActivationRequested": true,
    "primarySupervisorInstallRequested": true,
    "primarySupervisorInstalled": true,
    "runningVersion": "17.18.02.0.4112.1766116039",
    "sourceDigest": "sha256:c210d89b0bcbdeea4962b87b5f159c331988fe5a85d07a5a30da0438b2d99355",
    "sourceSize": 1247897709,
    "startTime": "2026-10-01T08:11:08Z",
    "transferProgress": {
      "bytesTransferred": 1247897709,
      "percent": 100,
      "totalBytes": 1247897709
    },
    "validatedVersion": "17.18.02.0.4112.1766116039",
    "workerControl": {
      "effectiveState": "Settled",
      "message": "managed upgrade has a terminal and conclusively settled worker outcome",
      "observedAdmissionState": "Settled",
      "observedControlRevision": 0,
      "observedPolicyEpoch": 1,
      "observedWorkerConfigRevision": "sha256:3bb5e0be13e4c9c11b4633ebba35e32f01e3e727f1489a42ce17084514f6941a",
      "updatedAt": "2026-10-01T08:33:30Z"
    },
    "workerDrain": {
      "inventoryComplete": true,
      "inventoryObservedAt": "2026-10-01T08:09:31Z",
      "inventoryRevision": 2,
      "message": "Complete device inventory proves the selected Pod UID is absent.",
      "observedControlRevision": 0,
      "observedPolicyEpoch": 1,
      "observedSessionToken": "[REDACTED sha256:51fa6aa1a3b9dc40b21b58a128b81f7b3a1040960404d198617129b2e68aa002]",
      "observedWorkerConfigRevision": "sha256:252124222130f6c2bac51842de1de67ac0824e3d5fbeb6c9cf8e712889998088",
      "observedWorkerPodUID": "6525cc4b-06c5-40d5-88df-d153b8899bbc",
      "protocolVersion": "pdb-drain-v1",
      "reason": "InventoryComplete",
      "updatedAt": "2026-10-01T08:09:31Z"
    }
  }
}
