@@ -46,6 +46,8 @@ import (
4646 "sigs.k8s.io/controller-runtime/pkg/reconcile"
4747)
4848
49+ var defaultMachineRetryIntervalOnBusy = time .Second * 30
50+
4951// IONOSCloudMachineReconciler reconciles a IONOSCloudMachine object
5052type IONOSCloudMachineReconciler struct {
5153 * context.ControllerContext
@@ -391,7 +393,8 @@ func (r *IONOSCloudMachineReconciler) reconcileServer(ctx *context.MachineContex
391393 }
392394
393395 if resp .StatusCode == http .StatusNotFound || (server .Metadata != nil && * server .Metadata .State == STATE_BUSY ) {
394- return & reconcile.Result {RequeueAfter : defaultRetryIntervalOnBusy }, errors .New ("server not yet created" )
396+ ctx .Logger .Info ("server not yet created" )
397+ return & reconcile.Result {RequeueAfter : defaultMachineRetryIntervalOnBusy }, nil
395398 }
396399 ipObtained := false
397400 nics := * server .Entities .Nics .Items
@@ -411,16 +414,18 @@ func (r *IONOSCloudMachineReconciler) reconcileServer(ctx *context.MachineContex
411414 }
412415
413416 if ! ipObtained {
414- return & reconcile.Result {RequeueAfter : defaultRetryIntervalOnBusy }, errors .New ("server does not have an ip yet" )
417+ ctx .Logger .Info ("server does not have an ip yet" )
418+ return & reconcile.Result {RequeueAfter : defaultMachineRetryIntervalOnBusy }, nil
415419 }
416420
421+ conditions .MarkTrue (ctx .IONOSCloudMachine , v1alpha1 .ServerCreatedCondition )
422+
417423 err = r .reconcileFailoverGroups (ctx , server )
418424 if err != nil {
419- return & reconcile.Result {RequeueAfter : defaultRetryIntervalOnBusy }, err
425+ ctx .Logger .Info ("failoverGroup not yet correct assigned" , "err" , err .Error ())
426+ return & reconcile.Result {RequeueAfter : defaultMachineRetryIntervalOnBusy }, nil
420427 }
421428
422- conditions .MarkTrue (ctx .IONOSCloudMachine , v1alpha1 .ServerCreatedCondition )
423-
424429 return nil , nil
425430}
426431
@@ -440,13 +445,13 @@ func (r *IONOSCloudMachineReconciler) reconcileFailoverGroups(ctx *context.Machi
440445 return err
441446 }
442447 ips := * block .Properties .Ips
443- err = ctx .IONOSClient .EnsureAdditionalIPsOnNic (ctx , ctx .IONOSCloudCluster .Spec .DataCenterID , ctx .IONOSCloudMachine .Spec .ProviderID , * serverNic .Id , ips )
448+ //TODO: only once per cluster and change if machine gets delete
449+ lanId := fmt .Sprint (* lanSpec .LanID )
450+ err = ctx .IONOSClient .EnsureFailoverIPsOnLan (ctx , ctx .IONOSCloudCluster .Spec .DataCenterID , lanId , * serverNic .Id , ips )
444451 if err != nil {
445452 return err
446453 }
447- //todo only once per cluster and change if machine gets delete
448- lanId := fmt .Sprint (* lanSpec .LanID )
449- err = ctx .IONOSClient .EnsureFailoverIPsOnLan (ctx , ctx .IONOSCloudCluster .Spec .DataCenterID , lanId , * serverNic .Id , ips )
454+ err = ctx .IONOSClient .EnsureAdditionalIPsOnNic (ctx , ctx .IONOSCloudCluster .Spec .DataCenterID , ctx .IONOSCloudMachine .Spec .ProviderID , * serverNic .Id , ips )
450455 if err != nil {
451456 return err
452457 }
0 commit comments