mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-01 15:58:37 +00:00
Fixes golint errors in pkg/health
This commit is contained in:
parent
a28e900d46
commit
f368e4be68
@ -22,18 +22,25 @@ import (
|
||||
"github.com/golang/glog"
|
||||
)
|
||||
|
||||
// Status is a enum type which describes a health status of a container.
|
||||
type Status int
|
||||
|
||||
// These are the valid values of type Status.
|
||||
const (
|
||||
Healthy Status = iota
|
||||
Unhealthy
|
||||
Unknown
|
||||
)
|
||||
|
||||
// HTTPGetInterface is an abstract interface for testability. It abstracts the interface of http.Client.Get.
|
||||
type HTTPGetInterface interface {
|
||||
Get(url string) (*http.Response, error)
|
||||
}
|
||||
|
||||
// Check checks if GET request to the url succeeds.
|
||||
// If the HTTP response code is successful, it returns Healthy.
|
||||
// If the HTTP response code is unsuccessful, it returns Unhealthy.
|
||||
// And it return Unknown and err if the HTTP communication itself fails.
|
||||
func Check(url string, client HTTPGetInterface) (Status, error) {
|
||||
res, err := client.Get(url)
|
||||
if res.Body != nil {
|
||||
@ -44,8 +51,7 @@ func Check(url string, client HTTPGetInterface) (Status, error) {
|
||||
}
|
||||
if res.StatusCode >= http.StatusOK && res.StatusCode < http.StatusBadRequest {
|
||||
return Healthy, nil
|
||||
} else {
|
||||
glog.V(1).Infof("Health check failed for %s, Response: %v", url, *res)
|
||||
return Unhealthy, nil
|
||||
}
|
||||
glog.V(1).Infof("Health check failed for %s, Response: %v", url, *res)
|
||||
return Unhealthy, nil
|
||||
}
|
||||
|
@ -25,6 +25,7 @@ import (
|
||||
"github.com/golang/glog"
|
||||
)
|
||||
|
||||
// HealthChecker hides implementation details of how to check if the container is healthy.
|
||||
type HealthChecker interface {
|
||||
HealthCheck(container api.Container) (Status, error)
|
||||
}
|
||||
@ -45,6 +46,8 @@ type MuxHealthChecker struct {
|
||||
checkers map[string]HealthChecker
|
||||
}
|
||||
|
||||
// HealthCheck delegates the health-checking of the container to one of the bundled implementations.
|
||||
// It chooses an implementation according to container.LivenessProbe.Type.
|
||||
func (m *MuxHealthChecker) HealthCheck(container api.Container) (Status, error) {
|
||||
checker, ok := m.checkers[container.LivenessProbe.Type]
|
||||
if !ok || checker == nil {
|
||||
@ -69,6 +72,7 @@ func (h *HTTPHealthChecker) findPort(container api.Container, portName string) i
|
||||
return -1
|
||||
}
|
||||
|
||||
// HealthCheck checks if the container is healthy by trying sending HTTP Get requests to the container.
|
||||
func (h *HTTPHealthChecker) HealthCheck(container api.Container) (Status, error) {
|
||||
params := container.LivenessProbe.HTTPGet
|
||||
if params == nil {
|
||||
|
@ -23,6 +23,7 @@ import (
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
|
||||
)
|
||||
|
||||
// fakeHTTPClient is a face implementation of HTTPGetInterface.
|
||||
type fakeHTTPClient struct {
|
||||
req string
|
||||
res http.Response
|
||||
|
Loading…
Reference in New Issue
Block a user