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

Don't limit the size on /run for systemd based containers #7346

Merged
merged 1 commit into from
Aug 19, 2020

Conversation

rhatdan
Copy link
Member

@rhatdan rhatdan commented Aug 17, 2020

We had a customer incident where they ran out of space on /run.

If you don't specify size, it will be still limited to 50% or memory
available in the cgroup the container is running in. If the cgroup is
unlimited then the /run will be limited to 50% of the total memory
on the system.

Signed-off-by: Daniel J Walsh [email protected]

@openshift-ci-robot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: rhatdan

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci-robot openshift-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 17, 2020
@rhatdan
Copy link
Member Author

rhatdan commented Aug 17, 2020

@mheon
Copy link
Member

mheon commented Aug 17, 2020

I'm a little uncomfortable with this given that we don't set a memory limit by default. Maybe cap at 1gb or so by default on systems with >2gb of ram and no memory limit set?

@rhatdan
Copy link
Member Author

rhatdan commented Aug 17, 2020

tmpfs already have this limit set and users can currently max out memory on /dev/shm, So this is just eliminating a potential bug, for not much advantage.

tmpfs is controlled by kernel to be 50% of available memory, in cgroup or in host, depending on which one is lower.

@TomSweeneyRedHat
Copy link
Member

@mheon
Copy link
Member

mheon commented Aug 17, 2020

We should not be changing anything in pkg/spec without a very good reason

@TomSweeneyRedHat
Copy link
Member

Can there be tests added?

@rhatdan
Copy link
Member Author

rhatdan commented Aug 18, 2020

@TomSweeneyRedHat What do you want me to test? That the size is not set?

@TomSweeneyRedHat
Copy link
Member

@rhatdan my thinking was to set above and below the old limit and make sure that the value was set appropriately.

We had a customer incident where they ran out of space on /run.

If you don't specify size, it will be still limited to 50% or memory
available in the cgroup the container is running in.  If the cgroup is
unlimited then the /run will be limited to 50% of the total memory
on the system.

Also /run is mounted on the host as exec, so no reason for us to mount
it noexec.

Signed-off-by: Daniel J Walsh <[email protected]>
@jwhonce
Copy link
Member

jwhonce commented Aug 19, 2020

LGTM

@@ -88,17 +88,11 @@ func parseVolumes(volumeFlag, mountFlag, tmpfsFlag []string, addReadOnlyTmpfs bo
if _, ok := unifiedVolumes[dest]; ok {
continue
}
localOpts := options
if dest == "/run" {
localOpts = append(localOpts, "noexec", "size=65536k")
Copy link
Member

Choose a reason for hiding this comment

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

I may have missed context here, but if I understand @TomSweeneyRedHat's suggestion, should that have been to remove only the size= portion, but not the noexec?

Copy link
Member Author

Choose a reason for hiding this comment

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

I mentioned this in the PR

Also /run is mounted on the host as exec, so no reason for us to mount it noexec.

Copy link
Member

Choose a reason for hiding this comment

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

Oh, it's in the commit message. Sorry, I missed that.

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Aug 19, 2020
@openshift-merge-robot openshift-merge-robot merged commit dcdb647 into containers:master Aug 19, 2020
@github-actions github-actions bot added the locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments. label Sep 24, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 24, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants