-
Notifications
You must be signed in to change notification settings - Fork 102
Add bootc image reference #1321
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
base: main
Are you sure you want to change the base?
Add bootc image reference #1321
Conversation
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: bshephar The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
c02dfa9 to
e320a18
Compare
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/b2a7f196aab34a5da9b3d0e5840c74b9 ✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 54m 58s |
|
/test openstack-operator-build-deploy-kuttl |
1 similar comment
|
/test openstack-operator-build-deploy-kuttl |
|
recheck FAILURE |
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/83b1f4bb3c79438e81bcbac3ef97c6dd ✔️ openstack-k8s-operators-content-provider SUCCESS in 3h 23m 34s |
|
Unrelated failures: |
e320a18 to
c016d45
Compare
52b68f7 to
c751d7d
Compare
|
+1 from me but adding someone from the core team to approve |
|
Does this by any chance need a change to |
|
looks good to me, but I'd say lets wait for it to land after the FR2 branching |
slagle
left a comment
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 think we might want to hold on this until we have a targeted release (FR3 perhaps), or at least a plan for how this would be set downstream.
|
/test openstack-operator-build-deploy-kuttl |
c751d7d to
edf7cc5
Compare
Indeed, thanks. I've updated that reference now. |
|
/hold |
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/8a7e81f5cf344053aa42e0e8ec46bc3b ✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 51m 11s |
edf7cc5 to
702b910
Compare
702b910 to
d95f603
Compare
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/f5d13c3eea9f4f5189e97bd00d1af6cb ✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 57m 09s |
d95f603 to
efbeaf9
Compare
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/024472b06ee04063a8fb671099f882a9 ✔️ openstack-k8s-operators-content-provider SUCCESS in 3h 37m 49s |
efbeaf9 to
ca09912
Compare
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/e57172d5fc37470e9c97b47ea2dfb6ea ✔️ openstack-k8s-operators-content-provider SUCCESS in 3h 33m 32s |
ca09912 to
4fc43f3
Compare
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/b2f3fda118804bd79cfdd122a8eef28b ✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 53m 35s |
To support image mode RHEL deployments, this change adds the reference to the bootc container image. Jira: https://issues.redhat.com/browse/OSPRH-14326 Signed-off-by: Brendan Shephard <bshephar@redhat.com>
4fc43f3 to
0aebc58
Compare
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/db6b5fd20f934ddbafdf79b278765451 ✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 51m 46s |
| BarbicanAPIImage *string `json:"barbicanAPIImage,omitempty"` | ||
| BarbicanKeystoneListenerImage *string `json:"barbicanKeystoneListenerImage,omitempty"` | ||
| BarbicanWorkerImage *string `json:"barbicanWorkerImage,omitempty"` | ||
| BootcOsContainerImage *string `json:"bootcOsContainerImage,omitempty"` |
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.
Not sure why we would need this? Can we not leverage the same OsContainerImage for this? Having both bootc and non-bootc container images in OpenStackVersion does not look like a good design. If we expect customers to use nodesets with both bootc and non-bootc images in a deployment, they've to patch nodesets I think.
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.
Hey Rabi,
It has been 9 months since I've looked at this. But I believe the issue is that OsContainerImage refers to the image that contains the qcow2 file that's used to provision nodes with Metal3. Whereas the variable I was adding here refers specifically to the bootc container image for the OS. So for example, here:
https://github.com/openstack-k8s-operators/openstack-operator/pull/1321/files#diff-a8669e419dcd80822e0cf7a87d6d1c9444012a2a58b7df32d1d17059aee51d83R330
That Ansible variable would be used to lifecycle the OS via bootc update or bootc switch for example. You wouldn't use this variable to Provision nodes in the NodeSet via Metal3 since the image doesn't contain the qcow2 file.
I can rebase this if you want to actively discuss and pursue this. I'm not too sure how your requirements have evolved since I left, but I'm still happy to work with you on it if it's something you need.
|
So, the way I had envisioned this working was: We would ship two artifacts:
From a user perspective. They would consume the QCOW2 image to build their nodes during the provisioning process. During the Ansible deployment of the The value of doing it that way is that the user never needs to build their own QCOW2 image, since that is quite an arduous experience. Since they would need to build the QCOW2, package it into the container, publish the container somewhere, etc. There's some complexity in making this compatible with Metal3 - or at least there was. So, by having the separation of these variables, you're allowing the user to easily build their own The benefit from a Red Hat support perspective is that users are always using a known good and tested base image during the deployment. So it narrows the scope of troubleshooting and should ensure that you have bootable nodes 90% of the time, with the scope of user modified changes being limited to the |
|
PR needs rebase. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
OK, I'm not sure if we should keep two container images for bootc in openstackversion. That can also cause confusion and inconsistency. From long term perspective when we move to BMHs/metal3 directly consuming container images, just a new OsContainerImage during update would suffice. Till that time IMO we should just provide an ansible var for a new image if the user wants os update during minor update (using bootc switch and update). |
How do you plan to ship this? I guess that's the question. You will have two bespoke images regardless. One for the qcow2, one for the bootc image. Even for the major version upgrades they still need to change the Ansible var in that case. Or, we need a way of doing it for them. Once the nodes are physically provisioned, everything else will be via bootc upgrade. And the issue becomes that the image that bootc references != OsContainerImage if OsContainerImage is going to point to the container for the qcow2 image. But that's doable without the ref to this image here. Just needs some thought about how the images are shipped, and what that minor and major upgrade path is going to look like. |
Yeah, interim shipping could be adhoc if we support both. Once we move to RHOS19 with RHEL10(bootc) and use bootc deploy interface from ironic as the only supported way, we don't have to maintain both I guess. |
To support image mode RHEL deployments, this change adds the reference to the bootc container image.
Jira: https://issues.redhat.com/browse/OSPRH-14326