Skip to content
This repository has been archived by the owner on May 3, 2022. It is now read-only.

Release states and strategy conditions not updated when the Cluster Client Store can't provide a client #325

Open
parhamdoustdar opened this issue Jun 5, 2020 · 0 comments

Comments

@parhamdoustdar
Copy link
Contributor

When Shipper can't connect to an app cluster, the strategy field of the release doesn't get updated at all. To reproduce, create a release, wait for it to reach step 0, change the apiMaster of the Cluster object so that it's invalid, and patch the targetStep to 1. Then, you should see something like this:

$ kubectl get rel -o json | jq '.items[0].status.conditions'
[
  {
    "lastTransitionTime": "2020-06-04T09:44:39Z",
    "status": "False",
    "type": "Blocked"
  },
  {
    "lastTransitionTime": "2020-06-04T09:44:39Z",
    "message": "kind-app",
    "reason": "ClustersChosen",
    "status": "True",
    "type": "ClustersChosen"
  },
  {
    "lastTransitionTime": "2020-06-04T12:08:05Z",
    "message": "cluster \"kind-app\" not ready for use yet; cluster client is being initialized",
    "reason": "StrategyExecutionFailed",
    "status": "False",
    "type": "StrategyExecuted"
  }
]

Now, if you look at the strategy field, you will see no trace of this error:

$ kubectl get rel -o json | jq '.items[0].status.strategy'
{
  "clusters": [
    {
      "conditions": [
        {
          "lastTransitionTime": "2020-06-04T11:47:33Z",
          "message": "",
          "reason": "",
          "status": "True",
          "step": 0,
          "type": "ContenderAchievedCapacity"
        },
        {
          "lastTransitionTime": "2020-06-04T11:47:33Z",
          "message": "",
          "reason": "",
          "status": "True",
          "step": 0,
          "type": "ContenderAchievedInstallation"
        },
        {
          "lastTransitionTime": "2020-06-04T11:47:33Z",
          "message": "",
          "reason": "",
          "status": "True",
          "step": 0,
          "type": "ContenderAchievedTraffic"
        }
      ],
      "name": "kind-app"
    }
  ],
  "state": {
    "waitingForCapacity": "False",
    "waitingForCommand": "True",
    "waitingForInstallation": "False",
    "waitingForTraffic": "False"
  }
}

Note that:

  • The conditions say that the contender has achieved capacity and traffic, which is not true
  • The states say that the Release is waiting for command, which is not true
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant