From 91569a7ceb65c358a67347a815430e1ab6b0d295 Mon Sep 17 00:00:00 2001 From: Frank Schroeder Date: Mon, 23 Oct 2017 10:08:34 +0200 Subject: [PATCH] Revert "agent: simplify some loops" This reverts commit b5dbad910c63b29dadf10731808d6891067a2bfa. --- agent/agent.go | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/agent/agent.go b/agent/agent.go index 40f98c585c..ddd438a6b3 100644 --- a/agent/agent.go +++ b/agent/agent.go @@ -1620,8 +1620,8 @@ func (a *Agent) RemoveService(serviceID string, persist bool) error { } // Deregister any associated health checks - for checkID, check := range a.state.Checks() { - if check.ServiceID != serviceID { + for checkID, health := range a.state.Checks() { + if health.ServiceID != serviceID { continue } if err := a.RemoveCheck(checkID, persist); err != nil { @@ -1653,11 +1653,11 @@ func (a *Agent) AddCheck(check *structs.HealthCheck, chkType *structs.CheckType, } if check.ServiceID != "" { - s := a.state.Services()[check.ServiceID] - if s == nil { + svc, ok := a.state.Services()[check.ServiceID] + if !ok { return fmt.Errorf("ServiceID %q does not exist", check.ServiceID) } - check.ServiceName = s.Service + check.ServiceName = svc.Service } a.checkLock.Lock() @@ -2159,11 +2159,12 @@ func (a *Agent) loadServices(conf *config.RuntimeConfig) error { // unloadServices will deregister all services other than the 'consul' service // known to the local agent. func (a *Agent) unloadServices() error { - for id := range a.state.Services() { - if err := a.RemoveService(id, false); err != nil { - return fmt.Errorf("Failed deregistering service '%s': %v", id, err) + for _, service := range a.state.Services() { + if err := a.RemoveService(service.ID, false); err != nil { + return fmt.Errorf("Failed deregistering service '%s': %v", service.ID, err) } } + return nil } @@ -2246,11 +2247,12 @@ func (a *Agent) loadChecks(conf *config.RuntimeConfig) error { // unloadChecks will deregister all checks known to the local agent. func (a *Agent) unloadChecks() error { - for id := range a.state.Checks() { - if err := a.RemoveCheck(id, false); err != nil { - return fmt.Errorf("Failed deregistering check '%s': %s", id, err) + for _, check := range a.state.Checks() { + if err := a.RemoveCheck(check.CheckID, false); err != nil { + return fmt.Errorf("Failed deregistering check '%s': %s", check.CheckID, err) } } + return nil }