From 82ed99b6afa9ec67539afd6e3d9e299ea5c4e74b Mon Sep 17 00:00:00 2001 From: Aditya R Date: Mon, 28 Mar 2022 14:57:27 +0530 Subject: [PATCH] event: generate a valid event on container rename operation Following commit ensures that podman generates a valid event on `podman container rename` where event specifies that it is a rename event and container name swtichted to the latest name. Signed-off-by: Aditya R --- libpod/events/config.go | 2 ++ libpod/events/events.go | 2 ++ libpod/runtime_ctr.go | 1 + test/e2e/rename_test.go | 17 +++++++++++++++++ 4 files changed, 22 insertions(+) diff --git a/libpod/events/config.go b/libpod/events/config.go index d88d7b6e33..188d155782 100644 --- a/libpod/events/config.go +++ b/libpod/events/config.go @@ -162,6 +162,8 @@ const ( Refresh Status = "refresh" // Remove ... Remove Status = "remove" + // Rename indicates that a container was renamed + Rename Status = "rename" // Renumber indicates that lock numbers were reallocated at user // request. Renumber Status = "renumber" diff --git a/libpod/events/events.go b/libpod/events/events.go index 16dd6424ef..d7bba7295c 100644 --- a/libpod/events/events.go +++ b/libpod/events/events.go @@ -188,6 +188,8 @@ func StringToStatus(name string) (Status, error) { return Refresh, nil case Remove.String(): return Remove, nil + case Rename.String(): + return Rename, nil case Renumber.String(): return Renumber, nil case Restart.String(): diff --git a/libpod/runtime_ctr.go b/libpod/runtime_ctr.go index fc1a688fb6..8c3d283a59 100644 --- a/libpod/runtime_ctr.go +++ b/libpod/runtime_ctr.go @@ -155,6 +155,7 @@ func (r *Runtime) RenameContainer(ctx context.Context, ctr *Container, newName s return nil, err } + ctr.newContainerEvent(events.Rename) return ctr, nil } diff --git a/test/e2e/rename_test.go b/test/e2e/rename_test.go index c146eb4109..ef90c3f22a 100644 --- a/test/e2e/rename_test.go +++ b/test/e2e/rename_test.go @@ -74,6 +74,23 @@ var _ = Describe("podman rename", func() { Expect(ps.OutputToString()).To(ContainSubstring(newName)) }) + It("Successfully rename a created container and test event generated", func() { + ctrName := "testCtr" + ctr := podmanTest.Podman([]string{"create", "--name", ctrName, ALPINE, "top"}) + ctr.WaitWithDefaultTimeout() + Expect(ctr).Should(Exit(0)) + + newName := "aNewName" + rename := podmanTest.Podman([]string{"rename", ctrName, newName}) + rename.WaitWithDefaultTimeout() + Expect(rename).Should(Exit(0)) + + result := podmanTest.Podman([]string{"events", "--stream=false", "--filter", "container=aNewName"}) + result.WaitWithDefaultTimeout() + Expect(result).Should(Exit(0)) + Expect(result.OutputToString()).To(ContainSubstring("rename")) + }) + It("Successfully rename a running container", func() { ctrName := "testCtr" ctr := podmanTest.Podman([]string{"run", "-d", "--name", ctrName, ALPINE, "top"})