Add arm64 MicroOVN support#833
Conversation
hmlanigan
left a comment
There was a problem hiding this comment.
How can I verify this change works in the real world, not only in unit tests?
| } | ||
|
|
||
| resource "juju_application" "microovn_arm64" { | ||
| count = length(var.microovn_arm64_machine_ids) > 0 ? 1 : 0 |
There was a problem hiding this comment.
question: why is this count instead of units?
suggestion: 1 : 0 should be 1 : null
There was a problem hiding this comment.
count is a terraform meta-argument, unit is a Juju provider attribute inside a juju_application, and count must be a whole number (0, 1, 2, …). null is not valid for count.
|
@hmlanigan @gboutry please review, thanks |
gboutry
left a comment
There was a problem hiding this comment.
This is overall fine to me.
We'll need to sort out the role-distributor situation still.
The part that is more worrisome to me, but not necessarily this PR's concern, is how do we actually manage MicroOVN upgrade over multiple applications?
| } | ||
| } | ||
|
|
||
| resource "juju_integration" "role-distributor-microovn" { |
There was a problem hiding this comment.
WHy are we dropping this integration?
We should have the integration to all microovn apps
When we have a DPU based cluster hardware then we can add functional test in acceptance suite. Currently its not feasible. |
| try: | ||
| self.update_status(context, "Removing units") | ||
| for application, units in self.units_to_remove_by_app.items(): | ||
| for unit in units: | ||
| LOG.debug("Removing unit %s from application %s", unit, application) | ||
| self.jhelper.remove_unit(application, unit, self.model) | ||
| self.update_status(context, "Waiting for units to be removed") | ||
| self.jhelper.wait_units_gone( | ||
| list(units), self.model, self.get_unit_timeout() | ||
| ) | ||
| self.jhelper.wait_application_ready( | ||
| application, | ||
| self.model, | ||
| accepted_status=["active", "unknown"], | ||
| timeout=self.get_unit_timeout(), |
There was a problem hiding this comment.
question: What happens to the terraform state in this instance?
drop the redundant ARM64_APPLICATION constant.
Summary
Adds support for deploying the
microovn-arm64charm on ARM64 DPU nodes. Sunbeam now detects arm64 nodes and deploys the arm64 MicroOVN application with the correct Juju constraints.Changes
microovn-arm64as a separate Juju application for arm64 nodesarch=arm64when deploying arm64 MicroOVN machinesmicroovnandmicroovn-arm64when both are presentLinks
Jira card: OPEN-4508