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
bfe0d50c
Commit
bfe0d50c
authored
Feb 02, 2017
by
Dr. Stefan Schimanski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
pkg/genericapiserver/server: cut off from pkg/api
parent
1834013f
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
114 additions
and
71 deletions
+114
-71
apiserver.go
cmd/kube-aggregator/pkg/apiserver/apiserver.go
+2
-1
start.go
cmd/kube-aggregator/pkg/cmd/server/start.go
+2
-1
server.go
cmd/kube-apiserver/app/server.go
+3
-2
apiserver.go
examples/apiserver/apiserver.go
+2
-1
server.go
federation/cmd/federation-apiserver/app/server.go
+6
-5
config.go
pkg/genericapiserver/server/config.go
+8
-4
genericapiserver.go
pkg/genericapiserver/server/genericapiserver.go
+8
-7
genericapiserver_test.go
pkg/genericapiserver/server/genericapiserver_test.go
+9
-5
resource_encoding_config.go
pkg/genericapiserver/server/resource_encoding_config.go
+17
-16
storage_factory_test.go
pkg/genericapiserver/server/storage_factory_test.go
+30
-13
master_openapi_test.go
pkg/master/master_openapi_test.go
+2
-1
master_test.go
pkg/master/master_test.go
+2
-2
storage_apps.go
pkg/registry/apps/rest/storage_apps.go
+2
-1
storage_authentication.go
pkg/registry/authentication/rest/storage_authentication.go
+2
-1
storage_authorization.go
pkg/registry/authorization/rest/storage_authorization.go
+2
-1
storage_autoscaling.go
pkg/registry/autoscaling/rest/storage_autoscaling.go
+2
-1
storage_batch.go
pkg/registry/batch/rest/storage_batch.go
+2
-1
storage_certificates.go
pkg/registry/certificates/rest/storage_certificates.go
+2
-1
storage_extensions.go
pkg/registry/extensions/rest/storage_extensions.go
+2
-1
storage_policy.go
pkg/registry/policy/rest/storage_policy.go
+2
-1
storage_rbac.go
pkg/registry/rbac/rest/storage_rbac.go
+2
-1
storage_storage.go
pkg/registry/storage/rest/storage_storage.go
+2
-1
master_utils.go
test/integration/framework/master_utils.go
+3
-3
No files found.
cmd/kube-aggregator/pkg/apiserver/apiserver.go
View file @
bfe0d50c
...
...
@@ -24,6 +24,7 @@ import (
"k8s.io/apimachinery/pkg/util/wait"
genericapirequest
"k8s.io/apiserver/pkg/endpoints/request"
genericfilters
"k8s.io/apiserver/pkg/server/filters"
"k8s.io/kubernetes/pkg/api"
kubeclientset
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset"
kubeinformers
"k8s.io/kubernetes/pkg/client/informers/informers_generated"
v1listers
"k8s.io/kubernetes/pkg/client/listers/core/v1"
...
...
@@ -140,7 +141,7 @@ func (c completedConfig) New() (*APIDiscoveryServer, error) {
proxyMux
:
proxyMux
,
}
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
apiregistration
.
GroupName
)
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
apiregistration
.
GroupName
,
api
.
Registry
,
api
.
Scheme
,
api
.
ParameterCodec
,
api
.
Codecs
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
v1alpha1
.
SchemeGroupVersion
v1alpha1storage
:=
map
[
string
]
rest
.
Storage
{}
v1alpha1storage
[
"apiservices"
]
=
apiservicestorage
.
NewREST
(
c
.
RESTOptionsGetter
)
...
...
cmd/kube-aggregator/pkg/cmd/server/start.go
View file @
bfe0d50c
...
...
@@ -116,7 +116,8 @@ func (o DiscoveryServerOptions) RunDiscoveryServer() error {
return
fmt
.
Errorf
(
"error creating self-signed certificates: %v"
,
err
)
}
genericAPIServerConfig
:=
genericapiserver
.
NewConfig
()
genericAPIServerConfig
:=
genericapiserver
.
NewConfig
()
.
WithSerializer
(
api
.
Codecs
)
if
_
,
err
:=
genericAPIServerConfig
.
ApplySecureServingOptions
(
o
.
SecureServing
);
err
!=
nil
{
return
err
}
...
...
cmd/kube-apiserver/app/server.go
View file @
bfe0d50c
...
...
@@ -108,6 +108,7 @@ func Run(s *options.ServerRunOptions) error {
// create config from options
genericConfig
:=
genericapiserver
.
NewConfig
()
.
WithSerializer
(
api
.
Codecs
)
.
ApplyOptions
(
s
.
GenericServerRunOptions
)
.
ApplyInsecureServingOptions
(
s
.
InsecureServing
)
...
...
@@ -197,7 +198,7 @@ func Run(s *options.ServerRunOptions) error {
}
storageFactory
,
err
:=
kubeapiserver
.
BuildDefaultStorageFactory
(
s
.
Etcd
.
StorageConfig
,
s
.
GenericServerRunOptions
.
DefaultStorageMediaType
,
api
.
Codecs
,
genericapiserver
.
NewDefaultResourceEncodingConfig
(),
storageGroupsToEncodingVersion
,
genericapiserver
.
NewDefaultResourceEncodingConfig
(
api
.
Registry
),
storageGroupsToEncodingVersion
,
// FIXME: this GroupVersionResource override should be configurable
[]
schema
.
GroupVersionResource
{
batch
.
Resource
(
"cronjobs"
)
.
WithVersion
(
"v2alpha1"
)},
master
.
DefaultAPIResourceConfigSource
(),
s
.
GenericServerRunOptions
.
RuntimeConfig
)
...
...
@@ -297,7 +298,7 @@ func Run(s *options.ServerRunOptions) error {
genericConfig
.
Authenticator
=
apiAuthenticator
genericConfig
.
Authorizer
=
apiAuthorizer
genericConfig
.
AdmissionControl
=
admissionController
genericConfig
.
OpenAPIConfig
=
genericapiserver
.
DefaultOpenAPIConfig
(
generatedopenapi
.
GetOpenAPIDefinitions
)
genericConfig
.
OpenAPIConfig
=
genericapiserver
.
DefaultOpenAPIConfig
(
generatedopenapi
.
GetOpenAPIDefinitions
,
api
.
Scheme
)
genericConfig
.
OpenAPIConfig
.
PostProcessSpec
=
postProcessOpenAPISpecForBackwardCompatibility
genericConfig
.
OpenAPIConfig
.
SecurityDefinitions
=
securityDefinitions
genericConfig
.
OpenAPIConfig
.
Info
.
Title
=
"Kubernetes"
...
...
examples/apiserver/apiserver.go
View file @
bfe0d50c
...
...
@@ -51,7 +51,7 @@ func newStorageFactory() genericapiserver.StorageFactory {
ServerList
:
[]
string
{
"http://127.0.0.1:2379"
},
Copier
:
api
.
Scheme
,
}
storageFactory
:=
genericapiserver
.
NewDefaultStorageFactory
(
config
,
"application/json"
,
api
.
Codecs
,
genericapiserver
.
NewDefaultResourceEncodingConfig
(),
genericapiserver
.
NewResourceConfig
())
storageFactory
:=
genericapiserver
.
NewDefaultStorageFactory
(
config
,
"application/json"
,
api
.
Codecs
,
genericapiserver
.
NewDefaultResourceEncodingConfig
(
api
.
Registry
),
genericapiserver
.
NewResourceConfig
())
return
storageFactory
}
...
...
@@ -104,6 +104,7 @@ func (serverOptions *ServerRunOptions) Run(stopCh <-chan struct{}) error {
// create config from options
config
:=
genericapiserver
.
NewConfig
()
.
WithSerializer
(
api
.
Codecs
)
.
ApplyOptions
(
serverOptions
.
GenericServerRunOptions
)
.
ApplyInsecureServingOptions
(
serverOptions
.
InsecureServing
)
...
...
federation/cmd/federation-apiserver/app/server.go
View file @
bfe0d50c
...
...
@@ -88,9 +88,10 @@ func Run(s *options.ServerRunOptions) error {
return
utilerrors
.
NewAggregate
(
errs
)
}
genericConfig
:=
genericapiserver
.
NewConfig
()
.
// create the new config
ApplyOptions
(
s
.
GenericServerRunOptions
)
.
// apply the options selected
ApplyInsecureServingOptions
(
s
.
InsecureServing
)
genericConfig
:=
genericapiserver
.
NewConfig
()
.
WithSerializer
(
api
.
Codecs
)
.
ApplyOptions
(
s
.
GenericServerRunOptions
)
.
ApplyInsecureServingOptions
(
s
.
InsecureServing
)
if
_
,
err
:=
genericConfig
.
ApplySecureServingOptions
(
s
.
SecureServing
);
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to configure https: %s"
,
err
)
...
...
@@ -112,7 +113,7 @@ func Run(s *options.ServerRunOptions) error {
}
storageFactory
,
err
:=
kubeapiserver
.
BuildDefaultStorageFactory
(
s
.
Etcd
.
StorageConfig
,
s
.
GenericServerRunOptions
.
DefaultStorageMediaType
,
api
.
Codecs
,
genericapiserver
.
NewDefaultResourceEncodingConfig
(),
storageGroupsToEncodingVersion
,
genericapiserver
.
NewDefaultResourceEncodingConfig
(
api
.
Registry
),
storageGroupsToEncodingVersion
,
[]
schema
.
GroupVersionResource
{},
resourceConfig
,
s
.
GenericServerRunOptions
.
RuntimeConfig
)
if
err
!=
nil
{
return
fmt
.
Errorf
(
"error in initializing storage factory: %s"
,
err
)
...
...
@@ -177,7 +178,7 @@ func Run(s *options.ServerRunOptions) error {
genericConfig
.
Authenticator
=
apiAuthenticator
genericConfig
.
Authorizer
=
apiAuthorizer
genericConfig
.
AdmissionControl
=
admissionController
genericConfig
.
OpenAPIConfig
=
genericapiserver
.
DefaultOpenAPIConfig
(
openapi
.
GetOpenAPIDefinitions
)
genericConfig
.
OpenAPIConfig
=
genericapiserver
.
DefaultOpenAPIConfig
(
openapi
.
GetOpenAPIDefinitions
,
api
.
Scheme
)
genericConfig
.
OpenAPIConfig
.
PostProcessSpec
=
postProcessOpenAPISpecForBackwardCompatibility
genericConfig
.
OpenAPIConfig
.
SecurityDefinitions
=
securityDefinitions
genericConfig
.
SwaggerConfig
=
genericapiserver
.
DefaultSwaggerConfig
()
...
...
pkg/genericapiserver/server/config.go
View file @
bfe0d50c
...
...
@@ -39,6 +39,7 @@ import (
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
openapicommon
"k8s.io/apimachinery/pkg/openapi"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/serializer"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/version"
"k8s.io/apiserver/pkg/admission"
...
...
@@ -55,7 +56,6 @@ import (
"k8s.io/apiserver/pkg/server/options"
restclient
"k8s.io/client-go/rest"
certutil
"k8s.io/client-go/util/cert"
"k8s.io/kubernetes/pkg/api"
genericapifilters
"k8s.io/kubernetes/pkg/genericapiserver/endpoints/filters"
apiopenapi
"k8s.io/kubernetes/pkg/genericapiserver/endpoints/openapi"
"k8s.io/kubernetes/pkg/genericapiserver/server/mux"
...
...
@@ -192,7 +192,6 @@ type SecureServingInfo struct {
// NewConfig returns a Config struct with the default values
func
NewConfig
()
*
Config
{
config
:=
&
Config
{
Serializer
:
api
.
Codecs
,
ReadWritePort
:
6443
,
RequestContextMapper
:
apirequest
.
NewRequestContextMapper
(),
BuildHandlerChainsFunc
:
DefaultBuildHandlerChain
,
...
...
@@ -213,8 +212,13 @@ func NewConfig() *Config {
return
config
.
ApplyOptions
(
defaultOptions
)
}
func
DefaultOpenAPIConfig
(
getDefinitions
openapicommon
.
GetOpenAPIDefinitions
)
*
openapicommon
.
Config
{
defNamer
:=
apiopenapi
.
NewDefinitionNamer
(
api
.
Scheme
)
func
(
c
*
Config
)
WithSerializer
(
codecs
serializer
.
CodecFactory
)
*
Config
{
c
.
Serializer
=
codecs
return
c
}
func
DefaultOpenAPIConfig
(
getDefinitions
openapicommon
.
GetOpenAPIDefinitions
,
scheme
*
runtime
.
Scheme
)
*
openapicommon
.
Config
{
defNamer
:=
apiopenapi
.
NewDefinitionNamer
(
scheme
)
return
&
openapicommon
.
Config
{
ProtocolList
:
[]
string
{
"https"
},
IgnorePrefixes
:
[]
string
{
"/swaggerapi"
},
...
...
pkg/genericapiserver/server/genericapiserver.go
View file @
bfe0d50c
...
...
@@ -31,17 +31,18 @@ import (
"github.com/golang/glog"
"k8s.io/apimachinery/pkg/apimachinery"
"k8s.io/apimachinery/pkg/apimachinery/registered"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
openapicommon
"k8s.io/apimachinery/pkg/openapi"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/runtime/serializer"
utilnet
"k8s.io/apimachinery/pkg/util/net"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apiserver/pkg/admission"
apirequest
"k8s.io/apiserver/pkg/endpoints/request"
"k8s.io/apiserver/pkg/server/healthz"
restclient
"k8s.io/client-go/rest"
"k8s.io/kubernetes/pkg/api"
genericapi
"k8s.io/kubernetes/pkg/genericapiserver/endpoints"
"k8s.io/kubernetes/pkg/genericapiserver/registry/rest"
genericmux
"k8s.io/kubernetes/pkg/genericapiserver/server/mux"
...
...
@@ -376,15 +377,15 @@ func (s *GenericAPIServer) DynamicApisDiscovery() *restful.WebService {
// NewDefaultAPIGroupInfo returns an APIGroupInfo stubbed with "normal" values
// exposed for easier composition from other packages
func
NewDefaultAPIGroupInfo
(
group
string
)
APIGroupInfo
{
groupMeta
:=
api
.
R
egistry
.
GroupOrDie
(
group
)
func
NewDefaultAPIGroupInfo
(
group
string
,
registry
*
registered
.
APIRegistrationManager
,
scheme
*
runtime
.
Scheme
,
parameterCodec
runtime
.
ParameterCodec
,
codecs
serializer
.
CodecFactory
)
APIGroupInfo
{
groupMeta
:=
r
egistry
.
GroupOrDie
(
group
)
return
APIGroupInfo
{
GroupMeta
:
*
groupMeta
,
VersionedResourcesStorageMap
:
map
[
string
]
map
[
string
]
rest
.
Storage
{},
OptionsExternalVersion
:
&
api
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
Scheme
:
api
.
S
cheme
,
ParameterCodec
:
api
.
P
arameterCodec
,
NegotiatedSerializer
:
api
.
C
odecs
,
OptionsExternalVersion
:
&
registry
.
GroupOrDie
(
""
)
.
GroupVersion
,
Scheme
:
s
cheme
,
ParameterCodec
:
p
arameterCodec
,
NegotiatedSerializer
:
c
odecs
,
}
}
pkg/genericapiserver/server/genericapiserver_test.go
View file @
bfe0d50c
...
...
@@ -41,10 +41,12 @@ import (
utilnet
"k8s.io/apimachinery/pkg/util/net"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/version"
"k8s.io/apiserver/pkg/apis/example"
examplev1
"k8s.io/apiserver/pkg/apis/example/v1"
"k8s.io/apiserver/pkg/authentication/user"
"k8s.io/apiserver/pkg/authorization/authorizer"
genericapirequest
"k8s.io/apiserver/pkg/endpoints/request"
"k8s.io/
kubernetes/pkg/api/test
api"
"k8s.io/
client-go/pkg/
api"
openapigen
"k8s.io/kubernetes/pkg/generated/openapi"
"k8s.io/kubernetes/pkg/genericapiserver/registry/rest"
etcdtesting
"k8s.io/kubernetes/pkg/storage/etcd/testing"
...
...
@@ -71,18 +73,20 @@ func init() {
&
metav1
.
APIGroup
{},
&
metav1
.
APIResourceList
{},
)
example
.
AddToScheme
(
scheme
)
examplev1
.
AddToScheme
(
scheme
)
}
// setUp is a convience function for setting up for (most) tests.
func
setUp
(
t
*
testing
.
T
)
(
*
etcdtesting
.
EtcdTestServer
,
Config
,
*
assert
.
Assertions
)
{
etcdServer
,
_
:=
etcdtesting
.
NewUnsecuredEtcd3TestClientServer
(
t
,
scheme
)
config
:=
NewConfig
()
config
:=
NewConfig
()
.
WithSerializer
(
codecs
)
config
.
PublicAddress
=
net
.
ParseIP
(
"192.168.10.4"
)
config
.
RequestContextMapper
=
genericapirequest
.
NewRequestContextMapper
()
config
.
LegacyAPIGroupPrefixes
=
sets
.
NewString
(
"/api"
)
config
.
OpenAPIConfig
=
DefaultOpenAPIConfig
(
openapigen
.
GetOpenAPIDefinitions
)
config
.
OpenAPIConfig
=
DefaultOpenAPIConfig
(
openapigen
.
GetOpenAPIDefinitions
,
api
.
Scheme
)
config
.
OpenAPIConfig
.
Info
=
&
spec
.
Info
{
InfoProps
:
spec
.
InfoProps
{
Title
:
"Kubernetes"
,
...
...
@@ -483,8 +487,8 @@ func TestDiscoveryAtAPIS(t *testing.T) {
// Add a Group.
extensionsVersions
:=
[]
metav1
.
GroupVersionForDiscovery
{
{
GroupVersion
:
testapi
.
Extensions
.
GroupVersion
()
.
String
(),
Version
:
testapi
.
Extensions
.
GroupVersion
()
.
Version
,
GroupVersion
:
examplev1
.
SchemeGroupVersion
.
String
(),
Version
:
examplev1
.
SchemeGroupVersion
.
Version
,
},
}
extensionsPreferredVersion
:=
metav1
.
GroupVersionForDiscovery
{
...
...
pkg/genericapiserver/server/resource_encoding_config.go
View file @
bfe0d50c
...
...
@@ -17,9 +17,9 @@ limitations under the License.
package
server
import
(
"k8s.io/apimachinery/pkg/apimachinery/registered"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/kubernetes/pkg/api"
)
type
ResourceEncodingConfig
interface
{
...
...
@@ -33,7 +33,8 @@ type ResourceEncodingConfig interface {
}
type
DefaultResourceEncodingConfig
struct
{
Groups
map
[
string
]
*
GroupResourceEncodingConfig
groups
map
[
string
]
*
GroupResourceEncodingConfig
registry
*
registered
.
APIRegistrationManager
}
type
GroupResourceEncodingConfig
struct
{
...
...
@@ -46,8 +47,8 @@ type GroupResourceEncodingConfig struct {
var
_
ResourceEncodingConfig
=
&
DefaultResourceEncodingConfig
{}
func
NewDefaultResourceEncodingConfig
()
*
DefaultResourceEncodingConfig
{
return
&
DefaultResourceEncodingConfig
{
Groups
:
map
[
string
]
*
GroupResourceEncodingConfig
{}
}
func
NewDefaultResourceEncodingConfig
(
registry
*
registered
.
APIRegistrationManager
)
*
DefaultResourceEncodingConfig
{
return
&
DefaultResourceEncodingConfig
{
groups
:
map
[
string
]
*
GroupResourceEncodingConfig
{},
registry
:
registry
}
}
func
newGroupResourceEncodingConfig
(
defaultEncoding
,
defaultInternalVersion
schema
.
GroupVersion
)
*
GroupResourceEncodingConfig
{
...
...
@@ -58,33 +59,33 @@ func newGroupResourceEncodingConfig(defaultEncoding, defaultInternalVersion sche
}
func
(
o
*
DefaultResourceEncodingConfig
)
SetVersionEncoding
(
group
string
,
externalEncodingVersion
,
internalVersion
schema
.
GroupVersion
)
{
_
,
groupExists
:=
o
.
G
roups
[
group
]
_
,
groupExists
:=
o
.
g
roups
[
group
]
if
!
groupExists
{
o
.
G
roups
[
group
]
=
newGroupResourceEncodingConfig
(
externalEncodingVersion
,
internalVersion
)
o
.
g
roups
[
group
]
=
newGroupResourceEncodingConfig
(
externalEncodingVersion
,
internalVersion
)
}
o
.
G
roups
[
group
]
.
DefaultExternalEncoding
=
externalEncodingVersion
o
.
G
roups
[
group
]
.
DefaultInternalEncoding
=
internalVersion
o
.
g
roups
[
group
]
.
DefaultExternalEncoding
=
externalEncodingVersion
o
.
g
roups
[
group
]
.
DefaultInternalEncoding
=
internalVersion
}
func
(
o
*
DefaultResourceEncodingConfig
)
SetResourceEncoding
(
resourceBeingStored
schema
.
GroupResource
,
externalEncodingVersion
,
internalVersion
schema
.
GroupVersion
)
{
group
:=
resourceBeingStored
.
Group
_
,
groupExists
:=
o
.
G
roups
[
group
]
_
,
groupExists
:=
o
.
g
roups
[
group
]
if
!
groupExists
{
o
.
G
roups
[
group
]
=
newGroupResourceEncodingConfig
(
externalEncodingVersion
,
internalVersion
)
o
.
g
roups
[
group
]
=
newGroupResourceEncodingConfig
(
externalEncodingVersion
,
internalVersion
)
}
o
.
G
roups
[
group
]
.
ExternalResourceEncodings
[
resourceBeingStored
.
Resource
]
=
externalEncodingVersion
o
.
G
roups
[
group
]
.
InternalResourceEncodings
[
resourceBeingStored
.
Resource
]
=
internalVersion
o
.
g
roups
[
group
]
.
ExternalResourceEncodings
[
resourceBeingStored
.
Resource
]
=
externalEncodingVersion
o
.
g
roups
[
group
]
.
InternalResourceEncodings
[
resourceBeingStored
.
Resource
]
=
internalVersion
}
func
(
o
*
DefaultResourceEncodingConfig
)
StorageEncodingFor
(
resource
schema
.
GroupResource
)
(
schema
.
GroupVersion
,
error
)
{
groupMeta
,
err
:=
api
.
R
egistry
.
Group
(
resource
.
Group
)
groupMeta
,
err
:=
o
.
r
egistry
.
Group
(
resource
.
Group
)
if
err
!=
nil
{
return
schema
.
GroupVersion
{},
err
}
groupEncoding
,
groupExists
:=
o
.
G
roups
[
resource
.
Group
]
groupEncoding
,
groupExists
:=
o
.
g
roups
[
resource
.
Group
]
if
!
groupExists
{
// return the most preferred external version for the group
...
...
@@ -100,11 +101,11 @@ func (o *DefaultResourceEncodingConfig) StorageEncodingFor(resource schema.Group
}
func
(
o
*
DefaultResourceEncodingConfig
)
InMemoryEncodingFor
(
resource
schema
.
GroupResource
)
(
schema
.
GroupVersion
,
error
)
{
if
_
,
err
:=
api
.
R
egistry
.
Group
(
resource
.
Group
);
err
!=
nil
{
if
_
,
err
:=
o
.
r
egistry
.
Group
(
resource
.
Group
);
err
!=
nil
{
return
schema
.
GroupVersion
{},
err
}
groupEncoding
,
groupExists
:=
o
.
G
roups
[
resource
.
Group
]
groupEncoding
,
groupExists
:=
o
.
g
roups
[
resource
.
Group
]
if
!
groupExists
{
return
schema
.
GroupVersion
{
Group
:
resource
.
Group
,
Version
:
runtime
.
APIVersionInternal
},
nil
}
...
...
pkg/genericapiserver/server/storage_factory_test.go
View file @
bfe0d50c
...
...
@@ -17,17 +17,30 @@ limitations under the License.
package
server
import
(
"os"
"reflect"
"testing"
"k8s.io/apimachinery/pkg/apimachinery/announced"
"k8s.io/apimachinery/pkg/apimachinery/registered"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apiserver/pkg/apis/example"
exampleinstall
"k8s.io/apiserver/pkg/apis/example/install"
examplev1
"k8s.io/apiserver/pkg/apis/example/v1"
"k8s.io/apiserver/pkg/server/options"
"k8s.io/apiserver/pkg/storage/storagebackend"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/apis/extensions"
)
var
(
registry
=
registered
.
NewOrDie
(
os
.
Getenv
(
"KUBE_API_VERSIONS"
))
announce
=
make
(
announced
.
APIGroupFactoryRegistry
)
)
func
init
()
{
exampleinstall
.
Install
(
announce
,
registry
,
scheme
)
}
type
fakeNegotiater
struct
{
serializer
,
streamSerializer
runtime
.
Serializer
framer
runtime
.
Framer
...
...
@@ -66,18 +79,18 @@ func (n *fakeNegotiater) DecoderToVersion(serializer runtime.Decoder, gv runtime
func
TestDefaultStorageFactory
(
t
*
testing
.
T
)
{
ns
:=
&
fakeNegotiater
{
types
:
[]
string
{
"test/test"
}}
f
:=
NewDefaultStorageFactory
(
storagebackend
.
Config
{},
"test/test"
,
ns
,
NewDefaultResourceEncodingConfig
(),
NewResourceConfig
())
f
.
AddCohabitatingResources
(
schema
.
GroupResource
{
Resource
:
"test"
}
,
schema
.
GroupResource
{
Resource
:
"test2"
,
Group
:
"2"
})
f
:=
NewDefaultStorageFactory
(
storagebackend
.
Config
{},
"test/test"
,
ns
,
NewDefaultResourceEncodingConfig
(
registry
),
NewResourceConfig
())
f
.
AddCohabitatingResources
(
example
.
Resource
(
"test"
)
,
schema
.
GroupResource
{
Resource
:
"test2"
,
Group
:
"2"
})
called
:=
false
testEncoderChain
:=
func
(
e
runtime
.
Encoder
)
runtime
.
Encoder
{
called
=
true
return
e
}
f
.
AddSerializationChains
(
testEncoderChain
,
nil
,
schema
.
GroupResource
{
Resource
:
"test"
}
)
f
.
SetEtcdLocation
(
schema
.
GroupResource
{
Resource
:
"*"
}
,
[]
string
{
"/server2"
})
f
.
SetEtcdPrefix
(
schema
.
GroupResource
{
Resource
:
"test"
}
,
"/prefix_for_test"
)
f
.
AddSerializationChains
(
testEncoderChain
,
nil
,
example
.
Resource
(
"test"
)
)
f
.
SetEtcdLocation
(
example
.
Resource
(
"*"
)
,
[]
string
{
"/server2"
})
f
.
SetEtcdPrefix
(
example
.
Resource
(
"test"
)
,
"/prefix_for_test"
)
config
,
err
:=
f
.
NewConfig
(
schema
.
GroupResource
{
Resource
:
"test"
}
)
config
,
err
:=
f
.
NewConfig
(
example
.
Resource
(
"test"
)
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
...
...
@@ -90,20 +103,24 @@ func TestDefaultStorageFactory(t *testing.T) {
}
func
TestUpdateEtcdOverrides
(
t
*
testing
.
T
)
{
registry
:=
registered
.
NewOrDie
(
os
.
Getenv
(
"KUBE_API_VERSIONS"
))
announced
:=
make
(
announced
.
APIGroupFactoryRegistry
)
exampleinstall
.
Install
(
announced
,
registry
,
scheme
)
testCases
:=
[]
struct
{
resource
schema
.
GroupResource
servers
[]
string
}{
{
resource
:
schema
.
GroupResource
{
Group
:
api
.
GroupName
,
Resource
:
"resource"
},
resource
:
schema
.
GroupResource
{
Group
:
example
.
GroupName
,
Resource
:
"resource"
},
servers
:
[]
string
{
"http://127.0.0.1:10000"
},
},
{
resource
:
schema
.
GroupResource
{
Group
:
api
.
GroupName
,
Resource
:
"resource"
},
resource
:
schema
.
GroupResource
{
Group
:
example
.
GroupName
,
Resource
:
"resource"
},
servers
:
[]
string
{
"http://127.0.0.1:10000"
,
"http://127.0.0.1:20000"
},
},
{
resource
:
schema
.
GroupResource
{
Group
:
ex
tensions
.
GroupName
,
Resource
:
"resource"
},
resource
:
schema
.
GroupResource
{
Group
:
ex
ample
.
GroupName
,
Resource
:
"resource"
},
servers
:
[]
string
{
"http://127.0.0.1:10000"
},
},
}
...
...
@@ -115,7 +132,7 @@ func TestUpdateEtcdOverrides(t *testing.T) {
ServerList
:
defaultEtcdLocation
,
Copier
:
scheme
,
}
storageFactory
:=
NewDefaultStorageFactory
(
defaultConfig
,
""
,
api
.
Codecs
,
NewDefaultResourceEncodingConfig
(
),
NewResourceConfig
())
storageFactory
:=
NewDefaultStorageFactory
(
defaultConfig
,
""
,
codecs
,
NewDefaultResourceEncodingConfig
(
registry
),
NewResourceConfig
())
storageFactory
.
SetEtcdLocation
(
test
.
resource
,
test
.
servers
)
var
err
error
...
...
@@ -129,7 +146,7 @@ func TestUpdateEtcdOverrides(t *testing.T) {
continue
}
config
,
err
=
storageFactory
.
NewConfig
(
schema
.
GroupResource
{
Group
:
api
.
GroupName
,
Resource
:
"unlikely"
})
config
,
err
=
storageFactory
.
NewConfig
(
schema
.
GroupResource
{
Group
:
examplev1
.
GroupName
,
Resource
:
"unlikely"
})
if
err
!=
nil
{
t
.
Errorf
(
"%d: unexpected error %v"
,
i
,
err
)
continue
...
...
pkg/master/master_openapi_test.go
View file @
bfe0d50c
...
...
@@ -27,6 +27,7 @@ import (
"net/http/httptest"
"testing"
"k8s.io/kubernetes/pkg/api"
openapigen
"k8s.io/kubernetes/pkg/generated/openapi"
genericapiserver
"k8s.io/kubernetes/pkg/genericapiserver/server"
...
...
@@ -43,7 +44,7 @@ func TestValidOpenAPISpec(t *testing.T) {
defer
etcdserver
.
Terminate
(
t
)
config
.
GenericConfig
.
EnableIndex
=
true
config
.
GenericConfig
.
OpenAPIConfig
=
genericapiserver
.
DefaultOpenAPIConfig
(
openapigen
.
GetOpenAPIDefinitions
)
config
.
GenericConfig
.
OpenAPIConfig
=
genericapiserver
.
DefaultOpenAPIConfig
(
openapigen
.
GetOpenAPIDefinitions
,
api
.
Scheme
)
config
.
GenericConfig
.
OpenAPIConfig
.
Info
=
&
spec
.
Info
{
InfoProps
:
spec
.
InfoProps
{
Title
:
"Kubernetes"
,
...
...
pkg/master/master_test.go
View file @
bfe0d50c
...
...
@@ -62,13 +62,13 @@ func setUp(t *testing.T) (*Master, *etcdtesting.EtcdTestServer, Config, *assert.
server
,
storageConfig
:=
etcdtesting
.
NewUnsecuredEtcd3TestClientServer
(
t
,
api
.
Scheme
)
config
:=
&
Config
{
GenericConfig
:
genericapiserver
.
NewConfig
(),
GenericConfig
:
genericapiserver
.
NewConfig
()
.
WithSerializer
(
api
.
Codecs
)
,
APIResourceConfigSource
:
DefaultAPIResourceConfigSource
(),
APIServerServicePort
:
443
,
MasterCount
:
1
,
}
resourceEncoding
:=
genericapiserver
.
NewDefaultResourceEncodingConfig
()
resourceEncoding
:=
genericapiserver
.
NewDefaultResourceEncodingConfig
(
api
.
Registry
)
resourceEncoding
.
SetVersionEncoding
(
api
.
GroupName
,
api
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
schema
.
GroupVersion
{
Group
:
api
.
GroupName
,
Version
:
runtime
.
APIVersionInternal
})
resourceEncoding
.
SetVersionEncoding
(
autoscaling
.
GroupName
,
*
testapi
.
Autoscaling
.
GroupVersion
(),
schema
.
GroupVersion
{
Group
:
autoscaling
.
GroupName
,
Version
:
runtime
.
APIVersionInternal
})
resourceEncoding
.
SetVersionEncoding
(
batch
.
GroupName
,
*
testapi
.
Batch
.
GroupVersion
(),
schema
.
GroupVersion
{
Group
:
batch
.
GroupName
,
Version
:
runtime
.
APIVersionInternal
})
...
...
pkg/registry/apps/rest/storage_apps.go
View file @
bfe0d50c
...
...
@@ -17,6 +17,7 @@ limitations under the License.
package
rest
import
(
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/apis/apps"
appsapiv1beta1
"k8s.io/kubernetes/pkg/apis/apps/v1beta1"
"k8s.io/kubernetes/pkg/genericapiserver/registry/generic"
...
...
@@ -28,7 +29,7 @@ import (
type
RESTStorageProvider
struct
{}
func
(
p
RESTStorageProvider
)
NewRESTStorage
(
apiResourceConfigSource
genericapiserver
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
(
genericapiserver
.
APIGroupInfo
,
bool
)
{
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
apps
.
GroupName
)
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
apps
.
GroupName
,
api
.
Registry
,
api
.
Scheme
,
api
.
ParameterCodec
,
api
.
Codecs
)
if
apiResourceConfigSource
.
AnyResourcesForVersionEnabled
(
appsapiv1beta1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
appsapiv1beta1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1beta1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
...
...
pkg/registry/authentication/rest/storage_authentication.go
View file @
bfe0d50c
...
...
@@ -18,6 +18,7 @@ package rest
import
(
"k8s.io/apiserver/pkg/authentication/authenticator"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/apis/authentication"
authenticationv1beta1
"k8s.io/kubernetes/pkg/apis/authentication/v1beta1"
"k8s.io/kubernetes/pkg/genericapiserver/registry/generic"
...
...
@@ -36,7 +37,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise
// return genericapiserver.APIGroupInfo{}, false
// }
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
authentication
.
GroupName
)
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
authentication
.
GroupName
,
api
.
Registry
,
api
.
Scheme
,
api
.
ParameterCodec
,
api
.
Codecs
)
if
apiResourceConfigSource
.
AnyResourcesForVersionEnabled
(
authenticationv1beta1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
authenticationv1beta1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1beta1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
...
...
pkg/registry/authorization/rest/storage_authorization.go
View file @
bfe0d50c
...
...
@@ -18,6 +18,7 @@ package rest
import
(
"k8s.io/apiserver/pkg/authorization/authorizer"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/apis/authorization"
authorizationv1beta1
"k8s.io/kubernetes/pkg/apis/authorization/v1beta1"
"k8s.io/kubernetes/pkg/genericapiserver/registry/generic"
...
...
@@ -37,7 +38,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise
return
genericapiserver
.
APIGroupInfo
{},
false
}
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
authorization
.
GroupName
)
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
authorization
.
GroupName
,
api
.
Registry
,
api
.
Scheme
,
api
.
ParameterCodec
,
api
.
Codecs
)
if
apiResourceConfigSource
.
AnyResourcesForVersionEnabled
(
authorizationv1beta1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
authorizationv1beta1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1beta1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
...
...
pkg/registry/autoscaling/rest/storage_autoscaling.go
View file @
bfe0d50c
...
...
@@ -17,6 +17,7 @@ limitations under the License.
package
rest
import
(
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/apis/autoscaling"
autoscalingapiv1
"k8s.io/kubernetes/pkg/apis/autoscaling/v1"
"k8s.io/kubernetes/pkg/genericapiserver/registry/generic"
...
...
@@ -28,7 +29,7 @@ import (
type
RESTStorageProvider
struct
{}
func
(
p
RESTStorageProvider
)
NewRESTStorage
(
apiResourceConfigSource
genericapiserver
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
(
genericapiserver
.
APIGroupInfo
,
bool
)
{
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
autoscaling
.
GroupName
)
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
autoscaling
.
GroupName
,
api
.
Registry
,
api
.
Scheme
,
api
.
ParameterCodec
,
api
.
Codecs
)
if
apiResourceConfigSource
.
AnyResourcesForVersionEnabled
(
autoscalingapiv1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
autoscalingapiv1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
...
...
pkg/registry/batch/rest/storage_batch.go
View file @
bfe0d50c
...
...
@@ -18,6 +18,7 @@ package rest
import
(
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/apis/batch"
batchapiv1
"k8s.io/kubernetes/pkg/apis/batch/v1"
batchapiv2alpha1
"k8s.io/kubernetes/pkg/apis/batch/v2alpha1"
...
...
@@ -31,7 +32,7 @@ import (
type
RESTStorageProvider
struct
{}
func
(
p
RESTStorageProvider
)
NewRESTStorage
(
apiResourceConfigSource
genericapiserver
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
(
genericapiserver
.
APIGroupInfo
,
bool
)
{
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
batch
.
GroupName
)
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
batch
.
GroupName
,
api
.
Registry
,
api
.
Scheme
,
api
.
ParameterCodec
,
api
.
Codecs
)
if
apiResourceConfigSource
.
AnyResourcesForVersionEnabled
(
batchapiv2alpha1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
batchapiv2alpha1
.
SchemeGroupVersion
.
Version
]
=
p
.
v2alpha1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
...
...
pkg/registry/certificates/rest/storage_certificates.go
View file @
bfe0d50c
...
...
@@ -17,6 +17,7 @@ limitations under the License.
package
rest
import
(
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/apis/certificates"
certificatesapiv1beta1
"k8s.io/kubernetes/pkg/apis/certificates/v1beta1"
"k8s.io/kubernetes/pkg/genericapiserver/registry/generic"
...
...
@@ -28,7 +29,7 @@ import (
type
RESTStorageProvider
struct
{}
func
(
p
RESTStorageProvider
)
NewRESTStorage
(
apiResourceConfigSource
genericapiserver
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
(
genericapiserver
.
APIGroupInfo
,
bool
)
{
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
certificates
.
GroupName
)
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
certificates
.
GroupName
,
api
.
Registry
,
api
.
Scheme
,
api
.
ParameterCodec
,
api
.
Codecs
)
if
apiResourceConfigSource
.
AnyResourcesForVersionEnabled
(
certificatesapiv1beta1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
certificatesapiv1beta1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1beta1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
...
...
pkg/registry/extensions/rest/storage_extensions.go
View file @
bfe0d50c
...
...
@@ -24,6 +24,7 @@ import (
utilruntime
"k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/apis/extensions"
extensionsapiv1beta1
"k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
extensionsclient
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion"
...
...
@@ -46,7 +47,7 @@ type RESTStorageProvider struct {
}
func
(
p
RESTStorageProvider
)
NewRESTStorage
(
apiResourceConfigSource
genericapiserver
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
(
genericapiserver
.
APIGroupInfo
,
bool
)
{
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
extensions
.
GroupName
)
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
extensions
.
GroupName
,
api
.
Registry
,
api
.
Scheme
,
api
.
ParameterCodec
,
api
.
Codecs
)
if
apiResourceConfigSource
.
AnyResourcesForVersionEnabled
(
extensionsapiv1beta1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
extensionsapiv1beta1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1beta1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
...
...
pkg/registry/policy/rest/storage_policy.go
View file @
bfe0d50c
...
...
@@ -17,6 +17,7 @@ limitations under the License.
package
rest
import
(
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/apis/policy"
policyapiv1beta1
"k8s.io/kubernetes/pkg/apis/policy/v1beta1"
"k8s.io/kubernetes/pkg/genericapiserver/registry/generic"
...
...
@@ -28,7 +29,7 @@ import (
type
RESTStorageProvider
struct
{}
func
(
p
RESTStorageProvider
)
NewRESTStorage
(
apiResourceConfigSource
genericapiserver
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
(
genericapiserver
.
APIGroupInfo
,
bool
)
{
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
policy
.
GroupName
)
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
policy
.
GroupName
,
api
.
Registry
,
api
.
Scheme
,
api
.
ParameterCodec
,
api
.
Codecs
)
if
apiResourceConfigSource
.
AnyResourcesForVersionEnabled
(
policyapiv1beta1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
policyapiv1beta1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1beta1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
...
...
pkg/registry/rbac/rest/storage_rbac.go
View file @
bfe0d50c
...
...
@@ -28,6 +28,7 @@ import (
utilruntime
"k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/apiserver/pkg/authorization/authorizer"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/apis/rbac"
rbacapiv1alpha1
"k8s.io/kubernetes/pkg/apis/rbac/v1alpha1"
rbacapiv1beta1
"k8s.io/kubernetes/pkg/apis/rbac/v1beta1"
...
...
@@ -58,7 +59,7 @@ type RESTStorageProvider struct {
var
_
genericapiserver
.
PostStartHookProvider
=
RESTStorageProvider
{}
func
(
p
RESTStorageProvider
)
NewRESTStorage
(
apiResourceConfigSource
genericapiserver
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
(
genericapiserver
.
APIGroupInfo
,
bool
)
{
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
rbac
.
GroupName
)
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
rbac
.
GroupName
,
api
.
Registry
,
api
.
Scheme
,
api
.
ParameterCodec
,
api
.
Codecs
)
if
apiResourceConfigSource
.
AnyResourcesForVersionEnabled
(
rbacapiv1alpha1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
rbacapiv1alpha1
.
SchemeGroupVersion
.
Version
]
=
p
.
storage
(
rbacapiv1alpha1
.
SchemeGroupVersion
,
apiResourceConfigSource
,
restOptionsGetter
)
...
...
pkg/registry/storage/rest/storage_storage.go
View file @
bfe0d50c
...
...
@@ -17,6 +17,7 @@ limitations under the License.
package
rest
import
(
"k8s.io/kubernetes/pkg/api"
storageapi
"k8s.io/kubernetes/pkg/apis/storage"
storageapiv1beta1
"k8s.io/kubernetes/pkg/apis/storage/v1beta1"
"k8s.io/kubernetes/pkg/genericapiserver/registry/generic"
...
...
@@ -29,7 +30,7 @@ type RESTStorageProvider struct {
}
func
(
p
RESTStorageProvider
)
NewRESTStorage
(
apiResourceConfigSource
genericapiserver
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
(
genericapiserver
.
APIGroupInfo
,
bool
)
{
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
storageapi
.
GroupName
)
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
storageapi
.
GroupName
,
api
.
Registry
,
api
.
Scheme
,
api
.
ParameterCodec
,
api
.
Codecs
)
if
apiResourceConfigSource
.
AnyResourcesForVersionEnabled
(
storageapiv1beta1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
storageapiv1beta1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1beta1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
...
...
test/integration/framework/master_utils.go
View file @
bfe0d50c
...
...
@@ -183,7 +183,7 @@ func startMasterOrDie(masterConfig *master.Config, incomingServer *httptest.Serv
masterConfig
=
NewMasterConfig
()
masterConfig
.
GenericConfig
.
EnableProfiling
=
true
masterConfig
.
GenericConfig
.
EnableMetrics
=
true
masterConfig
.
GenericConfig
.
OpenAPIConfig
=
genericapiserver
.
DefaultOpenAPIConfig
(
openapi
.
GetOpenAPIDefinitions
)
masterConfig
.
GenericConfig
.
OpenAPIConfig
=
genericapiserver
.
DefaultOpenAPIConfig
(
openapi
.
GetOpenAPIDefinitions
,
api
.
Scheme
)
masterConfig
.
GenericConfig
.
OpenAPIConfig
.
Info
=
&
spec
.
Info
{
InfoProps
:
spec
.
InfoProps
{
Title
:
"Kubernetes"
,
...
...
@@ -317,7 +317,7 @@ func NewMasterConfig() *master.Config {
info
,
_
:=
runtime
.
SerializerInfoForMediaType
(
api
.
Codecs
.
SupportedMediaTypes
(),
runtime
.
ContentTypeJSON
)
ns
:=
NewSingleContentTypeSerializer
(
api
.
Scheme
,
info
)
storageFactory
:=
genericapiserver
.
NewDefaultStorageFactory
(
config
,
runtime
.
ContentTypeJSON
,
ns
,
genericapiserver
.
NewDefaultResourceEncodingConfig
(),
master
.
DefaultAPIResourceConfigSource
())
storageFactory
:=
genericapiserver
.
NewDefaultStorageFactory
(
config
,
runtime
.
ContentTypeJSON
,
ns
,
genericapiserver
.
NewDefaultResourceEncodingConfig
(
api
.
Registry
),
master
.
DefaultAPIResourceConfigSource
())
storageFactory
.
SetSerializer
(
schema
.
GroupResource
{
Group
:
v1
.
GroupName
,
Resource
:
genericapiserver
.
AllResources
},
""
,
...
...
@@ -355,7 +355,7 @@ func NewMasterConfig() *master.Config {
""
,
ns
)
genericConfig
:=
genericapiserver
.
NewConfig
()
genericConfig
:=
genericapiserver
.
NewConfig
()
.
WithSerializer
(
api
.
Codecs
)
kubeVersion
:=
version
.
Get
()
genericConfig
.
Version
=
&
kubeVersion
genericConfig
.
Authorizer
=
authorizerfactory
.
NewAlwaysAllowAuthorizer
()
...
...
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