Matthew Booth
Matthew Booth
I'll be honest: I didn't actually realise we have this stuff in code. I don't think any of this should be in code: it's configuration. I don't think we should...
Lets grandfather what's there, but not add to it. If we're not adding to it, I don't think we need to specify a CNI in the api. If we need...
@pierreprinetti I wonder if security groups are another candidate for a multi-machine treatment?
What's the problem with just re-running the reconciliation? The reason I ask is that I'd very much like to split machine creation into multiple parts (e.g. root volume, ports, instance)...
Yes, just return the transient error from the reconciler, log it (but don't write it to FailureMessage), then re-run the reconciler after a back-off.
I've started throwing together how this might look for root volume creation in https://github.com/kubernetes-sigs/cluster-api-provider-openstack/pull/1118. Context: The return type of these 2 reconcile functions is (success, *OpenStackError). success==true indicates to the...
Coincidentally, we were discussing exactly this issue for OpenShift just the other day, and this was our suggestion also. Our reasoning was that the error state for a machine is...
> > > > So if the server enters an error state we don't mark the Machine as failed, but we do set an annotation on it which prevents any...
> However, I'm currently leaning more towards setting the `errorReason` only for those three cases: > > * InstanceStateError > https://github.com/kubernetes-sigs/cluster-api-provider-openstack/blob/f83520c503425512a2efdf0ef55ad4cc85a30902/controllers/openstackmachine_controller.go#L338-L341 > * Unknown instance state > https://github.com/kubernetes-sigs/cluster-api-provider-openstack/blob/f83520c503425512a2efdf0ef55ad4cc85a30902/controllers/openstackmachine_controller.go#L346-L350 > *...
> Just an idea: A different approach would be to set the paused annotation `cluster.x-k8s.io/paused` as it can be easily removed after the `OpenStackMachine` was fixed. Also we could set...