Hi all,
Dmitry Tantsur suggested I bring this question here.
I’m looking at a lifecycle boundary around infrastructure operations that span more than one system, and I’m comparing it with Metal3/BareMetal Operator behaviour.
In BMO, inspection, cleaning and provisioning each have their own lifecycle state. My question is:
When those controller-local states are individually valid, when would a separate wider host-operation completion boundary add useful safety, and when would it simply duplicate BMO’s reconciliation?
A counterexample would be especially useful: is there a BareMetalHost transition or failure mode where treating the locally reported state as completion of the wider operation would be wrong?
This came up while looking at the ExternallyProvisioned → Provisioned lifecycle boundary and related inspection/cleaning behaviour.
Optional context for the wider runtime question I’m testing:
https://github.com/hybridops-tech/hybridops-core/issues/269
A short view is more than enough.
Best,
Jeleel
--
You received this message because you are subscribed to the Google Groups "Metal3 Development List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to metal3-dev+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/metal3-dev/a8882d58-f533-45bb-a91e-1599e0788e3bn%40googlegroups.com.
Red Hat GmbH, Registered seat: Werner von Siemens Ring 12, D-85630 Grasbrunn, Germany Commercial register: Amtsgericht Muenchen/Munich, HRB 153243, Managing Directors: Ryan Barnhart, Charles Cachera, Avril Crosse O'Flaherty
Hi Dmitry,
Thanks. I probably made the wording more abstract than it needed to be.
What I mean is something outside the BareMetalHost/Ironic state machine deciding whether the wider user-requested operation is actually done.
For example, if the request is to prepare a host for a cluster, Metal3/Ironic would still own inspection, cleaning and provisioning. But if the host reaches the expected Metal3 state and a required handoff or readiness check then fails, I wouldn’t want the wider operation to be reported as complete.
So the question is really whether having that outer completion check is useful around Metal3, or whether the BareMetalHost state should normally be enough and anything outside it should just react to that state.
If you think the latter is the better model, or there’s a case where the outer check would just duplicate Metal3, that would be useful to understand.
Jeleel