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 <arajan@redhat.com>
This commit is contained in:
Aditya R 2022-03-28 14:57:27 +05:30
parent 0ebf0bc560
commit 82ed99b6af
No known key found for this signature in database
GPG key ID: 8E5A8A19DF7C8673
4 changed files with 22 additions and 0 deletions

View file

@ -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"

View file

@ -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():

View file

@ -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
}

View file

@ -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"})