-
Notifications
You must be signed in to change notification settings - Fork 1.3k
[supervisor] improve docker activation #18143
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
Conversation
de24fda
to
eb2c2b5
Compare
eb2c2b5
to
845fde0
Compare
/gh run recreate-vm=true Comment triggered a workflow runStarted workflow run: 5453418319
|
845fde0
to
4a14c52
Compare
ee9d47a
to
25a173f
Compare
25a173f
to
29a628b
Compare
29a628b
to
d095988
Compare
d095988
to
6eb74b7
Compare
} | ||
|
||
var notificationSent bool | ||
var notificationDisabled bool |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
auto disabled while in headless task and logFile == nil
?
var lastExitErrorTime time.Time | ||
|
||
for ctx.Err() == nil { | ||
err := listenToDockerSocket(ctx, term, cfg, telemetry, logFile) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the retry logic should not be here, it because once we call listenToDockerSocket
it will recreate the listener, and there is no new connection handle
retry logic should be only around activation.Listen
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought we discussed in the. morning to recreate listener completely on any error to reject all stale incoming requests, if we move it back it will stale again
or I misunderstand something?
/gh run recreate-vm=true Comment triggered a workflow runStarted workflow run: 5505519958
|
/unhold |
This reverts commit 0f9d319.
Description
This PR:
Related Issue(s)
Fix #18091
Fix IDE-205
How to test
./validate.sh --gitpod-env DOCKERD_ARGS=1
fromcomponents/supervisor
sudo lsof > before.log
watch docker run hello-world
to trigger a docker activation, it should not hang anymore, but say that failed to connect to docker daemoncannot provide Docker activation socket
but they should stop after time and then you will see a notificationsudo lsof > after.log
, check that the file does not become humongous (over 100mb in seconds) and there are not leaking file descriptors to docker socket and epoll from inner supervisor run compare to before.log./validate.sh
normallydocker run hello-world
. It should still work.Documentation
Preview status
Gitpod was successfully deployed to your preview environment.
Build Options
Build
Run the build with werft instead of GHA
Run Leeway with
--dont-test
Publish
Installer
Add desired feature flags to the end of the line above, space separated
Preview Environment
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
/hold