Skip to content

Commit

Permalink
Stop server gracefully
Browse files Browse the repository at this point in the history
Signed-off-by: Derek Nola <derek.nola@suse.com>
  • Loading branch information
dereknola committed Jan 10, 2023
1 parent 327850c commit 5709c3b
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 4 deletions.
18 changes: 17 additions & 1 deletion tests/integration/integration.go
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,23 @@ func K3sStartServer(inputArgs ...string) (*K3sServer, error) {
return &K3sServer{cmd, f}, err
}

// K3sKillServer terminates the running K3s server and its children
// K3sStopServer gracefully stops the running K3s server and does not kill its children.
// Equivalent to stoping the K3s service
func K3sStopServer(server *K3sServer) error {
if server.log != nil {
server.log.Close()
}
if err := server.cmd.Process.Kill(); err != nil {
return errors.Wrap(err, "failed to kill k3s process")
}
if _, err := server.cmd.Process.Wait(); err != nil {
return errors.Wrap(err, "failed to wait for k3s process exit")
}
return nil
}

// K3sKillServer terminates the running K3s server and its children.
// Equivalent to k3s-killall.sh
func K3sKillServer(server *K3sServer) error {
if server.log != nil {
server.log.Close()
Expand Down
6 changes: 3 additions & 3 deletions tests/integration/startup/startup_int_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -226,11 +226,11 @@ var _ = Describe("startup tests", Ordered, func() {
To(ContainSubstring("pod/dummy created"))
Eventually(func() (string, error) {
return testutil.K3sCmd("kubectl get event -n kube-system --field-selector involvedObject.name=dummy")
}, "20s", "4s").Should(ContainSubstring("Started container dummy"))
}, "60s", "5s").Should(ContainSubstring("Started container dummy"))
})
It("restarts the server", func() {
var err error
Expect(testutil.K3sKillServer(startupServer)).To(Succeed())
Expect(testutil.K3sStopServer(startupServer)).To(Succeed())
startupServer, err = testutil.K3sStartServer(startupServerArgs...)
Expect(err).ToNot(HaveOccurred())
Eventually(func() error {
Expand Down Expand Up @@ -260,7 +260,7 @@ var _ = AfterEach(func() {
var _ = AfterSuite(func() {
if !testutil.IsExistingServer() {
if failed {
testutil.K3sDumpLog(startupServer)
testutil.K3sSaveLog(startupServer, false)
Expect(testutil.K3sKillServer(startupServer)).To(Succeed())
}
Expect(testutil.K3sCleanup(testLock, "")).To(Succeed())
Expand Down

0 comments on commit 5709c3b

Please sign in to comment.