Skip to content

Commit bade31d

Browse files
authored
fix(vmip): fix display of conditions Bound and Attached (#948)
Signed-off-by: Dmitry Lopatin <dmitry.lopatin@flant.com>
1 parent 3b2b9b4 commit bade31d

1 file changed

Lines changed: 32 additions & 45 deletions

File tree

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

Lines changed: 32 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -89,67 +89,54 @@ func (h *LifecycleHandler) Handle(ctx context.Context, state state.VMIPState) (r
8989
needRequeue := false
9090
switch {
9191
case lease == nil && vmipStatus.Address != "":
92-
if vmipStatus.Phase != virtv2.VirtualMachineIPAddressPhasePending {
93-
vmipStatus.Phase = virtv2.VirtualMachineIPAddressPhasePending
94-
conditionBound.Status(metav1.ConditionFalse).
95-
Reason(vmipcondition.VirtualMachineIPAddressLeaseLost).
96-
Message(fmt.Sprintf("VirtualMachineIPAddressLease %s doesn't exist",
97-
ip.IpToLeaseName(vmipStatus.Address)))
98-
}
92+
vmipStatus.Phase = virtv2.VirtualMachineIPAddressPhasePending
93+
conditionBound.Status(metav1.ConditionFalse).
94+
Reason(vmipcondition.VirtualMachineIPAddressLeaseLost).
95+
Message(fmt.Sprintf("VirtualMachineIPAddressLease %s doesn't exist",
96+
ip.IpToLeaseName(vmipStatus.Address)))
9997

10098
case lease == nil:
101-
if vmipStatus.Phase != virtv2.VirtualMachineIPAddressPhasePending {
102-
vmipStatus.Phase = virtv2.VirtualMachineIPAddressPhasePending
103-
conditionBound.Status(metav1.ConditionFalse).
104-
Reason(vmipcondition.VirtualMachineIPAddressLeaseNotFound).
105-
Message("VirtualMachineIPAddressLease is not found")
106-
}
99+
vmipStatus.Phase = virtv2.VirtualMachineIPAddressPhasePending
100+
conditionBound.Status(metav1.ConditionFalse).
101+
Reason(vmipcondition.VirtualMachineIPAddressLeaseNotFound).
102+
Message("VirtualMachineIPAddressLease is not found")
107103

108-
case vm != nil && vm.GetDeletionTimestamp().IsZero():
109-
if vmipStatus.Phase != virtv2.VirtualMachineIPAddressPhaseAttached {
104+
case util.IsBoundLease(lease, vmip):
105+
vmipStatus.Phase = virtv2.VirtualMachineIPAddressPhaseBound
106+
vmipStatus.Address = ip.LeaseNameToIP(lease.Name)
107+
conditionBound.Status(metav1.ConditionTrue).
108+
Reason(vmipcondition.Bound)
109+
110+
if vm != nil && vm.GetDeletionTimestamp().IsZero() {
110111
vmipStatus.Phase = virtv2.VirtualMachineIPAddressPhaseAttached
111112
vmipStatus.VirtualMachine = vm.Name
112113
conditionAttach.Status(metav1.ConditionTrue).
113114
Reason(vmipcondition.Attached)
114115
h.recorder.Eventf(vmip, corev1.EventTypeNormal, virtv2.ReasonAttached, "VirtualMachineIPAddress is attached to %q/%q.", vm.Namespace, vm.Name)
115116
}
116117

117-
case util.IsBoundLease(lease, vmip):
118-
if vmipStatus.Phase != virtv2.VirtualMachineIPAddressPhaseBound {
119-
vmipStatus.Phase = virtv2.VirtualMachineIPAddressPhaseBound
120-
vmipStatus.Address = ip.LeaseNameToIP(lease.Name)
121-
conditionBound.Status(metav1.ConditionTrue).
122-
Reason(vmipcondition.Bound)
123-
}
124-
125118
case lease.Status.Phase == virtv2.VirtualMachineIPAddressLeasePhaseBound:
126-
if vmipStatus.Phase != virtv2.VirtualMachineIPAddressPhasePending {
127-
vmipStatus.Phase = virtv2.VirtualMachineIPAddressPhasePending
128-
log.Warn(fmt.Sprintf("VirtualMachineIPAddressLease %s is bound to another VirtualMachineIPAddress resource: %s/%s",
129-
lease.Name, lease.Spec.VirtualMachineIPAddressRef.Name, lease.Spec.VirtualMachineIPAddressRef.Namespace))
130-
conditionBound.Status(metav1.ConditionFalse).
131-
Reason(vmipcondition.VirtualMachineIPAddressLeaseAlreadyExists).
132-
Message(fmt.Sprintf("VirtualMachineIPAddressLease %s is bound to another VirtualMachineIPAddress resource",
133-
lease.Name))
134-
}
119+
vmipStatus.Phase = virtv2.VirtualMachineIPAddressPhasePending
120+
log.Warn(fmt.Sprintf("VirtualMachineIPAddressLease %s is bound to another VirtualMachineIPAddress resource: %s/%s",
121+
lease.Name, lease.Spec.VirtualMachineIPAddressRef.Name, lease.Spec.VirtualMachineIPAddressRef.Namespace))
122+
conditionBound.Status(metav1.ConditionFalse).
123+
Reason(vmipcondition.VirtualMachineIPAddressLeaseAlreadyExists).
124+
Message(fmt.Sprintf("VirtualMachineIPAddressLease %s is bound to another VirtualMachineIPAddress resource",
125+
lease.Name))
135126

136127
case lease.Spec.VirtualMachineIPAddressRef.Namespace != vmip.Namespace:
137-
if vmipStatus.Phase != virtv2.VirtualMachineIPAddressPhasePending {
138-
vmipStatus.Phase = virtv2.VirtualMachineIPAddressPhasePending
139-
conditionBound.Status(metav1.ConditionFalse).
140-
Reason(vmipcondition.VirtualMachineIPAddressLeaseAlreadyExists).
141-
Message(fmt.Sprintf("The VirtualMachineIPLease %s belongs to a different namespace", lease.Name))
142-
}
128+
vmipStatus.Phase = virtv2.VirtualMachineIPAddressPhasePending
129+
conditionBound.Status(metav1.ConditionFalse).
130+
Reason(vmipcondition.VirtualMachineIPAddressLeaseAlreadyExists).
131+
Message(fmt.Sprintf("The VirtualMachineIPLease %s belongs to a different namespace", lease.Name))
143132
needRequeue = true
144133

145134
default:
146-
if vmipStatus.Phase != virtv2.VirtualMachineIPAddressPhasePending {
147-
vmipStatus.Phase = virtv2.VirtualMachineIPAddressPhasePending
148-
conditionBound.Status(metav1.ConditionFalse).
149-
Reason(vmipcondition.VirtualMachineIPAddressLeaseNotReady).
150-
Message(fmt.Sprintf("VirtualMachineIPAddressLease %s is not ready",
151-
lease.Name))
152-
}
135+
vmipStatus.Phase = virtv2.VirtualMachineIPAddressPhasePending
136+
conditionBound.Status(metav1.ConditionFalse).
137+
Reason(vmipcondition.VirtualMachineIPAddressLeaseNotReady).
138+
Message(fmt.Sprintf("VirtualMachineIPAddressLease %s is not ready",
139+
lease.Name))
153140
}
154141

155142
log.Debug("Set VirtualMachineIP phase", "phase", vmipStatus.Phase)

0 commit comments

Comments
 (0)