-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Multiarch image support #1768
Multiarch image support #1768
Conversation
Signed-off-by: Prajyot Parab <[email protected]>
Signed-off-by: Prajyot Parab <[email protected]>
Signed-off-by: Prajyot Parab <[email protected]>
Signed-off-by: Prajyot Parab <[email protected]>
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.
Several inline comments. Also, can you provide documentation for how this should be invoked?
I tried the following on linux amd64:
x1c in /home/nrb/go/src/github.com/heptio/velero (git) Prajyot-Parab-multiarch-image-support
% make all-manifest
make[1]: Entering directory '/home/nrb/go/src/github.com/heptio/velero'
no such manifest: gcr.io/heptio-images/velero-amd64:master
make[1]: *** [Makefile:215: .manifest-gcr.io/heptio-images/velero] Error 1
make[1]: Leaving directory '/home/nrb/go/src/github.com/heptio/velero'
make: *** [Makefile:102: all-manifest] Error 2
x1c in /home/nrb/go/src/github.com/heptio/velero (git) Prajyot-Parab-multiarch-image-support
% make all-manifest
make[1]: Entering directory '/home/nrb/go/src/github.com/heptio/velero'
no such manifest: gcr.io/heptio-images/velero-amd64:master
make[1]: *** [Makefile:215: .manifest-gcr.io/heptio-images/velero] Error 1
make[1]: Leaving directory '/home/nrb/go/src/github.com/heptio/velero'
make: *** [Makefile:102: all-manifest] Error 2
x1c in /home/nrb/go/src/github.com/heptio/velero (git) Prajyot-Parab-multiarch-image-support
% make manifest
no such manifest: gcr.io/heptio-images/velero-amd64:master
make: *** [Makefile:215: .manifest-gcr.io/heptio-images/velero] Error 1
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.
👀 but deferring this.
The error is observed as the image tagging is changed and now it's looking for images like Try this workflow
|
The commented out code should be removed if not used now. We can always recover it later by going thru the git history if we want to bring any of it back. |
Signed-off-by: Prajyot Parab <[email protected]>
Agreed |
@nrb have all your concerns been addressed? |
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.
Just a couple small comments. I would like to do some testing on this to make sure all the things we rely on continue to work as expected. It would also be great if we could get the upstream restic PR merged so that we could change to downloading that binary from the GitHub release itself.
Signed-off-by: Prajyot Parab <[email protected]>
@nrb -- where do you think makes the most sense for the |
@clnperez I'm not sure I understand your question entirely; do you mean where will it be invoked by CI/CD? If that's the case, I'm currently working on getting our container images published via a deploy script on Travis CI, which is likely where it would go. |
@nrb -- yep. wasn't sure if that was something you wanted @Prajyot-Parab to add to the PR or if it was something you needed to add |
@clnperez Cool - I think to prevent your team from constantly changing this, we could merge this before the Travis work. The biggest hang up I think we have is that the Power restic binary is coming from a 3rd party instead of the original developer's repo. I recognize that the restic repo has slowed in merging changes and making releases, so I'll see if we can talk to our legal team to see what they'd advise. |
@nrb let me know if you want to have some validation of the content we have at Unicamp, I can create a new build mechanism while we do not get the merge approved on the restic side. We can audit anything you want to ensure the package integrity. |
I have a more definitive answer on this now - it would be at https://github.com/heptio/velero/blob/master/hack/gcr-push.sh#L75 |
Signed-off-by: Prajyot Parab <[email protected]>
Signed-off-by: Prajyot Parab <[email protected]>
restic has merged their PR, so my main request has now been address. Removing this change request now, and re-reviewing.
@nrb Please take a look at this Manifest doc and let me know about your thoughts on the same. I will add it to PR (after your review/approval) |
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.
@Prajyot-Parab I had a few additional comments/questions here.
I'd also definitely like to test this on a branch - @nrb, not sure if you're working on that? If not, I can help out.
Signed-off-by: Prajyot Parab <[email protected]>
Signed-off-by: Prajyot Parab <[email protected]>
Thanks @Prajyot-Parab and @clnperez for being patient with us and addressing Steve's comments on the Makefile changes. Also, to be transparent, I'm in the process of moving from Travis CI to GitHub Actions. (#2104) However, since our team is going to be out from Dec 23 2019 to Jan 6 2020, I'm not going to push forward on moving container image builds from Travis to GitHub Actions. That shouldn't affect this PR, as so far there's nothing touching travis files right and we can simply invoke the appropriate make targets in the GitHub Action files, but I wanted to be sure that everyone was aware that the CI runner work was happening in parallel. |
Signed-off-by: Prajyot Parab <[email protected]>
I would like to state the GH Actions still does not work on Power, how could we get builds/pr validated on Power? Can we keep Travis in addition to GH Actions? |
Is there something I'm missing in this PR that makes the jobs on Travis run on Power? The Velero builds are happening via Go cross-compilation, and the restic builds are downloaded, correct? |
@nrb Yes Velero builds are cross-compiled, and the restic builds are downloaded. I think @rpsene may be referring to having builds in future for Power (if needed since Travis provides Power node). @rpsene is my understanding inline with yours ? |
@Prajyot-Parab yep, you are right! I'm looking for the future, but as we are cross-compiling, we are good to go! |
Thanks for clarifying! We're moving away from Travis because of longevity and support concerns, for what it's worth. Hopefully GitHub Actions will get broader capabilities, including PowerPC support, in the future but for this project I think the cross-compilation addresses it. |
We also need to update the docs -- https://github.com/vmware-tanzu/velero/blob/master/site/docs/master/build-from-source.md and https://github.com/vmware-tanzu/velero/blob/master/site/docs/v1.2.0/build-from-source.md -- to reflect the Specifically, under the "Making images and updating Velero", we need to revise the instructions to cover the manifest flow. At a minimum, we need to indicate that FWIW, the command I use for building and pushing a container image was previously:
and will now be:
So if you want to include that in the doc as an example all-encompassing command, that would be great too. |
Signed-off-by: Prajyot Parab <[email protected]>
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 second Steve's request for some documentation changes, and there's a TODO comment in the Makefile that can be removed now that multiarch manifests are being implemented in this PR.
Once those things are done, I'm good to approve of this change.
Signed-off-by: Prajyot Parab <[email protected]>
Signed-off-by: Prajyot Parab <[email protected]>
Signed-off-by: Prajyot Parab <[email protected]>
@skriss @nrb I updated the above-mentioned docs and added them to this PR. Do let me know in case of any issues with the same. |
@Prajyot-Parab thanks for the docs updates, will look shortly. Just a note on timing - given that most of the Velero maintainers are about to head out of office for the holidays, we're probably going to defer merging this until the new year. From my point of view, the code looks in good shape (I'll take one more look today) so it should be good to go when we pick it up in 2020. |
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.
LGTM. @nrb I'd appreciate a once-over from you as well before merge.
Will add to my queue for today. From what I remember before break it should be good, but I'll do one more double check just to refresh my memory. |
@Prajyot-Parab just wanted to circle back here and say thanks for your patience, and for seeing this through! |
closes #1645