Merge pull request #2444 from dongluochen/containerRefresh

Listen to health_status events
This commit is contained in:
Nishant Totla 2016-08-17 16:20:43 -07:00 committed by GitHub
commit 5e2ae22513
2 changed files with 9 additions and 4 deletions

View File

@ -714,9 +714,8 @@ func (e *Engine) refreshVolume(IDOrName string) error {
delete(e.volumes, IDOrName) delete(e.volumes, IDOrName)
e.Unlock() e.Unlock()
return nil return nil
} else {
return err
} }
return err
} }
e.Lock() e.Lock()
@ -1254,8 +1253,13 @@ func (e *Engine) handler(msg events.Message) error {
case "image": case "image":
e.RefreshImages() e.RefreshImages()
case "container": case "container":
switch msg.Action { action := msg.Action
case "die", "kill", "oom", "pause", "start", "restart", "stop", "unpause", "rename", "update": // healthcheck events are like 'health_status: unhealthy'
if strings.HasPrefix(action, "health_status") {
action = "health_status"
}
switch action {
case "die", "kill", "oom", "pause", "start", "restart", "stop", "unpause", "rename", "update", "health_status":
e.refreshContainer(msg.ID, true) e.refreshContainer(msg.ID, true)
default: default:
e.refreshContainer(msg.ID, false) e.refreshContainer(msg.ID, false)

View File

@ -185,6 +185,7 @@ function containerRunning() {
# Bring up one manager, make sure it becomes primary. # Bring up one manager, make sure it becomes primary.
swarm_manage --replication --replication-ttl "4s" --advertise 127.0.0.1:$SWARM_BASE_PORT "$NODE_1_URL" swarm_manage --replication --replication-ttl "4s" --advertise 127.0.0.1:$SWARM_BASE_PORT "$NODE_1_URL"
run docker -H ${SWARM_HOSTS[0]} info run docker -H ${SWARM_HOSTS[0]} info
echo "$output"
[[ "${output}" == *"Role: primary"* ]] [[ "${output}" == *"Role: primary"* ]]
# Fire up a second manager. Ensure it's a replica forwarding to the right primary. # Fire up a second manager. Ensure it's a replica forwarding to the right primary.