mirror of
https://github.com/weaveworks/scope.git
synced 2026-07-28 09:41:57 +00:00
support docker rename events
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user