projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
12483: Allow seek and write beyond EOF.
[arvados.git]
/
sdk
/
go
/
health
/
aggregator.go
diff --git
a/sdk/go/health/aggregator.go
b/sdk/go/health/aggregator.go
index 334584b6225f98c59bbaa8912550c9566739b109..297a8617084b3247c7b15c18a8ae9c2176224518 100644
(file)
--- a/
sdk/go/health/aggregator.go
+++ b/
sdk/go/health/aggregator.go
@@
-3,6
+3,7
@@
package health
import (
"context"
"encoding/json"
import (
"context"
"encoding/json"
+ "errors"
"fmt"
"net"
"net/http"
"fmt"
"net"
"net/http"
@@
-199,10
+200,14
@@
func (agg *Aggregator) ping(url string, cluster *arvados.Cluster) (result CheckR
err = json.NewDecoder(resp.Body).Decode(&result.Response)
if err != nil {
err = fmt.Errorf("cannot decode response: %s", err)
err = json.NewDecoder(resp.Body).Decode(&result.Response)
if err != nil {
err = fmt.Errorf("cannot decode response: %s", err)
- return
} else if resp.StatusCode != http.StatusOK {
err = fmt.Errorf("HTTP %d %s", resp.StatusCode, resp.Status)
} else if resp.StatusCode != http.StatusOK {
err = fmt.Errorf("HTTP %d %s", resp.StatusCode, resp.Status)
- return
+ } else if h, _ := result.Response["health"].(string); h != "OK" {
+ if e, ok := result.Response["error"].(string); ok && e != "" {
+ err = errors.New(e)
+ } else {
+ err = fmt.Errorf("health=%q in ping response", h)
+ }
}
return
}
}
return
}