Merge pull request #685 from smarterclayton/error_on_empty_service

Cleanly delete service without endpoints key
This commit is contained in:
Daniel Smith 2014-07-29 09:45:31 -07:00
commit e10d85efce

View File

@ -274,6 +274,10 @@ func (registry *EtcdRegistry) GetService(name string) (*api.Service, error) {
return &svc, nil return &svc, nil
} }
func makeServiceEndpointsKey(name string) string {
return "/registry/services/endpoints/" + name
}
// DeleteService deletes a Service specified by its name. // DeleteService deletes a Service specified by its name.
func (registry *EtcdRegistry) DeleteService(name string) error { func (registry *EtcdRegistry) DeleteService(name string) error {
key := makeServiceKey(name) key := makeServiceKey(name)
@ -284,9 +288,12 @@ func (registry *EtcdRegistry) DeleteService(name string) error {
if err != nil { if err != nil {
return err return err
} }
key = "/registry/services/endpoints/" + name key = makeServiceEndpointsKey(name)
_, err = registry.etcdClient.Delete(key, true) _, err = registry.etcdClient.Delete(key, true)
return err if !tools.IsEtcdNotFound(err) {
return err
}
return nil
} }
// UpdateService replaces an existing Service. // UpdateService replaces an existing Service.