-
Notifications
You must be signed in to change notification settings - Fork 98
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
Add notes indicating potential zombies #109
base: master
Are you sure you want to change the base?
Conversation
Updated to using incemental from durable-task 106 |
Would be good to go ahead and update the help for |
It would be great to update this with the latest version of the upstream PR. You can |
@dwnusbaum okay will do. Thought I had to wait until the CI had to upload to incrementals :p |
src/main/resources/org/jenkinsci/plugins/workflow/steps/durable_task/ShellStep/help-script.html
Outdated
Show resolved
Hide resolved
src/main/resources/org/jenkinsci/plugins/workflow/steps/durable_task/ShellStep/help-script.html
Outdated
Show resolved
Hide resolved
while in Kubernetes, you may leverage | ||
<a href="https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/"> shared process namespace</a>. | ||
With shared process namespaces, the pod sandbox will be assigned PID 1 and assume | ||
<a href="https://github.com/kubernetes/kubernetes/blob/master/build/pause/pause.c#L37">zombie-reaping responsibilities</a>. |
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.
Maybe that's too specific? I just couldn't find any official documentation on the zombie reaping for some reason. I found PRs and discussion and blog posts, but nothing on kubernetes.io. Maybe i'm searching for the wrong keywords?
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.
Yeah, I wouldn't link directly to source code. I think the link to shared process namespaces is good enough. Any idea of how common this kind of setting is, or if there are any alternatives? It looks like it has some drawbacks in terms of security, so it seems less than ideal if that is the only way to get things working in Kubernetes.
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.
It's actually enabled by default (as of v1.15
)
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 only other way i'm aware of in Kubernetes would be to then roll your own init
process for each container
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.
If I understand correctly, the ability to use the feature is what is enabled by default, but you have to explicitly use it by adding shareProcessNamespace: true
to the Pod spec. I think disabling the feature makes it so that shareProcessNamespace
is not a valid field for Pod specs.
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.
Looks like the feature has been discussed for a few years now, but only got introduced as a beta in its current incarnation about a year ago. That's about the only insight I can give about how common of a use case it is.
Ran simple test on kubernetes with the following Jenkinsfile. |
Rebuilding. |
@@ -9,4 +9,13 @@ | |||
Otherwise the system default shell will be run, using the <code>-xe</code> flags | |||
(you can specify <code>set +e</code> and/or <code>set +x</code> to disable those). | |||
</p> | |||
<p> | |||
NOTE: The script is launched and monitored using a binary with the prefix <code>durable-task-monitor-</code>. |
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.
nit: maybe clarify that the binary is only used on some OSs
This reverts commit d4092bd.
28a45bf
to
0f11f1f
Compare
Is this about https://issues.jenkins.io/browse/JENKINS-58656? Does |
@jglick Yes, if you specify |
Test PR showing that unit tests pass when using the durable task plugin version from PR-92