-
Notifications
You must be signed in to change notification settings - Fork 1.3k
[ws-manager-mk2] Workspace timeouts #16209
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
started the job as gitpod-build-wv-mk2-timeout-ctrl.1 because the annotations in the pull request description changed |
/werft run 👍 started the job as gitpod-build-wv-mk2-timeout-ctrl.2 |
8 tasks
463ee02
to
3863ce7
Compare
3078c8c
to
bc5bb99
Compare
bc5bb99
to
580ff08
Compare
/werft run recreate-vm 👍 started the job as gitpod-build-wv-mk2-timeout-ctrl.5 |
679f346
to
c360b94
Compare
Furisto
reviewed
Feb 10, 2023
c360b94
to
0c60ae6
Compare
Furisto
approved these changes
Feb 10, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
deployed: workspace
Workspace team change is running in production
deployed
Change is completely running in production
release-note-none
size/XL
team: workspace
Issue belongs to the Workspace team
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Implements workspace timeouts.
Depends on #16181 to mark user activity.
Differences with mk1:
Timeout
condition, instead of a timer running every 15 seconds checking all workspaces in a separate goroutine.timeout_controller
requeues reconcile events, such that each workspace gets reconciled every 15 seconds.workspace_controller
, to keep the reconcile loop light-weight, as it runs every 15 seconds for each workspace. Both controllers share the same k8s cache provided by the controller manager.WorkspacePhaseRunning
phase for more details.See https://github.com/gitpod-io/gitpod/blob/main/components/ws-manager/pkg/manager/status.go#L747 to compare against mk1 timeout logic.
Related Issue(s)
Relates to #11416
How to test
Check regular workspace timeout:
spec.Timeout
to1m
Check restarting ws-manager-mk2 doesn't close workspaces due to in-memory map of last workspace activity clearing on restart:
spec.Timeout
to1m
Release Notes
Documentation
Build Options:
Experimental feature to run the build with GitHub Actions (and not in Werft).
leeway-target=components:all
Run Leeway with
--dont-test
Preview Environment Options:
If enabled this will build
install/preview
If enabled this will create the environment on GCE infra
Valid options are
all
,workspace
,webapp
,ide
,jetbrains
,vscode
,ssh