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
84b56103
Unverified
Commit
84b56103
authored
Apr 04, 2019
by
Kubernetes Prow Robot
Committed by
GitHub
Apr 04, 2019
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #76175 from stealthybox/refactor-mediatype-loops
Refactor loops over `SupportedMediaTypes()` where mediaType is used to match a single SerializerInfo{}
parents
54ba23ee
47e52d29
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
37 additions
and
73 deletions
+37
-73
BUILD
cmd/kube-proxy/app/BUILD
+0
-1
server.go
cmd/kube-proxy/app/server.go
+6
-13
BUILD
cmd/kube-scheduler/app/options/BUILD
+0
-1
configfile.go
cmd/kube-scheduler/app/options/configfile.go
+7
-14
marshal.go
cmd/kubeadm/app/util/marshal.go
+2
-2
request.go
staging/src/k8s.io/apiserver/pkg/audit/request.go
+15
-15
negotiate.go
...apiserver/pkg/endpoints/handlers/negotiation/negotiate.go
+1
-4
watch.go
staging/src/k8s.io/apiserver/pkg/endpoints/handlers/watch.go
+3
-8
scheme.go
staging/src/k8s.io/cli-runtime/pkg/resource/scheme.go
+2
-8
bad_debt.go
staging/src/k8s.io/client-go/deprecated-dynamic/bad_debt.go
+1
-7
No files found.
cmd/kube-proxy/app/BUILD
View file @
84b56103
...
@@ -47,7 +47,6 @@ go_library(
...
@@ -47,7 +47,6 @@ go_library(
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime/serializer/json:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/runtime:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/runtime:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/server/healthz:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/server/healthz:go_default_library",
...
...
cmd/kube-proxy/app/server.go
View file @
84b56103
...
@@ -32,7 +32,6 @@ import (
...
@@ -32,7 +32,6 @@ import (
v1meta
"k8s.io/apimachinery/pkg/apis/meta/v1"
v1meta
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/serializer"
"k8s.io/apimachinery/pkg/runtime/serializer"
"k8s.io/apimachinery/pkg/runtime/serializer/json"
utilruntime
"k8s.io/apimachinery/pkg/util/runtime"
utilruntime
"k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/apiserver/pkg/server/healthz"
"k8s.io/apiserver/pkg/server/healthz"
...
@@ -334,19 +333,13 @@ func (o *Options) runLoop() error {
...
@@ -334,19 +333,13 @@ func (o *Options) runLoop() error {
}
}
func
(
o
*
Options
)
writeConfigFile
()
error
{
func
(
o
*
Options
)
writeConfigFile
()
error
{
var
encoder
runtime
.
Encoder
const
mediaType
=
runtime
.
ContentTypeYAML
mediaTypes
:=
o
.
codecs
.
SupportedMediaTypes
()
info
,
ok
:=
runtime
.
SerializerInfoForMediaType
(
o
.
codecs
.
SupportedMediaTypes
(),
mediaType
)
for
_
,
info
:=
range
mediaTypes
{
if
!
ok
{
if
info
.
MediaType
==
"application/yaml"
{
return
fmt
.
Errorf
(
"unable to locate encoder -- %q is not a supported media type"
,
mediaType
)
encoder
=
info
.
Serializer
break
}
}
if
encoder
==
nil
{
return
errors
.
New
(
"unable to locate yaml encoder"
)
}
}
encoder
=
json
.
NewYAMLSerializer
(
json
.
DefaultMetaFactory
,
o
.
scheme
,
o
.
scheme
)
encoder
=
o
.
codecs
.
EncoderForVersion
(
encod
er
,
v1alpha1
.
SchemeGroupVersion
)
encoder
:=
o
.
codecs
.
EncoderForVersion
(
info
.
Serializ
er
,
v1alpha1
.
SchemeGroupVersion
)
configFile
,
err
:=
os
.
Create
(
o
.
WriteConfigTo
)
configFile
,
err
:=
os
.
Create
(
o
.
WriteConfigTo
)
if
err
!=
nil
{
if
err
!=
nil
{
...
...
cmd/kube-scheduler/app/options/BUILD
View file @
84b56103
...
@@ -23,7 +23,6 @@ go_library(
...
@@ -23,7 +23,6 @@ go_library(
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime/serializer/json:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/uuid:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/uuid:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/server/options:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/server/options:go_default_library",
...
...
cmd/kube-scheduler/app/options/configfile.go
View file @
84b56103
...
@@ -17,12 +17,11 @@ limitations under the License.
...
@@ -17,12 +17,11 @@ limitations under the License.
package
options
package
options
import
(
import
(
"
errors
"
"
fmt
"
"io/ioutil"
"io/ioutil"
"os"
"os"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/serializer/json"
kubeschedulerconfig
"k8s.io/kubernetes/pkg/scheduler/apis/config"
kubeschedulerconfig
"k8s.io/kubernetes/pkg/scheduler/apis/config"
kubeschedulerscheme
"k8s.io/kubernetes/pkg/scheduler/apis/config/scheme"
kubeschedulerscheme
"k8s.io/kubernetes/pkg/scheduler/apis/config/scheme"
kubeschedulerconfigv1alpha1
"k8s.io/kubernetes/pkg/scheduler/apis/config/v1alpha1"
kubeschedulerconfigv1alpha1
"k8s.io/kubernetes/pkg/scheduler/apis/config/v1alpha1"
...
@@ -48,19 +47,13 @@ func loadConfig(data []byte) (*kubeschedulerconfig.KubeSchedulerConfiguration, e
...
@@ -48,19 +47,13 @@ func loadConfig(data []byte) (*kubeschedulerconfig.KubeSchedulerConfiguration, e
// WriteConfigFile writes the config into the given file name as YAML.
// WriteConfigFile writes the config into the given file name as YAML.
func
WriteConfigFile
(
fileName
string
,
cfg
*
kubeschedulerconfig
.
KubeSchedulerConfiguration
)
error
{
func
WriteConfigFile
(
fileName
string
,
cfg
*
kubeschedulerconfig
.
KubeSchedulerConfiguration
)
error
{
var
encoder
runtime
.
Encoder
const
mediaType
=
runtime
.
ContentTypeYAML
mediaTypes
:=
kubeschedulerscheme
.
Codecs
.
SupportedMediaTypes
()
info
,
ok
:=
runtime
.
SerializerInfoForMediaType
(
kubeschedulerscheme
.
Codecs
.
SupportedMediaTypes
(),
mediaType
)
for
_
,
info
:=
range
mediaTypes
{
if
!
ok
{
if
info
.
MediaType
==
"application/yaml"
{
return
fmt
.
Errorf
(
"unable to locate encoder -- %q is not a supported media type"
,
mediaType
)
encoder
=
info
.
Serializer
break
}
}
}
if
encoder
==
nil
{
return
errors
.
New
(
"unable to locate yaml encoder"
)
encoder
:=
kubeschedulerscheme
.
Codecs
.
EncoderForVersion
(
info
.
Serializer
,
kubeschedulerconfigv1alpha1
.
SchemeGroupVersion
)
}
encoder
=
json
.
NewYAMLSerializer
(
json
.
DefaultMetaFactory
,
kubeschedulerscheme
.
Scheme
,
kubeschedulerscheme
.
Scheme
)
encoder
=
kubeschedulerscheme
.
Codecs
.
EncoderForVersion
(
encoder
,
kubeschedulerconfigv1alpha1
.
SchemeGroupVersion
)
configFile
,
err
:=
os
.
Create
(
fileName
)
configFile
,
err
:=
os
.
Create
(
fileName
)
if
err
!=
nil
{
if
err
!=
nil
{
...
...
cmd/kubeadm/app/util/marshal.go
View file @
84b56103
...
@@ -42,7 +42,7 @@ func MarshalToYaml(obj runtime.Object, gv schema.GroupVersion) ([]byte, error) {
...
@@ -42,7 +42,7 @@ func MarshalToYaml(obj runtime.Object, gv schema.GroupVersion) ([]byte, error) {
// TODO: Is specifying the gv really needed here?
// TODO: Is specifying the gv really needed here?
// TODO: Can we support json out of the box easily here?
// TODO: Can we support json out of the box easily here?
func
MarshalToYamlForCodecs
(
obj
runtime
.
Object
,
gv
schema
.
GroupVersion
,
codecs
serializer
.
CodecFactory
)
([]
byte
,
error
)
{
func
MarshalToYamlForCodecs
(
obj
runtime
.
Object
,
gv
schema
.
GroupVersion
,
codecs
serializer
.
CodecFactory
)
([]
byte
,
error
)
{
mediaType
:=
"application/yaml"
const
mediaType
=
runtime
.
ContentTypeYAML
info
,
ok
:=
runtime
.
SerializerInfoForMediaType
(
codecs
.
SupportedMediaTypes
(),
mediaType
)
info
,
ok
:=
runtime
.
SerializerInfoForMediaType
(
codecs
.
SupportedMediaTypes
(),
mediaType
)
if
!
ok
{
if
!
ok
{
return
[]
byte
{},
errors
.
Errorf
(
"unsupported media type %q"
,
mediaType
)
return
[]
byte
{},
errors
.
Errorf
(
"unsupported media type %q"
,
mediaType
)
...
@@ -61,7 +61,7 @@ func UnmarshalFromYaml(buffer []byte, gv schema.GroupVersion) (runtime.Object, e
...
@@ -61,7 +61,7 @@ func UnmarshalFromYaml(buffer []byte, gv schema.GroupVersion) (runtime.Object, e
// TODO: Is specifying the gv really needed here?
// TODO: Is specifying the gv really needed here?
// TODO: Can we support json out of the box easily here?
// TODO: Can we support json out of the box easily here?
func
UnmarshalFromYamlForCodecs
(
buffer
[]
byte
,
gv
schema
.
GroupVersion
,
codecs
serializer
.
CodecFactory
)
(
runtime
.
Object
,
error
)
{
func
UnmarshalFromYamlForCodecs
(
buffer
[]
byte
,
gv
schema
.
GroupVersion
,
codecs
serializer
.
CodecFactory
)
(
runtime
.
Object
,
error
)
{
mediaType
:=
"application/yaml"
const
mediaType
=
runtime
.
ContentTypeYAML
info
,
ok
:=
runtime
.
SerializerInfoForMediaType
(
codecs
.
SupportedMediaTypes
(),
mediaType
)
info
,
ok
:=
runtime
.
SerializerInfoForMediaType
(
codecs
.
SupportedMediaTypes
(),
mediaType
)
if
!
ok
{
if
!
ok
{
return
nil
,
errors
.
Errorf
(
"unsupported media type %q"
,
mediaType
)
return
nil
,
errors
.
Errorf
(
"unsupported media type %q"
,
mediaType
)
...
...
staging/src/k8s.io/apiserver/pkg/audit/request.go
View file @
84b56103
...
@@ -197,22 +197,22 @@ func LogResponseObject(ae *auditinternal.Event, obj runtime.Object, gv schema.Gr
...
@@ -197,22 +197,22 @@ func LogResponseObject(ae *auditinternal.Event, obj runtime.Object, gv schema.Gr
}
}
func
encodeObject
(
obj
runtime
.
Object
,
gv
schema
.
GroupVersion
,
serializer
runtime
.
NegotiatedSerializer
)
(
*
runtime
.
Unknown
,
error
)
{
func
encodeObject
(
obj
runtime
.
Object
,
gv
schema
.
GroupVersion
,
serializer
runtime
.
NegotiatedSerializer
)
(
*
runtime
.
Unknown
,
error
)
{
supported
:=
serializer
.
SupportedMediaTypes
()
const
mediaType
=
runtime
.
ContentTypeJSON
for
i
:=
range
supported
{
info
,
ok
:=
runtime
.
SerializerInfoForMediaType
(
serializer
.
SupportedMediaTypes
(),
mediaType
)
if
supported
[
i
]
.
MediaType
==
"application/json"
{
if
!
ok
{
enc
:=
serializer
.
EncoderForVersion
(
supported
[
i
]
.
Serializer
,
gv
)
return
nil
,
fmt
.
Errorf
(
"unable to locate encoder -- %q is not a supported media type"
,
mediaType
)
var
buf
bytes
.
Buffer
}
if
err
:=
enc
.
Encode
(
obj
,
&
buf
);
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"encoding failed: %v"
,
err
)
enc
:=
serializer
.
EncoderForVersion
(
info
.
Serializer
,
gv
)
}
var
buf
bytes
.
Buffer
if
err
:=
enc
.
Encode
(
obj
,
&
buf
);
err
!=
nil
{
return
&
runtime
.
Unknown
{
return
nil
,
fmt
.
Errorf
(
"encoding failed: %v"
,
err
)
Raw
:
buf
.
Bytes
(),
ContentType
:
runtime
.
ContentTypeJSON
,
},
nil
}
}
}
return
nil
,
fmt
.
Errorf
(
"no json encoder found"
)
return
&
runtime
.
Unknown
{
Raw
:
buf
.
Bytes
(),
ContentType
:
runtime
.
ContentTypeJSON
,
},
nil
}
}
// LogAnnotation fills in the Annotations according to the key value pair.
// LogAnnotation fills in the Annotations according to the key value pair.
...
...
staging/src/k8s.io/apiserver/pkg/endpoints/handlers/negotiation/negotiate.go
View file @
84b56103
...
@@ -79,10 +79,7 @@ func NegotiateInputSerializerForMediaType(mediaType string, streaming bool, ns r
...
@@ -79,10 +79,7 @@ func NegotiateInputSerializerForMediaType(mediaType string, streaming bool, ns r
mediaType
=
mediaTypes
[
0
]
.
MediaType
mediaType
=
mediaTypes
[
0
]
.
MediaType
}
}
if
mediaType
,
_
,
err
:=
mime
.
ParseMediaType
(
mediaType
);
err
==
nil
{
if
mediaType
,
_
,
err
:=
mime
.
ParseMediaType
(
mediaType
);
err
==
nil
{
for
_
,
info
:=
range
mediaTypes
{
if
info
,
ok
:=
runtime
.
SerializerInfoForMediaType
(
mediaTypes
,
mediaType
);
ok
{
if
info
.
MediaType
!=
mediaType
{
continue
}
return
info
,
nil
return
info
,
nil
}
}
}
}
...
...
staging/src/k8s.io/apiserver/pkg/endpoints/handlers/watch.go
View file @
84b56103
...
@@ -94,17 +94,12 @@ func serveWatch(watcher watch.Interface, scope *RequestScope, mediaTypeOptions n
...
@@ -94,17 +94,12 @@ func serveWatch(watcher watch.Interface, scope *RequestScope, mediaTypeOptions n
var
embeddedEncoder
runtime
.
Encoder
var
embeddedEncoder
runtime
.
Encoder
contentKind
,
contentSerializer
,
transform
:=
targetEncodingForTransform
(
scope
,
mediaTypeOptions
,
req
)
contentKind
,
contentSerializer
,
transform
:=
targetEncodingForTransform
(
scope
,
mediaTypeOptions
,
req
)
if
transform
{
if
transform
{
var
embedded
runtime
.
Serializer
info
,
ok
:=
runtime
.
SerializerInfoForMediaType
(
contentSerializer
.
SupportedMediaTypes
(),
serializer
.
MediaType
)
for
_
,
supported
:=
range
contentSerializer
.
SupportedMediaTypes
()
{
if
!
ok
{
if
supported
.
MediaType
==
serializer
.
MediaType
{
embedded
=
supported
.
Serializer
}
}
if
embedded
==
nil
{
scope
.
err
(
fmt
.
Errorf
(
"no encoder for %q exists in the requested target %#v"
,
serializer
.
MediaType
,
contentSerializer
),
w
,
req
)
scope
.
err
(
fmt
.
Errorf
(
"no encoder for %q exists in the requested target %#v"
,
serializer
.
MediaType
,
contentSerializer
),
w
,
req
)
return
return
}
}
embeddedEncoder
=
contentSerializer
.
EncoderForVersion
(
embedded
,
contentKind
.
GroupVersion
())
embeddedEncoder
=
contentSerializer
.
EncoderForVersion
(
info
.
Serializer
,
contentKind
.
GroupVersion
())
}
else
{
}
else
{
embeddedEncoder
=
scope
.
Serializer
.
EncoderForVersion
(
serializer
.
Serializer
,
contentKind
.
GroupVersion
())
embeddedEncoder
=
scope
.
Serializer
.
EncoderForVersion
(
serializer
.
Serializer
,
contentKind
.
GroupVersion
())
}
}
...
...
staging/src/k8s.io/cli-runtime/pkg/resource/scheme.go
View file @
84b56103
...
@@ -56,18 +56,12 @@ func (dynamicCodec) Encode(obj runtime.Object, w io.Writer) error {
...
@@ -56,18 +56,12 @@ func (dynamicCodec) Encode(obj runtime.Object, w io.Writer) error {
return
unstructured
.
UnstructuredJSONScheme
.
Encode
(
obj
,
w
)
return
unstructured
.
UnstructuredJSONScheme
.
Encode
(
obj
,
w
)
}
}
// ContentConfig returns a rest.ContentConfig for dynamic types. It includes enough codecs to act as a "normal"
//
UnstructuredPlusDefault
ContentConfig returns a rest.ContentConfig for dynamic types. It includes enough codecs to act as a "normal"
// serializer for the rest.client with options, status and the like.
// serializer for the rest.client with options, status and the like.
func
UnstructuredPlusDefaultContentConfig
()
rest
.
ContentConfig
{
func
UnstructuredPlusDefaultContentConfig
()
rest
.
ContentConfig
{
var
jsonInfo
runtime
.
SerializerInfo
// TODO: scheme.Codecs here should become "pkg/apis/server/scheme" which is the minimal core you need
// TODO: scheme.Codecs here should become "pkg/apis/server/scheme" which is the minimal core you need
// to talk to a kubernetes server
// to talk to a kubernetes server
for
_
,
info
:=
range
scheme
.
Codecs
.
SupportedMediaTypes
()
{
jsonInfo
,
_
:=
runtime
.
SerializerInfoForMediaType
(
scheme
.
Codecs
.
SupportedMediaTypes
(),
runtime
.
ContentTypeJSON
)
if
info
.
MediaType
==
runtime
.
ContentTypeJSON
{
jsonInfo
=
info
break
}
}
jsonInfo
.
Serializer
=
dynamicCodec
{}
jsonInfo
.
Serializer
=
dynamicCodec
{}
jsonInfo
.
PrettySerializer
=
nil
jsonInfo
.
PrettySerializer
=
nil
...
...
staging/src/k8s.io/client-go/deprecated-dynamic/bad_debt.go
View file @
84b56103
...
@@ -59,15 +59,9 @@ func (dynamicCodec) Encode(obj runtime.Object, w io.Writer) error {
...
@@ -59,15 +59,9 @@ func (dynamicCodec) Encode(obj runtime.Object, w io.Writer) error {
// ContentConfig returns a rest.ContentConfig for dynamic types.
// ContentConfig returns a rest.ContentConfig for dynamic types.
// Deprecated only used by test code and its wrong
// Deprecated only used by test code and its wrong
func
ContentConfig
()
rest
.
ContentConfig
{
func
ContentConfig
()
rest
.
ContentConfig
{
var
jsonInfo
runtime
.
SerializerInfo
// TODO: scheme.Codecs here should become "pkg/apis/server/scheme" which is the minimal core you need
// TODO: scheme.Codecs here should become "pkg/apis/server/scheme" which is the minimal core you need
// to talk to a kubernetes server
// to talk to a kubernetes server
for
_
,
info
:=
range
scheme
.
Codecs
.
SupportedMediaTypes
()
{
jsonInfo
,
_
:=
runtime
.
SerializerInfoForMediaType
(
scheme
.
Codecs
.
SupportedMediaTypes
(),
runtime
.
ContentTypeJSON
)
if
info
.
MediaType
==
runtime
.
ContentTypeJSON
{
jsonInfo
=
info
break
}
}
jsonInfo
.
Serializer
=
dynamicCodec
{}
jsonInfo
.
Serializer
=
dynamicCodec
{}
jsonInfo
.
PrettySerializer
=
nil
jsonInfo
.
PrettySerializer
=
nil
...
...
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