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

Podman Desktop becomes out of sync when mounting large volume #3376

Closed
slemeur opened this issue Jul 31, 2023 · 3 comments · Fixed by #3635
Closed

Podman Desktop becomes out of sync when mounting large volume #3376

slemeur opened this issue Jul 31, 2023 · 3 comments · Fixed by #3635
Assignees
Labels
area/dashboard 📊 Concern the dashboard from Container Desktop engine/podman 🦭 kind/bug 🐞 Something isn't working

Comments

@slemeur
Copy link
Contributor

slemeur commented Jul 31, 2023

Bug description

On my environment I'm getting a strange behavior where podman desktop is becoming out of sync with the podman machine. This seems to be related to the volume mounted.

When using podman machine, I used to create podman machine directly from the UI. In this situation the default volume mounted with the VM is $HOME:$HOME. It used to work seamlessly and I was able to use my podman environment with great performances.
Since few days, it does not behave the same and I'm experimenting very weird behaviors where podman desktop is not able to properly show the containers.
Looking at the stores, I can see those values:
capture_d___e__cran_2023-07-26_a___22 22 58

I've observed that in the podman machine, the podman service is consuming a lot of CPU and never stabilizing to something normal. (it stayed around 30% CPU usage)

I think this happened after I created a tar file by doing a "save images" and then trying to load them into a fresh podman machine.

I did tried number of things:

  • reinstalling qemu
  • reinstalling podman
  • checking between rootless and rootfull podman machines
  • checking the network
  • upgrading to podman 4.6.0
  • cleaning the vm image
    Nothing helped.

The only thing that did improve the situation was creating a temporary empty folder on my system and initializing the podman machine by mounting only this empty folder. In this case, I was back to something normal.

Operating system

macOS intel 13.4

Installation Method

Installer from website/GitHub releases

Version

1.2.1

Steps to reproduce

No response

Relevant log output

No response

Additional context

No response

@slemeur
Copy link
Contributor Author

slemeur commented Aug 1, 2023

Corresponding issue on podman repo: containers/podman#19467

jeffmaury added a commit to jeffmaury/podman-desktop that referenced this issue Aug 3, 2023
@benoitf
Copy link
Collaborator

benoitf commented Aug 4, 2023

On Podman Desktop side here are improvements that could be made as REST API of Podman has no cache:

  • reduce the number of calls (if I have 5 calls in a row, apply a throttle/limit, skip some the calls (skip for read operations like 'list of containers)

  • avoid usage of the heavy /system/df command on Podman (for volumes maybe do in two steps: first get volumes and then fetch /system/df and update volumes data when df is called. And refresh if there is no calls for a long time to the backend, etc)

@benoitf benoitf added area/dashboard 📊 Concern the dashboard from Container Desktop engine/podman 🦭 and removed status/need-triage labels Aug 7, 2023
@benoitf benoitf self-assigned this Aug 8, 2023
@nichjones1 nichjones1 moved this from 📋 Backlog to 📅 Planned in Podman Desktop Planning Aug 8, 2023
benoitf added a commit to benoitf/desktop that referenced this issue Aug 9, 2023
@benoitf benoitf moved this from 📅 Planned to 🚧 In Progress in Podman Desktop Planning Aug 9, 2023
benoitf added a commit to benoitf/desktop that referenced this issue Aug 9, 2023
benoitf added a commit to benoitf/desktop that referenced this issue Aug 9, 2023
cdrage pushed a commit that referenced this issue Aug 9, 2023
benoitf added a commit to benoitf/desktop that referenced this issue Aug 10, 2023
benoitf added a commit to benoitf/desktop that referenced this issue Aug 14, 2023
allow to use debounce/throttle when updating stores

if there are 15 events in a row to update a store,
it can be updated only once after all events completed in like 1.5s

related to podman-desktop#3376
Signed-off-by: Florent Benoit <[email protected]>
benoitf added a commit to benoitf/desktop that referenced this issue Aug 14, 2023
allow to use debounce/throttle when updating stores

if there are 15 events in a row to update a store,
it can be updated only once after all events completed in like 1.5s

related to podman-desktop#3376
Signed-off-by: Florent Benoit <[email protected]>
benoitf added a commit to benoitf/desktop that referenced this issue Aug 14, 2023
allow to use debounce/throttle when updating stores

if there are 15 events in a row to update a store,
it can be updated only once after all events completed in like 1.5s

related to podman-desktop#3376
Signed-off-by: Florent Benoit <[email protected]>
benoitf added a commit to benoitf/desktop that referenced this issue Aug 14, 2023
allow to use debounce/throttle when updating stores

if there are 15 events in a row to update a store,
it can be updated only once after all events completed in like 1.5s

related to podman-desktop#3376
Signed-off-by: Florent Benoit <[email protected]>
benoitf added a commit to benoitf/desktop that referenced this issue Aug 14, 2023
benoitf added a commit to benoitf/desktop that referenced this issue Aug 16, 2023
benoitf added a commit to benoitf/desktop that referenced this issue Aug 16, 2023
allow to use debounce/throttle when updating stores

if there are 15 events in a row to update a store,
it can be updated only once after all events completed in like 1.5s

related to podman-desktop#3376
Signed-off-by: Florent Benoit <[email protected]>
benoitf added a commit to benoitf/desktop that referenced this issue Aug 16, 2023
allow to use debounce/throttle when updating stores

if there are 15 events in a row to update a store,
it can be updated only once after all events completed in like 1.5s

related to podman-desktop#3376
Signed-off-by: Florent Benoit <[email protected]>
benoitf added a commit that referenced this issue Aug 17, 2023
benoitf added a commit to benoitf/desktop that referenced this issue Aug 21, 2023
allow to use debounce/throttle when updating stores

if there are 15 events in a row to update a store,
it can be updated only once after all events completed in like 1.5s

related to podman-desktop#3376
Signed-off-by: Florent Benoit <[email protected]>
benoitf added a commit to benoitf/desktop that referenced this issue Aug 21, 2023
allow to use debounce/throttle when updating stores

if there are 15 events in a row to update a store,
it can be updated only once after all events completed in like 1.5s

related to podman-desktop#3376
Signed-off-by: Florent Benoit <[email protected]>
benoitf added a commit to benoitf/desktop that referenced this issue Aug 22, 2023
benoitf added a commit to benoitf/desktop that referenced this issue Aug 22, 2023
allow to give extra args when calling manual fetch method
then, the updater method can check these arguments

related to podman-desktop#3376

Signed-off-by: Florent Benoit <[email protected]>
benoitf added a commit that referenced this issue Aug 22, 2023
allow to use debounce/throttle when updating stores

if there are 15 events in a row to update a store,
it can be updated only once after all events completed in like 1.5s

related to #3376
Signed-off-by: Florent Benoit <[email protected]>
benoitf added a commit to benoitf/desktop that referenced this issue Aug 22, 2023
allow to give extra args when calling manual fetch method
then, the updater method can check these arguments

related to podman-desktop#3376

Signed-off-by: Florent Benoit <[email protected]>
benoitf added a commit to benoitf/desktop that referenced this issue Aug 22, 2023
benoitf added a commit that referenced this issue Aug 22, 2023
benoitf added a commit that referenced this issue Aug 22, 2023
allow to give extra args when calling manual fetch method
then, the updater method can check these arguments

related to #3376

Signed-off-by: Florent Benoit <[email protected]>
benoitf added a commit to benoitf/desktop that referenced this issue Aug 22, 2023
fixes podman-desktop#3376

it is the last PR related to limit the calls to the REST API
here it avoids to call the system/df call that can be expensive
on podman in rootful mode

Signed-off-by: Florent Benoit <[email protected]>
@benoitf benoitf moved this from 🚧 In Progress to 🚥 In Review in Podman Desktop Planning Aug 22, 2023
benoitf added a commit to benoitf/desktop that referenced this issue Aug 22, 2023
fixes podman-desktop#3376

it is the last PR related to limit the calls to the REST API
here it avoids to call the system/df call that can be expensive
on podman in rootful mode

Signed-off-by: Florent Benoit <[email protected]>
benoitf added a commit that referenced this issue Aug 23, 2023
fixes #3376

it is the last PR related to limit the calls to the REST API
here it avoids to call the system/df call that can be expensive
on podman in rootful mode

Signed-off-by: Florent Benoit <[email protected]>
@github-project-automation github-project-automation bot moved this from 🚥 In Review to ✅ Done in Podman Desktop Planning Aug 23, 2023
@benoitf
Copy link
Collaborator

benoitf commented Aug 23, 2023

here are the improvements that have been made:

  • debounce (only perform one call if multiple requests are happening in a short amount of time)
  • still let one call passing every 5s to have UI being more "responsive"
  • do not call /system/df, volumes are now always displayed but you don't have the usage size until you ask for it
  • refactor calls to avoid the need to call an extra inspect call on each container when listing containers

mairin pushed a commit to mairin/podman-desktop that referenced this issue Aug 29, 2023
allow to use debounce/throttle when updating stores

if there are 15 events in a row to update a store,
it can be updated only once after all events completed in like 1.5s

related to podman-desktop#3376
Signed-off-by: Florent Benoit <[email protected]>
mairin pushed a commit to mairin/podman-desktop that referenced this issue Aug 29, 2023
mairin pushed a commit to mairin/podman-desktop that referenced this issue Aug 29, 2023
allow to give extra args when calling manual fetch method
then, the updater method can check these arguments

related to podman-desktop#3376

Signed-off-by: Florent Benoit <[email protected]>
mairin pushed a commit to mairin/podman-desktop that referenced this issue Aug 29, 2023
fixes podman-desktop#3376

it is the last PR related to limit the calls to the REST API
here it avoids to call the system/df call that can be expensive
on podman in rootful mode

Signed-off-by: Florent Benoit <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/dashboard 📊 Concern the dashboard from Container Desktop engine/podman 🦭 kind/bug 🐞 Something isn't working
Projects
None yet
3 participants