-
Notifications
You must be signed in to change notification settings - Fork 179
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
Change to GHCR image path #348
Change to GHCR image path #348
Conversation
@zshi-redhat I saved a new release "draft" v3.3.2 to this repository if you agree with this patch. Feel free to publish it. When you are done, I will update the rest of the links in this PR. |
@adrianchiris Could you take a look at the daft release I created and if you approve of it, publish it? The reason I want a new release to be created is to invoke the Github workflow to create a new tagged release package. I will then update this PR pointing to the newly created GHCR image. |
done ! |
@adrianchiris Needed to add additional arch's to make this PR consistent. I also added creation of a 'stable' tag to allow us not to keep updating the k8 deployments & docs but also to allow consumers to stick to releases but not the latest. See commit message for more details. Do you have HW to test the ARM image? |
@martinkennelly Just back from PTO, what else need to be done here? looks like the v3.2.2 release has been published. |
@zshi-redhat I think we are fine for review now. |
There is a risk here if for some reason we need to update the yaml for a new release, then users who have an older template running with stable, would unexpectedly fail.
I have hardware to check if the ARM image runs but not with sriov , k8s |
@martinkennelly I have build the Dockerfile.arm64 and ran DP
|
How do we expect user to run the stable deployment? Option A:
Option B:
For A, we need to push the image url with release tag and update the daemonset yaml for each tagged release. |
I think I understand your concern. Ill give you an example to show I understand. If we have a "stable" tag and a consumer consumes this tag for SRIOV DP v3.x.x, tests it, works fine, but later on we change a bunch of things in V4 of this software and now that consumers deployment could possibly break. So, what we need is a Version X stable tag? so "V3" tag instead of "stable" and this tag would consume all updates for V3. I think this is a better idea than having a "stable" tag covering all future tagged releases. Thanks @adrianchiris As Zenghui said, we would also need to change the image pull policy to guarantee they are getting the latest "V3". @zshi-redhat WDYT? I think, its more conservative to have a MAJOR version number tag that consumes all updates for a particular major version of this project.. |
Agree, so we will have the following: master image: latest x86 tagged image: specific tag (e.g. v3.1) x86 |
@martinkennelly I somewhat like the idea of 'Version X' stable tag. However I think i understand that a bit differently than @zshi-redhat . Could you pleas clarify, as for me it would look like (following the @zshi-redhat example here): master image: latest x86 tagged image: specific tag (e.g. v3.1) x86 Am I correct? If so, this brings a question here - how long would you like to support previous version after new version is being released (in our example how long would you like to support V3 if V4 was already released)? By 'support' I mean building the images, backporting bugfixes, etc.). |
username: ${{ github.repository_owner }} | ||
password: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Build and push sriov-network-device-plugin |
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.
naive question, what will actually cause the image to be built for ARM64 ?
previously, in travis, you would have asked for an arm64/ppc VM and just build your image there.
With GH actions you get a x86_64 VM and run docker build.
while buildx supports multi-platform build, you need to explicitly request for it right ?
Here is what i found : https://github.com/docker/build-push-action/blob/master/docs/advanced/multi-platform.md
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.
@adrianchiris You're correct. It wasn't correct originally. Corrected now.
should we perhaps aim to split this PR to:
|
3f37ecd
to
f540f00
Compare
@adrianchiris I reverted the "stable" tag changes to allow for more discussion on what we want to support in the future and not to delay this PR. I will open an issue to continue this discussion when this PR has concluded. See commits for delta from your original review. I tested this change on my fork and it produced the following artifacts: https://github.com/martinkennelly/sriov-network-device-plugin/pkgs/container/sriov-network-device-plugin/versions |
Add workflows for ARM & ppc64le image creation. Create new "stable" image tag for each arch which can allow anyone consuming our software to stick to a static image tag. Set K8 artifacts images to reference GHCR. Update README and K8 artifacts to consume GHCR image. Signed-off-by: Martin Kennelly <martin.kennelly@intel.com>
Utilise emulate to build POWER8/ARM images on x86 host. Signed-off-by: Martin Kennelly <mkennell@pm.me>
Signed-off-by: Martin Kennelly <mkennell@redhat.com>
Signed-off-by: Martin Kennelly <mkennell@redhat.com>
f540f00
to
830eabc
Compare
rebased against master |
LGTM, thanks Martin ! |
Signed-off-by: Martin Kennelly martin.kennelly@intel.com
@zshi-redhat I can make further updates to this by creating a new tagged release, so we can update the rest of the deployment artifacts. Currently, we only have a version package for 'latest'.