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

GraphOptions mixes image store with additional image stores (which are not returned) #2094

Closed
vrothberg opened this issue Sep 16, 2024 · 2 comments · Fixed by containers/podman#24731
Labels
good-first-issue A good first issue

Comments

@vrothberg
Copy link
Member

Additional image stores are getting increasingly important for bootc. In containers/bootc#644 I shared the desire to use podman info to query additional image stores to prevent bootc from parsing storage.conf files.

For testing, I configured /usr/share/containers/storage.conf as follows:

additionalimagestores = [
"/usr/lib/containers/storage",
"/var/lib/containers/storage",
"/var/lib/containers/storage123",
]

The returned data (sudo podman info --format=json | jq .store) looks as follows:

{
  "configFile": "/usr/share/containers/storage.conf",
  "containerStore": {
    "number": 0,
    "paused": 0,
    "running": 0,
    "stopped": 0
  },
  "graphDriverName": "overlay",
  "graphOptions": {
    "overlay.imagestore": "/var/lib/containers/storage123",
    "overlay.mountopt": "nodev,metacopy=on"
  },
  "graphRoot": "/var/lib/containers/storage",
  "graphRootAllocated": 106219679744,
  "graphRootUsed": 3021795328,
  "graphStatus": {
    "Backing Filesystem": "btrfs",
    "Native Overlay Diff": "false",
    "Supports d_type": "true",
    "Supports shifting": "true",
    "Supports volatile": "true",
    "Using metacopy": "true"
  },
  "imageCopyTmpDir": "/var/tmp",
  "imageStore": {
    "number": 2
  },
  "runRoot": "/run/containers/storage",
  "volumePath": "/var/lib/containers/storage/volumes",
  "transientStore": false
}

What I observe is that the overlay.imagestore points to the last entry in the list. That is because the "imagestore" key is returned three times and Podman takes the last one. However, an additional image store is not the "imagestore".

I suggest to fix that logic and add a new key for options.additionalimagestores.

Cc: @giuseppe

I may pick up the issue next week but feel free to assign it to someone else.

@giuseppe
Copy link
Member

@l0rd @Honny1 @inknos this is a good chance to start working on containers/storage on something relatively easy, and important. Anyone interested to pick this issue?

Cc: @mohanboddu

@l0rd
Copy link
Member

l0rd commented Sep 16, 2024

@giuseppe sure I can work on this issue thanks

@cgwalters cgwalters added the good-first-issue A good first issue label Sep 16, 2024
l0rd added a commit to l0rd/containers-storage that referenced this issue Sep 17, 2024
l0rd added a commit to l0rd/containers-storage that referenced this issue Sep 17, 2024
l0rd added a commit to l0rd/podman that referenced this issue Dec 2, 2024
The command `podman info` returned only one imagestore in
`store.graphOptions.<driver>.imagestore` even if multiple
image stores were configured.

This change replaces the field `<driver>.imagestore` with
the field `<driver>.additionalImageStores`, that instead
of a string is an array of strings and that includes all
the configured additional image stores.

Fix containers/storage#2094

Signed-off-by: Mario Loriedo <[email protected]>
l0rd added a commit to l0rd/podman that referenced this issue Dec 2, 2024
The command `podman info` returned only one imagestore in
`store.graphOptions.<driver>.imagestore` even if multiple
image stores were configured.

This change replaces the field `<driver>.imagestore` with
the field `<driver>.additionalImageStores`, that instead
of a string is an array of strings and that includes all
the configured additional image stores.

Fix containers/storage#2094

Signed-off-by: Mario Loriedo <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good-first-issue A good first issue
Projects
None yet
4 participants