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

Update k8s dependencies to v0.26.2 #17211

Merged
merged 7 commits into from
Apr 17, 2023
Merged

Update k8s dependencies to v0.26.2 #17211

merged 7 commits into from
Apr 17, 2023

Conversation

aledbf
Copy link
Member

@aledbf aledbf commented Apr 13, 2023

Description

Sync k8s dependencies to a more recent version.
The goal here is to update clusters to 1.26

How to test

  • Workspaces should open without issues

Release Notes

NONE

Documentation

Build Options:

  • /werft with-werft
    Run the build with werft instead of GHA
  • leeway-no-cache
  • /werft no-test
    Run Leeway with --dont-test
Publish Options
  • /werft publish-to-npm
  • /werft publish-to-jb-marketplace
Installer Options
  • with-dedicated-emulation
  • with-ws-manager-mk2
  • workspace-feature-flags
    Add desired feature flags to the end of the line above, space separated

Preview Environment Options:

  • /werft with-local-preview
    If enabled this will build install/preview
  • /werft with-preview
  • /werft with-large-vm
  • /werft with-gce-vm
    If enabled this will create the environment on GCE infra
  • with-integration-tests=all
    Valid options are all, workspace, webapp, ide, jetbrains, vscode, ssh

/hold

@werft-gitpod-dev-com
Copy link

started the job as gitpod-build-aledbf-sync-k8s.5 because the annotations in the pull request description changed
(with .werft/ from main)

@aledbf aledbf marked this pull request as ready for review April 14, 2023 09:53
@aledbf aledbf requested review from a team April 14, 2023 09:53
@aledbf aledbf requested review from gtsiolis and a team as code owners April 14, 2023 09:53
Copy link
Contributor

@kylos101 kylos101 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@aledbf awesome Re: upgrading to a more recent version.

Would we also upgrade Dedicated to 1.26?

My recollection is we're staying on 1.24 because of the ephemeral storage limit not working - internal link.

Can you tell if the fix landed in 1.26? I don't see the PR or issue mentioned here.

As this is a major upgrade, how should we test? I am thinking an ephemeral cluster makes sense, along with runtime and load tests.

@aledbf
Copy link
Member Author

aledbf commented Apr 14, 2023

@aledbf
Copy link
Member Author

aledbf commented Apr 14, 2023

As this is a major upgrade, how should we test? I am thinking an ephemeral cluster makes sense, along with runtime and load tests.

Update the packer image to v1.26.3+k3s1, create an ephemeral cluster, and run the test

@kylos101
Copy link
Contributor

@kylos101 kubernetes/kubernetes#116793

https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.26.md#changelog-since-v1263

Ohhh, I see, so they cherry pick the fix to a release, and the changelog cites the PR of the cherry pick PR. Got it!

@aledbf
Copy link
Member Author

aledbf commented Apr 14, 2023

@kylos101 those things do not depend on this change. You can already use this change against a preview env or an ephemeral cluster. We do not use features not present in 1.23. We only want the fixes and improvements.

@aledbf aledbf requested a review from kylos101 April 17, 2023 11:15
@kylos101
Copy link
Contributor

Looks like the preview environment was torn down, I'll spin it up real quick again to do some brief testing.

@gtsiolis may we ask you for a review of the files you own? I'm not sure which ones those are, but, you show up as a codeowner.

Copy link
Contributor

@kylos101 kylos101 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Can start workspaces
  2. ImageBuilder e2e tests still pass
  3. Ran all e2e tests, saw many failures (below)

The error is common between many tests:

could not run copy operation: GroupVersion is required when initializing a RESTClient

Tests failing with it: TestAdditionalRepositories, TestOpenWorkspaceFromPrebuildSerialOnly, TestK3s, TestGitHooks, TestRegularWorkspaceTasks, and TestMountProc fail with the same error, so I assume its a setup problem. Investigating.

edit: the failure is here and originates from here, and can be recreating from a Gitpod in this branch via:

go test -v ./... -kubeconfig=/home/gitpod/.kube/config -namespace=default -run TestMountProc

@aledbf
Copy link
Member Author

aledbf commented Apr 17, 2023

@kylos101 fixed


gitpod /workspace/gitpod/test (aledbf/sync-k8s) $ go test -v ./... -kubeconfig=/home/gitpod/.kube/config -namespace=default -run TestMountProc
?       github.com/gitpod-io/gitpod/test/pkg/agent/daemon       [no test files]
?       github.com/gitpod-io/gitpod/test/pkg/agent/daemon/api   [no test files]
?       github.com/gitpod-io/gitpod/test/pkg/agent/workspace    [no test files]
?       github.com/gitpod-io/gitpod/test/pkg/agent/workspace/api        [no test files]
?       github.com/gitpod-io/gitpod/test/pkg/integration        [no test files]
?       github.com/gitpod-io/gitpod/test/pkg/integration/common [no test files]
?       github.com/gitpod-io/gitpod/test/pkg/report     [no test files]
testing: warning: no tests to run
PASS
ok      github.com/gitpod-io/gitpod/test/tests/components/content-service       0.508s [no tests to run]
testing: warning: no tests to run
PASS
ok      github.com/gitpod-io/gitpod/test/tests/components/database      0.547s [no tests to run]
testing: warning: no tests to run
PASS
ok      github.com/gitpod-io/gitpod/test/tests/components/image-builder 0.505s [no tests to run]
testing: warning: no tests to run
PASS
ok      github.com/gitpod-io/gitpod/test/tests/components/server        0.534s [no tests to run]
testing: warning: no tests to run
PASS
ok      github.com/gitpod-io/gitpod/test/tests/components/ws-daemon     0.511s [no tests to run]
testing: warning: no tests to run
PASS
ok      github.com/gitpod-io/gitpod/test/tests/components/ws-manager    0.518s [no tests to run]
testing: warning: no tests to run
PASS
ok      github.com/gitpod-io/gitpod/test/tests/ide/jetbrains    0.516s [no tests to run]
testing: warning: no tests to run
PASS
ok      github.com/gitpod-io/gitpod/test/tests/ide/ssh  0.511s [no tests to run]
testing: warning: no tests to run
PASS
ok      github.com/gitpod-io/gitpod/test/tests/ide/vscode       0.512s [no tests to run]
testing: warning: no tests to run
PASS
ok      github.com/gitpod-io/gitpod/test/tests/smoke-test       0.507s [no tests to run]
=== RUN   TestMountProc
=== RUN   TestMountProc/proc_mount
=== RUN   TestMountProc/proc_mount/load_test_proc_mount
=== PAUSE TestMountProc/proc_mount/load_test_proc_mount
=== CONT  TestMountProc/proc_mount/load_test_proc_mount
    workspace.go:261: prepare for a connection with ws-manager
    workspace.go:266: established a connection with ws-manager
    workspace.go:270: attemp to start up the workspace directly: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7, harlequin-puffin-2rhnwm9dex4
    workspace.go:295: successfully sent workspace start request
    workspace.go:304: wait for workspace to be fully up and running
    workspace.go:553: prepare for a connection with ws-manager
    workspace.go:574: established for a connection with ws-manager
    workspace.go:582: check if the status of workspace is in the running phase: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7
    workspace.go:615: status: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7, CREATING
    workspace.go:582: check if the status of workspace is in the running phase: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7
    workspace.go:615: status: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7, CREATING
    workspace.go:582: check if the status of workspace is in the running phase: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7
    workspace.go:615: status: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7, INITIALIZING
    workspace.go:582: check if the status of workspace is in the running phase: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7
    workspace.go:615: status: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7, RUNNING
    workspace.go:639: confirmed that the worksapce is running: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7, RUNNING
    workspace.go:309: successful launch of the workspace
    workspace.go:488: waiting for stopping the workspace: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7
    workspace.go:498: attemp to delete the workspace: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7
    workspace.go:781: confirmed the worksapce is stopped: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7, STOPPED
    workspace.go:522: successfully terminated workspace
--- PASS: TestMountProc (186.79s)
    --- PASS: TestMountProc/proc_mount (0.00s)
        --- PASS: TestMountProc/proc_mount/load_test_proc_mount (186.79s)
PASS
ok      github.com/gitpod-io/gitpod/test/tests/workspace        187.321s

@kylos101
Copy link
Contributor

kylos101 commented Apr 17, 2023

@kylos101 fixed


gitpod /workspace/gitpod/test (aledbf/sync-k8s) $ go test -v ./... -kubeconfig=/home/gitpod/.kube/config -namespace=default -run TestMountProc
?       github.com/gitpod-io/gitpod/test/pkg/agent/daemon       [no test files]
?       github.com/gitpod-io/gitpod/test/pkg/agent/daemon/api   [no test files]
?       github.com/gitpod-io/gitpod/test/pkg/agent/workspace    [no test files]
?       github.com/gitpod-io/gitpod/test/pkg/agent/workspace/api        [no test files]
?       github.com/gitpod-io/gitpod/test/pkg/integration        [no test files]
?       github.com/gitpod-io/gitpod/test/pkg/integration/common [no test files]
?       github.com/gitpod-io/gitpod/test/pkg/report     [no test files]
testing: warning: no tests to run
PASS
ok      github.com/gitpod-io/gitpod/test/tests/components/content-service       0.508s [no tests to run]
testing: warning: no tests to run
PASS
ok      github.com/gitpod-io/gitpod/test/tests/components/database      0.547s [no tests to run]
testing: warning: no tests to run
PASS
ok      github.com/gitpod-io/gitpod/test/tests/components/image-builder 0.505s [no tests to run]
testing: warning: no tests to run
PASS
ok      github.com/gitpod-io/gitpod/test/tests/components/server        0.534s [no tests to run]
testing: warning: no tests to run
PASS
ok      github.com/gitpod-io/gitpod/test/tests/components/ws-daemon     0.511s [no tests to run]
testing: warning: no tests to run
PASS
ok      github.com/gitpod-io/gitpod/test/tests/components/ws-manager    0.518s [no tests to run]
testing: warning: no tests to run
PASS
ok      github.com/gitpod-io/gitpod/test/tests/ide/jetbrains    0.516s [no tests to run]
testing: warning: no tests to run
PASS
ok      github.com/gitpod-io/gitpod/test/tests/ide/ssh  0.511s [no tests to run]
testing: warning: no tests to run
PASS
ok      github.com/gitpod-io/gitpod/test/tests/ide/vscode       0.512s [no tests to run]
testing: warning: no tests to run
PASS
ok      github.com/gitpod-io/gitpod/test/tests/smoke-test       0.507s [no tests to run]
=== RUN   TestMountProc
=== RUN   TestMountProc/proc_mount
=== RUN   TestMountProc/proc_mount/load_test_proc_mount
=== PAUSE TestMountProc/proc_mount/load_test_proc_mount
=== CONT  TestMountProc/proc_mount/load_test_proc_mount
    workspace.go:261: prepare for a connection with ws-manager
    workspace.go:266: established a connection with ws-manager
    workspace.go:270: attemp to start up the workspace directly: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7, harlequin-puffin-2rhnwm9dex4
    workspace.go:295: successfully sent workspace start request
    workspace.go:304: wait for workspace to be fully up and running
    workspace.go:553: prepare for a connection with ws-manager
    workspace.go:574: established for a connection with ws-manager
    workspace.go:582: check if the status of workspace is in the running phase: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7
    workspace.go:615: status: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7, CREATING
    workspace.go:582: check if the status of workspace is in the running phase: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7
    workspace.go:615: status: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7, CREATING
    workspace.go:582: check if the status of workspace is in the running phase: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7
    workspace.go:615: status: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7, INITIALIZING
    workspace.go:582: check if the status of workspace is in the running phase: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7
    workspace.go:615: status: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7, RUNNING
    workspace.go:639: confirmed that the worksapce is running: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7, RUNNING
    workspace.go:309: successful launch of the workspace
    workspace.go:488: waiting for stopping the workspace: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7
    workspace.go:498: attemp to delete the workspace: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7
    workspace.go:781: confirmed the worksapce is stopped: 34eebbc6-9dc2-4395-a140-cd43b6c5d7e7, STOPPED
    workspace.go:522: successfully terminated workspace
--- PASS: TestMountProc (186.79s)
    --- PASS: TestMountProc/proc_mount (0.00s)
        --- PASS: TestMountProc/proc_mount/load_test_proc_mount (186.79s)
PASS
ok      github.com/gitpod-io/gitpod/test/tests/workspace        187.321s

Awesome, thank you! This'll help prevent more test regressions. The remaining regressions I am fixing in WKS-70.

edit: I reran the workspace tests with this fix, and found the following failing tests (which are pre-existing regressions): TestGitHooks, TestGitHubContexts, TestOpenWorkspaceFromOutdatedPrebuild, so, we're good to go.

Copy link
Contributor

@kylos101 kylos101 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit: 🚀

@roboquat roboquat merged commit 891cd54 into main Apr 17, 2023
@roboquat roboquat deleted the aledbf/sync-k8s branch April 17, 2023 19:59
@roboquat roboquat added deployed: workspace Workspace team change is running in production deployed: webapp Meta team change is running in production deployed: IDE IDE change is running in production labels Apr 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
deployed: IDE IDE change is running in production deployed: webapp Meta team change is running in production deployed: workspace Workspace team change is running in production release-note-none size/XXL team: IDE team: security-infrastructure-and-delivery team: staff-engineers team: webapp Issue belongs to the WebApp team team: workspace Issue belongs to the Workspace team
Projects
Status: In Validation
Status: Awaiting Deployment
Development

Successfully merging this pull request may close these issues.

7 participants