diff --git a/probe/docker/registry.go b/probe/docker/registry.go index 962f22b26..b839e86e5 100644 --- a/probe/docker/registry.go +++ b/probe/docker/registry.go @@ -14,6 +14,7 @@ import ( const ( CreateEvent = "create" DestroyEvent = "destroy" + RenameEvent = "rename" StartEvent = "start" DieEvent = "die" PauseEvent = "pause" @@ -238,7 +239,7 @@ func (r *registry) updateImages() error { func (r *registry) handleEvent(event *docker_client.APIEvents) { switch event.Status { - case CreateEvent, StartEvent, DieEvent, DestroyEvent, PauseEvent, UnpauseEvent: + case CreateEvent, RenameEvent, StartEvent, DieEvent, DestroyEvent, PauseEvent, UnpauseEvent: r.updateContainerState(event.ID) } } diff --git a/probe/docker/registry_test.go b/probe/docker/registry_test.go index fefb412d8..1039d85f6 100644 --- a/probe/docker/registry_test.go +++ b/probe/docker/registry_test.go @@ -203,9 +203,22 @@ var ( }, }, } - apiContainer1 = client.APIContainers{ID: "ping"} - apiContainer2 = client.APIContainers{ID: "wiff"} - apiImage1 = client.APIImages{ID: "baz", RepoTags: []string{"bang", "not-chosen"}} + renamedContainer = &client.Container{ + ID: "renamed", + Name: "renamed", + Image: "baz", + State: client.State{Pid: 1, Running: true}, + Config: &client.Config{ + Labels: map[string]string{ + "foo1": "bar1", + "foo2": "bar2", + }, + }, + } + apiContainer1 = client.APIContainers{ID: "ping"} + apiContainer2 = client.APIContainers{ID: "wiff"} + renamedAPIContainer = client.APIContainers{ID: "renamed"} + apiImage1 = client.APIImages{ID: "baz", RepoTags: []string{"bang", "not-chosen"}} ) func newMockClient() *mockDockerClient { @@ -350,5 +363,17 @@ func TestRegistryEvents(t *testing.T) { want := []docker.Container{} check(want) } + + { + mdc.Lock() + mdc.apiContainers = []client.APIContainers{renamedAPIContainer} + mdc.containers[renamedContainer.ID] = renamedContainer + mdc.Unlock() + mdc.send(&client.APIEvents{Status: docker.RenameEvent, ID: renamedContainer.ID}) + runtime.Gosched() + + want := []docker.Container{&mockContainer{renamedContainer}} + check(want) + } }) }