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(
"//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/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/wait: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 (
v1meta
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/serializer"
"k8s.io/apimachinery/pkg/runtime/serializer/json"
utilruntime
"k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/apiserver/pkg/server/healthz"
...
...
@@ -334,19 +333,13 @@ func (o *Options) runLoop() error {
}
func
(
o
*
Options
)
writeConfigFile
()
error
{
var
encoder
runtime
.
Encoder
mediaTypes
:=
o
.
codecs
.
SupportedMediaTypes
()
for
_
,
info
:=
range
mediaTypes
{
if
info
.
MediaType
==
"application/yaml"
{
encoder
=
info
.
Serializer
break
}
}
if
encoder
==
nil
{
return
errors
.
New
(
"unable to locate yaml encoder"
)
const
mediaType
=
runtime
.
ContentTypeYAML
info
,
ok
:=
runtime
.
SerializerInfoForMediaType
(
o
.
codecs
.
SupportedMediaTypes
(),
mediaType
)
if
!
ok
{
return
fmt
.
Errorf
(
"unable to locate encoder -- %q is not a supported media type"
,
mediaType
)
}
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
)
if
err
!=
nil
{
...
...
cmd/kube-scheduler/app/options/BUILD
View file @
84b56103
...
...
@@ -23,7 +23,6 @@ go_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/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/validation/field: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.
package
options
import
(
"
errors
"
"
fmt
"
"io/ioutil"
"os"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/serializer/json"
kubeschedulerconfig
"k8s.io/kubernetes/pkg/scheduler/apis/config"
kubeschedulerscheme
"k8s.io/kubernetes/pkg/scheduler/apis/config/scheme"
kubeschedulerconfigv1alpha1
"k8s.io/kubernetes/pkg/scheduler/apis/config/v1alpha1"
...
...
@@ -48,19 +47,13 @@ func loadConfig(data []byte) (*kubeschedulerconfig.KubeSchedulerConfiguration, e
// WriteConfigFile writes the config into the given file name as YAML.
func
WriteConfigFile
(
fileName
string
,
cfg
*
kubeschedulerconfig
.
KubeSchedulerConfiguration
)
error
{
var
encoder
runtime
.
Encoder
mediaTypes
:=
kubeschedulerscheme
.
Codecs
.
SupportedMediaTypes
()
for
_
,
info
:=
range
mediaTypes
{
if
info
.
MediaType
==
"application/yaml"
{
encoder
=
info
.
Serializer
break
}
const
mediaType
=
runtime
.
ContentTypeYAML
info
,
ok
:=
runtime
.
SerializerInfoForMediaType
(
kubeschedulerscheme
.
Codecs
.
SupportedMediaTypes
(),
mediaType
)
if
!
ok
{
return
fmt
.
Errorf
(
"unable to locate encoder -- %q is not a supported media type"
,
mediaType
)
}
if
encoder
==
nil
{
return
errors
.
New
(
"unable to locate yaml encoder"
)
}
encoder
=
json
.
NewYAMLSerializer
(
json
.
DefaultMetaFactory
,
kubeschedulerscheme
.
Scheme
,
kubeschedulerscheme
.
Scheme
)
encoder
=
kubeschedulerscheme
.
Codecs
.
EncoderForVersion
(
encoder
,
kubeschedulerconfigv1alpha1
.
SchemeGroupVersion
)
encoder
:=
kubeschedulerscheme
.
Codecs
.
EncoderForVersion
(
info
.
Serializer
,
kubeschedulerconfigv1alpha1
.
SchemeGroupVersion
)
configFile
,
err
:=
os
.
Create
(
fileName
)
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) {
// TODO: Is specifying the gv really needed 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
)
{
mediaType
:=
"application/yaml"
const
mediaType
=
runtime
.
ContentTypeYAML
info
,
ok
:=
runtime
.
SerializerInfoForMediaType
(
codecs
.
SupportedMediaTypes
(),
mediaType
)
if
!
ok
{
return
[]
byte
{},
errors
.
Errorf
(
"unsupported media type %q"
,
mediaType
)
...
...
@@ -61,7 +61,7 @@ func UnmarshalFromYaml(buffer []byte, gv schema.GroupVersion) (runtime.Object, e
// TODO: Is specifying the gv really needed 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
)
{
mediaType
:=
"application/yaml"
const
mediaType
=
runtime
.
ContentTypeYAML
info
,
ok
:=
runtime
.
SerializerInfoForMediaType
(
codecs
.
SupportedMediaTypes
(),
mediaType
)
if
!
ok
{
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
}
func
encodeObject
(
obj
runtime
.
Object
,
gv
schema
.
GroupVersion
,
serializer
runtime
.
NegotiatedSerializer
)
(
*
runtime
.
Unknown
,
error
)
{
supported
:=
serializer
.
SupportedMediaTypes
()
for
i
:=
range
supported
{
if
supported
[
i
]
.
MediaType
==
"application/json"
{
enc
:=
serializer
.
EncoderForVersion
(
supported
[
i
]
.
Serializer
,
gv
)
var
buf
bytes
.
Buffer
if
err
:=
enc
.
Encode
(
obj
,
&
buf
);
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"encoding failed: %v"
,
err
)
}
return
&
runtime
.
Unknown
{
Raw
:
buf
.
Bytes
(),
ContentType
:
runtime
.
ContentTypeJSON
,
},
nil
}
const
mediaType
=
runtime
.
ContentTypeJSON
info
,
ok
:=
runtime
.
SerializerInfoForMediaType
(
serializer
.
SupportedMediaTypes
(),
mediaType
)
if
!
ok
{
return
nil
,
fmt
.
Errorf
(
"unable to locate encoder -- %q is not a supported media type"
,
mediaType
)
}
enc
:=
serializer
.
EncoderForVersion
(
info
.
Serializer
,
gv
)
var
buf
bytes
.
Buffer
if
err
:=
enc
.
Encode
(
obj
,
&
buf
);
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"encoding failed: %v"
,
err
)
}
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.
...
...
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
mediaType
=
mediaTypes
[
0
]
.
MediaType
}
if
mediaType
,
_
,
err
:=
mime
.
ParseMediaType
(
mediaType
);
err
==
nil
{
for
_
,
info
:=
range
mediaTypes
{
if
info
.
MediaType
!=
mediaType
{
continue
}
if
info
,
ok
:=
runtime
.
SerializerInfoForMediaType
(
mediaTypes
,
mediaType
);
ok
{
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
var
embeddedEncoder
runtime
.
Encoder
contentKind
,
contentSerializer
,
transform
:=
targetEncodingForTransform
(
scope
,
mediaTypeOptions
,
req
)
if
transform
{
var
embedded
runtime
.
Serializer
for
_
,
supported
:=
range
contentSerializer
.
SupportedMediaTypes
()
{
if
supported
.
MediaType
==
serializer
.
MediaType
{
embedded
=
supported
.
Serializer
}
}
if
embedded
==
nil
{
info
,
ok
:=
runtime
.
SerializerInfoForMediaType
(
contentSerializer
.
SupportedMediaTypes
(),
serializer
.
MediaType
)
if
!
ok
{
scope
.
err
(
fmt
.
Errorf
(
"no encoder for %q exists in the requested target %#v"
,
serializer
.
MediaType
,
contentSerializer
),
w
,
req
)
return
}
embeddedEncoder
=
contentSerializer
.
EncoderForVersion
(
embedded
,
contentKind
.
GroupVersion
())
embeddedEncoder
=
contentSerializer
.
EncoderForVersion
(
info
.
Serializer
,
contentKind
.
GroupVersion
())
}
else
{
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 {
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.
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
// to talk to a kubernetes server
for
_
,
info
:=
range
scheme
.
Codecs
.
SupportedMediaTypes
()
{
if
info
.
MediaType
==
runtime
.
ContentTypeJSON
{
jsonInfo
=
info
break
}
}
jsonInfo
,
_
:=
runtime
.
SerializerInfoForMediaType
(
scheme
.
Codecs
.
SupportedMediaTypes
(),
runtime
.
ContentTypeJSON
)
jsonInfo
.
Serializer
=
dynamicCodec
{}
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 {
// ContentConfig returns a rest.ContentConfig for dynamic types.
// Deprecated only used by test code and its wrong
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
// to talk to a kubernetes server
for
_
,
info
:=
range
scheme
.
Codecs
.
SupportedMediaTypes
()
{
if
info
.
MediaType
==
runtime
.
ContentTypeJSON
{
jsonInfo
=
info
break
}
}
jsonInfo
,
_
:=
runtime
.
SerializerInfoForMediaType
(
scheme
.
Codecs
.
SupportedMediaTypes
(),
runtime
.
ContentTypeJSON
)
jsonInfo
.
Serializer
=
dynamicCodec
{}
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