Automatically upgrade cluster applications

Problem to solve

Provide continuous upgrades for a cluster without the need for user intervention

Target audience

  • Devon, DevOps Engineer, https://design.gitlab.com/research/personas#persona-devon

Further details

In https://gitlab.com/gitlab-org/gitlab-ce/issues/49384 we added ability to manually upgrade cluster applications

Proposal

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

Application upgrade

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?

Links / references

Edited Feb 07, 2019 by Thong Kuah
Assignee Loading
Time tracking Loading