INNER CODE UNIT · Go
n
GalleyBytes/terraform-operator · pkg/controllers/terraform_controller.go:1912
n := math.Pow(2, float64(i+3))
backoffTime := math.Ceil(.5 * (n - 1))
time.Sleep(time.Duration(backoffTime) * time.Millisecond)
tf, getResourceErr = r.getTerraformResource(ctx, resourceNamespacedName, 10, logger)
if getResourceErr != nil {
return fmt.Errorf("failed to get latest terraform while updating status: %s", getResourceErr)
}
if desiredStatus != nil {
tf.Status = *desiredStatus
}
}
updateErr = r.Client.Status().Update(ctx, tf)
if updateErr != nil {
logger.V(7).Info(fmt.Sprintf("Retrying to update status because an error has occurred while updating: %s", updateErr))
continue
}
// Confirm the status is up to date