Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
36d54b20
Commit
36d54b20
authored
May 13, 2015
by
CJ Cullen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove /Validate endpoint
parent
c312d823
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
3 additions
and
146 deletions
+3
-146
apiserver.go
pkg/apiserver/apiserver.go
+0
-6
validator.go
pkg/apiserver/validator.go
+0
-45
validator_test.go
pkg/apiserver/validator_test.go
+0
-68
master.go
pkg/master/master.go
+2
-15
master_test.go
pkg/master/master_test.go
+1
-12
No files found.
pkg/apiserver/apiserver.go
View file @
36d54b20
...
@@ -157,12 +157,6 @@ func (g *APIGroupVersion) InstallREST(container *restful.Container) error {
...
@@ -157,12 +157,6 @@ func (g *APIGroupVersion) InstallREST(container *restful.Container) error {
return
errors
.
NewAggregate
(
registrationErrors
)
return
errors
.
NewAggregate
(
registrationErrors
)
}
}
// TODO: This endpoint is deprecated and should be removed at some point.
// Use "componentstatus" API instead.
func
InstallValidator
(
mux
Mux
,
servers
func
()
map
[
string
]
Server
)
{
mux
.
Handle
(
"/validate"
,
NewValidator
(
servers
))
}
// TODO: document all handlers
// TODO: document all handlers
// InstallSupport registers the APIServer support functions
// InstallSupport registers the APIServer support functions
func
InstallSupport
(
mux
Mux
,
ws
*
restful
.
WebService
)
{
func
InstallSupport
(
mux
Mux
,
ws
*
restful
.
WebService
)
{
...
...
pkg/apiserver/validator.go
View file @
36d54b20
...
@@ -18,7 +18,6 @@ package apiserver
...
@@ -18,7 +18,6 @@ package apiserver
import
(
import
(
"crypto/tls"
"crypto/tls"
"encoding/json"
"fmt"
"fmt"
"io/ioutil"
"io/ioutil"
"net"
"net"
...
@@ -27,7 +26,6 @@ import (
...
@@ -27,7 +26,6 @@ import (
"time"
"time"
"github.com/GoogleCloudPlatform/kubernetes/pkg/probe"
"github.com/GoogleCloudPlatform/kubernetes/pkg/probe"
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"
)
)
// TODO: this basic interface is duplicated in N places. consolidate?
// TODO: this basic interface is duplicated in N places. consolidate?
...
@@ -42,13 +40,6 @@ type Server struct {
...
@@ -42,13 +40,6 @@ type Server struct {
EnableHTTPS
bool
EnableHTTPS
bool
}
}
// validator is responsible for validating the cluster and serving
type
validator
struct
{
// a list of servers to health check
servers
func
()
map
[
string
]
Server
rt
http
.
RoundTripper
}
type
ServerStatus
struct
{
type
ServerStatus
struct
{
Component
string
`json:"component,omitempty"`
Component
string
`json:"component,omitempty"`
Health
string
`json:"health,omitempty"`
Health
string
`json:"health,omitempty"`
...
@@ -96,39 +87,3 @@ func (server *Server) DoServerCheck(rt http.RoundTripper) (probe.Result, string,
...
@@ -96,39 +87,3 @@ func (server *Server) DoServerCheck(rt http.RoundTripper) (probe.Result, string,
}
}
return
probe
.
Success
,
string
(
data
),
nil
return
probe
.
Success
,
string
(
data
),
nil
}
}
func
(
v
*
validator
)
ServeHTTP
(
w
http
.
ResponseWriter
,
r
*
http
.
Request
)
{
verb
:=
"get"
apiResource
:=
""
var
httpCode
int
reqStart
:=
time
.
Now
()
defer
monitor
(
&
verb
,
&
apiResource
,
util
.
GetClient
(
r
),
&
httpCode
,
reqStart
)
reply
:=
[]
ServerStatus
{}
for
name
,
server
:=
range
v
.
servers
()
{
transport
:=
v
.
rt
status
,
msg
,
err
:=
server
.
DoServerCheck
(
transport
)
var
errorMsg
string
if
err
!=
nil
{
errorMsg
=
err
.
Error
()
}
else
{
errorMsg
=
"nil"
}
reply
=
append
(
reply
,
ServerStatus
{
name
,
status
.
String
(),
status
,
msg
,
errorMsg
})
}
data
,
err
:=
json
.
MarshalIndent
(
reply
,
""
,
" "
)
if
err
!=
nil
{
httpCode
=
http
.
StatusInternalServerError
w
.
WriteHeader
(
httpCode
)
w
.
Write
([]
byte
(
err
.
Error
()))
return
}
httpCode
=
http
.
StatusOK
w
.
WriteHeader
(
httpCode
)
w
.
Write
(
data
)
}
// NewValidator creates a validator for a set of servers.
func
NewValidator
(
servers
func
()
map
[
string
]
Server
)
http
.
Handler
{
return
&
validator
{
servers
:
servers
,
rt
:
http
.
DefaultTransport
}
}
pkg/apiserver/validator_test.go
View file @
36d54b20
...
@@ -18,17 +18,12 @@ package apiserver
...
@@ -18,17 +18,12 @@ package apiserver
import
(
import
(
"bytes"
"bytes"
"encoding/json"
"fmt"
"fmt"
"io/ioutil"
"io/ioutil"
"net"
"net/http"
"net/http"
"net/http/httptest"
"strconv"
"testing"
"testing"
"github.com/GoogleCloudPlatform/kubernetes/pkg/probe"
"github.com/GoogleCloudPlatform/kubernetes/pkg/probe"
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"
)
)
type
fakeRoundTripper
struct
{
type
fakeRoundTripper
struct
{
...
@@ -84,66 +79,3 @@ func TestValidate(t *testing.T) {
...
@@ -84,66 +79,3 @@ func TestValidate(t *testing.T) {
}
}
}
}
}
}
func
makeTestValidator
(
servers
map
[
string
]
string
,
rt
http
.
RoundTripper
)
(
http
.
Handler
,
error
)
{
result
:=
map
[
string
]
Server
{}
for
name
,
value
:=
range
servers
{
host
,
port
,
err
:=
net
.
SplitHostPort
(
value
)
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"invalid server spec: %s (%v)"
,
value
,
err
)
}
val
,
err
:=
strconv
.
Atoi
(
port
)
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"invalid server spec: %s (%v)"
,
port
,
err
)
}
result
[
name
]
=
Server
{
Addr
:
host
,
Port
:
val
,
Path
:
"/healthz"
}
}
return
&
validator
{
servers
:
func
()
map
[
string
]
Server
{
return
result
},
rt
:
rt
},
nil
}
func
TestValidator
(
t
*
testing
.
T
)
{
fake
:=
&
fakeRoundTripper
{
resp
:
&
http
.
Response
{
Body
:
ioutil
.
NopCloser
(
bytes
.
NewBufferString
(
"foo"
)),
StatusCode
:
200
,
},
}
validator
,
err
:=
makeTestValidator
(
map
[
string
]
string
{
"foo"
:
"foo.com:80"
,
"bar"
:
"bar.com:8080"
,
},
fake
)
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
testServer
:=
httptest
.
NewServer
(
validator
)
defer
testServer
.
Close
()
resp
,
err
:=
http
.
Get
(
testServer
.
URL
+
"/validatez"
)
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
if
resp
.
StatusCode
!=
http
.
StatusOK
{
t
.
Errorf
(
"unexpected response: %v"
,
resp
.
StatusCode
)
}
defer
resp
.
Body
.
Close
()
data
,
err
:=
ioutil
.
ReadAll
(
resp
.
Body
)
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
var
status
[]
ServerStatus
if
err
:=
json
.
Unmarshal
(
data
,
&
status
);
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
components
:=
util
.
StringSet
{}
for
_
,
s
:=
range
status
{
if
s
.
Err
!=
"nil"
{
t
.
Errorf
(
"Component %v is unhealthy: %v"
,
s
.
Component
,
s
.
Err
)
}
components
.
Insert
(
s
.
Component
)
}
if
len
(
status
)
!=
2
||
!
components
.
Has
(
"foo"
)
||
!
components
.
Has
(
"bar"
)
{
t
.
Errorf
(
"unexpected status: %#v"
,
status
)
}
}
pkg/master/master.go
View file @
36d54b20
...
@@ -41,8 +41,6 @@ import (
...
@@ -41,8 +41,6 @@ import (
"github.com/GoogleCloudPlatform/kubernetes/pkg/auth/authorizer"
"github.com/GoogleCloudPlatform/kubernetes/pkg/auth/authorizer"
"github.com/GoogleCloudPlatform/kubernetes/pkg/auth/handlers"
"github.com/GoogleCloudPlatform/kubernetes/pkg/auth/handlers"
"github.com/GoogleCloudPlatform/kubernetes/pkg/client"
"github.com/GoogleCloudPlatform/kubernetes/pkg/client"
"github.com/GoogleCloudPlatform/kubernetes/pkg/fields"
"github.com/GoogleCloudPlatform/kubernetes/pkg/labels"
"github.com/GoogleCloudPlatform/kubernetes/pkg/master/ports"
"github.com/GoogleCloudPlatform/kubernetes/pkg/master/ports"
"github.com/GoogleCloudPlatform/kubernetes/pkg/registry/componentstatus"
"github.com/GoogleCloudPlatform/kubernetes/pkg/registry/componentstatus"
controlleretcd
"github.com/GoogleCloudPlatform/kubernetes/pkg/registry/controller/etcd"
controlleretcd
"github.com/GoogleCloudPlatform/kubernetes/pkg/registry/controller/etcd"
...
@@ -497,7 +495,7 @@ func (m *Master) init(c *Config) {
...
@@ -497,7 +495,7 @@ func (m *Master) init(c *Config) {
"persistentVolumeClaims"
:
persistentVolumeClaimStorage
,
"persistentVolumeClaims"
:
persistentVolumeClaimStorage
,
"persistentVolumeClaims/status"
:
persistentVolumeClaimStatusStorage
,
"persistentVolumeClaims/status"
:
persistentVolumeClaimStatusStorage
,
"componentStatuses"
:
componentstatus
.
NewStorage
(
func
()
map
[
string
]
apiserver
.
Server
{
return
m
.
getServersToValidate
(
c
,
false
)
}),
"componentStatuses"
:
componentstatus
.
NewStorage
(
func
()
map
[
string
]
apiserver
.
Server
{
return
m
.
getServersToValidate
(
c
)
}),
}
}
apiVersions
:=
[]
string
{}
apiVersions
:=
[]
string
{}
...
@@ -539,8 +537,6 @@ func (m *Master) init(c *Config) {
...
@@ -539,8 +537,6 @@ func (m *Master) init(c *Config) {
m
.
mux
.
HandleFunc
(
"/"
,
apiserver
.
IndexHandler
(
m
.
handlerContainer
,
m
.
muxHelper
))
m
.
mux
.
HandleFunc
(
"/"
,
apiserver
.
IndexHandler
(
m
.
handlerContainer
,
m
.
muxHelper
))
}
}
// TODO: This is now deprecated. Should be removed once client dependencies are gone.
apiserver
.
InstallValidator
(
m
.
muxHelper
,
func
()
map
[
string
]
apiserver
.
Server
{
return
m
.
getServersToValidate
(
c
,
true
)
})
if
c
.
EnableLogsSupport
{
if
c
.
EnableLogsSupport
{
apiserver
.
InstallLogsSupport
(
m
.
muxHelper
)
apiserver
.
InstallLogsSupport
(
m
.
muxHelper
)
}
}
...
@@ -673,7 +669,7 @@ func (m *Master) InstallSwaggerAPI() {
...
@@ -673,7 +669,7 @@ func (m *Master) InstallSwaggerAPI() {
swagger
.
RegisterSwaggerService
(
swaggerConfig
,
m
.
handlerContainer
)
swagger
.
RegisterSwaggerService
(
swaggerConfig
,
m
.
handlerContainer
)
}
}
func
(
m
*
Master
)
getServersToValidate
(
c
*
Config
,
includeNodes
bool
)
map
[
string
]
apiserver
.
Server
{
func
(
m
*
Master
)
getServersToValidate
(
c
*
Config
)
map
[
string
]
apiserver
.
Server
{
serversToValidate
:=
map
[
string
]
apiserver
.
Server
{
serversToValidate
:=
map
[
string
]
apiserver
.
Server
{
"controller-manager"
:
{
Addr
:
"127.0.0.1"
,
Port
:
ports
.
ControllerManagerPort
,
Path
:
"/healthz"
},
"controller-manager"
:
{
Addr
:
"127.0.0.1"
,
Port
:
ports
.
ControllerManagerPort
,
Path
:
"/healthz"
},
"scheduler"
:
{
Addr
:
"127.0.0.1"
,
Port
:
ports
.
SchedulerPort
,
Path
:
"/healthz"
},
"scheduler"
:
{
Addr
:
"127.0.0.1"
,
Port
:
ports
.
SchedulerPort
,
Path
:
"/healthz"
},
...
@@ -700,15 +696,6 @@ func (m *Master) getServersToValidate(c *Config, includeNodes bool) map[string]a
...
@@ -700,15 +696,6 @@ func (m *Master) getServersToValidate(c *Config, includeNodes bool) map[string]a
}
}
serversToValidate
[
fmt
.
Sprintf
(
"etcd-%d"
,
ix
)]
=
apiserver
.
Server
{
Addr
:
addr
,
Port
:
port
,
Path
:
"/v2/keys/"
}
serversToValidate
[
fmt
.
Sprintf
(
"etcd-%d"
,
ix
)]
=
apiserver
.
Server
{
Addr
:
addr
,
Port
:
port
,
Path
:
"/v2/keys/"
}
}
}
if
includeNodes
&&
m
.
nodeRegistry
!=
nil
{
nodes
,
err
:=
m
.
nodeRegistry
.
ListMinions
(
api
.
NewDefaultContext
(),
labels
.
Everything
(),
fields
.
Everything
())
if
err
!=
nil
{
glog
.
Errorf
(
"Failed to list minions: %v"
,
err
)
}
for
ix
,
node
:=
range
nodes
.
Items
{
serversToValidate
[
fmt
.
Sprintf
(
"node-%d"
,
ix
)]
=
apiserver
.
Server
{
Addr
:
node
.
Name
,
Port
:
ports
.
KubeletPort
,
Path
:
"/healthz"
,
EnableHTTPS
:
true
}
}
}
return
serversToValidate
return
serversToValidate
}
}
...
...
pkg/master/master_test.go
View file @
36d54b20
...
@@ -36,18 +36,7 @@ func TestGetServersToValidate(t *testing.T) {
...
@@ -36,18 +36,7 @@ func TestGetServersToValidate(t *testing.T) {
master
.
nodeRegistry
=
registrytest
.
NewMinionRegistry
([]
string
{
"node1"
,
"node2"
},
api
.
NodeResources
{})
master
.
nodeRegistry
=
registrytest
.
NewMinionRegistry
([]
string
{
"node1"
,
"node2"
},
api
.
NodeResources
{})
servers
:=
master
.
getServersToValidate
(
&
config
,
true
)
servers
:=
master
.
getServersToValidate
(
&
config
)
if
len
(
servers
)
!=
7
{
t
.
Errorf
(
"unexpected server list: %#v"
,
servers
)
}
for
_
,
server
:=
range
[]
string
{
"scheduler"
,
"controller-manager"
,
"etcd-0"
,
"etcd-1"
,
"etcd-2"
,
"node-0"
,
"node-1"
}
{
if
_
,
ok
:=
servers
[
server
];
!
ok
{
t
.
Errorf
(
"server list missing: %s"
,
server
)
}
}
servers
=
master
.
getServersToValidate
(
&
config
,
false
)
if
len
(
servers
)
!=
5
{
if
len
(
servers
)
!=
5
{
t
.
Errorf
(
"unexpected server list: %#v"
,
servers
)
t
.
Errorf
(
"unexpected server list: %#v"
,
servers
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment