Skip to content
Compare
Choose a tag to compare

0.8.1

@github-actions github-actions released this
· 1694 commits to master since this release
b6e2df1
Compare
Choose a tag to compare

Release Notes 0.8.1

Keptn 0.8.1 improves the user experience of Keptn by allowing custom names for SLOs, showing a stage-wide overview of currently running sequences including quality gate evaluations, and offering an API/CLI support to create secrets (on top of Kubernetes Secrets). Besides, this release addresses encountered bugs and issues encountered.


Key announcements:

🎉 API/CLI support for creating secrets: This release introduces the new feature to create a secret on the Keptn control-plane, which is then stored as Kubernetes Secret. Therefore, the Keptn API and CLI provide the required functionality. Please see keptn create secret to learn how to use this feature.

Bridge improvements for SLO names and stage overview: The SLO spec allows adding a displayName for an SLO. This name is optional but will be used in the Bridge when available; please see the snippet below. Additionally, the Bridge provides enhancements for the environment screen where an overview of the currently running sequences is given and the evaluation of a quality gate is displayed:

image

Snippet: SLO.yaml file

...
objectives:
  - sli: "response_time_p95"
    displayName: "Response time P95"
    key_sli: false
    pass:             
      - criteria:
          - "<600"    
    warning:          
      - criteria:
          - "<=800"
    weight: 1
...

💫 (UI mockup for the Keptn Uniform) Bridge displays deployed Keptn-services (integrations) and their subscriptions: In this release, a UI mockup is provided that should provide a look-and-feel on how to display Keptn-services that are connected to the control-plane. To take a look at this mockup, open the Bridge and navigate to: your.keptn.endpoint/bridge/project/{project_name}/ff-uniform


Many thanks to the community for the enhancements on this release!

Keptn Specification

Implemented Keptn spec version: 0.2.1

New Features

Platform Support / Installer

  • Support for Kubernetes 1.20 3495

API

  • Create/Delete/Update secret using Keptn API/CLI 3465
  • Fixed: GET services from a stage endpoint requires stage but contains service in path 3456
  • Fixed: Endpoint is missing path parameter and mismatch between parameter name 3489

CLI

  • keptn create secret: Commands for managing secrets 3596
  • CLI & Bridge: Automatically determine doc version 2863
  • Fixed: CLI in alpine docker image not working 3475

Keptn Core

  • configuration-service:

    • Fixed: Cannot checkout main|master in AWS CodeCommit 3403
  • distributor:

    • Allow comma-separated list on event filters for distributors 3577
  • helm-service & jmeter-service:

    • Add Helm schema validation support for a 'remoteControlPlane.api.hostname' port value 3450
    • Allow helm-service to work without admin permissions 3511
  • shipyard-controller:

    • Fixed: Upgrade Shipyard: shipyardVersion in GET /project response not updated immediately 3384
    • Fixed: deploymentURI shows up twice in shipyard-controller test.triggered event 3449
    • Fixed: Fixed errors in Swagger definition of shipyard-controller 3530

Bridge

  • Mockup to show installed Keptn-services (aka. Uniform) and the latest version available 1280
  • Show SLI with display name or "smart SLI name" 3345
  • Stage tile supports many services 2289
  • Show evaluation result on Service tile (next to stage) 3425
  • Fixed: Navigation with smart linking 3578
  • Fixed: Approval events sent by bridge should only include approval-related properties 3557
  • Fixed: Bridge no longer shows a link to deployment URLs in environment screen 3535
  • Fixed: Evaluation component in Service screen does not show all labels as compared to full-screen view 3537
  • Fixed: Bridge shows empty test events due to wrong order of events (test.started timestamp < test.triggered timestamp) 3435
  • Fixed: Bridge does not list failed quality gate evaluations in Environment screen 3438
  • Fixed: Version check failed 3446
  • Fixed: Approvals are not working 3477

Miscellaneous

  • Disable SpellCheck for *_test.go files 3543
  • Added spell checker - big thanks to @jsoref 🎉 3234

Development Process / Testing

  • Integration Test: Run jmeter and helm in execution plane (independent namespace) 3214
  • Integration Test: Test the "multiple parallel stages" with cont.delivery 2970
  • Automatically create GitHub issue with the label "type:critical" if integration tests on master/release branch fail 3166
  • Fixed: Debugging helm-service is no longer possible 3421

Good to know / Known Limitations

  • See the know limitations from 0.8.0
Open issues that will be fixed in upcoming releases

  • Lighthouse-service needs to properly set result, status, and message 3412
  • Helm-service is not working parallel when deployed in the execution-plane 3427
  • Shipyard-controller: Only last .finished event for a task determines further sequence execution 3493
  • Auto-remediation does not work with remote execution plane 3498
  • Quality gate icon in the environment screen does not turn red 3592

Upgrade to 0.8.1

CI Information

Docker Images

  • Pushed keptn/api:0.8.1.202103260657 and keptn/api:0.8.1 (Source: api/)
  • Pushed keptn/bridge2:0.8.1.202103260657 and keptn/bridge2:0.8.1 (Source: bridge/)
  • Pushed keptn/distributor:0.8.1.202103260657 and keptn/distributor:0.8.1 (Source: distributor/)
  • Pushed keptn/jmeter-service:0.8.1.202103260657 and keptn/jmeter-service:0.8.1 (Source: jmeter-service/)
  • Pushed keptn/helm-service:0.8.1.202103260657 and keptn/helm-service:0.8.1 (Source: helm-service/)
  • Pushed keptn/approval-service:0.8.1.202103260657 and keptn/approval-service:0.8.1 (Source: approval-service/)
  • Pushed keptn/openshift-route-service:0.8.1.202103260657 and keptn/openshift-route-service:0.8.1 (Source: platform-support/openshift-route-service/)
  • Pushed keptn/shipyard-controller:0.8.1.202103260657 and keptn/shipyard-controller:0.8.1 (Source: shipyard-controller/)
  • Pushed keptn/secret-service:0.8.1.202103260657 and keptn/secret-service:0.8.1 (Source: secret-service/)
  • Pushed keptn/configuration-service:0.8.1.202103260657 and keptn/configuration-service:0.8.1 (Source: configuration-service/)
  • Pushed keptn/remediation-service:0.8.1.202103260657 and keptn/remediation-service:0.8.1 (Source: remediation-service/)
  • Pushed keptn/lighthouse-service:0.8.1.202103260657 and keptn/lighthouse-service:0.8.1 (Source: lighthouse-service/)
  • Pushed keptn/mongodb-datastore:0.8.1.202103260657 and keptn/mongodb-datastore:0.8.1 (Source: mongodb-datastore/)
  • Pushed keptn/statistics-service:0.8.1.202103260657 and keptn/statistics-service:0.8.1 (Source: statistics-service/)

Integration Tests
Integration Tests have finished.

Target Platform Keptn Install Keptn Auth Linking Stages Quality Gates Standalone Quality Gates Backwards Compat. Self Healing Delivery Assistant Continuous Delivery Continuous Delivery (Remote Exec)
kubernetes/GKE 1.15 success success success success success success success skipped success
kubernetes/GKE 1.18 success success success success success success success success skipped
kubernetes/k3s-on-GHA v1.16.15+k3s1 success success success success success success skipped skipped skipped
kubernetes/k3s-on-GHA v1.20.4+k3s1 success success success success success success skipped skipped skipped
openshift/minishift-on-GHA 3.11 success success success skipped skipped success skipped skipped skipped

Kubernetes Resource Data

Resource Limits
Resource Limits for kubernetes-GKE

Pod Container Memory (requested) CPU (requested) Memory (limit) CPU (limit) Images
api-gateway-nginx api-gateway-nginx 64Mi 50m 128Mi 250m docker.io/nginxinc/nginx-unprivileged:1.19.4-alpine
api-service api-service 64Mi 50m 256Mi 500m docker.io/keptn/api:0.8.1
api-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.1
approval-service approval-service 32Mi 50m 128Mi 500m docker.io/keptn/approval-service:0.8.1
approval-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.1
bridge bridge 64Mi 50m 128Mi 500m docker.io/keptn/bridge2:0.8.1
configuration-service configuration-service 64Mi 50m 128Mi 500m docker.io/keptn/configuration-service:0.8.1
helm-service helm-service 128Mi 50m 512Mi 1 docker.io/keptn/helm-service:0.8.1
helm-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.1
jmeter-service jmeter-service 768Mi 1 - - docker.io/keptn/jmeter-service:0.8.1
jmeter-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.1
lighthouse-service lighthouse-service 128Mi 50m 1Gi 500m docker.io/keptn/lighthouse-service:0.8.1
lighthouse-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.1
mongodb mongodb 64Mi 50m 300Mi 100m docker.io/centos/mongodb-36-centos7:1
mongodb-datastore mongodb-datastore 32Mi 50m 128Mi 500m docker.io/keptn/mongodb-datastore:0.8.1
mongodb-datastore distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.1
remediation-service remediation-service 64Mi 50m 1Gi 500m docker.io/keptn/remediation-service:0.8.1
remediation-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.1
secret-service secret-service 32Mi 50m 128Mi 500m docker.io/keptn/secret-service:0.8.1
shipyard-controller shipyard-controller 32Mi 50m 128Mi 500m docker.io/keptn/shipyard-controller:0.8.1
shipyard-controller distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.1
statistics-service statistics-service 32Mi 50m 128Mi 500m docker.io/keptn/statistics-service:0.8.1
statistics-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.1

Summary (whole cluster):

$ kubectl describe node | grep -A5 "Allocated"
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource                   Requests    Limits
  --------                   --------    ------
  cpu                        928m (23%)  1760m (44%)
  memory                     644Mi (5%)  1406Mi (11%)
--
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource                   Requests      Limits
  --------                   --------      ------
  cpu                        1776m (45%)   393m (10%)
  memory                     3187Mi (25%)  937Mi (7%)
--
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource                   Requests      Limits
  --------                   --------      ------
  cpu                        1076m (27%)   8648m (220%)
  memory                     1364Mi (11%)  5756Mi (46%)

Please note: Depending on the setup, the above includes usage for Istio aswell as the Kubernetes control-plane

Name Size
configuration-volume 100Mi
mongodata 5Gi

Resource Limits for openshift-minishift-on-GHA

Pod Container Memory (requested) CPU (requested) Memory (limit) CPU (limit) Images
api-gateway-nginx api-gateway-nginx 64Mi 50m 128Mi 250m docker.io/nginxinc/nginx-unprivileged:1.19.4-alpine
api-service api-service 64Mi 50m 256Mi 500m docker.io/keptn/api:0.8.1
api-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.1
approval-service approval-service 32Mi 50m 128Mi 500m docker.io/keptn/approval-service:0.8.1
approval-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.1
bridge bridge 64Mi 50m 128Mi 500m docker.io/keptn/bridge2:0.8.1
configuration-service configuration-service 64Mi 50m 128Mi 500m docker.io/keptn/configuration-service:0.8.1
lighthouse-service lighthouse-service 128Mi 50m 1Gi 500m docker.io/keptn/lighthouse-service:0.8.1
lighthouse-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.1
mongodb mongodb 64Mi 50m 300Mi 100m docker.io/centos/mongodb-36-centos7:1
mongodb-datastore mongodb-datastore 32Mi 50m 128Mi 500m docker.io/keptn/mongodb-datastore:0.8.1
mongodb-datastore distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.1
remediation-service remediation-service 64Mi 50m 1Gi 500m docker.io/keptn/remediation-service:0.8.1
remediation-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.1
secret-service secret-service 32Mi 50m 128Mi 500m docker.io/keptn/secret-service:0.8.1
shipyard-controller shipyard-controller 32Mi 50m 128Mi 500m docker.io/keptn/shipyard-controller:0.8.1
shipyard-controller distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.1
statistics-service statistics-service 32Mi 50m 128Mi 500m docker.io/keptn/statistics-service:0.8.1
statistics-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.1

Summary (whole cluster):

$ kubectl describe node | grep -A5 "Allocated"
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource           Requests      Limits
  --------           --------      ------
  cpu                1075m (53%)   7100m (355%)
  memory             1396Mi (20%)  3852Mi (56%)

Please note: Depending on the setup, the above includes usage for Istio aswell as the Kubernetes control-plane

Name Size
configuration-volume 100Mi
mongodata 5Gi