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
ea314d55
Commit
ea314d55
authored
Apr 22, 2015
by
Wojciech Tyczynski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Create benchmarks for conversions.
parent
0c8ee980
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
334 additions
and
0 deletions
+334
-0
conversion_test.go
pkg/conversion/conversion_test.go
+97
-0
node_example.json
pkg/conversion/node_example.json
+49
-0
pod_example.json
pkg/conversion/pod_example.json
+102
-0
replication_controller_example.json
pkg/conversion/replication_controller_example.json
+82
-0
scheme.go
pkg/runtime/scheme.go
+4
-0
No files found.
pkg/conversion/conversion_test.go
0 → 100644
View file @
ea314d55
/*
Copyright 2015 Google Inc. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package
conversion_test
import
(
"io/ioutil"
"testing"
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/testapi"
_
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1beta1"
_
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1beta2"
_
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1beta3"
)
func
BenchmarkPodConversion
(
b
*
testing
.
B
)
{
data
,
err
:=
ioutil
.
ReadFile
(
"pod_example.json"
)
if
err
!=
nil
{
b
.
Fatalf
(
"unexpected error while reading file: %v"
,
err
)
}
var
pod
api
.
Pod
if
err
:=
api
.
Scheme
.
DecodeInto
(
data
,
&
pod
);
err
!=
nil
{
b
.
Fatalf
(
"unexpected error decoding pod: %v"
,
err
)
}
scheme
:=
api
.
Scheme
.
Raw
()
for
i
:=
0
;
i
<
b
.
N
;
i
++
{
versionedObj
,
err
:=
scheme
.
ConvertToVersion
(
&
pod
,
testapi
.
Version
())
if
err
!=
nil
{
b
.
Fatalf
(
"Conversion error: %v"
,
err
)
}
_
,
err
=
scheme
.
ConvertToVersion
(
versionedObj
,
scheme
.
InternalVersion
)
if
err
!=
nil
{
b
.
Fatalf
(
"Conversion error: %v"
,
err
)
}
}
}
func
BenchmarkNodeConversion
(
b
*
testing
.
B
)
{
data
,
err
:=
ioutil
.
ReadFile
(
"node_example.json"
)
if
err
!=
nil
{
b
.
Fatalf
(
"unexpected error while reading file: %v"
,
err
)
}
var
node
api
.
Node
if
err
:=
api
.
Scheme
.
DecodeInto
(
data
,
&
node
);
err
!=
nil
{
b
.
Fatalf
(
"unexpected error decoding node: %v"
,
err
)
}
scheme
:=
api
.
Scheme
.
Raw
()
for
i
:=
0
;
i
<
b
.
N
;
i
++
{
versionedObj
,
err
:=
scheme
.
ConvertToVersion
(
&
node
,
testapi
.
Version
())
if
err
!=
nil
{
b
.
Fatalf
(
"Conversion error: %v"
,
err
)
}
_
,
err
=
scheme
.
ConvertToVersion
(
versionedObj
,
scheme
.
InternalVersion
)
if
err
!=
nil
{
b
.
Fatalf
(
"Conversion error: %v"
,
err
)
}
}
}
func
BenchmarkReplicationControllerConversion
(
b
*
testing
.
B
)
{
data
,
err
:=
ioutil
.
ReadFile
(
"replication_controller_example.json"
)
if
err
!=
nil
{
b
.
Fatalf
(
"unexpected error while reading file: %v"
,
err
)
}
var
replicationController
api
.
ReplicationController
if
err
:=
api
.
Scheme
.
DecodeInto
(
data
,
&
replicationController
);
err
!=
nil
{
b
.
Fatalf
(
"unexpected error decoding node: %v"
,
err
)
}
scheme
:=
api
.
Scheme
.
Raw
()
for
i
:=
0
;
i
<
b
.
N
;
i
++
{
versionedObj
,
err
:=
scheme
.
ConvertToVersion
(
&
replicationController
,
testapi
.
Version
())
if
err
!=
nil
{
b
.
Fatalf
(
"Conversion error: %v"
,
err
)
}
_
,
err
=
scheme
.
ConvertToVersion
(
versionedObj
,
scheme
.
InternalVersion
)
if
err
!=
nil
{
b
.
Fatalf
(
"Conversion error: %v"
,
err
)
}
}
}
pkg/conversion/node_example.json
0 → 100644
View file @
ea314d55
{
"kind"
:
"Node"
,
"apiVersion"
:
"v1beta3"
,
"metadata"
:
{
"name"
:
"e2e-test-wojtekt-minion-etd6"
,
"selfLink"
:
"/api/v1beta1/nodes/e2e-test-wojtekt-minion-etd6"
,
"uid"
:
"a7e89222-e8e5-11e4-8fde-42010af09327"
,
"resourceVersion"
:
"379"
,
"creationTimestamp"
:
"2015-04-22T11:49:39Z"
},
"spec"
:
{
"externalID"
:
"15488322946290398375"
},
"status"
:
{
"capacity"
:
{
"cpu"
:
"1"
,
"memory"
:
"1745152Ki"
},
"conditions"
:
[
{
"type"
:
"Ready"
,
"status"
:
"True"
,
"lastHeartbeatTime"
:
"2015-04-22T11:58:17Z"
,
"lastTransitionTime"
:
"2015-04-22T11:49:52Z"
,
"reason"
:
"kubelet is posting ready status"
}
],
"addresses"
:
[
{
"type"
:
"ExternalIP"
,
"address"
:
"104.197.49.213"
},
{
"type"
:
"LegacyHostIP"
,
"address"
:
"104.197.20.11"
}
],
"nodeInfo"
:
{
"machineID"
:
""
,
"systemUUID"
:
"D59FA3FA-7B5B-7287-5E1A-1D79F13CB577"
,
"bootID"
:
"44a832f3-8cfb-4de5-b7d2-d66030b6cd95"
,
"kernelVersion"
:
"3.16.0-0.bpo.4-amd64"
,
"osImage"
:
"Debian GNU/Linux 7 (wheezy)"
,
"containerRuntimeVersion"
:
"docker://1.5.0"
,
"kubeletVersion"
:
"v0.15.0-484-g0c8ee980d705a3-dirty"
,
"KubeProxyVersion"
:
"v0.15.0-484-g0c8ee980d705a3-dirty"
}
}
}
pkg/conversion/pod_example.json
0 → 100644
View file @
ea314d55
{
"kind"
:
"Pod"
,
"apiVersion"
:
"v1beta3"
,
"metadata"
:
{
"name"
:
"etcd-server-e2e-test-wojtekt-master"
,
"namespace"
:
"default"
,
"selfLink"
:
"/api/v1beta1/pods/etcd-server-e2e-test-wojtekt-master?namespace=default"
,
"uid"
:
"a671734a-e8e5-11e4-8fde-42010af09327"
,
"resourceVersion"
:
"22"
,
"creationTimestamp"
:
"2015-04-22T11:49:36Z"
,
"annotations"
:
{
"kubernetes.io/config.mirror"
:
"mirror"
,
"kubernetes.io/config.source"
:
"file"
}
},
"spec"
:
{
"volumes"
:
[
{
"name"
:
"varetcd"
,
"hostPath"
:
{
"path"
:
"/mnt/master-pd/var/etcd"
},
"emptyDir"
:
null
,
"gcePersistentDisk"
:
null
,
"awsElasticBlockStore"
:
null
,
"gitRepo"
:
null
,
"secret"
:
null
,
"nfs"
:
null
,
"iscsi"
:
null
,
"glusterfs"
:
null
}
],
"containers"
:
[
{
"name"
:
"etcd-container"
,
"image"
:
"gcr.io/google_containers/etcd:2.0.9"
,
"command"
:
[
"/usr/local/bin/etcd"
,
"--addr"
,
"127.0.0.1:4001"
,
"--bind-addr"
,
"127.0.0.1:4001"
,
"--data-dir"
,
"/var/etcd/data"
],
"ports"
:
[
{
"name"
:
"serverport"
,
"hostPort"
:
2380
,
"containerPort"
:
2380
,
"protocol"
:
"TCP"
},
{
"name"
:
"clientport"
,
"hostPort"
:
4001
,
"containerPort"
:
4001
,
"protocol"
:
"TCP"
}
],
"resources"
:
{},
"volumeMounts"
:
[
{
"name"
:
"varetcd"
,
"mountPath"
:
"/var/etcd"
}
],
"terminationMessagePath"
:
"/dev/termination-log"
,
"imagePullPolicy"
:
"IfNotPresent"
,
"capabilities"
:
{}
}
],
"restartPolicy"
:
"Always"
,
"dnsPolicy"
:
"ClusterFirst"
,
"host"
:
"e2e-test-wojtekt-master"
,
"hostNetwork"
:
true
},
"status"
:
{
"phase"
:
"Running"
,
"Condition"
:
[
{
"type"
:
"Ready"
,
"status"
:
"True"
}
],
"containerStatuses"
:
[
{
"name"
:
"etcd-container"
,
"state"
:
{
"running"
:
{
"startedAt"
:
"2015-04-22T11:49:32Z"
}
},
"lastState"
:
{},
"ready"
:
true
,
"restartCount"
:
0
,
"image"
:
"gcr.io/google_containers/etcd:2.0.9"
,
"imageID"
:
"docker://b6b9a86dc06aa1361357ca1b105feba961f6a4145adca6c54e142c0be0fe87b0"
,
"containerID"
:
"docker://3cbbf818f1addfc252957b4504f56ef2907a313fe6afc47fc75373674255d46d"
}
]
}
}
pkg/conversion/replication_controller_example.json
0 → 100644
View file @
ea314d55
{
"kind"
:
"ReplicationController"
,
"apiVersion"
:
"v1beta3"
,
"metadata"
:
{
"name"
:
"elasticsearch-logging-controller"
,
"namespace"
:
"default"
,
"selfLink"
:
"/api/v1beta1/replicationControllers/elasticsearch-logging-controller?namespace=default"
,
"uid"
:
"aa76f162-e8e5-11e4-8fde-42010af09327"
,
"resourceVersion"
:
"98"
,
"creationTimestamp"
:
"2015-04-22T11:49:43Z"
,
"labels"
:
{
"kubernetes.io/cluster-service"
:
"true"
,
"name"
:
"elasticsearch-logging"
}
},
"spec"
:
{
"replicas"
:
1
,
"selector"
:
{
"name"
:
"elasticsearch-logging"
},
"template"
:
{
"metadata"
:
{
"creationTimestamp"
:
null
,
"labels"
:
{
"kubernetes.io/cluster-service"
:
"true"
,
"name"
:
"elasticsearch-logging"
}
},
"spec"
:
{
"volumes"
:
[
{
"name"
:
"es-persistent-storage"
,
"hostPath"
:
null
,
"emptyDir"
:
{
"medium"
:
""
},
"gcePersistentDisk"
:
null
,
"awsElasticBlockStore"
:
null
,
"gitRepo"
:
null
,
"secret"
:
null
,
"nfs"
:
null
,
"iscsi"
:
null
,
"glusterfs"
:
null
}
],
"containers"
:
[
{
"name"
:
"elasticsearch-logging"
,
"image"
:
"gcr.io/google_containers/elasticsearch:1.0"
,
"ports"
:
[
{
"name"
:
"es-port"
,
"containerPort"
:
9200
,
"protocol"
:
"TCP"
},
{
"name"
:
"es-transport-port"
,
"containerPort"
:
9300
,
"protocol"
:
"TCP"
}
],
"resources"
:
{},
"volumeMounts"
:
[
{
"name"
:
"es-persistent-storage"
,
"mountPath"
:
"/data"
}
],
"terminationMessagePath"
:
"/dev/termination-log"
,
"imagePullPolicy"
:
"IfNotPresent"
,
"capabilities"
:
{}
}
],
"restartPolicy"
:
"Always"
,
"dnsPolicy"
:
"ClusterFirst"
}
}
},
"status"
:
{
"replicas"
:
1
}
}
pkg/runtime/scheme.go
View file @
ea314d55
...
...
@@ -36,6 +36,10 @@ type Scheme struct {
// Function to convert a field selector to internal representation.
type
FieldLabelConversionFunc
func
(
label
,
value
string
)
(
internalLabel
,
internalValue
string
,
err
error
)
func
(
self
*
Scheme
)
Raw
()
*
conversion
.
Scheme
{
return
self
.
raw
}
// fromScope gets the input version, desired output version, and desired Scheme
// from a conversion.Scope.
func
(
self
*
Scheme
)
fromScope
(
s
conversion
.
Scope
)
(
inVersion
,
outVersion
string
,
scheme
*
Scheme
)
{
...
...
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