Revert "agent: simplify some loops"

This reverts commit b5dbad910c.
This commit is contained in:
Frank Schroeder 2017-10-23 10:08:34 +02:00
parent 67a0689f71
commit 91569a7ceb
No known key found for this signature in database
GPG Key ID: 4D65C6EAEC87DECD
1 changed files with 13 additions and 11 deletions

View File

@ -1620,8 +1620,8 @@ func (a *Agent) RemoveService(serviceID string, persist bool) error {
} }
// Deregister any associated health checks // Deregister any associated health checks
for checkID, check := range a.state.Checks() { for checkID, health := range a.state.Checks() {
if check.ServiceID != serviceID { if health.ServiceID != serviceID {
continue continue
} }
if err := a.RemoveCheck(checkID, persist); err != nil { 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 != "" { if check.ServiceID != "" {
s := a.state.Services()[check.ServiceID] svc, ok := a.state.Services()[check.ServiceID]
if s == nil { if !ok {
return fmt.Errorf("ServiceID %q does not exist", check.ServiceID) return fmt.Errorf("ServiceID %q does not exist", check.ServiceID)
} }
check.ServiceName = s.Service check.ServiceName = svc.Service
} }
a.checkLock.Lock() 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 // unloadServices will deregister all services other than the 'consul' service
// known to the local agent. // known to the local agent.
func (a *Agent) unloadServices() error { func (a *Agent) unloadServices() error {
for id := range a.state.Services() { for _, service := range a.state.Services() {
if err := a.RemoveService(id, false); err != nil { if err := a.RemoveService(service.ID, false); err != nil {
return fmt.Errorf("Failed deregistering service '%s': %v", id, err) return fmt.Errorf("Failed deregistering service '%s': %v", service.ID, err)
} }
} }
return nil return nil
} }
@ -2246,11 +2247,12 @@ func (a *Agent) loadChecks(conf *config.RuntimeConfig) error {
// unloadChecks will deregister all checks known to the local agent. // unloadChecks will deregister all checks known to the local agent.
func (a *Agent) unloadChecks() error { func (a *Agent) unloadChecks() error {
for id := range a.state.Checks() { for _, check := range a.state.Checks() {
if err := a.RemoveCheck(id, false); err != nil { if err := a.RemoveCheck(check.CheckID, false); err != nil {
return fmt.Errorf("Failed deregistering check '%s': %s", id, err) return fmt.Errorf("Failed deregistering check '%s': %s", check.CheckID, err)
} }
} }
return nil return nil
} }