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
As a user I want to differentiate between different nature of images #1437
Comments
Docker images can use annotations format but they will be present in the config.Labels directive, e.g.
OCI images can use annotations but not config.Labels
But some(most?) OCI images still can use config.Labels but not annotations And probably some OCI images can have both populated :) Annotations are a fairly new directive , not many images leverage them and we should be prepared to look in both places. |
Note: Both Labels/annotations are indeed passed down to the child image(if unspecified). If specified, they will be overridden. |
Furthermore, we are required to identify whether a manifest list is bootable or not. This can be done by parsing the first available listed manifest or a manifest with the amd64 architecture. The ultimate goal is to enable users to filter manifests by their nature from the REST API. With @ipanova, we have considered two design options:
Unfortunately, we will need to extract data from config blobs' labels in both cases and place it to the manifest model. We cannot ensure that manifests' annotations are the only source of truth. It might be worth implementing both of the suggested options (they are complementary, synergistic), so that the users will be able to filter manifests by
|
I think, I like the idea exposing both the boolean field and the labels and here is why:
Besides, labels, we should also consider exposing annotations. |
From a Katello use case this sounds perfect. We can immediately use this to display pertinent information about the manifests in the UI. I think from our standpoint we're most likely to use |
I'm going to push for having Katello integrate with this as soon as possible. I'll need to give time for users to pre-migrate in Katello 4.13 and 4.14, but after that we can unleash this setting (plus we want to rework our UI at the same time). I have a request: can we get information about how long the pre-migration will take on a well-loaded Pulp environment? Perhaps a good start would be an environment that has all of the OpenStack-related container repositories synced. |
@ianballou |
We do, but we block the upgrade on it in that case, so it's a little different. |
Thanks for mentioning that though, I forgot that foreman-maintain is a good place to include the pre-migration. That's where we run the media repair script. |
so you would be calling this one in foreman-maintain as well and it won't be blocking anything, correct? |
Would you still want to setup a testing env to see how long the command will take? It will not block the upgrade and api calls/tasks. The only place where you will see the overhead is DB and IO |
As agreed per call would be good to provide some numbers so they can be shared in the user docs |
Is your feature request related to a problem? Please describe.
As a user when I inspect a manifest through pulp API I can tell whether the image is :
Describe the solution you'd like
Expose Image Annotations/Labels based on which a user would be able to say/search what kid of image it is.
For example flatpak image contains
org.flatpak.ref
label. This label identifies the image as Flatpak.Additional context
We might need to inspect both Label and Annotations depending on the Docker/Oci image format.
In OCI spec labels are superseded by annotations but docker format still uses labels.
Note: Even if the image is derived, the labels/annotations are passed down to the child image.
The text was updated successfully, but these errors were encountered: