Skip to content

Commit 5557443

Browse files
authored
Graceful termination for service connectivity tests (#2611)
1 parent 34a3f19 commit 5557443

File tree

3 files changed

+31
-12
lines changed

3 files changed

+31
-12
lines changed

test/framework/resources/k8s/resources/deployment.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,11 @@ func (d *defaultDeploymentManager) CreateAndWaitTillDeploymentIsReady(deployment
6060
func (d *defaultDeploymentManager) DeleteAndWaitTillDeploymentIsDeleted(deployment *v1.Deployment) error {
6161
ctx := context.Background()
6262
err := d.k8sClient.Delete(ctx, deployment)
63+
64+
if errors.IsNotFound(err) {
65+
return nil
66+
}
67+
6368
if err != nil {
6469
return err
6570
}

test/framework/resources/k8s/resources/service.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,11 @@ func (s *defaultServiceManager) CreateService(ctx context.Context, service *v1.S
7272

7373
func (s *defaultServiceManager) DeleteAndWaitTillServiceDeleted(ctx context.Context, service *v1.Service) error {
7474
err := s.k8sClient.Delete(ctx, service)
75+
76+
if errors.IsNotFound(err) {
77+
return nil
78+
}
79+
7580
if err != nil {
7681
return err
7782
}

test/integration/cni/service_connectivity_test.go

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ const (
3535
)
3636

3737
// Verifies connectivity to deployment behind different service types
38-
var _ = Describe("[CANARY] test service connectivity", func() {
38+
var _ = Describe("[CANARY] test service connectivity", FlakeAttempts(3), func() {
3939
var err error
4040

4141
// Deployment running the http server
@@ -99,7 +99,7 @@ var _ = Describe("[CANARY] test service connectivity", func() {
9999
fmt.Fprintf(GinkgoWriter, "created service\n: %+v\n", service.Status)
100100

101101
By("sleeping for some time to allow service to become ready")
102-
time.Sleep(3 * utils.PollIntervalLong)
102+
time.Sleep(utils.PollIntervalLong)
103103

104104
testerContainer = manifest.NewBusyBoxContainerBuilder(f.Options.TestImageRegistry).
105105
Command([]string{"wget"}).
@@ -145,17 +145,26 @@ var _ = Describe("[CANARY] test service connectivity", func() {
145145
})
146146

147147
JustAfterEach(func() {
148-
err := f.K8sResourceManagers.JobManager().DeleteAndWaitTillJobIsDeleted(testerJob)
149-
Expect(err).ToNot(HaveOccurred())
150-
151-
err = f.K8sResourceManagers.JobManager().DeleteAndWaitTillJobIsDeleted(negativeTesterJob)
152-
Expect(err).ToNot(HaveOccurred())
153148

154-
err = f.K8sResourceManagers.ServiceManager().DeleteAndWaitTillServiceDeleted(context.Background(), service)
155-
Expect(err).ToNot(HaveOccurred())
156-
157-
err = f.K8sResourceManagers.DeploymentManager().DeleteAndWaitTillDeploymentIsDeleted(deployment)
158-
Expect(err).ToNot(HaveOccurred())
149+
if testerJob != nil {
150+
err := f.K8sResourceManagers.JobManager().DeleteAndWaitTillJobIsDeleted(testerJob)
151+
Expect(err).ToNot(HaveOccurred())
152+
}
153+
154+
if negativeTesterJob != nil {
155+
err = f.K8sResourceManagers.JobManager().DeleteAndWaitTillJobIsDeleted(negativeTesterJob)
156+
Expect(err).ToNot(HaveOccurred())
157+
}
158+
159+
if service != nil {
160+
err = f.K8sResourceManagers.ServiceManager().DeleteAndWaitTillServiceDeleted(context.Background(), service)
161+
Expect(err).ToNot(HaveOccurred())
162+
}
163+
164+
if deployment != nil {
165+
err = f.K8sResourceManagers.DeploymentManager().DeleteAndWaitTillDeploymentIsDeleted(deployment)
166+
Expect(err).ToNot(HaveOccurred())
167+
}
159168

160169
// Sleep for IP cooldown period to ensure IPs are added back to datastore for future test runs
161170
time.Sleep(5 * time.Second)

0 commit comments

Comments
 (0)