From 9de9b2c8fe071ac30d8bea62e4a3d35a619d3d39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E6=B4=AA=E8=B4=9E?= Date: Wed, 12 Jul 2023 10:39:50 +0800 Subject: [PATCH] static ip in exclude-ips can be allocated normally when subnet's availableIPs is 0 --- pkg/controller/pod.go | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/pkg/controller/pod.go b/pkg/controller/pod.go index 04c39e002fb..94df6b2383e 100644 --- a/pkg/controller/pod.go +++ b/pkg/controller/pod.go @@ -1773,6 +1773,7 @@ func (c *Controller) getNameByPod(pod *v1.Pod) string { return pod.Name } +// When subnet's v4availableIPs is 0 but still there's available ip in exclude-ips, the static ip in exclude-ips can be allocated normal. func (c *Controller) getNsAvailableSubnets(pod *v1.Pod, podNet *kubeovnNet) ([]*kubeovnNet, error) { var result []*kubeovnNet // keep the annotation subnet of the pod in first position @@ -1798,19 +1799,6 @@ func (c *Controller) getNsAvailableSubnets(pod *v1.Pod, podNet *kubeovnNet) ([]* return nil, err } - switch subnet.Spec.Protocol { - case kubeovnv1.ProtocolIPv4: - fallthrough - case kubeovnv1.ProtocolDual: - if subnet.Status.V4AvailableIPs == 0 { - continue - } - case kubeovnv1.ProtocolIPv6: - if subnet.Status.V6AvailableIPs == 0 { - continue - } - } - result = append(result, &kubeovnNet{ Type: providerTypeOriginal, ProviderName: subnet.Spec.Provider,