Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[installer]: validate that cluster meets minimum kubernetes version #6926

Merged
merged 1 commit into from
Nov 29, 2021

Conversation

mrsimonemms
Copy link
Contributor

Description

Validate that the min Kubernetes version should be 1.21.0-0 - using pre-release to allows for providers adding their own patch to the version

Related Issue(s)

Fixes #6828

How to test

gitpod-installer validate cluster --kubeconfig /path/to/kubeconfig

Release Notes

Validate cluster min k8s version

Documentation

@roboquat roboquat added release-note team: workspace Issue belongs to the Workspace team size/M labels Nov 26, 2021
@codecov
Copy link

codecov bot commented Nov 26, 2021

Codecov Report

Merging #6926 (16af0f2) into main (1ed5952) will decrease coverage by 27.84%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##             main   #6926       +/-   ##
==========================================
- Coverage   33.68%   5.84%   -27.85%     
==========================================
  Files         104      13       -91     
  Lines       18997    1147    -17850     
==========================================
- Hits         6400      67     -6333     
+ Misses      12074    1079    -10995     
+ Partials      523       1      -522     
Flag Coverage Δ
components-content-service-app ?
components-content-service-lib ?
components-ee-ws-scheduler-app ?
components-ee-ws-scheduler-lib ?
components-ide-code-desktop-status-app ?
components-image-builder-app ?
components-image-builder-mk3-app ?
components-local-app-app-darwin-amd64 ?
components-local-app-app-darwin-arm64 ?
components-local-app-app-linux-amd64 ?
components-local-app-app-linux-arm64 ?
components-local-app-app-windows-386 ?
components-local-app-app-windows-amd64 ?
components-local-app-app-windows-arm64 ?
components-supervisor-app ?
components-workspacekit-app ?
components-ws-daemon-app ?
components-ws-daemon-lib ?
components-ws-manager-api-go-lib ?
components-ws-manager-app ?
components-ws-proxy-app ?
dev-loadgen-app ?
installer-raw-app 5.84% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
components/ws-daemon/pkg/resources/dispatch.go
components/ws-proxy/pkg/proxy/pass.go
components/supervisor/pkg/supervisor/user.go
components/ws-manager/pkg/manager/annotations.go
components/ee/ws-scheduler/pkg/scheduler/state.go
...onents/content-service/pkg/initializer/snapshot.go
components/ee/ws-scheduler/pkg/scaler/driver.go
components/supervisor/pkg/ports/slirp4netns.go
components/ws-daemon/pkg/quota/xfs.go
components/supervisor/pkg/ports/served-ports.go
... and 81 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1ed5952...16af0f2. Read the comment docs.

@mrsimonemms
Copy link
Contributor Author

@csweichel I've applied the check on the Kubernetes version as requested. I've also kept a check on a per-node basis. As I see it, we have the following options:

  1. use KubeletVersion
  2. use KubeProxyVersion
  3. do nothing

I must confess, I don't know the difference between 1 and 2 but it feels like 3 might cause problems - it's possible to have the control pane on one version, but the individual nodes on a different (lower) version.

I'm open to suggestions

@csweichel
Copy link
Contributor

I reckon we could merge this change as is and see how the version check fairs in the wild.
There's a minor nit, but feel free to unhold and fix in a later PR.

/hold
/approve
/lgtm

@roboquat
Copy link
Contributor

LGTM label has been added.

Git tree hash: ee85a296cf4c5bc8a7b613c3aaac80eac23cb642

@csweichel
Copy link
Contributor

/lgtm

@roboquat roboquat added the lgtm label Nov 29, 2021
@roboquat
Copy link
Contributor

LGTM label has been added.

Git tree hash: 27550a8e92a99f63a15667210bffa117391a94ee

@roboquat
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: csweichel

Associated issue: #6828

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@mrsimonemms
Copy link
Contributor Author

/unhold

@roboquat roboquat merged commit 3a965de into main Nov 29, 2021
@roboquat roboquat deleted the sje/installer-k8s-version branch November 29, 2021 12:16
@roboquat roboquat added deployed: workspace Workspace team change is running in production deployed Change is completely running in production labels Nov 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved deployed: workspace Workspace team change is running in production deployed Change is completely running in production release-note size/L team: workspace Issue belongs to the Workspace team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Installer]: establish minimum K8s version and set validation check
3 participants