Skip to content

Commit 798440e

Browse files
committed
fix to worked
Signed-off-by: Dmitry Lopatin <dmitry.lopatin@flant.com>
1 parent 7b500d3 commit 798440e

2 files changed

Lines changed: 7 additions & 1 deletion

File tree

images/virtualization-artifact/pkg/controller/vmip/internal/state/state.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import (
3030
"github.com/deckhouse/virtualization-controller/pkg/controller/indexer"
3131
"github.com/deckhouse/virtualization-controller/pkg/controller/ipam"
3232
"github.com/deckhouse/virtualization-controller/pkg/controller/vmip/internal/util"
33+
"github.com/deckhouse/virtualization-controller/pkg/logger"
3334
virtv2 "github.com/deckhouse/virtualization/api/core/v1alpha2"
3435
"github.com/deckhouse/virtualization/api/core/v1alpha2/vmiplcondition"
3536
)
@@ -88,6 +89,10 @@ func (s *state) VirtualMachineIPLease(ctx context.Context) (*virtv2.VirtualMachi
8889
return nil, err
8990
}
9091

92+
if len(leases.Items) > 1 {
93+
logger.FromContext(ctx).Warn("More than one VirtualMachineIPAddressLease found", "count", len(leases.Items))
94+
}
95+
9196
for i, lease := range leases.Items {
9297
boundCondition, exist := conditions.GetCondition(vmiplcondition.BoundType, lease.Status.Conditions)
9398
if exist && boundCondition.Status == metav1.ConditionTrue {

images/virtualization-artifact/pkg/controller/vmiplease/internal/retention_handler.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323

2424
"sigs.k8s.io/controller-runtime/pkg/reconcile"
2525

26+
"github.com/deckhouse/virtualization-controller/pkg/common/ip"
2627
"github.com/deckhouse/virtualization-controller/pkg/controller/conditions"
2728
"github.com/deckhouse/virtualization-controller/pkg/controller/vmiplease/internal/state"
2829
"github.com/deckhouse/virtualization-controller/pkg/logger"
@@ -51,7 +52,7 @@ func (h *RetentionHandler) Handle(ctx context.Context, state state.VMIPLeaseStat
5152
return reconcile.Result{}, err
5253
}
5354

54-
if vmip == nil {
55+
if vmip == nil || vmip.Status.Address != "" && vmip.Status.Address != ip.LeaseNameToIP(lease.Name) {
5556
if lease.Spec.VirtualMachineIPAddressRef.Name != "" {
5657
log.Debug("VirtualMachineIP not found: remove this ref from the spec and retain VMIPLease")
5758
lease.Spec.VirtualMachineIPAddressRef.Name = ""

0 commit comments

Comments
 (0)