Skip to content

Upgrade kubernetes runner application via kubernetes integration

Problem to solve

Currently, when the "GitLab Runner" application is installed via Kubernetes integration there is no way to update the runner to newer versions.

Further details

This makes using newer runner features on Kubernetes integration impossible. As we are introducing new syntax (e.g., for reports) that will make old runners not able to run the related jobs.

People that are using our integration to run CI/CD will have hard times by accessing those new features if we don't allow to update the existing runners in an easy way.

Solution

  • Automatically upgrade the installed runner application to the latest runner version in sync with GitLab

UPDATE: We provided a manual upgrade instead. Auto upgrade followup opened in https://gitlab.com/gitlab-org/gitlab-ce/issues/57433. See https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/24720 for screenshots

Application upgrade

Upgrade available -> Upgrade successful

upgrade_success.2019-02-07_10_38_47

Show when last upgraded, the chart version, and link to the chart.

k8-application__runner

Application fails to automatically update

When an application upgrade fails, we should retry # times (same as jobs, which I think is 3 times). When the upgrade fails # times, we should notify the group/project owner of the failure via email.

k8-application__email--upgrade-failed

[Retry upgrade] takes the user the cluster detail view.

(Note: the project line would not appear for group level clusters)

If the upgrade fails # times, we should revert back to the previous working version (when possible) and allow the user to manually retry.

k8-application__runner--upgrade-failed

k8-application__runner--upgrading

If successful, we show the success alert. If unsuccessful, we show the danger alert once again.

k8-application__runner--upgrade-success-2

What does success look like, and how can we measure that?

A method to upgrade Kubernetes runners. Usage ping updated to track how many users have clicked the upgrade button

Links / references

Followup issues

This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.

Edited by 🤖 GitLab Bot 🤖