Skip to content

Commit f459367

Browse files
committed
fix sometimes e2e metallb err
Signed-off-by: clyi <clyi@alauda.io>
1 parent 772490f commit f459367

File tree

2 files changed

+16
-7
lines changed

2 files changed

+16
-7
lines changed

pkg/controller/service.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -195,17 +195,17 @@ func (c *Controller) handleDeleteService(service *vpcService) error {
195195
}
196196

197197
for _, lb := range vpcLB {
198-
if err = c.OVNNbClient.LoadBalancerDeleteVip(lb, vip, ignoreHealthCheck); err != nil {
199-
klog.Errorf("failed to delete vip %s from LB %s: %v", vip, lb, err)
200-
return err
201-
}
202-
203198
if c.config.EnableOVNLBPreferLocal {
204199
if err = c.OVNNbClient.LoadBalancerDeleteIPPortMapping(lb, vip); err != nil {
205200
klog.Errorf("failed to delete ip port mapping for vip %s from LB %s: %v", vip, lb, err)
206201
return err
207202
}
208203
}
204+
205+
if err = c.OVNNbClient.LoadBalancerDeleteVip(lb, vip, ignoreHealthCheck); err != nil {
206+
klog.Errorf("failed to delete vip %s from LB %s: %v", vip, lb, err)
207+
return err
208+
}
209209
}
210210
}
211211

test/e2e/metallb/e2e_test.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ var _ = framework.Describe("[group:metallb]", func() {
7474

7575
var cs clientset.Interface
7676
var nodeNames []string
77-
var clusterName, providerNetworkName, vlanName, subnetName, deployName, containerName, serviceName, containerID, metallbIPPoolName string
77+
var clusterName, providerNetworkName, vlanName, subnetName, deployName, containerName, serviceName, serviceName2, containerID, metallbIPPoolName string
7878
var linkMap map[string]*iproute.Link
7979
var routeMap map[string][]iproute.Route
8080
var subnetClient *framework.SubnetClient
@@ -100,6 +100,7 @@ var _ = framework.Describe("[group:metallb]", func() {
100100
deployName = "deploy-" + framework.RandomSuffix()
101101
metallbIPPoolName = "metallb-ip-pool-" + framework.RandomSuffix()
102102
serviceName = "service-" + framework.RandomSuffix()
103+
serviceName2 = "service2-" + framework.RandomSuffix()
103104

104105
if clusterName == "" {
105106
ginkgo.By("Getting k8s nodes")
@@ -177,6 +178,15 @@ var _ = framework.Describe("[group:metallb]", func() {
177178
clientip = ContainerInspect.NetworkSettings.Networks[dockerNetworkName].IPAddress
178179
})
179180
ginkgo.AfterEach(func() {
181+
ginkgo.By("Delete service")
182+
if serviceName != "" {
183+
f.ServiceClient().DeleteSync(serviceName)
184+
}
185+
186+
if serviceName2 != "" {
187+
f.ServiceClient().DeleteSync(serviceName2)
188+
}
189+
180190
ginkgo.By("Deleting the IPAddressPool for metallb")
181191
f.MetallbClientSet.DeleteIPAddressPool(metallbIPPoolName) // nolint:errcheck
182192

@@ -354,7 +364,6 @@ var _ = framework.Describe("[group:metallb]", func() {
354364
}, "first lb service ip is not empty")
355365

356366
ginkgo.By("Creating the second service for the same deployment")
357-
serviceName2 := "service2-" + framework.RandomSuffix()
358367
service2 := framework.MakeService(serviceName2, corev1.ServiceTypeLoadBalancer, nil, podLabels, ports, "")
359368
service2.Spec.ExternalTrafficPolicy = corev1.ServiceExternalTrafficPolicyTypeLocal
360369
_ = serviceClient.CreateSync(service2, func(s *corev1.Service) (bool, error) {

0 commit comments

Comments
 (0)