-
Notifications
You must be signed in to change notification settings - Fork 526
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
Images are themselves manifests, and reference a config blob #79
Images are themselves manifests, and reference a config blob #79
Conversation
8ddd177
to
df28b03
Compare
image/v1/types.go
Outdated
// imagesWithoutMetadata contains information about all images referenced by an image | ||
// stream whose metadata could not be loaded. This can be due to an administrator or | ||
// other automated process deleting the image (in which case the image cannot be pulled) | ||
// or be a temporary condition because the image has not yet been uploaded. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@smarterclayton when can we have a reference to the image that has not yet been uploaded?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If someone writes an integration that uses the API but does so without verifying the references. We don't allow it directly, but I want to leave this open so that a consumer of the API knows that this is possible even if we're confident none of our existing code paths allow it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can change the godoc if you'd like, but I do want to call out that this API is dependent on both the object references and the object metadata.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is it better to have this as a separate field, or have a missing
attribute of ImageBlobReferences
that can only be true if config
and layers
are unset? looking up an image in two places is a pain
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I could do either.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@deads2k opinion on ^?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@liggitt @smarterclayton I prefer a missing attribute on ImageBlobReferences. I don't care for parallel maps.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok
@deads2k since liggitt is out - this is a must for 3.11 (since the field is new). Jordan and I had verbal agreement on a separate map for tracking missing references, but we didn't talk naming or structure. |
one question on the separate map vs additional field on existing ImageBlobReferences type. LGTM otherwise |
The naming of the nested field was wrong (this known as the image "config") and we need to correct it. An OpenShift image is always a manifest.
df28b03
to
a6b8d79
Compare
Updated |
Need to regenerate proto. We've been encouraging https://github.com/openshift/api#pull-request-process. I don't think this will cause problems, but something to keep in mind. /lgtm |
Ok, will do it now. Didn't see that before. |
Communicates when an image stream references an image api object that has been deleted by an administrator.
a6b8d79
to
1ba94e5
Compare
New changes are detected. LGTM label has been removed. |
The naming of the nested field was wrong (this known as the image "config") and we need to correct it. An OpenShift image is always a manifest. This is naming only.
Second change: Allow the API to return info about images whose references are not resolvable
Administrators may delete an image intentionally or accidentally, and the layers API needs to be able to inform the registry that the image is referenced, but no layer data is available, so that the registry can more accurately return an error to the client.
@liggitt as discussed. The first is an error @bparees and I found when updating api.ci. The second is our discussion about references.