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
47d2f416
Commit
47d2f416
authored
Dec 13, 2015
by
k8s-merge-robot
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #18370 from deads2k/gv-interfacesfor
Auto commit by PR queue bot
parents
1c4d2624
ec87d74e
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
50 additions
and
44 deletions
+50
-44
server.go
cmd/kube-apiserver/app/server.go
+7
-2
install.go
pkg/api/install/install.go
+2
-2
install_test.go
pkg/api/install/install_test.go
+3
-3
latest.go
pkg/api/latest/latest.go
+2
-2
restmapper.go
pkg/api/meta/restmapper.go
+2
-2
restmapper_test.go
pkg/api/meta/restmapper_test.go
+2
-2
testapi.go
pkg/api/testapi/testapi.go
+3
-3
install.go
pkg/apis/componentconfig/install/install.go
+2
-2
install_test.go
pkg/apis/componentconfig/install/install_test.go
+5
-5
install.go
pkg/apis/extensions/install/install.go
+2
-2
install_test.go
pkg/apis/extensions/install/install_test.go
+5
-5
install.go
pkg/apis/metrics/install/install.go
+2
-2
apiserver_test.go
pkg/apiserver/apiserver_test.go
+2
-6
extensions.go
pkg/client/unversioned/extensions.go
+1
-1
helper.go
pkg/client/unversioned/helper.go
+1
-1
cmd_test.go
pkg/kubectl/cmd/cmd_test.go
+3
-3
helpers.go
pkg/kubectl/cmd/util/helpers.go
+6
-1
No files found.
cmd/kube-apiserver/app/server.go
View file @
47d2f416
...
...
@@ -280,10 +280,15 @@ func (s *APIServer) verifyClusterIPFlags() {
type
newEtcdFunc
func
([]
string
,
meta
.
VersionInterfacesFunc
,
string
,
string
)
(
storage
.
Interface
,
error
)
func
newEtcd
(
etcdServerList
[]
string
,
interfacesFunc
meta
.
VersionInterfacesFunc
,
storage
Version
,
pathPrefix
string
)
(
etcdStorage
storage
.
Interface
,
err
error
)
{
if
storage
Version
==
""
{
func
newEtcd
(
etcdServerList
[]
string
,
interfacesFunc
meta
.
VersionInterfacesFunc
,
storage
GroupVersionString
,
pathPrefix
string
)
(
etcdStorage
storage
.
Interface
,
err
error
)
{
if
storage
GroupVersionString
==
""
{
return
etcdStorage
,
fmt
.
Errorf
(
"storageVersion is required to create a etcd storage"
)
}
storageVersion
,
err
:=
unversioned
.
ParseGroupVersion
(
storageGroupVersionString
)
if
err
!=
nil
{
return
nil
,
err
}
var
storageConfig
etcdstorage
.
EtcdConfig
storageConfig
.
ServerList
=
etcdServerList
storageConfig
.
Prefix
=
pathPrefix
...
...
pkg/api/install/install.go
View file @
47d2f416
...
...
@@ -96,9 +96,9 @@ func init() {
// InterfacesFor returns the default Codec and ResourceVersioner for a given version
// string, or an error if the version is not known.
func
interfacesFor
(
version
string
)
(
*
meta
.
VersionInterfaces
,
error
)
{
func
interfacesFor
(
version
unversioned
.
GroupVersion
)
(
*
meta
.
VersionInterfaces
,
error
)
{
switch
version
{
case
"v1"
:
case
v1
.
SchemeGroupVersion
:
return
&
meta
.
VersionInterfaces
{
Codec
:
v1
.
Codec
,
ObjectConvertor
:
api
.
Scheme
,
...
...
pkg/api/install/install_test.go
View file @
47d2f416
...
...
@@ -63,11 +63,11 @@ func TestCodec(t *testing.T) {
}
func
TestInterfacesFor
(
t
*
testing
.
T
)
{
if
_
,
err
:=
latest
.
GroupOrDie
(
""
)
.
InterfacesFor
(
""
);
err
==
nil
{
if
_
,
err
:=
latest
.
GroupOrDie
(
""
)
.
InterfacesFor
(
internal
.
SchemeGroupVersion
);
err
==
nil
{
t
.
Fatalf
(
"unexpected non-error: %v"
,
err
)
}
for
i
,
version
:=
range
latest
.
GroupOrDie
(
""
)
.
GroupVersions
{
if
vi
,
err
:=
latest
.
GroupOrDie
(
""
)
.
InterfacesFor
(
version
.
Version
);
err
!=
nil
||
vi
==
nil
{
if
vi
,
err
:=
latest
.
GroupOrDie
(
""
)
.
InterfacesFor
(
version
);
err
!=
nil
||
vi
==
nil
{
t
.
Fatalf
(
"%d: unexpected result: %v"
,
i
,
err
)
}
}
...
...
@@ -99,7 +99,7 @@ func TestRESTMapper(t *testing.T) {
t
.
Errorf
(
"incorrect version: %v"
,
mapping
)
}
interfaces
,
_
:=
latest
.
GroupOrDie
(
""
)
.
InterfacesFor
(
version
.
String
()
)
interfaces
,
_
:=
latest
.
GroupOrDie
(
""
)
.
InterfacesFor
(
version
)
if
mapping
.
Codec
!=
interfaces
.
Codec
{
t
.
Errorf
(
"unexpected codec: %#v, expected: %#v"
,
mapping
,
interfaces
)
}
...
...
pkg/api/latest/latest.go
View file @
47d2f416
...
...
@@ -136,6 +136,6 @@ type GroupMeta struct {
RESTMapper
meta
.
RESTMapper
// InterfacesFor returns the default Codec and ResourceVersioner for a given version
//
string,
or an error if the version is not known.
InterfacesFor
func
(
version
string
)
(
*
meta
.
VersionInterfaces
,
error
)
// or an error if the version is not known.
InterfacesFor
func
(
version
unversioned
.
GroupVersion
)
(
*
meta
.
VersionInterfaces
,
error
)
}
pkg/api/meta/restmapper.go
View file @
47d2f416
...
...
@@ -84,7 +84,7 @@ var _ RESTMapper = &DefaultRESTMapper{}
// VersionInterfacesFunc returns the appropriate codec, typer, and metadata accessor for a
// given api version, or an error if no such api version exists.
type
VersionInterfacesFunc
func
(
apiVersion
string
)
(
*
VersionInterfaces
,
error
)
type
VersionInterfacesFunc
func
(
version
unversioned
.
GroupVersion
)
(
*
VersionInterfaces
,
error
)
// NewDefaultRESTMapper initializes a mapping between Kind and APIVersion
// to a resource name and back based on the objects in a runtime.Scheme
...
...
@@ -232,7 +232,7 @@ func (m *DefaultRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...st
return
nil
,
fmt
.
Errorf
(
"the provided version %q and kind %q cannot be mapped to a supported scope"
,
gvk
.
GroupVersion
()
.
String
(),
gvk
.
Kind
)
}
interfaces
,
err
:=
m
.
interfacesFunc
(
gvk
.
GroupVersion
()
.
String
()
)
interfaces
,
err
:=
m
.
interfacesFunc
(
gvk
.
GroupVersion
())
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"the provided version %q has no relevant versions"
,
gvk
.
GroupVersion
()
.
String
())
}
...
...
pkg/api/meta/restmapper_test.go
View file @
47d2f416
...
...
@@ -76,13 +76,13 @@ var validCodec = fakeCodec{}
var
validAccessor
=
resourceAccessor
{}
var
validConvertor
=
fakeConvertor
{}
func
fakeInterfaces
(
version
string
)
(
*
VersionInterfaces
,
error
)
{
func
fakeInterfaces
(
version
unversioned
.
GroupVersion
)
(
*
VersionInterfaces
,
error
)
{
return
&
VersionInterfaces
{
Codec
:
validCodec
,
ObjectConvertor
:
validConvertor
,
MetadataAccessor
:
validAccessor
},
nil
}
var
unmatchedErr
=
errors
.
New
(
"no version"
)
func
unmatchedVersionInterfaces
(
version
string
)
(
*
VersionInterfaces
,
error
)
{
func
unmatchedVersionInterfaces
(
version
unversioned
.
GroupVersion
)
(
*
VersionInterfaces
,
error
)
{
return
nil
,
unmatchedErr
}
...
...
pkg/api/testapi/testapi.go
View file @
47d2f416
...
...
@@ -91,7 +91,7 @@ func (g TestGroup) InternalGroupVersion() unversioned.GroupVersion {
// KUBE_TEST_API env var.
func
(
g
TestGroup
)
Codec
()
runtime
.
Codec
{
// TODO: caesarxuchao: Restructure the body once we have a central `latest`.
interfaces
,
err
:=
latest
.
GroupOrDie
(
g
.
externalGroupVersion
.
Group
)
.
InterfacesFor
(
g
.
externalGroupVersion
.
String
()
)
interfaces
,
err
:=
latest
.
GroupOrDie
(
g
.
externalGroupVersion
.
Group
)
.
InterfacesFor
(
g
.
externalGroupVersion
)
if
err
!=
nil
{
panic
(
err
)
}
...
...
@@ -101,7 +101,7 @@ func (g TestGroup) Codec() runtime.Codec {
// Converter returns the api.Scheme for the API version to test against, as set by the
// KUBE_TEST_API env var.
func
(
g
TestGroup
)
Converter
()
runtime
.
ObjectConvertor
{
interfaces
,
err
:=
latest
.
GroupOrDie
(
g
.
externalGroupVersion
.
Group
)
.
InterfacesFor
(
g
.
externalGroupVersion
.
String
()
)
interfaces
,
err
:=
latest
.
GroupOrDie
(
g
.
externalGroupVersion
.
Group
)
.
InterfacesFor
(
g
.
externalGroupVersion
)
if
err
!=
nil
{
panic
(
err
)
}
...
...
@@ -111,7 +111,7 @@ func (g TestGroup) Converter() runtime.ObjectConvertor {
// MetadataAccessor returns the MetadataAccessor for the API version to test against,
// as set by the KUBE_TEST_API env var.
func
(
g
TestGroup
)
MetadataAccessor
()
meta
.
MetadataAccessor
{
interfaces
,
err
:=
latest
.
GroupOrDie
(
g
.
externalGroupVersion
.
Group
)
.
InterfacesFor
(
g
.
externalGroupVersion
.
String
()
)
interfaces
,
err
:=
latest
.
GroupOrDie
(
g
.
externalGroupVersion
.
Group
)
.
InterfacesFor
(
g
.
externalGroupVersion
)
if
err
!=
nil
{
panic
(
err
)
}
...
...
pkg/apis/componentconfig/install/install.go
View file @
47d2f416
...
...
@@ -73,9 +73,9 @@ func init() {
// interfacesFor returns the default Codec and ResourceVersioner for a given version
// string, or an error if the version is not known.
func
interfacesFor
(
version
string
)
(
*
meta
.
VersionInterfaces
,
error
)
{
func
interfacesFor
(
version
unversioned
.
GroupVersion
)
(
*
meta
.
VersionInterfaces
,
error
)
{
switch
version
{
case
"componentconfig/v1alpha1"
:
case
v1alpha1
.
SchemeGroupVersion
:
return
&
meta
.
VersionInterfaces
{
Codec
:
v1alpha1
.
Codec
,
ObjectConvertor
:
api
.
Scheme
,
...
...
pkg/apis/componentconfig/install/install_test.go
View file @
47d2f416
...
...
@@ -43,11 +43,11 @@ func TestCodec(t *testing.T) {
}
func
TestInterfacesFor
(
t
*
testing
.
T
)
{
if
_
,
err
:=
latest
.
GroupOrDie
(
"componentconfig"
)
.
InterfacesFor
(
""
);
err
==
nil
{
if
_
,
err
:=
latest
.
GroupOrDie
(
"componentconfig"
)
.
InterfacesFor
(
componentconfig
.
SchemeGroupVersion
);
err
==
nil
{
t
.
Fatalf
(
"unexpected non-error: %v"
,
err
)
}
for
i
,
groupVersion
:=
range
append
([]
unversioned
.
GroupVersion
{
latest
.
GroupOrDie
(
"componentconfig"
)
.
GroupVersion
},
latest
.
GroupOrDie
(
"componentconfig"
)
.
GroupVersions
...
)
{
if
vi
,
err
:=
latest
.
GroupOrDie
(
"componentconfig"
)
.
InterfacesFor
(
groupVersion
.
String
()
);
err
!=
nil
||
vi
==
nil
{
for
i
,
version
:=
range
latest
.
GroupOrDie
(
"componentconfig"
)
.
GroupVersions
{
if
vi
,
err
:=
latest
.
GroupOrDie
(
"componentconfig"
)
.
InterfacesFor
(
version
);
err
!=
nil
||
vi
==
nil
{
t
.
Fatalf
(
"%d: unexpected result: %v"
,
i
,
err
)
}
}
...
...
@@ -75,11 +75,11 @@ func TestRESTMapper(t *testing.T) {
if
mapping
.
Resource
!=
"kubeproxyconfigurations"
{
t
.
Errorf
(
"incorrect resource name: %#v"
,
mapping
)
}
if
mapping
.
GroupVersionKind
.
GroupVersion
()
!=
gv
{
if
mapping
.
GroupVersionKind
.
GroupVersion
()
!=
version
{
t
.
Errorf
(
"incorrect groupVersion: %v"
,
mapping
)
}
interfaces
,
_
:=
latest
.
GroupOrDie
(
"componentconfig"
)
.
InterfacesFor
(
gv
.
String
()
)
interfaces
,
_
:=
latest
.
GroupOrDie
(
"componentconfig"
)
.
InterfacesFor
(
version
)
if
mapping
.
Codec
!=
interfaces
.
Codec
{
t
.
Errorf
(
"unexpected codec: %#v, expected: %#v"
,
mapping
,
interfaces
)
}
...
...
pkg/apis/extensions/install/install.go
View file @
47d2f416
...
...
@@ -73,9 +73,9 @@ func init() {
// InterfacesFor returns the default Codec and ResourceVersioner for a given version
// string, or an error if the version is not known.
func
interfacesFor
(
version
string
)
(
*
meta
.
VersionInterfaces
,
error
)
{
func
interfacesFor
(
version
unversioned
.
GroupVersion
)
(
*
meta
.
VersionInterfaces
,
error
)
{
switch
version
{
case
"extensions/v1beta1"
:
case
v1beta1
.
SchemeGroupVersion
:
return
&
meta
.
VersionInterfaces
{
Codec
:
v1beta1
.
Codec
,
ObjectConvertor
:
api
.
Scheme
,
...
...
pkg/apis/extensions/install/install_test.go
View file @
47d2f416
...
...
@@ -64,11 +64,11 @@ func TestCodec(t *testing.T) {
}
func
TestInterfacesFor
(
t
*
testing
.
T
)
{
if
_
,
err
:=
latest
.
GroupOrDie
(
"extensions"
)
.
InterfacesFor
(
""
);
err
==
nil
{
if
_
,
err
:=
latest
.
GroupOrDie
(
"extensions"
)
.
InterfacesFor
(
extensions
.
SchemeGroupVersion
);
err
==
nil
{
t
.
Fatalf
(
"unexpected non-error: %v"
,
err
)
}
for
i
,
groupVersion
:=
range
append
([]
unversioned
.
GroupVersion
{
latest
.
GroupOrDie
(
"extensions"
)
.
GroupVersion
},
latest
.
GroupOrDie
(
"extensions"
)
.
GroupVersions
...
)
{
if
vi
,
err
:=
latest
.
GroupOrDie
(
"extensions"
)
.
InterfacesFor
(
groupVersion
.
String
()
);
err
!=
nil
||
vi
==
nil
{
for
i
,
version
:=
range
latest
.
GroupOrDie
(
"extensions"
)
.
GroupVersions
{
if
vi
,
err
:=
latest
.
GroupOrDie
(
"extensions"
)
.
InterfacesFor
(
version
);
err
!=
nil
||
vi
==
nil
{
t
.
Fatalf
(
"%d: unexpected result: %v"
,
i
,
err
)
}
}
...
...
@@ -96,11 +96,11 @@ func TestRESTMapper(t *testing.T) {
if
mapping
.
Resource
!=
"horizontalpodautoscalers"
{
t
.
Errorf
(
"incorrect resource name: %#v"
,
mapping
)
}
if
mapping
.
GroupVersionKind
.
GroupVersion
()
!=
gv
{
if
mapping
.
GroupVersionKind
.
GroupVersion
()
!=
version
{
t
.
Errorf
(
"incorrect groupVersion: %v"
,
mapping
)
}
interfaces
,
_
:=
latest
.
GroupOrDie
(
"extensions"
)
.
InterfacesFor
(
gv
.
String
()
)
interfaces
,
_
:=
latest
.
GroupOrDie
(
"extensions"
)
.
InterfacesFor
(
version
)
if
mapping
.
Codec
!=
interfaces
.
Codec
{
t
.
Errorf
(
"unexpected codec: %#v, expected: %#v"
,
mapping
,
interfaces
)
}
...
...
pkg/apis/metrics/install/install.go
View file @
47d2f416
...
...
@@ -73,9 +73,9 @@ func init() {
// InterfacesFor returns the default Codec and ResourceVersioner for a given version
// string, or an error if the version is not known.
func
interfacesFor
(
version
string
)
(
*
meta
.
VersionInterfaces
,
error
)
{
func
interfacesFor
(
version
unversioned
.
GroupVersion
)
(
*
meta
.
VersionInterfaces
,
error
)
{
switch
version
{
case
"metrics/v1alpha1"
:
case
v1alpha1
.
SchemeGroupVersion
:
return
&
meta
.
VersionInterfaces
{
Codec
:
v1alpha1
.
Codec
,
ObjectConvertor
:
api
.
Scheme
,
...
...
pkg/apiserver/apiserver_test.go
View file @
47d2f416
...
...
@@ -78,12 +78,8 @@ var mapper, namespaceMapper meta.RESTMapper // The mappers with namespace and wi
var
admissionControl
admission
.
Interface
var
requestContextMapper
api
.
RequestContextMapper
func
interfacesFor
(
version
string
)
(
*
meta
.
VersionInterfaces
,
error
)
{
gv
,
err
:=
unversioned
.
ParseGroupVersion
(
version
)
if
err
!=
nil
{
return
nil
,
err
}
switch
gv
{
func
interfacesFor
(
version
unversioned
.
GroupVersion
)
(
*
meta
.
VersionInterfaces
,
error
)
{
switch
version
{
case
testGroupVersion
:
return
&
meta
.
VersionInterfaces
{
Codec
:
codec
,
...
...
pkg/client/unversioned/extensions.go
View file @
47d2f416
...
...
@@ -148,7 +148,7 @@ func setExtensionsDefaults(config *Config) error {
config
.
GroupVersion
=
&
copyGroupVersion
//}
versionInterfaces
,
err
:=
g
.
InterfacesFor
(
config
.
GroupVersion
.
String
()
)
versionInterfaces
,
err
:=
g
.
InterfacesFor
(
*
config
.
GroupVersion
)
if
err
!=
nil
{
return
fmt
.
Errorf
(
"Extensions API group/version '%v' is not recognized (valid values: %v)"
,
config
.
GroupVersion
,
g
.
GroupVersions
)
...
...
pkg/client/unversioned/helper.go
View file @
47d2f416
...
...
@@ -364,7 +364,7 @@ func SetKubernetesDefaults(config *Config) error {
if
config
.
GroupVersion
==
nil
{
config
.
GroupVersion
=
defaultVersionFor
(
config
)
}
versionInterfaces
,
err
:=
latest
.
GroupOrDie
(
""
)
.
InterfacesFor
(
config
.
GroupVersion
.
String
()
)
versionInterfaces
,
err
:=
latest
.
GroupOrDie
(
""
)
.
InterfacesFor
(
*
config
.
GroupVersion
)
if
err
!=
nil
{
return
fmt
.
Errorf
(
"API version '%v' is not recognized (valid values: %v)"
,
*
config
.
GroupVersion
,
latest
.
GroupOrDie
(
""
)
.
GroupVersions
)
}
...
...
pkg/kubectl/cmd/cmd_test.go
View file @
47d2f416
...
...
@@ -91,12 +91,12 @@ func newExternalScheme() (*runtime.Scheme, meta.RESTMapper, runtime.Codec) {
scheme
.
AddKnownTypeWithName
(
validVersionGV
.
WithKind
(
"Type"
),
&
ExternalType2
{})
codec
:=
runtime
.
CodecFor
(
scheme
,
unlikelyGV
.
String
())
mapper
:=
meta
.
NewDefaultRESTMapper
([]
unversioned
.
GroupVersion
{
unlikelyGV
,
validVersionGV
},
func
(
version
string
)
(
*
meta
.
VersionInterfaces
,
error
)
{
mapper
:=
meta
.
NewDefaultRESTMapper
([]
unversioned
.
GroupVersion
{
unlikelyGV
,
validVersionGV
},
func
(
version
unversioned
.
GroupVersion
)
(
*
meta
.
VersionInterfaces
,
error
)
{
return
&
meta
.
VersionInterfaces
{
Codec
:
runtime
.
CodecFor
(
scheme
,
version
),
Codec
:
runtime
.
CodecFor
(
scheme
,
version
.
String
()
),
ObjectConvertor
:
scheme
,
MetadataAccessor
:
meta
.
NewAccessor
(),
},
versionErrIfFalse
(
version
==
validVersionGV
.
String
()
||
version
==
unlikelyGV
.
String
()
)
},
versionErrIfFalse
(
version
==
validVersionGV
||
version
==
unlikelyGV
)
})
for
_
,
gv
:=
range
[]
unversioned
.
GroupVersion
{
unlikelyGV
,
validVersionGV
}
{
for
kind
:=
range
scheme
.
KnownTypes
(
gv
)
{
...
...
pkg/kubectl/cmd/util/helpers.go
View file @
47d2f416
...
...
@@ -376,7 +376,12 @@ func Merge(dst runtime.Object, fragment, kind string) (runtime.Object, error) {
if
!
ok
{
return
nil
,
fmt
.
Errorf
(
"apiVersion must be a string"
)
}
i
,
err
:=
latest
.
GroupOrDie
(
""
)
.
InterfacesFor
(
versionString
)
groupVersion
,
err
:=
unversioned
.
ParseGroupVersion
(
versionString
)
if
err
!=
nil
{
return
nil
,
err
}
i
,
err
:=
latest
.
GroupOrDie
(
""
)
.
InterfacesFor
(
groupVersion
)
if
err
!=
nil
{
return
nil
,
err
}
...
...
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