github keptn/keptn 0.8.4

latest releases: 1.4.5, 1.4.4, 1.4.3...
2 years ago

Release Notes 0.8.4

Gain visibility into integrations connected to Keptn - Keptn 0.8.4 starts to implement the Uniform mockup that has been released/presented with Keptn 0.8.1. This new Bridge screen brings insights into the Keptn-services (aka Integrations) that are connected to a Keptn control-plane, allows troubleshooting by retrieving their errors, and enables creating/deleting secrets for integrations.


Key announcements:

🎉 Troubleshooting support for Integrations: To support troubleshooting integrations without connecting to the environment that runs them, errors are sent to Keptn and displayed in the Uniform screen of a project.

Creating/Deleting Secrets for Integrations: To not rely on the Keptn CLI to manage secrets for integrations, Bridge allows creating/deleting secrets. This is supported for integrations that are running on a Keptn control-plane since the public Keptn API does yet not allow querying secrets.

🚀 Customization of Bridge: With this release, Keptn Bridge can get a custom look-and-feel by providing a custom logo, title, and/or stylesheet. More details on this feature are available here.


Note: If you are a maintainer of an Integration that is hosted on github.com/keptn-contrib or github.com/keptn-sandbox, you will receive an issue explaining how to upgrade your integration; especially, the distributor. With this upgrade, your integration will then benefit from the new feature and will be displayed in Keptn Bridge.

Keptn Enhancement Proposals

This release implements the KEPs: KEP 45 & KEP 46

Keptn Specification

Implemented Keptn spec version: 0.2.3

New Features

Platform Support / Installer

  • Support for Kubernetes 1.21 4400
  • Add readinessProbe to Helm Chart of: keptn, jmeter-service, and helm-service 3648

API

  • Log ingest endpoint for a Keptn-Service 4032
  • List all secrets created by secret-service 4061
  • Register/Unregister endpoint for registering a Keptn-service that connects to Keptn control-plane 4041

CLI

  • keptn upgrade: Improve help messages 3479
  • Replace exechelper.ExecuteCommand with keptnutils.ExecuteCommand 4068
  • Fixed: Keptn configure bridge output shows error after disabling basic auth 4154
  • Fixed: Trying to install a different keptn version on the cluster results in error 3959
  • Fixed: keptn upgrade getLatestKeptnRelease returns the wrong version 3841
  • Fixed: keptn generate support-archive not working on windows 4225
  • Fixed: keptn uninstall does not have any effect on cluster 3958

Keptn Core

  • general:

    • shkeptnspecversion missing in many Keptn CloudEvents 3408
  • distributor:

    • Forward log messages of execution plane Keptn-services to Keptn core 4030
    • Send data of subscribed Keptn-services (via distributors) to uniform 4031
  • helm-service:

    • Fixed: Helm-service lost its resource requests/limits 4250
  • lighthouse-service:

    • Fixed: "Response time degradation in lighthouse-service" when spamming get-sli-events 4065
  • remediation-service:

    • Fixed: Remediation-service lost fallback to problem type: default 4254
  • shipyard-controller:

    • Define Uniform backend data model 4033
    • Fixed: Keptn 0.8.3 shows that it uses specversion 0.2.1 instead of 0.2.2 4192
    • Fixed: Shipyard-controller keeps sending events for tasks with the same name indefinitely 4039

Bridge

  • Enhancements:

    • List, create and delete Secrets 4062
    • Bridge downloads and uses customized look and feel on startup 4095
    • Environment layout improvement for service versions 4006
    • Show Uniform screen with data fetched from Uniform Backend 4034
    • Improve status information in Service screen for failed deployments 4002
    • Show instructions or link for triggering evaluations in stage 4055
    • Mark currently selected stage using a color 3948
    • Update Service screen on a regular basis 4049
    • Display running remediations in the Service screen 3761
  • Fixes:

    • Bridge shows Configure monitoring succeeded, although dynatrace-service responded with result fail 4073
    • Bridge breaks on "sh.keptn.event.evaluation.triggered" root event 4155
    • Timelines show the wrong selection color for a running stage 4262
    • Bridge runs version check although ENABLE_VERSION_CHECK env is set to "false" 4165
    • Incorrect sequence filter if project is changed or the page is reloaded 4151
    • Evaluation result can be viewed from Sequence but not from Service screen 4056
    • Unexpected behavior of scrollbars in environment screen 4149
    • Selection change in heatmap does not always update SLO table - needs second click 4007
    • Environment panels are not updated on approval / finish 4048
    • Sequence is only updated when detail is opened 4130
    • Service tile breaks based on image:tag > carts:353ff51.1 4130

Miscellaneous

  • Dependency incompatibility in services using helm library 4063
  • Add bridge and bridge server to dependabot 4077

Development Process / Testing

  • Integration Test for Uniform and Log Ingest Feature 4103
  • For non-release-builds, use timestamps for containers in Helm Charts 4191
  • Integration test: create an issue if integration tests on master branch are failing 3772
  • Reduce dependabot to only post PRs once a week 4076
  • Selenium E2E tests for Bridge 4142
  • Introduce uitestid-s in Bridge 4038

Good to know / Known Limitations

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

  • Shipyard-controller and Bridge run into errors when using an image object for a configuration change 4348
  • Installing/Upgrading Keptn in an air-gapped environment does not work for configuration-service and nats 4183
  • Selected service is not reset on project change 4166
  • Response time degradation in configuration-service when using a Git Upstream (e.g., GitHub) 4066
  • Mongodb OOM crash after flooding it with events 3968
  • Inconsistent usage of user-managed and user_managed causing issues 3624

Upgrade to 0.8.4

CI Information

Docker Images

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

Integration Tests
Integration Tests have finished.

Integration Tests have finished.

Target Platform Keptn Install Keptn Auth Linking Stages Uniform Registration Log Ingestion Log Forwarding Sequence States Sequence Loop QG Standalone QG Backwards Compat. Self Healing Del-Assist User-Man. Depl. Cont Deliv Cont Deliv (Remote Exec) Manage secrets Bridge E2E
kubernetes/GKE 1.17 success success success success success success success success success success success success success skipped success success success
kubernetes/GKE 1.19 success success success success success success success success success success success success success success skipped success success
kubernetes/k3s-on-GHA v1.16.15+k3s1 success success success success success success success success failure success success skipped skipped skipped skipped success failure
kubernetes/k3s-on-GHA v1.21.1+k3s1 success success success success success success success success success success success skipped skipped skipped skipped success success
openshift/minishift-on-GHA 3.11 success success success success success success success success skipped skipped success skipped skipped skipped skipped success success

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.4
api-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.4
approval-service approval-service 32Mi 50m 128Mi 500m docker.io/keptn/approval-service:0.8.4
approval-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.4
bridge bridge 64Mi 50m 128Mi 500m docker.io/keptn/bridge2:0.8.4
configuration-service configuration-service 64Mi 50m 128Mi 500m docker.io/keptn/configuration-service:0.8.4
helm-service helm-service 128Mi 50m 512Mi 1 docker.io/keptn/helm-service:0.8.4
helm-service distributor 32Mi 50m 128Mi 500m docker.io/keptn/distributor:0.8.4
jmeter-service jmeter-service 768Mi 1 - - docker.io/keptn/jmeter-service:0.8.4
jmeter-service distributor 32Mi 50m 128Mi 500m docker.io/keptn/distributor:0.8.4
lighthouse-service lighthouse-service 128Mi 50m 1Gi 500m docker.io/keptn/lighthouse-service:0.8.4
lighthouse-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.4
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.4
mongodb-datastore distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.4
remediation-service remediation-service 64Mi 50m 1Gi 500m docker.io/keptn/remediation-service:0.8.4
remediation-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.4
secret-service secret-service 32Mi 50m 128Mi 500m docker.io/keptn/secret-service:0.8.4
shipyard-controller shipyard-controller 32Mi 50m 128Mi 500m docker.io/keptn/shipyard-controller:0.8.4
shipyard-controller distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.4
statistics-service statistics-service 32Mi 50m 128Mi 500m docker.io/keptn/statistics-service:0.8.4
statistics-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.4

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                        1543m (39%)  510m (13%)
  memory                     1190Mi (9%)  908Mi (7%)
--
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource                   Requests      Limits
  --------                   --------      ------
  cpu                        1249m (31%)   3941m (100%)
  memory                     3053Mi (24%)  3795Mi (30%)
--
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource                   Requests     Limits
  --------                   --------     ------
  cpu                        1038m (26%)  6850m (174%)
  memory                     984Mi (7%)   3588Mi (29%)

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.4
api-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.4
approval-service approval-service 32Mi 50m 128Mi 500m docker.io/keptn/approval-service:0.8.4
approval-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.4
bridge bridge 64Mi 50m 128Mi 500m docker.io/keptn/bridge2:0.8.4
configuration-service configuration-service 64Mi 50m 128Mi 500m docker.io/keptn/configuration-service:0.8.4
lighthouse-service lighthouse-service 128Mi 50m 1Gi 500m docker.io/keptn/lighthouse-service:0.8.4
lighthouse-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.4
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.4
mongodb-datastore distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.4
remediation-service remediation-service 64Mi 50m 1Gi 500m docker.io/keptn/remediation-service:0.8.4
remediation-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.4
secret-service secret-service 32Mi 50m 128Mi 500m docker.io/keptn/secret-service:0.8.4
shipyard-controller shipyard-controller 32Mi 50m 128Mi 500m docker.io/keptn/shipyard-controller:0.8.4
shipyard-controller distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.4
statistics-service statistics-service 32Mi 50m 128Mi 500m docker.io/keptn/statistics-service:0.8.4
statistics-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.4

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                875m (43%)   7100m (355%)
  memory             884Mi (12%)  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

Don't miss a new keptn release

NewReleases is sending notifications on new releases.