-
Notifications
You must be signed in to change notification settings - Fork 170
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
formatting of "oscontainer" entries in the schema #3122
Comments
Honestly I don't think it was intentional. Going back and looking at What isn't clear to me now is the consequences of trying to change it. It seems like we should certainly be consistent here. I think this may impact code in e.g. https://github.com/openshift/doozer/blob/3e755229ca4e00c4fd34e968a56518102ab32b6b/tests/test_rhcos.py#L105 but I'm not sure. We should run this by ART. |
I guess there are a few options here:
@cgwalters from your comment it looks like you were exploring option |
I don't have a strong opinion; ultimately the main consumer of this information is ART, so their call is probably most important. If I had to pick I'd say 1 just to be conservative and avoid risk for <= 4.11. But I don't know. |
I'd also vote for 1. I asked ART internally about consequences. |
I was linked to https://github.com/openshift/doozer/blob/bb4085a515dedc0234d5ef3ca15fecf843c74875/doozerlib/rhcos.py#L80-L90, which would handle this gracefully, so I think we're good to do 1. As a courtesy, I'd suggest also filing a draft PR against openshift/doozer simplifying that code. |
is If that's true we could go with whatever one we prefer. |
I believe doozer is the only consumer, yes. |
The `oscontainer` and `base-oscontainer` keys should follow the same schema. Currently, the former has a `digest` field, while the other one does not. Tweak `cosa push-container-manifest` and `cosa push-container` so that they follows the new schema. (Though note the latter command will be deleted soon). To keep previous 4.12 `meta.json` files valid, this loosens the `image` schema definition so that `digest` is now optional. Once we branch for 4.12, we will undo this change so that it becomes required again. Fixes coreos#3122
The `oscontainer` and `base-oscontainer` keys should follow the same schema. Currently, the former has a `digest` field, while the other one does not. Tweak `cosa push-container-manifest` and `cosa push-container` so that they follows the new schema. (Though note the latter command will be deleted soon). To keep previous 4.12 `meta.json` files valid, this loosens the `image` schema definition so that `digest` is now optional. Once we branch for 4.12, we will undo this change so that it becomes required again. Fixes coreos#3122
The `oscontainer` and `base-oscontainer` keys should follow the same schema. Currently, the former has a `digest` field, while the other one does not. Tweak `cosa push-container-manifest` and `cosa push-container` so that they follows the new schema. (Though note the latter command will be deleted soon). To keep previous 4.12 `meta.json` files valid, this loosens the `image` schema definition so that `digest` is now optional. Once we branch for 4.12, we will undo this change so that it becomes required again. Fixes coreos#3122
OK so actually there is another consideration here. With the pipeline changes I'm working on, all the container images we push will be manifest lists to Quay.io. This brings back the discussion we had in coreos/fedora-coreos-pipeline#515 (comment) around storing the multi-arch digest vs the arch-specific one in Now, ART wants arch-specific digests in Also for FCOS, I think we want the stream metadata to use tags there instead of digests. To get that though, the tag information needs to be in So my proposal is to enhance the schema like this: "base-oscontainer": {
"digest": "sha256:b2e3b0ef40b7ad82b7e4107c1283baca71397b757d3e429ceefc6b1514e19848",
"image": "quay.io/fedora/fedora-coreos",
"tags": ["stable"],
} where Thoughts? |
My opinion is:
(But, this isn't really strongly held, if you prefer to have something more FCOS-y with tags, I'm OK with that too I think, I just really don't think it should be load-bearing in the future) |
It's not in the stream metadata today, but it should be. I guess we could add sugar in the metadata translator to automatically assume that the stream name is a tag to the image, but it'd be much cleaner to be explicit and have the tag be in the metadata like everything else.
If FCOS isn't going to use the manifest list digest at all (and I don't think it will), then I think it'd be cleaner to not differ at all. |
I think it's fine to store the arch specific digest in the arch specific meta.json files for FCOS too. When I was writing the code originally it was just easier to grab and use the digest of the final pushed manifest listed container.
Not so sure about this part. I don't mind putting tags in the schema, but if the digest and repo are there then any consumer will be able to pull it, right? Shouldn't the tag be the stream name? Again, I'm good for putting this in the schema. I think where it gets confusing is when there is more than one tag. What do consumers do with that information? |
OK, sounds like we're all in agreement on this. Conceptually today, Anyone who wants the container native flow can use the container-native way to find it - via a registry. |
The `oscontainer` and `base-oscontainer` keys should follow the same schema. Currently, the former has a `digest` field, while the other one does not. Tweak `cosa push-container-manifest` and `cosa push-container` so that they follows the new schema. (Though note the latter command will be deleted soon). To keep previous 4.12 `meta.json` files valid, this loosens the `image` schema definition so that `digest` is now optional. Once we branch for 4.12, we will undo this change so that it becomes required again. Fixes coreos#3122
As discussed in coreos#3122, ART needs the arch-specific digest in the `meta.json` rather than the manifest list digest. FCOS isn't planning to use the digest so doesn't care about which one gets chosen. Update `cosa push-container-manifest` to use the arch-specific digest.
OK cool, I've updated #3129 to do this now!
Yeah, but I think from previous discussions on this topic, we landed on the stream metadata referencing a tag and not a digest. So by default, FCOS users wouldn't actually see the digest. The main reason for adding a tag is so we can surface it in the stream metadata.
That's a convention set up by the pipeline. Do we do this kind of assumption anywhere in the stream metadata generator? ISTM like it'd be much clearer to have it be in the metadata proper. But also, it would only be true for the base oscontainer. E.g. the extensions and legacy containers have suffixes.
My reason for sticking all of them is that I think it's good practice to try to reference from But anyway, we don't need that bit right now, so I don't want to block on it. I've split it into a separate PR: #3132 |
The `oscontainer` and `base-oscontainer` keys should follow the same schema. Currently, the former has a `digest` field, while the other one does not. Tweak `cosa push-container-manifest` and `cosa push-container` so that they follows the new schema. (Though note the latter command will be deleted soon). To keep previous 4.12 `meta.json` files valid, this loosens the `image` schema definition so that `digest` is now optional. Once we branch for 4.12, we will undo this change so that it becomes required again. Fixes coreos#3122
As discussed in coreos#3122, ART needs the arch-specific digest in the `meta.json` rather than the manifest list digest. FCOS isn't planning to use the digest so doesn't care about which one gets chosen. Update `cosa push-container-manifest` to use the arch-specific digest.
As discussed in coreos#3122, ART needs the arch-specific digest in the `meta.json` rather than the manifest list digest. FCOS isn't planning to use the digest so doesn't care about which one gets chosen. Update `cosa push-container-manifest` to use the arch-specific digest.
As discussed in coreos#3122, ART needs the arch-specific digest in the `meta.json` rather than the manifest list digest. FCOS isn't planning to use the digest so doesn't care about which one gets chosen. Update `cosa push-container-manifest` to use the arch-specific digest.
The `oscontainer` and `base-oscontainer` keys should follow the same schema. Currently, the former has a `digest` field, while the other one does not. Tweak `cosa push-container-manifest` and `cosa push-container` so that they follows the new schema. (Though note the latter command will be deleted soon). To keep previous 4.12 `meta.json` files valid, this loosens the `image` schema definition so that `digest` is now optional. Once we branch for 4.12, we will undo this change so that it becomes required again. Fixes #3122
As discussed in #3122, ART needs the arch-specific digest in the `meta.json` rather than the manifest list digest. FCOS isn't planning to use the digest so doesn't care about which one gets chosen. Update `cosa push-container-manifest` to use the arch-specific digest.
The `oscontainer` and `base-oscontainer` keys should follow the same schema. Currently, the former has a `digest` field, while the other one does not. Tweak `cosa push-container-manifest` and `cosa push-container` so that they follows the new schema. (Though note the latter command will be deleted soon). To keep previous 4.12 `meta.json` files valid, this loosens the `image` schema definition so that `digest` is now optional. Once we branch for 4.12, we will undo this change so that it becomes required again. Fixes coreos#3122 (cherry picked from commit 738cb39) I skipped backporting the changes to the schema since we don't need to be as flexible for 4.11. I also skipped the similar change to `cmd-push-container` since we're not planning to use that at all in the new pipeline.
As discussed in coreos#3122, ART needs the arch-specific digest in the `meta.json` rather than the manifest list digest. FCOS isn't planning to use the digest so doesn't care about which one gets chosen. Update `cosa push-container-manifest` to use the arch-specific digest. (cherry picked from commit c7b5757)
The `oscontainer` and `base-oscontainer` keys should follow the same schema. Currently, the former has a `digest` field, while the other one does not. Tweak `cosa push-container-manifest` and `cosa push-container` so that they follows the new schema. (Though note the latter command will be deleted soon). To keep previous 4.12 `meta.json` files valid, this loosens the `image` schema definition so that `digest` is now optional. Once we branch for 4.12, we will undo this change so that it becomes required again. Fixes coreos#3122 (cherry picked from commit 738cb39) jlebon: I skipped backporting the changes to the schema since we don't need to be as flexible for 4.11. I also skipped the similar change to `cmd-push-container` since we're not planning to use that at all in the new pipeline.
As discussed in coreos#3122, ART needs the arch-specific digest in the `meta.json` rather than the manifest list digest. FCOS isn't planning to use the digest so doesn't care about which one gets chosen. Update `cosa push-container-manifest` to use the arch-specific digest. (cherry picked from commit c7b5757)
The `oscontainer` and `base-oscontainer` keys should follow the same schema. Currently, the former has a `digest` field, while the other one does not. Tweak `cosa push-container-manifest` and `cosa push-container` so that they follows the new schema. (Though note the latter command will be deleted soon). To keep previous 4.12 `meta.json` files valid, this loosens the `image` schema definition so that `digest` is now optional. Once we branch for 4.12, we will undo this change so that it becomes required again. Fixes coreos#3122 (cherry picked from commit 738cb39) jlebon: I skipped backporting the changes to the schema since we don't need to be as flexible for 4.11. I also skipped the similar change to `cmd-push-container` since we're not planning to use that at all in the new pipeline. (cherry picked from commit b5a3842)
As discussed in coreos#3122, ART needs the arch-specific digest in the `meta.json` rather than the manifest list digest. FCOS isn't planning to use the digest so doesn't care about which one gets chosen. Update `cosa push-container-manifest` to use the arch-specific digest. (cherry picked from commit c7b5757) (cherry picked from commit 2efa549)
The `oscontainer` and `base-oscontainer` keys should follow the same schema. Currently, the former has a `digest` field, while the other one does not. Tweak `cosa push-container-manifest` and `cosa push-container` so that they follows the new schema. (Though note the latter command will be deleted soon). To keep previous 4.12 `meta.json` files valid, this loosens the `image` schema definition so that `digest` is now optional. Once we branch for 4.12, we will undo this change so that it becomes required again. Fixes #3122 (cherry picked from commit 738cb39) jlebon: I skipped backporting the changes to the schema since we don't need to be as flexible for 4.11. I also skipped the similar change to `cmd-push-container` since we're not planning to use that at all in the new pipeline.
As discussed in #3122, ART needs the arch-specific digest in the `meta.json` rather than the manifest list digest. FCOS isn't planning to use the digest so doesn't care about which one gets chosen. Update `cosa push-container-manifest` to use the arch-specific digest. (cherry picked from commit c7b5757)
The `oscontainer` and `base-oscontainer` keys should follow the same schema. Currently, the former has a `digest` field, while the other one does not. Tweak `cosa push-container-manifest` and `cosa push-container` so that they follows the new schema. (Though note the latter command will be deleted soon). To keep previous 4.12 `meta.json` files valid, this loosens the `image` schema definition so that `digest` is now optional. Once we branch for 4.12, we will undo this change so that it becomes required again. Fixes #3122 (cherry picked from commit 738cb39) jlebon: I skipped backporting the changes to the schema since we don't need to be as flexible for 4.11. I also skipped the similar change to `cmd-push-container` since we're not planning to use that at all in the new pipeline. (cherry picked from commit b5a3842)
As discussed in #3122, ART needs the arch-specific digest in the `meta.json` rather than the manifest list digest. FCOS isn't planning to use the digest so doesn't care about which one gets chosen. Update `cosa push-container-manifest` to use the arch-specific digest. (cherry picked from commit c7b5757) (cherry picked from commit 2efa549)
The `oscontainer` and `base-oscontainer` keys should follow the same schema. Currently, the former has a `digest` field, while the other one does not. Tweak `cosa push-container-manifest` and `cosa push-container` so that they follows the new schema. (Though note the latter command will be deleted soon). To keep previous 4.12 `meta.json` files valid, this loosens the `image` schema definition so that `digest` is now optional. Once we branch for 4.12, we will undo this change so that it becomes required again. Fixes coreos#3122 (cherry picked from commit 738cb39) jlebon: I skipped backporting the changes to the schema since we don't need to be as flexible for 4.11. I also skipped the similar change to `cmd-push-container` since we're not planning to use that at all in the new pipeline. (cherry picked from commit b5a3842) (cherry picked from commit 2af1bd0)
As discussed in coreos#3122, ART needs the arch-specific digest in the `meta.json` rather than the manifest list digest. FCOS isn't planning to use the digest so doesn't care about which one gets chosen. Update `cosa push-container-manifest` to use the arch-specific digest. (cherry picked from commit c7b5757) (cherry picked from commit 2efa549) (cherry picked from commit 3685382)
The `oscontainer` and `base-oscontainer` keys should follow the same schema. Currently, the former has a `digest` field, while the other one does not. Tweak `cosa push-container-manifest` and `cosa push-container` so that they follows the new schema. (Though note the latter command will be deleted soon). To keep previous 4.12 `meta.json` files valid, this loosens the `image` schema definition so that `digest` is now optional. Once we branch for 4.12, we will undo this change so that it becomes required again. Fixes coreos#3122 (cherry picked from commit 738cb39) jlebon: I skipped backporting the changes to the schema since we don't need to be as flexible for 4.11. I also skipped the similar change to `cmd-push-container` since we're not planning to use that at all in the new pipeline. (cherry picked from commit b5a3842) (cherry picked from commit 2af1bd0)
As discussed in coreos#3122, ART needs the arch-specific digest in the `meta.json` rather than the manifest list digest. FCOS isn't planning to use the digest so doesn't care about which one gets chosen. Update `cosa push-container-manifest` to use the arch-specific digest. (cherry picked from commit c7b5757) (cherry picked from commit 2efa549) (cherry picked from commit 3685382)
The `oscontainer` and `base-oscontainer` keys should follow the same schema. Currently, the former has a `digest` field, while the other one does not. Tweak `cosa push-container-manifest` and `cosa push-container` so that they follows the new schema. (Though note the latter command will be deleted soon). To keep previous 4.12 `meta.json` files valid, this loosens the `image` schema definition so that `digest` is now optional. Once we branch for 4.12, we will undo this change so that it becomes required again. Fixes coreos#3122 (cherry picked from commit 738cb39) jlebon: I skipped backporting the changes to the schema since we don't need to be as flexible for 4.11. I also skipped the similar change to `cmd-push-container` since we're not planning to use that at all in the new pipeline. (cherry picked from commit b5a3842) (cherry picked from commit 2af1bd0)
As discussed in coreos#3122, ART needs the arch-specific digest in the `meta.json` rather than the manifest list digest. FCOS isn't planning to use the digest so doesn't care about which one gets chosen. Update `cosa push-container-manifest` to use the arch-specific digest. (cherry picked from commit c7b5757) (cherry picked from commit 2efa549) (cherry picked from commit 3685382)
The `oscontainer` and `base-oscontainer` keys should follow the same schema. Currently, the former has a `digest` field, while the other one does not. Tweak `cosa push-container-manifest` and `cosa push-container` so that they follows the new schema. (Though note the latter command will be deleted soon). To keep previous 4.12 `meta.json` files valid, this loosens the `image` schema definition so that `digest` is now optional. Once we branch for 4.12, we will undo this change so that it becomes required again. Fixes coreos#3122 (cherry picked from commit 738cb39) jlebon: I skipped backporting the changes to the schema since we don't need to be as flexible for 4.11. I also skipped the similar change to `cmd-push-container` since we're not planning to use that at all in the new pipeline. (cherry picked from commit b5a3842) (cherry picked from commit 2af1bd0)
As discussed in coreos#3122, ART needs the arch-specific digest in the `meta.json` rather than the manifest list digest. FCOS isn't planning to use the digest so doesn't care about which one gets chosen. Update `cosa push-container-manifest` to use the arch-specific digest. (cherry picked from commit c7b5757) (cherry picked from commit 2efa549) (cherry picked from commit 3685382)
The `oscontainer` and `base-oscontainer` keys should follow the same schema. Currently, the former has a `digest` field, while the other one does not. Tweak `cosa push-container-manifest` and `cosa push-container` so that they follows the new schema. (Though note the latter command will be deleted soon). To keep previous 4.12 `meta.json` files valid, this loosens the `image` schema definition so that `digest` is now optional. Once we branch for 4.12, we will undo this change so that it becomes required again. Fixes coreos#3122 (cherry picked from commit 738cb39) jlebon: I skipped backporting the changes to the schema since we don't need to be as flexible for 4.11. I also skipped the similar change to `cmd-push-container` since we're not planning to use that at all in the new pipeline. (cherry picked from commit b5a3842) (cherry picked from commit 2af1bd0)
As discussed in coreos#3122, ART needs the arch-specific digest in the `meta.json` rather than the manifest list digest. FCOS isn't planning to use the digest so doesn't care about which one gets chosen. Update `cosa push-container-manifest` to use the arch-specific digest. (cherry picked from commit c7b5757) (cherry picked from commit 2efa549) (cherry picked from commit 3685382)
The `oscontainer` and `base-oscontainer` keys should follow the same schema. Currently, the former has a `digest` field, while the other one does not. Tweak `cosa push-container-manifest` and `cosa push-container` so that they follows the new schema. (Though note the latter command will be deleted soon). To keep previous 4.12 `meta.json` files valid, this loosens the `image` schema definition so that `digest` is now optional. Once we branch for 4.12, we will undo this change so that it becomes required again. Fixes coreos#3122 (cherry picked from commit 738cb39) jlebon: I skipped backporting the changes to the schema since we don't need to be as flexible for 4.11. I also skipped the similar change to `cmd-push-container` since we're not planning to use that at all in the new pipeline. (cherry picked from commit b5a3842) (cherry picked from commit 2af1bd0)
As discussed in coreos#3122, ART needs the arch-specific digest in the `meta.json` rather than the manifest list digest. FCOS isn't planning to use the digest so doesn't care about which one gets chosen. Update `cosa push-container-manifest` to use the arch-specific digest. (cherry picked from commit c7b5757) (cherry picked from commit 2efa549) (cherry picked from commit 3685382)
The `oscontainer` and `base-oscontainer` keys should follow the same schema. Currently, the former has a `digest` field, while the other one does not. Tweak `cosa push-container-manifest` and `cosa push-container` so that they follows the new schema. (Though note the latter command will be deleted soon). To keep previous 4.12 `meta.json` files valid, this loosens the `image` schema definition so that `digest` is now optional. Once we branch for 4.12, we will undo this change so that it becomes required again. Fixes #3122 (cherry picked from commit 738cb39) jlebon: I skipped backporting the changes to the schema since we don't need to be as flexible for 4.11. I also skipped the similar change to `cmd-push-container` since we're not planning to use that at all in the new pipeline. (cherry picked from commit b5a3842) (cherry picked from commit 2af1bd0)
As discussed in #3122, ART needs the arch-specific digest in the `meta.json` rather than the manifest list digest. FCOS isn't planning to use the digest so doesn't care about which one gets chosen. Update `cosa push-container-manifest` to use the arch-specific digest. (cherry picked from commit c7b5757) (cherry picked from commit 2efa549) (cherry picked from commit 3685382)
The `oscontainer` and `base-oscontainer` keys should follow the same schema. Currently, the former has a `digest` field, while the other one does not. Tweak `cosa push-container-manifest` and `cosa push-container` so that they follows the new schema. (Though note the latter command will be deleted soon). To keep previous 4.12 `meta.json` files valid, this loosens the `image` schema definition so that `digest` is now optional. Once we branch for 4.12, we will undo this change so that it becomes required again. Fixes coreos#3122 (cherry picked from commit 738cb39) jlebon: I skipped backporting the changes to the schema since we don't need to be as flexible for 4.11. I also skipped the similar change to `cmd-push-container` since we're not planning to use that at all in the new pipeline.
As discussed in coreos#3122, ART needs the arch-specific digest in the `meta.json` rather than the manifest list digest. FCOS isn't planning to use the digest so doesn't care about which one gets chosen. Update `cosa push-container-manifest` to use the arch-specific digest. (cherry picked from commit c7b5757)
The `oscontainer` and `base-oscontainer` keys should follow the same schema. Currently, the former has a `digest` field, while the other one does not. Tweak `cosa push-container-manifest` and `cosa push-container` so that they follows the new schema. (Though note the latter command will be deleted soon). To keep previous 4.12 `meta.json` files valid, this loosens the `image` schema definition so that `digest` is now optional. Once we branch for 4.12, we will undo this change so that it becomes required again. Fixes #3122 (cherry picked from commit 738cb39) jlebon: I skipped backporting the changes to the schema since we don't need to be as flexible for 4.11. I also skipped the similar change to `cmd-push-container` since we're not planning to use that at all in the new pipeline.
As discussed in #3122, ART needs the arch-specific digest in the `meta.json` rather than the manifest list digest. FCOS isn't planning to use the digest so doesn't care about which one gets chosen. Update `cosa push-container-manifest` to use the arch-specific digest. (cherry picked from commit c7b5757)
The `oscontainer` and `base-oscontainer` keys should follow the same schema. Currently, the former has a `digest` field, while the other one does not. Tweak `cosa push-container-manifest` and `cosa push-container` so that they follows the new schema. (Though note the latter command will be deleted soon). To keep previous 4.12 `meta.json` files valid, this loosens the `image` schema definition so that `digest` is now optional. Once we branch for 4.12, we will undo this change so that it becomes required again. Fixes #3122 (cherry picked from commit 738cb39) jlebon: I skipped backporting the changes to the schema since we don't need to be as flexible for 4.11. I also skipped the similar change to `cmd-push-container` since we're not planning to use that at all in the new pipeline. (cherry picked from commit b5a3842)
As discussed in #3122, ART needs the arch-specific digest in the `meta.json` rather than the manifest list digest. FCOS isn't planning to use the digest so doesn't care about which one gets chosen. Update `cosa push-container-manifest` to use the arch-specific digest. (cherry picked from commit c7b5757) (cherry picked from commit 2efa549)
The `oscontainer` and `base-oscontainer` keys should follow the same schema. Currently, the former has a `digest` field, while the other one does not. Tweak `cosa push-container-manifest` and `cosa push-container` so that they follows the new schema. (Though note the latter command will be deleted soon). To keep previous 4.12 `meta.json` files valid, this loosens the `image` schema definition so that `digest` is now optional. Once we branch for 4.12, we will undo this change so that it becomes required again. Fixes #3122 (cherry picked from commit 738cb39) jlebon: I skipped backporting the changes to the schema since we don't need to be as flexible for 4.11. I also skipped the similar change to `cmd-push-container` since we're not planning to use that at all in the new pipeline. (cherry picked from commit b5a3842) (cherry picked from commit 2af1bd0)
As discussed in #3122, ART needs the arch-specific digest in the `meta.json` rather than the manifest list digest. FCOS isn't planning to use the digest so doesn't care about which one gets chosen. Update `cosa push-container-manifest` to use the arch-specific digest. (cherry picked from commit c7b5757) (cherry picked from commit 2efa549) (cherry picked from commit 3685382)
When reviewing the changes in #3111 I started to look deeper at our
oscontainer
entries in our schema. The old style oscontainer looks something like this (this example happens to be from OpenShift/RHCOS 4.9):the new style oscontainer looks like this (source):
Was this by design? Do we want to continue with this difference or do we want to change something?
The text was updated successfully, but these errors were encountered: