Skip to content

Commit 16a12d2

Browse files
committed
Refactor multiple functions into restartContainer function
1 parent 7739fa4 commit 16a12d2

File tree

1 file changed

+28
-48
lines changed

1 file changed

+28
-48
lines changed

tests/suite/graceful_recovery_test.go

Lines changed: 28 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@ var _ = Describe("Graceful Recovery test", Ordered, Label("nfr", "graceful-recov
4747
Expect(resourceManager.ApplyFromFiles(files, ns.Name)).To(Succeed())
4848
Expect(resourceManager.WaitForAppsToBeReady(ns.Name)).To(Succeed())
4949

50-
err := waitForWorkingTraffic()
51-
Expect(err).ToNot(HaveOccurred())
50+
Expect(waitForWorkingTraffic()).ToNot(HaveOccurred())
5251
})
5352

5453
AfterAll(func() {
@@ -64,26 +63,22 @@ var _ = Describe("Graceful Recovery test", Ordered, Label("nfr", "graceful-recov
6463
leaseName, err := getLeaderElectionLeaseHolderName()
6564
Expect(err).ToNot(HaveOccurred())
6665

67-
restartNGFProcess()
66+
restartContainer(ngfContainerName)
6867

6968
checkContainerLogsForErrors(podNames[0])
7069

71-
err = waitForLeaderLeaseToChange(leaseName)
72-
Expect(err).ToNot(HaveOccurred())
70+
Expect(waitForLeaderLeaseToChange(leaseName)).ToNot(HaveOccurred())
7371

74-
err = waitForWorkingTraffic()
75-
Expect(err).ToNot(HaveOccurred())
72+
Expect(waitForWorkingTraffic()).ToNot(HaveOccurred())
7673

7774
Expect(resourceManager.DeleteFromFiles(files, ns.Name)).To(Succeed())
7875

79-
err = waitForFailingTraffic()
80-
Expect(err).ToNot(HaveOccurred())
76+
Expect(waitForFailingTraffic()).ToNot(HaveOccurred())
8177

8278
Expect(resourceManager.ApplyFromFiles(files, ns.Name)).To(Succeed())
8379
Expect(resourceManager.WaitForAppsToBeReady(ns.Name)).To(Succeed())
8480

85-
err = waitForWorkingTraffic()
86-
Expect(err).ToNot(HaveOccurred())
81+
Expect(waitForWorkingTraffic()).ToNot(HaveOccurred())
8782
})
8883

8984
It("recovers when nginx container is restarted", func() {
@@ -94,68 +89,53 @@ var _ = Describe("Graceful Recovery test", Ordered, Label("nfr", "graceful-recov
9489
leaseName, err := getLeaderElectionLeaseHolderName()
9590
Expect(err).ToNot(HaveOccurred())
9691

97-
restartNginxContainer()
92+
restartContainer(nginxContainerName)
9893

9994
checkContainerLogsForErrors(podNames[0])
10095

101-
err = waitForLeaderLeaseToChange(leaseName)
102-
Expect(err).ToNot(HaveOccurred())
96+
Expect(waitForLeaderLeaseToChange(leaseName)).ToNot(HaveOccurred())
10397

104-
err = waitForWorkingTraffic()
105-
Expect(err).ToNot(HaveOccurred())
98+
Expect(waitForWorkingTraffic()).ToNot(HaveOccurred())
10699

107100
Expect(resourceManager.DeleteFromFiles(files, ns.Name)).To(Succeed())
108101

109-
err = waitForFailingTraffic()
110-
Expect(err).ToNot(HaveOccurred())
102+
Expect(waitForFailingTraffic()).ToNot(HaveOccurred())
111103

112104
Expect(resourceManager.ApplyFromFiles(files, ns.Name)).To(Succeed())
113105
Expect(resourceManager.WaitForAppsToBeReady(ns.Name)).To(Succeed())
114106

115-
err = waitForWorkingTraffic()
116-
Expect(err).ToNot(HaveOccurred())
107+
Expect(waitForWorkingTraffic()).ToNot(HaveOccurred())
117108
})
118109
})
119110

120-
func restartNginxContainer() {
121-
podNames, err := framework.GetReadyNGFPodNames(k8sClient, ngfNamespace, releaseName, timeoutConfig.GetTimeout)
122-
Expect(err).ToNot(HaveOccurred())
123-
Expect(podNames).ToNot(BeEmpty())
124-
125-
restartCount, err := getContainerRestartCount(nginxContainerName, podNames[0])
126-
Expect(err).ToNot(HaveOccurred())
127-
128-
job, err := runNodeDebuggerJob(podNames[0], "PID=$(pgrep -f \"[n]ginx: master process\") && kill -9 $PID")
129-
Expect(err).ToNot(HaveOccurred())
130-
131-
err = waitForContainerRestart(podNames[0], nginxContainerName, restartCount)
132-
Expect(err).ToNot(HaveOccurred())
133-
134-
// propagation policy is set to delete underlying pod created through job
135-
err = resourceManager.Delete([]client.Object{job}, client.PropagationPolicy(metav1.DeletePropagationBackground))
136-
Expect(err).ToNot(HaveOccurred())
137-
}
111+
func restartContainer(containerName string) {
112+
var jobScript string
113+
if containerName == "nginx" {
114+
jobScript = "PID=$(pgrep -f \"[n]ginx: master process\") && kill -9 $PID"
115+
} else {
116+
jobScript = "PID=$(pgrep -f \"/[u]sr/bin/gateway\") && kill -9 $PID"
117+
}
138118

139-
func restartNGFProcess() {
140119
podNames, err := framework.GetReadyNGFPodNames(k8sClient, ngfNamespace, releaseName, timeoutConfig.GetTimeout)
141120
Expect(err).ToNot(HaveOccurred())
142121
Expect(podNames).ToNot(BeEmpty())
143122

144-
restartCount, err := getContainerRestartCount(ngfContainerName, podNames[0])
123+
restartCount, err := getContainerRestartCount(containerName, podNames[0])
145124
Expect(err).ToNot(HaveOccurred())
146125

147-
job, err := runNodeDebuggerJob(podNames[0], "PID=$(pgrep -f \"/[u]sr/bin/gateway\") && kill -9 $PID")
126+
job, err := runNodeDebuggerJob(podNames[0], jobScript)
148127
Expect(err).ToNot(HaveOccurred())
149128

150-
err = waitForContainerRestart(podNames[0], ngfContainerName, restartCount)
151-
Expect(err).ToNot(HaveOccurred())
129+
Expect(waitForContainerRestart(podNames[0], containerName, restartCount)).ToNot(HaveOccurred())
152130

153131
// propagation policy is set to delete underlying pod created through job
154-
err = resourceManager.Delete([]client.Object{job}, client.PropagationPolicy(metav1.DeletePropagationBackground))
155-
Expect(err).ToNot(HaveOccurred())
132+
Expect(resourceManager.Delete(
133+
[]client.Object{job},
134+
client.PropagationPolicy(metav1.DeletePropagationBackground),
135+
)).ToNot(HaveOccurred())
156136
}
157137

158-
func waitForContainerRestart(ngfPodName string, containerName string, currentRestartCount int) error {
138+
func waitForContainerRestart(ngfPodName, containerName string, currentRestartCount int) error {
159139
ctx, cancel := context.WithTimeout(context.Background(), timeoutConfig.RequestTimeout)
160140
defer cancel()
161141

@@ -217,7 +197,7 @@ func waitForFailingTraffic() error {
217197
)
218198
}
219199

220-
func expectRequestToSucceed(appURL string, address string, responseBodyMessage string) error {
200+
func expectRequestToSucceed(appURL, address string, responseBodyMessage string) error {
221201
status, body, err := framework.Get(appURL, address, timeoutConfig.RequestTimeout)
222202
if status != http.StatusOK {
223203
return errors.New("http status was not 200")
@@ -230,7 +210,7 @@ func expectRequestToSucceed(appURL string, address string, responseBodyMessage s
230210
return err
231211
}
232212

233-
func expectRequestToFail(appURL string, address string, responseBodyMessage string) error {
213+
func expectRequestToFail(appURL, address string, responseBodyMessage string) error {
234214
status, body, err := framework.Get(appURL, address, timeoutConfig.RequestTimeout)
235215
if status != 0 {
236216
return errors.New("expected http status to be 0")

0 commit comments

Comments
 (0)