Skip to content

[release/1.4 backport] Add logging binary support when terminal is true#4615

Closed
akshat-kmr wants to merge 3 commits intocontainerd:release/1.4from
akshat-kmr:release/1.4
Closed

[release/1.4 backport] Add logging binary support when terminal is true#4615
akshat-kmr wants to merge 3 commits intocontainerd:release/1.4from
akshat-kmr:release/1.4

Conversation

@akshat-kmr
Copy link
Copy Markdown

Backport of #4502. I've cherry-picked the individual commits from that pull request.


Currently the shims only support starting the logging binary process if the
io.Creator Config does not specify Terminal: true. This means that the program
using containerd will only be able to specify FIFO io when Terminal: true,
rather than allowing the shim to fork the logging binary process. Hence,
containerd consumers face an inconsistent behavior regarding logging binary
management depending on the Terminal option.

Allowing the shim to fork the logging binary process will introduce consistency
between the running container and the logging process. Otherwise, the logging
process may die if its parent process dies whereas the container will keep
running, resulting in the loss of container logs.

Signed-off-by: Akshat Kumar [email protected]

@k8s-ci-robot
Copy link
Copy Markdown

Hi @akshat-kmr. Thanks for your PR.

I'm waiting for a containerd member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@theopenlab-ci
Copy link
Copy Markdown

theopenlab-ci Bot commented Oct 9, 2020

Build succeeded.

Akshat Kumar added 3 commits October 9, 2020 07:32
Currently the shims only support starting the logging binary process if the
io.Creator Config does not specify Terminal: true. This means that the program
using containerd will only be able to specify FIFO io when Terminal: true,
rather than allowing the shim to fork the logging binary process. Hence,
containerd consumers face an inconsistent behavior regarding logging binary
management depending on the Terminal option.

Allowing the shim to fork the logging binary process will introduce consistency
between the running container and the logging process. Otherwise, the logging
process may die if its parent process dies whereas the container will keep
running, resulting in the loss of container logs.

Signed-off-by: Akshat Kumar <[email protected]>
(cherry picked from commit 7a9fbec)
Signed-off-by: Akshat Kumar <[email protected]>
(cherry picked from commit 4cc99e5)
Signed-off-by: Akshat Kumar <[email protected]>
(cherry picked from commit 61da698)
@theopenlab-ci
Copy link
Copy Markdown

theopenlab-ci Bot commented Oct 9, 2020

Build succeeded.

Copy link
Copy Markdown
Member

@fuweid fuweid left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Copy Markdown
Member

@AkihiroSuda AkihiroSuda left a comment

Choose a reason for hiding this comment

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

Please see #4616 (comment)

@thaJeztah
Copy link
Copy Markdown
Member

Should we close this one? (#4616 (comment)) Or was there an important use-case that warrants the backport @akshat-kmr ?

@mxpv
Copy link
Copy Markdown
Member

mxpv commented Nov 18, 2020

Let's have this closed for now, feel free to get back to us if there is a strong reason to have this in in 1.4

@mxpv mxpv closed this Nov 18, 2020
austinvazquez added a commit to austinvazquez/containerd that referenced this pull request Feb 14, 2025
This is the fifth patch release in the 1.2.z series of runc. It
primarily fixes an issue caused by an upstream systemd bug.

There was a regression in systemd v230 which made the way we define device
rule restrictions require a systemctl daemon-reload for our transient
units. This caused issues for workloads using NVIDIA GPUs. Workaround the
upstream regression by re-arranging how the unit properties are defined.
(containerd#4568, containerd#4612, containerd#4615)
Dependency github.com/cyphar/filepath-securejoin is updated to v0.4.1,
to allow projects that vendor runc to bump it as well. (containerd#4608)
CI: fixed criu-dev compilation. (containerd#4611)
Dependency golang.org/x/net is updated to 0.33.0. (containerd#4632)

diff: opencontainers/[email protected]

Signed-off-by: Austin Vazquez <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants