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
Show when last upgraded, the chart version, and link to the chart.
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.
[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.
If successful, we show the success alert. If unsuccessful, we show the danger alert once again.
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
- https://gitlab.com/gitlab-org/gitlab-ce/issues/57017 UX Debt follow up issue to implement toast message for success
-
https://gitlab.com/gitlab-org/gitlab-ce/issues/57019 Separate issue to add
appVersion
- https://gitlab.com/gitlab-org/gitlab-ce/issues/55544 Followup issue to reconcile Prometheus only upgrades (EE only)
- https://gitlab.com/gitlab-org/gitlab-ce/issues/57374 Followup ~"technical debt" issue
- https://gitlab.com/gitlab-org/gitlab-ce/issues/57433 Automatically upgrade cluster applications
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.