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

Fix #858 Add support for digests in sync #880

Merged
merged 2 commits into from
Nov 17, 2020

Conversation

muff1nman
Copy link
Contributor

In addition, this changes the copy options to pass
CopyAllImages such that any digests referencing manifest
lists work as expected. While this is potentially a change
in behavior for previous sync incantations, it is most likely
desired as there is no option to override ones architecture
with the sync command anyways.

Signed-off-by: Andrew DeMaria [email protected]

@muff1nman
Copy link
Contributor Author

Depends on containers/image#883

@muff1nman
Copy link
Contributor Author

I'll need to address the integration-tests but in the meantime, I'd like to get feedback on changing ImageListSelection to copy.CopyAllImages for sync.

@nalind
Copy link
Member

nalind commented Apr 2, 2020

I'll need to address the integration-tests but in the meantime, I'd like to get feedback on changing ImageListSelection to copy.CopyAllImages for sync.

Both docker and dir transports can handle being destinations for manifest lists, so I think it's a reasonable default.

Some registries in the wild don't accept manifest lists, though, so I think we need to decide what should happen if we're trying to sync a tag that points to a manifest list, but find that the destination can't accept lists.

@muff1nman
Copy link
Contributor Author

Some registries in the wild don't accept manifest lists, though, so I think we need to decide what should happen if we're trying to sync a tag that points to a manifest list, but find that the destination can't accept lists.

Does it make sense to expose the ImageListSelection option in the sync options? That way someone with a non-compatible registry can select the previous behavior.

@rhatdan
Copy link
Member

rhatdan commented May 14, 2020

@mtrmac PTAL

@rhatdan
Copy link
Member

rhatdan commented Jun 16, 2020

@muff1nman Needs a rebase.
@mtrmac what is your opinion of this PR?

@muff1nman muff1nman force-pushed the sync-digests branch 3 times, most recently from 83cbc07 to 6654bf4 Compare June 17, 2020 07:06
@rhatdan
Copy link
Member

rhatdan commented Jul 11, 2020

@mtrmac @vrothberg @QiWang19 PTAL

@vrothberg
Copy link
Member

Supporting digests makes sense. The second change to copy all instances could be a breaking change to existing users, so I prefer to make this opt in. One way or another, the two changes should be in two separate commits. This will make maintenance easier (e.g., bisecting, testing, backporting, reverting etc.).

@rhatdan
Copy link
Member

rhatdan commented Aug 3, 2020

@muff1nman Could you split this PR in two? If you are still working on it?

@muff1nman
Copy link
Contributor Author

Split commits and added --all flag for sync.

@muff1nman muff1nman force-pushed the sync-digests branch 2 times, most recently from 2967e75 to e5d788d Compare August 5, 2020 20:48
@muff1nman
Copy link
Contributor Author

Just fixed a missing signature. No code change.

@rhatdan
Copy link
Member

rhatdan commented Aug 6, 2020

@mtrmac @vrothberg PTAL

@muff1nman
Copy link
Contributor Author

Any chance this can get reviewed.

@rhatdan
Copy link
Member

rhatdan commented Aug 27, 2020

@mtrmac PTAL

@rhatdan
Copy link
Member

rhatdan commented Aug 27, 2020

LGTM

@muff1nman
Copy link
Contributor Author

Rebased with no changes. Can we get this one over the finish line?

@rhatdan
Copy link
Member

rhatdan commented Sep 18, 2020

@vrothberg @mtrmac PTAL

@yarikoptic
Copy link

@vrothberg @mtrmac Pretty PTAL?

@vrothberg
Copy link
Member

Apologies! I'll take a look on Monday morning.

Copy link
Member

@vrothberg vrothberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for contributing! Again apologies for my very late review.

@vrothberg
Copy link
Member

@muff1nman could you do a last rebase? While there are no merge conflicts, the state is quite old.

This replicates the --all copy flag to sync to perform the same
behavior. Namely, the default is CopySystemImage unless --all is passed
which changes the behavior to CopyAllImages. While it is probably
desirable for --all to be the default as there is no option to override
ones architecture with the sync command, --all can potentially break
existing sync incantations depending on registry support. Hence
CopySystemImage remains the default.

Signed-off-by: Andrew DeMaria <[email protected]>
@muff1nman
Copy link
Contributor Author

@vrothberg rebased with no changes.

@vrothberg
Copy link
Member

Thanks, @muff1nman!

@rhatdan PTAL

@rhatdan
Copy link
Member

rhatdan commented Nov 17, 2020

LGTM

@rhatdan rhatdan merged commit 2342171 into containers:master Nov 17, 2020
@muff1nman muff1nman deleted the sync-digests branch January 9, 2021 06:18
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 26, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants