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
11f97335
Commit
11f97335
authored
Mar 18, 2015
by
Brian Grant
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #5587 from nikhiljindal/enable3
Updating integration tests to test both API versions - v1beta1 and 3
parents
97b806e3
7e36bbab
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
66 additions
and
33 deletions
+66
-33
integration.go
cmd/integration/integration.go
+0
-0
v1beta1-controller.json
cmd/integration/v1beta1-controller.json
+0
-0
v1beta3-controller.json
cmd/integration/v1beta3-controller.json
+24
-0
server.go
cmd/kube-apiserver/app/server.go
+0
-1
kubernetes.go
cmd/kubernetes/kubernetes.go
+2
-3
examples_test.go
examples/examples_test.go
+2
-1
test-integration.sh
hack/test-integration.sh
+16
-11
request.go
pkg/client/request.go
+1
-1
services.go
pkg/client/services.go
+20
-2
master.go
pkg/master/master.go
+0
-3
factory.go
plugin/pkg/scheduler/factory/factory.go
+1
-2
auth_test.go
test/integration/auth_test.go
+0
-8
client_test.go
test/integration/client_test.go
+0
-1
No files found.
cmd/integration/integration.go
View file @
11f97335
This diff is collapsed.
Click to expand it.
cmd/integration/controller.json
→
cmd/integration/
v1beta1-
controller.json
View file @
11f97335
File moved
cmd/integration/v1beta3-controller.json
0 → 100644
View file @
11f97335
{
"kind"
:
"ReplicationController"
,
"apiVersion"
:
"v1beta3"
,
"metadata"
:
{
"name"
:
"nginx-controller"
,
"labels"
:
{
"name"
:
"nginx"
}
},
"spec"
:
{
"replicas"
:
2
,
"selector"
:
{
"name"
:
"nginx"
},
"template"
:
{
"metadata"
:
{
"labels"
:
{
"name"
:
"nginx"
}
},
"spec"
:
{
"containers"
:
[{
"name"
:
"nginx"
,
"image"
:
"dockerfile/nginx"
,
"ports"
:
[{
"containerPort"
:
80
}]
}]
}
}
}
}
cmd/kube-apiserver/app/server.go
View file @
11f97335
...
@@ -229,7 +229,6 @@ func (s *APIServer) Run(_ []string) error {
...
@@ -229,7 +229,6 @@ func (s *APIServer) Run(_ []string) error {
admissionController
:=
admission
.
NewFromPlugins
(
client
,
admissionControlPluginNames
,
s
.
AdmissionControlConfigFile
)
admissionController
:=
admission
.
NewFromPlugins
(
client
,
admissionControlPluginNames
,
s
.
AdmissionControlConfigFile
)
config
:=
&
master
.
Config
{
config
:=
&
master
.
Config
{
Client
:
client
,
Cloud
:
cloud
,
Cloud
:
cloud
,
EtcdHelper
:
helper
,
EtcdHelper
:
helper
,
EventTTL
:
s
.
EventTTL
,
EventTTL
:
s
.
EventTTL
,
...
...
cmd/kubernetes/kubernetes.go
View file @
11f97335
...
@@ -76,7 +76,7 @@ func (h *delegateHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) {
...
@@ -76,7 +76,7 @@ func (h *delegateHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) {
}
}
// RunApiServer starts an API server in a go routine.
// RunApiServer starts an API server in a go routine.
func
runApiServer
(
cl
*
client
.
Client
,
etcdClient
tools
.
EtcdClient
,
addr
net
.
IP
,
port
int
,
masterServiceNamespace
string
)
{
func
runApiServer
(
etcdClient
tools
.
EtcdClient
,
addr
net
.
IP
,
port
int
,
masterServiceNamespace
string
)
{
handler
:=
delegateHandler
{}
handler
:=
delegateHandler
{}
helper
,
err
:=
master
.
NewEtcdHelper
(
etcdClient
,
""
)
helper
,
err
:=
master
.
NewEtcdHelper
(
etcdClient
,
""
)
...
@@ -86,7 +86,6 @@ func runApiServer(cl *client.Client, etcdClient tools.EtcdClient, addr net.IP, p
...
@@ -86,7 +86,6 @@ func runApiServer(cl *client.Client, etcdClient tools.EtcdClient, addr net.IP, p
// Create a master and install handlers into mux.
// Create a master and install handlers into mux.
m
:=
master
.
New
(
&
master
.
Config
{
m
:=
master
.
New
(
&
master
.
Config
{
Client
:
cl
,
EtcdHelper
:
helper
,
EtcdHelper
:
helper
,
KubeletClient
:
&
client
.
HTTPKubeletClient
{
KubeletClient
:
&
client
.
HTTPKubeletClient
{
Client
:
http
.
DefaultClient
,
Client
:
http
.
DefaultClient
,
...
@@ -142,7 +141,7 @@ func runControllerManager(machineList []string, cl *client.Client, nodeMilliCPU,
...
@@ -142,7 +141,7 @@ func runControllerManager(machineList []string, cl *client.Client, nodeMilliCPU,
func
startComponents
(
etcdClient
tools
.
EtcdClient
,
cl
*
client
.
Client
,
addr
net
.
IP
,
port
int
)
{
func
startComponents
(
etcdClient
tools
.
EtcdClient
,
cl
*
client
.
Client
,
addr
net
.
IP
,
port
int
)
{
machineList
:=
[]
string
{
"localhost"
}
machineList
:=
[]
string
{
"localhost"
}
runApiServer
(
cl
,
etcdClient
,
addr
,
port
,
*
masterServiceNamespace
)
runApiServer
(
etcdClient
,
addr
,
port
,
*
masterServiceNamespace
)
runScheduler
(
cl
)
runScheduler
(
cl
)
runControllerManager
(
machineList
,
cl
,
*
nodeMilliCPU
,
*
nodeMemory
)
runControllerManager
(
machineList
,
cl
,
*
nodeMilliCPU
,
*
nodeMemory
)
...
...
examples/examples_test.go
View file @
11f97335
...
@@ -100,7 +100,8 @@ func TestExampleObjectSchemas(t *testing.T) {
...
@@ -100,7 +100,8 @@ func TestExampleObjectSchemas(t *testing.T) {
"pod"
:
&
api
.
Pod
{},
"pod"
:
&
api
.
Pod
{},
},
},
"../cmd/integration"
:
{
"../cmd/integration"
:
{
"controller"
:
&
api
.
ReplicationController
{},
"v1beta1-controller"
:
&
api
.
ReplicationController
{},
"v1beta3-controller"
:
&
api
.
ReplicationController
{},
},
},
"../examples/guestbook"
:
{
"../examples/guestbook"
:
{
"frontend-controller"
:
&
api
.
ReplicationController
{},
"frontend-controller"
:
&
api
.
ReplicationController
{},
...
...
hack/test-integration.sh
View file @
11f97335
...
@@ -30,20 +30,25 @@ cleanup() {
...
@@ -30,20 +30,25 @@ cleanup() {
kube::log::status
"Integration test cleanup complete"
kube::log::status
"Integration test cleanup complete"
}
}
"
${
KUBE_ROOT
}
/hack/build-go.sh"
"
$@
"
cmd/integration
runTests
()
{
kube::etcd::start
# Run cleanup to stop etcd on interrupt or other kill signal.
kube::log::status
"Running integration test cases"
trap
cleanup EXIT
KUBE_GOFLAGS
=
"-tags 'integration no-docker' "
\
KUBE_RACE
=
"-race"
\
"
${
KUBE_ROOT
}
/hack/test-go.sh"
test
/integration
kube::log::status
"Running integration test scenario"
kube::etcd::start
"
${
KUBE_OUTPUT_HOSTBIN
}
/integration"
--v
=
2
--apiVersion
=
"
$1
"
kube::log::status
"Running integration test cases"
cleanup
KUBE_GOFLAGS
=
"-tags 'integration no-docker' "
\
}
KUBE_RACE
=
"-race"
\
"
${
KUBE_ROOT
}
/hack/test-go.sh"
test
/integration
kube::log::status
"Running integration test scenario"
"
${
KUBE_ROOT
}
/hack/build-go.sh"
"
$@
"
cmd/integration
"
${
KUBE_OUTPUT_HOSTBIN
}
/integration"
--v
=
2
# Run cleanup to stop etcd on interrupt or other kill signal.
trap
cleanup EXIT
cleanup
runTests
"v1beta1"
runTests
"v1beta3"
pkg/client/request.go
View file @
11f97335
...
@@ -89,7 +89,7 @@ type Request struct {
...
@@ -89,7 +89,7 @@ type Request struct {
baseURL
*
url
.
URL
baseURL
*
url
.
URL
codec
runtime
.
Codec
codec
runtime
.
Codec
// If true, add "?namespace=<namespace>" as a query parameter, if false put ns/<namespace> in path
// If true, add "?namespace=<namespace>" as a query parameter, if false put n
amespace
s/<namespace> in path
// Query parameter is considered legacy behavior
// Query parameter is considered legacy behavior
namespaceInQuery
bool
namespaceInQuery
bool
// If true, lowercase resource prior to inserting into a path, if false, leave it as is. Preserving
// If true, lowercase resource prior to inserting into a path, if false, leave it as is. Preserving
...
...
pkg/client/services.go
View file @
11f97335
...
@@ -78,7 +78,13 @@ func (c *services) Get(name string) (result *api.Service, err error) {
...
@@ -78,7 +78,13 @@ func (c *services) Get(name string) (result *api.Service, err error) {
// Create creates a new service.
// Create creates a new service.
func
(
c
*
services
)
Create
(
svc
*
api
.
Service
)
(
result
*
api
.
Service
,
err
error
)
{
func
(
c
*
services
)
Create
(
svc
*
api
.
Service
)
(
result
*
api
.
Service
,
err
error
)
{
result
=
&
api
.
Service
{}
result
=
&
api
.
Service
{}
err
=
c
.
r
.
Post
()
.
Namespace
(
c
.
ns
)
.
Resource
(
"services"
)
.
Body
(
svc
)
.
Do
()
.
Into
(
result
)
// v1beta3 does not allow POST without a namespace.
needNamespace
:=
!
api
.
PreV1Beta3
(
c
.
r
.
APIVersion
())
namespace
:=
c
.
ns
if
needNamespace
&&
len
(
namespace
)
==
0
{
namespace
=
api
.
NamespaceDefault
}
err
=
c
.
r
.
Post
()
.
Namespace
(
namespace
)
.
Resource
(
"services"
)
.
Body
(
svc
)
.
Do
()
.
Into
(
result
)
return
return
}
}
...
@@ -89,12 +95,24 @@ func (c *services) Update(svc *api.Service) (result *api.Service, err error) {
...
@@ -89,12 +95,24 @@ func (c *services) Update(svc *api.Service) (result *api.Service, err error) {
err
=
fmt
.
Errorf
(
"invalid update object, missing resource version: %v"
,
svc
)
err
=
fmt
.
Errorf
(
"invalid update object, missing resource version: %v"
,
svc
)
return
return
}
}
err
=
c
.
r
.
Put
()
.
Namespace
(
c
.
ns
)
.
Resource
(
"services"
)
.
Name
(
svc
.
Name
)
.
Body
(
svc
)
.
Do
()
.
Into
(
result
)
// v1beta3 does not allow PUT without a namespace.
needNamespace
:=
!
api
.
PreV1Beta3
(
c
.
r
.
APIVersion
())
namespace
:=
c
.
ns
if
needNamespace
&&
len
(
namespace
)
==
0
{
namespace
=
api
.
NamespaceDefault
}
err
=
c
.
r
.
Put
()
.
Namespace
(
namespace
)
.
Resource
(
"services"
)
.
Name
(
svc
.
Name
)
.
Body
(
svc
)
.
Do
()
.
Into
(
result
)
return
return
}
}
// Delete deletes an existing service.
// Delete deletes an existing service.
func
(
c
*
services
)
Delete
(
name
string
)
error
{
func
(
c
*
services
)
Delete
(
name
string
)
error
{
// v1beta3 does not allow DELETE without a namespace.
needNamespace
:=
!
api
.
PreV1Beta3
(
c
.
r
.
APIVersion
())
namespace
:=
c
.
ns
if
needNamespace
&&
len
(
namespace
)
==
0
{
namespace
=
api
.
NamespaceDefault
}
return
c
.
r
.
Delete
()
.
Namespace
(
c
.
ns
)
.
Resource
(
"services"
)
.
Name
(
name
)
.
Do
()
.
Error
()
return
c
.
r
.
Delete
()
.
Namespace
(
c
.
ns
)
.
Resource
(
"services"
)
.
Name
(
name
)
.
Do
()
.
Error
()
}
}
...
...
pkg/master/master.go
View file @
11f97335
...
@@ -65,7 +65,6 @@ import (
...
@@ -65,7 +65,6 @@ import (
// Config is a structure used to configure a Master.
// Config is a structure used to configure a Master.
type
Config
struct
{
type
Config
struct
{
Client
*
client
.
Client
Cloud
cloudprovider
.
Interface
Cloud
cloudprovider
.
Interface
EtcdHelper
tools
.
EtcdHelper
EtcdHelper
tools
.
EtcdHelper
EventTTL
time
.
Duration
EventTTL
time
.
Duration
...
@@ -122,7 +121,6 @@ type Config struct {
...
@@ -122,7 +121,6 @@ type Config struct {
// Master contains state for a Kubernetes cluster master/api server.
// Master contains state for a Kubernetes cluster master/api server.
type
Master
struct
{
type
Master
struct
{
// "Inputs", Copied from Config
// "Inputs", Copied from Config
client
*
client
.
Client
portalNet
*
net
.
IPNet
portalNet
*
net
.
IPNet
cacheTimeout
time
.
Duration
cacheTimeout
time
.
Duration
...
@@ -262,7 +260,6 @@ func New(c *Config) *Master {
...
@@ -262,7 +260,6 @@ func New(c *Config) *Master {
glog
.
V
(
4
)
.
Infof
(
"Setting master service IPs based on PortalNet subnet to %q (read-only) and %q (read-write)."
,
serviceReadOnlyIP
,
serviceReadWriteIP
)
glog
.
V
(
4
)
.
Infof
(
"Setting master service IPs based on PortalNet subnet to %q (read-only) and %q (read-write)."
,
serviceReadOnlyIP
,
serviceReadWriteIP
)
m
:=
&
Master
{
m
:=
&
Master
{
client
:
c
.
Client
,
portalNet
:
c
.
PortalNet
,
portalNet
:
c
.
PortalNet
,
rootWebService
:
new
(
restful
.
WebService
),
rootWebService
:
new
(
restful
.
WebService
),
enableLogsSupport
:
c
.
EnableLogsSupport
,
enableLogsSupport
:
c
.
EnableLogsSupport
,
...
...
plugin/pkg/scheduler/factory/factory.go
View file @
11f97335
...
@@ -201,8 +201,7 @@ func (factory *ConfigFactory) createMinionLW() *cache.ListWatch {
...
@@ -201,8 +201,7 @@ func (factory *ConfigFactory) createMinionLW() *cache.ListWatch {
// Lists all minions and filter out unhealthy ones, then returns
// Lists all minions and filter out unhealthy ones, then returns
// an enumerator for cache.Poller.
// an enumerator for cache.Poller.
func
(
factory
*
ConfigFactory
)
pollMinions
()
(
cache
.
Enumerator
,
error
)
{
func
(
factory
*
ConfigFactory
)
pollMinions
()
(
cache
.
Enumerator
,
error
)
{
allNodes
:=
&
api
.
NodeList
{}
allNodes
,
err
:=
factory
.
Client
.
Nodes
()
.
List
()
err
:=
factory
.
Client
.
Get
()
.
Resource
(
"minions"
)
.
Do
()
.
Into
(
allNodes
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
...
test/integration/auth_test.go
View file @
11f97335
...
@@ -312,7 +312,6 @@ func TestAuthModeAlwaysAllow(t *testing.T) {
...
@@ -312,7 +312,6 @@ func TestAuthModeAlwaysAllow(t *testing.T) {
defer
s
.
Close
()
defer
s
.
Close
()
m
=
master
.
New
(
&
master
.
Config
{
m
=
master
.
New
(
&
master
.
Config
{
Client
:
client
.
NewOrDie
(
&
client
.
Config
{
Host
:
s
.
URL
}),
EtcdHelper
:
helper
,
EtcdHelper
:
helper
,
KubeletClient
:
client
.
FakeKubeletClient
{},
KubeletClient
:
client
.
FakeKubeletClient
{},
EnableLogsSupport
:
false
,
EnableLogsSupport
:
false
,
...
@@ -415,7 +414,6 @@ func TestAuthModeAlwaysDeny(t *testing.T) {
...
@@ -415,7 +414,6 @@ func TestAuthModeAlwaysDeny(t *testing.T) {
defer
s
.
Close
()
defer
s
.
Close
()
m
=
master
.
New
(
&
master
.
Config
{
m
=
master
.
New
(
&
master
.
Config
{
Client
:
client
.
NewOrDie
(
&
client
.
Config
{
Host
:
s
.
URL
}),
EtcdHelper
:
helper
,
EtcdHelper
:
helper
,
KubeletClient
:
client
.
FakeKubeletClient
{},
KubeletClient
:
client
.
FakeKubeletClient
{},
EnableLogsSupport
:
false
,
EnableLogsSupport
:
false
,
...
@@ -483,7 +481,6 @@ func TestAliceNotForbiddenOrUnauthorized(t *testing.T) {
...
@@ -483,7 +481,6 @@ func TestAliceNotForbiddenOrUnauthorized(t *testing.T) {
defer
s
.
Close
()
defer
s
.
Close
()
m
=
master
.
New
(
&
master
.
Config
{
m
=
master
.
New
(
&
master
.
Config
{
Client
:
client
.
NewOrDie
(
&
client
.
Config
{
Host
:
s
.
URL
}),
EtcdHelper
:
helper
,
EtcdHelper
:
helper
,
KubeletClient
:
client
.
FakeKubeletClient
{},
KubeletClient
:
client
.
FakeKubeletClient
{},
EnableLogsSupport
:
false
,
EnableLogsSupport
:
false
,
...
@@ -569,7 +566,6 @@ func TestBobIsForbidden(t *testing.T) {
...
@@ -569,7 +566,6 @@ func TestBobIsForbidden(t *testing.T) {
defer
s
.
Close
()
defer
s
.
Close
()
m
=
master
.
New
(
&
master
.
Config
{
m
=
master
.
New
(
&
master
.
Config
{
Client
:
client
.
NewOrDie
(
&
client
.
Config
{
Host
:
s
.
URL
}),
EtcdHelper
:
helper
,
EtcdHelper
:
helper
,
KubeletClient
:
client
.
FakeKubeletClient
{},
KubeletClient
:
client
.
FakeKubeletClient
{},
EnableLogsSupport
:
false
,
EnableLogsSupport
:
false
,
...
@@ -631,7 +627,6 @@ func TestUnknownUserIsUnauthorized(t *testing.T) {
...
@@ -631,7 +627,6 @@ func TestUnknownUserIsUnauthorized(t *testing.T) {
defer
s
.
Close
()
defer
s
.
Close
()
m
=
master
.
New
(
&
master
.
Config
{
m
=
master
.
New
(
&
master
.
Config
{
Client
:
client
.
NewOrDie
(
&
client
.
Config
{
Host
:
s
.
URL
}),
EtcdHelper
:
helper
,
EtcdHelper
:
helper
,
KubeletClient
:
client
.
FakeKubeletClient
{},
KubeletClient
:
client
.
FakeKubeletClient
{},
EnableLogsSupport
:
false
,
EnableLogsSupport
:
false
,
...
@@ -712,7 +707,6 @@ func TestNamespaceAuthorization(t *testing.T) {
...
@@ -712,7 +707,6 @@ func TestNamespaceAuthorization(t *testing.T) {
defer
s
.
Close
()
defer
s
.
Close
()
m
=
master
.
New
(
&
master
.
Config
{
m
=
master
.
New
(
&
master
.
Config
{
Client
:
client
.
NewOrDie
(
&
client
.
Config
{
Host
:
s
.
URL
}),
EtcdHelper
:
helper
,
EtcdHelper
:
helper
,
KubeletClient
:
client
.
FakeKubeletClient
{},
KubeletClient
:
client
.
FakeKubeletClient
{},
EnableLogsSupport
:
false
,
EnableLogsSupport
:
false
,
...
@@ -827,7 +821,6 @@ func TestKindAuthorization(t *testing.T) {
...
@@ -827,7 +821,6 @@ func TestKindAuthorization(t *testing.T) {
defer
s
.
Close
()
defer
s
.
Close
()
m
=
master
.
New
(
&
master
.
Config
{
m
=
master
.
New
(
&
master
.
Config
{
Client
:
client
.
NewOrDie
(
&
client
.
Config
{
Host
:
s
.
URL
}),
EtcdHelper
:
helper
,
EtcdHelper
:
helper
,
KubeletClient
:
client
.
FakeKubeletClient
{},
KubeletClient
:
client
.
FakeKubeletClient
{},
EnableLogsSupport
:
false
,
EnableLogsSupport
:
false
,
...
@@ -930,7 +923,6 @@ func TestReadOnlyAuthorization(t *testing.T) {
...
@@ -930,7 +923,6 @@ func TestReadOnlyAuthorization(t *testing.T) {
defer
s
.
Close
()
defer
s
.
Close
()
m
=
master
.
New
(
&
master
.
Config
{
m
=
master
.
New
(
&
master
.
Config
{
Client
:
client
.
NewOrDie
(
&
client
.
Config
{
Host
:
s
.
URL
}),
EtcdHelper
:
helper
,
EtcdHelper
:
helper
,
KubeletClient
:
client
.
FakeKubeletClient
{},
KubeletClient
:
client
.
FakeKubeletClient
{},
EnableLogsSupport
:
false
,
EnableLogsSupport
:
false
,
...
...
test/integration/client_test.go
View file @
11f97335
...
@@ -50,7 +50,6 @@ func TestClient(t *testing.T) {
...
@@ -50,7 +50,6 @@ func TestClient(t *testing.T) {
defer
s
.
Close
()
defer
s
.
Close
()
m
=
master
.
New
(
&
master
.
Config
{
m
=
master
.
New
(
&
master
.
Config
{
Client
:
client
.
NewOrDie
(
&
client
.
Config
{
Host
:
s
.
URL
}),
EtcdHelper
:
helper
,
EtcdHelper
:
helper
,
KubeletClient
:
client
.
FakeKubeletClient
{},
KubeletClient
:
client
.
FakeKubeletClient
{},
EnableLogsSupport
:
false
,
EnableLogsSupport
:
false
,
...
...
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