-
Notifications
You must be signed in to change notification settings - Fork 79
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
Enforce update order for OVN for Ctlplane/EDPM #792
Enforce update order for OVN for Ctlplane/EDPM #792
Conversation
/hold |
Build failed (check pipeline). Post https://review.rdoproject.org/zuul/buildset/8e0ea450916246cd80dd8146d3b20e6d ✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 26m 44s |
2df42b5
to
f996cec
Compare
26f8e9f
to
3e0df91
Compare
Build failed (check pipeline). Post https://review.rdoproject.org/zuul/buildset/1683d7919bce48a88c1732103ab81f82 ❌ openstack-k8s-operators-content-provider FAILURE in 11m 16s |
cf31654
to
c67650d
Compare
Build failed (check pipeline). Post https://review.rdoproject.org/zuul/buildset/21aabfd5a3c940a49daa0d26f131d5c3 ❌ openstack-k8s-operators-content-provider FAILURE in 10m 52s |
recheck |
Build failed (check pipeline). Post https://review.rdoproject.org/zuul/buildset/b8c58d7c412e4c1388e0bb7edcdaf75e ✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 50m 37s |
recheck |
c67650d
to
ba53816
Compare
Build failed (check pipeline). Post https://review.rdoproject.org/zuul/buildset/662941fc411642439586560bc4a94706 ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 08m 08s |
recheck |
Build failed (check pipeline). Post https://review.rdoproject.org/zuul/buildset/a0359f9137894b62b3af503929e991b8 ✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 57m 44s |
ba53816
to
74e6417
Compare
Build failed (check pipeline). Post https://review.rdoproject.org/zuul/buildset/7aa36ac7e4c4487c9334f98a072cbaaf ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 01m 10s |
Jira: OSPRH-6732
74e6417
to
98815e3
Compare
98815e3
to
ae9065e
Compare
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.
looks good for me, the only thing I am not sure if I understand correctly is how all those changes in various {service}.go files are related to the PR description :)
in order to ensure update order we need to make sure services have been deployed (ready state, and observed generation checks). |
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.
Looks OK to me.
recheck |
I haven't tried to run it, but looking at the code, the order of updates looks correct. I couldn't figure out from just reading the code how we guarantee that only |
Also trying to follow this. So we set the condition here: But that just prevents the controller from continuing the update until the condition has been satisfied. It seems that the actual update of OVN on the Dataplane would need to be a manual process as described here: So this would happen first and then pause until the condition get satisfied. To satisfy the condition, the image deployed would need to match the image the update is expecting as determined by: Then the update can continue. At least that's my 10 minute read on what's happening here. The answer is that the user will create the deployment limited to the OVN service like:
|
Dataplane updates are manual for GA. There are some Jira's filed (https://issues.redhat.com/browse/OSPRH-6421) which might help us fully streamline the minor update workflow. |
I do think we could also validate based on conditions set on the OpenStackVersion resource that when Dataplane resources get executed we are in the correct state. So for example if we need to just execute an OVN playbook we could have a crude validation on that. The adminstrator could always override this with Ansible, but I think a simple check like this could help us further guard the workflow in the future. |
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
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: dprince, stuggi The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
ee07591
into
openstack-k8s-operators:main
There is no good reason to have this setting set to anything but `false`. If set to `true`, this will render OVN controllers broken until northd on control plane is fully upgraded. Since [1], we guarantee that ovn controllers are always updated before northd. See more details in [2]. [1] openstack-k8s-operators/openstack-operator#792 [2] openstack-k8s-operators/edpm-ansible#651 Depends-On: openstack-k8s-operators/edpm-ansible#651
There is no good reason to have this setting set to anything but `false`. If set to `true`, this will render OVN controllers broken until northd on control plane is fully upgraded. Since [1], we guarantee that ovn controllers are always updated before northd. See more details in [2]. [1] openstack-k8s-operators/openstack-operator#792 [2] openstack-k8s-operators/edpm-ansible#651 Depends-On: openstack-k8s-operators/edpm-ansible#651
Enforce update order for OVN for Ctlplane/EDPM
Jira: OSPRH-6732