Commit de33a618 authored by Kubernetes Submit Queue's avatar Kubernetes Submit Queue Committed by GitHub

Merge pull request #38603 from sttts/sttts-repair-healthz-ping

Automatic merge from submit-queue Re-add /healthz/ping handler in genericapiserver The ping handler was removed through https://github.com/kubernetes/kubernetes/commit/f56cbfa8d58488fc67ffab902cc2e0df0b5e29e5#diff-c47934bf31679532191ed2b519d74399L233 (in case `c.Tunneler` was disabled).
parents 59c31373 e1f0bdbf
...@@ -59,6 +59,7 @@ import ( ...@@ -59,6 +59,7 @@ import (
"k8s.io/kubernetes/pkg/genericapiserver/options" "k8s.io/kubernetes/pkg/genericapiserver/options"
"k8s.io/kubernetes/pkg/genericapiserver/routes" "k8s.io/kubernetes/pkg/genericapiserver/routes"
genericvalidation "k8s.io/kubernetes/pkg/genericapiserver/validation" genericvalidation "k8s.io/kubernetes/pkg/genericapiserver/validation"
"k8s.io/kubernetes/pkg/healthz"
"k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/runtime"
certutil "k8s.io/kubernetes/pkg/util/cert" certutil "k8s.io/kubernetes/pkg/util/cert"
"k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/sets"
...@@ -124,6 +125,8 @@ type Config struct { ...@@ -124,6 +125,8 @@ type Config struct {
// DiscoveryAddresses is used to build the IPs pass to discovery. If nil, the ExternalAddress is // DiscoveryAddresses is used to build the IPs pass to discovery. If nil, the ExternalAddress is
// always reported // always reported
DiscoveryAddresses DiscoveryAddresses DiscoveryAddresses DiscoveryAddresses
// The default set of healthz checks. There might be more added via AddHealthzChecks dynamically.
HealthzChecks []healthz.HealthzChecker
// LegacyAPIGroupPrefixes is used to set up URL parsing for authorization and for validating requests // LegacyAPIGroupPrefixes is used to set up URL parsing for authorization and for validating requests
// to InstallLegacyAPIGroup. New API servers don't generally have legacy groups at all. // to InstallLegacyAPIGroup. New API servers don't generally have legacy groups at all.
LegacyAPIGroupPrefixes sets.String LegacyAPIGroupPrefixes sets.String
...@@ -198,6 +201,7 @@ func NewConfig() *Config { ...@@ -198,6 +201,7 @@ func NewConfig() *Config {
RequestContextMapper: api.NewRequestContextMapper(), RequestContextMapper: api.NewRequestContextMapper(),
BuildHandlerChainsFunc: DefaultBuildHandlerChain, BuildHandlerChainsFunc: DefaultBuildHandlerChain,
LegacyAPIGroupPrefixes: sets.NewString(DefaultLegacyAPIPrefix), LegacyAPIGroupPrefixes: sets.NewString(DefaultLegacyAPIPrefix),
HealthzChecks: []healthz.HealthzChecker{healthz.PingHealthz},
EnableIndex: true, EnableIndex: true,
EnableSwaggerSupport: true, EnableSwaggerSupport: true,
...@@ -523,6 +527,7 @@ func (c completedConfig) New() (*GenericAPIServer, error) { ...@@ -523,6 +527,7 @@ func (c completedConfig) New() (*GenericAPIServer, error) {
openAPIConfig: c.OpenAPIConfig, openAPIConfig: c.OpenAPIConfig,
postStartHooks: map[string]postStartHookEntry{}, postStartHooks: map[string]postStartHookEntry{},
healthzChecks: c.HealthzChecks,
} }
s.HandlerContainer = mux.NewAPIContainer(http.NewServeMux(), c.Serializer) s.HandlerContainer = mux.NewAPIContainer(http.NewServeMux(), c.Serializer)
......
...@@ -287,6 +287,14 @@ func TestPrepareRun(t *testing.T) { ...@@ -287,6 +287,14 @@ func TestPrepareRun(t *testing.T) {
resp, err = http.Get(server.URL + "/swaggerapi/") resp, err = http.Get(server.URL + "/swaggerapi/")
assert.NoError(err) assert.NoError(err)
assert.Equal(http.StatusOK, resp.StatusCode) assert.Equal(http.StatusOK, resp.StatusCode)
// healthz checks are installed in PrepareRun
resp, err = http.Get(server.URL + "/healthz")
assert.NoError(err)
assert.Equal(http.StatusOK, resp.StatusCode)
resp, err = http.Get(server.URL + "/healthz/ping")
assert.NoError(err)
assert.Equal(http.StatusOK, resp.StatusCode)
} }
// TestCustomHandlerChain verifies the handler chain with custom handler chain builder functions. // TestCustomHandlerChain verifies the handler chain with custom handler chain builder functions.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment