Skip to content
This repository has been archived by the owner on Dec 21, 2023. It is now read-only.

spec 0.2.0 - Specify Deployment / DeploymentNames #68

Closed
christian-kreuzberger-dtx opened this issue Mar 1, 2021 · 0 comments · Fixed by #73
Closed

spec 0.2.0 - Specify Deployment / DeploymentNames #68

christian-kreuzberger-dtx opened this issue Mar 1, 2021 · 0 comments · Fixed by #73

Comments

@christian-kreuzberger-dtx
Copy link
Member

christian-kreuzberger-dtx commented Mar 1, 2021

In helm-service of Keptn 0.8.0-rc1 I noticed that we are sending deploymentNames within the deployment.finished event:

{
  "data": {
    "deployment": {
      "deploymentNames": [
        "canary"
      ],
      "deploymentURIsLocal": [
        "http://tempberry-backend.tempberry-hardening:80"
      ],
      "deploymentURIsPublic": [
        "http://tempberry-backend.tempberry-hardening.1-2-3-4.nip.io:80"
      ],
      "deploymentstrategy": "duplicate",
      "gitCommit": "bb31a5c6a65a0ca6f42081ce1fe1099dadba697d"
    },
    "message": "Successfully deployed",
    "project": "tempberry",
    "result": "pass",
    "service": "tempberry-backend",
    "stage": "hardening",
    "status": "succeeded"
  },
  "source": "helm-service",
  "type": "sh.keptn.event.deployment.finished",
}

The information provided by helm-service in this Array is either "canary" or "direct" and is consumed by SLI providers to determine whether the SLI is fetched for the primary or canary deployment (e.g., in case of blue-green deployments).
In addition, we refer to deployment in helm-charts (for dynatrace integration):
https://github.com/keptn/examples/blob/519680b56e270e9a59b09d864415df3d45643a09/onboarding-carts/carts/templates/deployment.yaml#L35-L36

In Keptn 0.7.x this field was called "deployment", e.g.:

{
  "contenttype": "application/json",
  "data": {
    "customFilters": [],
    "deployment": "canary",
    "deploymentstrategy": "blue_green_service",
    "end": "2020-12-04T07:00:54Z",
    "indicators": [
      "response_time_p95"
    ],
    "project": "ck-sockshop",
    "service": "carts",
    "sliProvider": "dynatrace",
    "stage": "staging",
    "start": "2020-12-04T06:59:00Z",
    "teststrategy": "performance"
  },
  "source": "lighthouse-service",
  "type": "sh.keptn.internal.event.get-sli",
}

See also helm-service#deployment-finished.

Questions / Problems

  • I did not expect "direct" nor "canary" for DeploymentNames. Coming from helm-service, I would have expected the actual name of the release, helm-chart or Kubernetes Deployment (e.g., tempberry-primary).
  • Why is it an array? Do we consume it as an array anywhere (e.g., sli provider) or do we always consume the value at index 0?
  • The respective attribute is not visible/document in keptn/spec, therefore writing an integration that consumes this attribute is impossible unless you have profound knowledge of helm-service.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant