-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
podman should use graphRoot/tmp for temporary image storage #11107
Comments
If you point TMPDIR environment variable at that location, does everything work ok? |
One issue with pointing TMPDIR at /var/tmp is we get guaranteed cleanup from systemd at some point. Pointing at our own tmp means we need to pay attention to it. (Hint we don't). |
TMPDIR works. But then you have to have storage space on root filesystem as well on specially mounted container filesystem. For example oracle image is around 4GB and it can't fit standard fedora qcow2 image. Also if |
@mtrmac @mheon @vrothberg @nalind WDYT? |
I don’t care much at all what the default should be, but I’m not much of a fan of changing the default now that it exists; this can easily break someone’s carefully-tuned quotas / carefully-tested resiliency of existing workloads vs. pulling unexpectedly-large images. It might be worth considering if there were other benefits (e.g. maybe integrating this with c/storage’s cleanup of orphaned partial layers — OTOH I’m not sure that would be even possible), or if operational experience strongly suggested that sharing a quota is preferable, but we would have to spend quite some effort to communicate the change (or perhaps even wait for a major version break). |
One thing we could to is add it to containers.conf, so that we could setup something like
And then allow users to override this field. That way we ensure backwords compatibility. |
It will be a good start. And also point at this setting from wherever Funnily Duckduckgo only shows me oracle docs which do not mention TMPDIR. And btw I find it a very remote possibility that somebody relies on On the other hand one has to lose a lot of time figuring out why some data is here, some data not and where exactly data goes and why (at least it took me a good amount of time as well after 3 months I probably would forget the details and could be bitten by that again). My observation on docker is that it keeps everything under one storage directory unless I'm missing something. |
A friendly reminder that this issue had no activity for 30 days. |
That’s what I would expect right now, when it does not use
The documentation does talk about |
Users would need to use I'm suggesting to have a better and expected default. At least make this configurable (as Dan suggested) in configuration file so that this environment variable does not need to be set. |
Allow users to set the default location for the temporary files used during image pulls and pushes. Defaults to /var/tmp; Overridden via "TMPDIR" environment variable. Allow special flag "storage" to indicate the the storage should use the tmp directory in containers/storage/tmp. Needed to fix: containers/podman#11107 Signed-off-by: Daniel J Walsh <[email protected]>
Allow users to set the default location for the temporary files used during image pulls and pushes. Defaults to /var/tmp; Overridden via "TMPDIR" environment variable. Allow special flag "storage" to indicate the the storage should use the tmp directory in containers/storage/tmp. Needed to fix: containers/podman#11107 Signed-off-by: Daniel J Walsh <[email protected]>
Allow users to set the default location for the temporary files used during image pulls and pushes. Defaults to /var/tmp; Overridden via "TMPDIR" environment variable. Allow special flag "storage" to indicate the the storage should use the tmp directory in containers/storage/tmp. Needed to fix: containers/podman#11107 Signed-off-by: Daniel J Walsh <[email protected]>
Allow users to set the default location for the temporary files used during image pulls and pushes. Defaults to /var/tmp; Overridden via "TMPDIR" environment variable. Allow special flag "storage" to indicate the the storage should use the tmp directory in containers/storage/tmp. Needed to fix: containers/podman#11107 Signed-off-by: Daniel J Walsh <[email protected]>
Allow users to set the default location for the temporary files used during image pulls and pushes. Defaults to /var/tmp; Overridden via "TMPDIR" environment variable. Allow special flag "storage" to indicate the the storage should use the tmp directory in containers/storage/tmp. Needed to fix: containers/podman#11107 Signed-off-by: Daniel J Walsh <[email protected]>
Allow users to set the default location for the temporary files used during image pulls and pushes. Defaults to /var/tmp; Overridden via "TMPDIR" environment variable. Allow special flag "storage" to indicate the the storage should use the tmp directory in containers/storage/tmp. Needed to fix: containers/podman#11107 Signed-off-by: Daniel J Walsh <[email protected]>
Allow users to set the default location for the temporary files used during image pulls and pushes. Defaults to /var/tmp; Overridden via "TMPDIR" environment variable. Allow special flag "storage" to indicate the the storage should use the tmp directory in containers/storage/tmp. Needed to fix: containers/podman#11107 Signed-off-by: Daniel J Walsh <[email protected]>
Allow users to set the default location for the temporary files used during image pulls and pushes. Defaults to /var/tmp; Overridden via "TMPDIR" environment variable. Allow special flag "storage" to indicate the the storage should use the tmp directory in containers/storage/tmp. Needed to fix: containers/podman#11107 Signed-off-by: Daniel J Walsh <[email protected]>
Allow users to set the default location for the temporary files used during image pulls and pushes. Defaults to /var/tmp; Overridden via "TMPDIR" environment variable. Allow special flag "storage" to indicate the the storage should use the tmp directory in containers/storage/tmp. Needed to fix: containers/podman#11107 Signed-off-by: Daniel J Walsh <[email protected]>
Prepare to allow users to use this tmp directory for blob storage. Need to make sure that systemd cleans the file at boot time. Needed to fix: containers#11107 [NO TESTS NEEDED] This only is run at boot time. Signed-off-by: Daniel J Walsh <[email protected]>
Fixes: containers#11107 Signed-off-by: Daniel J Walsh <[email protected]>
/kind bug
Description
I mounted a new volume at graphRoot but pulling images still eats up storage under
/var/tmp
. I think it makes much more sense to use$graphRoot/tmp
for temporary storage instead. That directory is already automatically created. I see no reason that user would expect storage outsidegraphRoot
to be used.Steps to reproduce the issue:
mount volume /home/fedora/.local/share/containers/storage
Describe the results you received:
While pulling I see space on
/
exhausted and pull fails.Describe the results you expected:
Additional information you deem important (e.g. issue happens only occasionally):
Output of
podman version
:Output of
podman info --debug
:Package info (e.g. output of
rpm -q podman
orapt list podman
):Have you tested with the latest version of Podman and have you checked the Podman Troubleshooting Guide? (https://github.com/containers/podman/blob/master/troubleshooting.md)
No
Additional environment details (AWS, VirtualBox, physical, etc.):
KVM, VirtualMachineManager
The text was updated successfully, but these errors were encountered: