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
4eadc5e9
Commit
4eadc5e9
authored
Feb 22, 2016
by
Wojciech Tyczynski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Introduce RESTOptions to configure per-resource storage
parent
c533ae4d
Hide whitespace changes
Inline
Side-by-side
Showing
53 changed files
with
201 additions
and
166 deletions
+201
-166
tokengetter.go
pkg/controller/serviceaccount/tokengetter.go
+2
-2
master.go
pkg/master/master.go
+47
-36
etcd.go
pkg/registry/configmap/etcd/etcd.go
+3
-4
etcd_test.go
pkg/registry/configmap/etcd/etcd_test.go
+2
-1
etcd.go
pkg/registry/controller/etcd/etcd.go
+3
-4
etcd_test.go
pkg/registry/controller/etcd/etcd_test.go
+2
-1
etcd.go
pkg/registry/daemonset/etcd/etcd.go
+3
-4
etcd_test.go
pkg/registry/daemonset/etcd/etcd_test.go
+2
-1
etcd.go
pkg/registry/deployment/etcd/etcd.go
+5
-5
etcd_test.go
pkg/registry/deployment/etcd/etcd_test.go
+2
-1
etcd.go
pkg/registry/endpoint/etcd/etcd.go
+3
-4
etcd_test.go
pkg/registry/endpoint/etcd/etcd_test.go
+2
-1
etcd.go
pkg/registry/event/etcd/etcd.go
+2
-3
etcd_test.go
pkg/registry/event/etcd/etcd_test.go
+2
-1
etcd.go
pkg/registry/experimental/controller/etcd/etcd.go
+2
-3
etcd_test.go
pkg/registry/experimental/controller/etcd/etcd_test.go
+2
-1
options.go
pkg/registry/generic/options.go
+27
-0
etcd.go
pkg/registry/horizontalpodautoscaler/etcd/etcd.go
+3
-4
etcd_test.go
pkg/registry/horizontalpodautoscaler/etcd/etcd_test.go
+2
-1
etcd.go
pkg/registry/ingress/etcd/etcd.go
+3
-4
etcd_test.go
pkg/registry/ingress/etcd/etcd_test.go
+2
-1
etcd.go
pkg/registry/job/etcd/etcd.go
+3
-4
etcd_test.go
pkg/registry/job/etcd/etcd_test.go
+2
-1
etcd.go
pkg/registry/limitrange/etcd/etcd.go
+3
-4
etcd_test.go
pkg/registry/limitrange/etcd/etcd_test.go
+2
-1
etcd.go
pkg/registry/namespace/etcd/etcd.go
+3
-4
etcd_test.go
pkg/registry/namespace/etcd/etcd_test.go
+2
-1
etcd.go
pkg/registry/node/etcd/etcd.go
+3
-4
etcd_test.go
pkg/registry/node/etcd/etcd_test.go
+2
-1
etcd.go
pkg/registry/persistentvolume/etcd/etcd.go
+3
-4
etcd_test.go
pkg/registry/persistentvolume/etcd/etcd_test.go
+2
-1
etcd.go
pkg/registry/persistentvolumeclaim/etcd/etcd.go
+3
-4
etcd_test.go
pkg/registry/persistentvolumeclaim/etcd/etcd_test.go
+2
-1
etcd.go
pkg/registry/pod/etcd/etcd.go
+3
-8
etcd_test.go
pkg/registry/pod/etcd/etcd_test.go
+2
-1
etcd.go
pkg/registry/podsecuritypolicy/etcd/etcd.go
+3
-4
etcd_test.go
pkg/registry/podsecuritypolicy/etcd/etcd_test.go
+2
-1
etcd.go
pkg/registry/podtemplate/etcd/etcd.go
+3
-4
etcd_test.go
pkg/registry/podtemplate/etcd/etcd_test.go
+2
-1
etcd.go
pkg/registry/replicaset/etcd/etcd.go
+5
-6
etcd_test.go
pkg/registry/replicaset/etcd/etcd_test.go
+2
-1
etcd.go
pkg/registry/resourcequota/etcd/etcd.go
+3
-4
etcd_test.go
pkg/registry/resourcequota/etcd/etcd_test.go
+2
-1
etcd.go
pkg/registry/secret/etcd/etcd.go
+3
-4
etcd_test.go
pkg/registry/secret/etcd/etcd_test.go
+2
-1
etcd.go
pkg/registry/service/etcd/etcd.go
+3
-4
etcd_test.go
pkg/registry/service/etcd/etcd_test.go
+2
-1
etcd.go
pkg/registry/serviceaccount/etcd/etcd.go
+3
-4
etcd_test.go
pkg/registry/serviceaccount/etcd/etcd_test.go
+2
-1
etcd.go
pkg/registry/thirdpartyresource/etcd/etcd.go
+2
-3
etcd_test.go
pkg/registry/thirdpartyresource/etcd/etcd_test.go
+2
-1
etcd.go
pkg/registry/thirdpartyresourcedata/etcd/etcd.go
+2
-3
etcd_test.go
pkg/registry/thirdpartyresourcedata/etcd/etcd_test.go
+2
-1
No files found.
pkg/controller/serviceaccount/tokengetter.go
View file @
4eadc5e9
...
@@ -71,7 +71,7 @@ func (r *registryGetter) GetSecret(namespace, name string) (*api.Secret, error)
...
@@ -71,7 +71,7 @@ func (r *registryGetter) GetSecret(namespace, name string) (*api.Secret, error)
// uses the specified storage to retrieve service accounts and secrets.
// uses the specified storage to retrieve service accounts and secrets.
func
NewGetterFromStorageInterface
(
s
storage
.
Interface
)
serviceaccount
.
ServiceAccountTokenGetter
{
func
NewGetterFromStorageInterface
(
s
storage
.
Interface
)
serviceaccount
.
ServiceAccountTokenGetter
{
return
NewGetterFromRegistries
(
return
NewGetterFromRegistries
(
serviceaccountregistry
.
NewRegistry
(
serviceaccountetcd
.
NewREST
(
s
,
generic
.
UndecoratedStorage
)),
serviceaccountregistry
.
NewRegistry
(
serviceaccountetcd
.
NewREST
(
generic
.
RESTOptions
{
s
,
generic
.
UndecoratedStorage
}
)),
secret
.
NewRegistry
(
secretetcd
.
NewREST
(
s
,
generic
.
UndecoratedStorage
)),
secret
.
NewRegistry
(
secretetcd
.
NewREST
(
generic
.
RESTOptions
{
s
,
generic
.
UndecoratedStorage
}
)),
)
)
}
}
pkg/master/master.go
View file @
4eadc5e9
...
@@ -324,38 +324,42 @@ func (m *Master) InstallAPIs(c *Config) {
...
@@ -324,38 +324,42 @@ func (m *Master) InstallAPIs(c *Config) {
}
}
func
(
m
*
Master
)
initV1ResourcesStorage
(
c
*
Config
)
{
func
(
m
*
Master
)
initV1ResourcesStorage
(
c
*
Config
)
{
storageDecorator
:=
m
.
StorageDecorator
()
dbClient
:=
func
(
resource
string
)
storage
.
Interface
{
return
c
.
StorageDestinations
.
Get
(
""
,
resource
)
}
dbClient
:=
func
(
resource
string
)
storage
.
Interface
{
return
c
.
StorageDestinations
.
Get
(
""
,
resource
)
}
restOptions
:=
func
(
resource
string
)
generic
.
RESTOptions
{
return
generic
.
RESTOptions
{
Storage
:
dbClient
(
resource
),
Decorator
:
m
.
StorageDecorator
(),
}
}
podTemplateStorage
:=
podtemplateetcd
.
NewREST
(
dbClient
(
"podTemplates"
),
storageDecorator
)
podTemplateStorage
:=
podtemplateetcd
.
NewREST
(
restOptions
(
"podTemplates"
)
)
eventStorage
:=
eventetcd
.
NewREST
(
dbClient
(
"events"
),
storageDecorator
,
uint64
(
c
.
EventTTL
.
Seconds
()))
eventStorage
:=
eventetcd
.
NewREST
(
restOptions
(
"events"
)
,
uint64
(
c
.
EventTTL
.
Seconds
()))
limitRangeStorage
:=
limitrangeetcd
.
NewREST
(
dbClient
(
"limitRanges"
),
storageDecorator
)
limitRangeStorage
:=
limitrangeetcd
.
NewREST
(
restOptions
(
"limitRanges"
)
)
resourceQuotaStorage
,
resourceQuotaStatusStorage
:=
resourcequotaetcd
.
NewREST
(
dbClient
(
"resourceQuotas"
),
storageDecorator
)
resourceQuotaStorage
,
resourceQuotaStatusStorage
:=
resourcequotaetcd
.
NewREST
(
restOptions
(
"resourceQuotas"
)
)
secretStorage
:=
secretetcd
.
NewREST
(
dbClient
(
"secrets"
),
storageDecorator
)
secretStorage
:=
secretetcd
.
NewREST
(
restOptions
(
"secrets"
)
)
serviceAccountStorage
:=
serviceaccountetcd
.
NewREST
(
dbClient
(
"serviceAccounts"
),
storageDecorator
)
serviceAccountStorage
:=
serviceaccountetcd
.
NewREST
(
restOptions
(
"serviceAccounts"
)
)
persistentVolumeStorage
,
persistentVolumeStatusStorage
:=
pvetcd
.
NewREST
(
dbClient
(
"persistentVolumes"
),
storageDecorator
)
persistentVolumeStorage
,
persistentVolumeStatusStorage
:=
pvetcd
.
NewREST
(
restOptions
(
"persistentVolumes"
)
)
persistentVolumeClaimStorage
,
persistentVolumeClaimStatusStorage
:=
pvcetcd
.
NewREST
(
dbClient
(
"persistentVolumeClaims"
),
storageDecorator
)
persistentVolumeClaimStorage
,
persistentVolumeClaimStatusStorage
:=
pvcetcd
.
NewREST
(
restOptions
(
"persistentVolumeClaims"
)
)
configMapStorage
:=
configmapetcd
.
NewREST
(
dbClient
(
"configMaps"
),
storageDecorator
)
configMapStorage
:=
configmapetcd
.
NewREST
(
restOptions
(
"configMaps"
)
)
namespaceStorage
,
namespaceStatusStorage
,
namespaceFinalizeStorage
:=
namespaceetcd
.
NewREST
(
dbClient
(
"namespaces"
),
storageDecorator
)
namespaceStorage
,
namespaceStatusStorage
,
namespaceFinalizeStorage
:=
namespaceetcd
.
NewREST
(
restOptions
(
"namespaces"
)
)
m
.
namespaceRegistry
=
namespace
.
NewRegistry
(
namespaceStorage
)
m
.
namespaceRegistry
=
namespace
.
NewRegistry
(
namespaceStorage
)
endpointsStorage
:=
endpointsetcd
.
NewREST
(
dbClient
(
"endpoints"
),
storageDecorator
)
endpointsStorage
:=
endpointsetcd
.
NewREST
(
restOptions
(
"endpoints"
)
)
m
.
endpointRegistry
=
endpoint
.
NewRegistry
(
endpointsStorage
)
m
.
endpointRegistry
=
endpoint
.
NewRegistry
(
endpointsStorage
)
nodeStorage
:=
nodeetcd
.
NewStorage
(
dbClient
(
"nodes"
),
storageDecorator
,
c
.
KubeletClient
,
m
.
ProxyTransport
)
nodeStorage
:=
nodeetcd
.
NewStorage
(
restOptions
(
"nodes"
)
,
c
.
KubeletClient
,
m
.
ProxyTransport
)
m
.
nodeRegistry
=
node
.
NewRegistry
(
nodeStorage
.
Node
)
m
.
nodeRegistry
=
node
.
NewRegistry
(
nodeStorage
.
Node
)
podStorage
:=
podetcd
.
NewStorage
(
podStorage
:=
podetcd
.
NewStorage
(
dbClient
(
"pods"
),
restOptions
(
"pods"
),
storageDecorator
,
kubeletclient
.
ConnectionInfoGetter
(
nodeStorage
.
Node
),
kubeletclient
.
ConnectionInfoGetter
(
nodeStorage
.
Node
),
m
.
ProxyTransport
,
m
.
ProxyTransport
,
)
)
serviceStorage
,
serviceStatusStorage
:=
serviceetcd
.
NewREST
(
dbClient
(
"services"
),
storageDecorator
)
serviceStorage
,
serviceStatusStorage
:=
serviceetcd
.
NewREST
(
restOptions
(
"services"
)
)
m
.
serviceRegistry
=
service
.
NewRegistry
(
serviceStorage
)
m
.
serviceRegistry
=
service
.
NewRegistry
(
serviceStorage
)
var
serviceClusterIPRegistry
service
.
RangeRegistry
var
serviceClusterIPRegistry
service
.
RangeRegistry
...
@@ -381,7 +385,7 @@ func (m *Master) initV1ResourcesStorage(c *Config) {
...
@@ -381,7 +385,7 @@ func (m *Master) initV1ResourcesStorage(c *Config) {
})
})
m
.
serviceNodePortAllocator
=
serviceNodePortRegistry
m
.
serviceNodePortAllocator
=
serviceNodePortRegistry
controllerStorage
,
controllerStatusStorage
:=
controlleretcd
.
NewREST
(
dbClient
(
"replicationControllers"
),
storageDecorator
)
controllerStorage
,
controllerStatusStorage
:=
controlleretcd
.
NewREST
(
restOptions
(
"replicationControllers"
)
)
serviceRest
:=
service
.
NewStorage
(
m
.
serviceRegistry
,
m
.
endpointRegistry
,
serviceClusterIPAllocator
,
serviceNodePortAllocator
,
m
.
ProxyTransport
)
serviceRest
:=
service
.
NewStorage
(
m
.
serviceRegistry
,
m
.
endpointRegistry
,
serviceClusterIPAllocator
,
serviceNodePortAllocator
,
m
.
ProxyTransport
)
...
@@ -608,7 +612,7 @@ func (m *Master) InstallThirdPartyResource(rsrc *extensions.ThirdPartyResource)
...
@@ -608,7 +612,7 @@ func (m *Master) InstallThirdPartyResource(rsrc *extensions.ThirdPartyResource)
}
}
func
(
m
*
Master
)
thirdpartyapi
(
group
,
kind
,
version
string
)
*
apiserver
.
APIGroupVersion
{
func
(
m
*
Master
)
thirdpartyapi
(
group
,
kind
,
version
string
)
*
apiserver
.
APIGroupVersion
{
resourceStorage
:=
thirdpartyresourcedataetcd
.
NewREST
(
m
.
thirdPartyStorage
,
generic
.
UndecoratedStorage
,
group
,
kind
)
resourceStorage
:=
thirdpartyresourcedataetcd
.
NewREST
(
generic
.
RESTOptions
{
m
.
thirdPartyStorage
,
generic
.
UndecoratedStorage
}
,
group
,
kind
)
apiRoot
:=
makeThirdPartyPath
(
""
)
apiRoot
:=
makeThirdPartyPath
(
""
)
...
@@ -656,20 +660,23 @@ func (m *Master) getExtensionResources(c *Config) map[string]rest.Storage {
...
@@ -656,20 +660,23 @@ func (m *Master) getExtensionResources(c *Config) map[string]rest.Storage {
}
}
return
enabled
return
enabled
}
}
storageDecorator
:=
m
.
StorageDecorator
()
restOptions
:=
func
(
resource
string
)
generic
.
RESTOptions
{
dbClient
:=
func
(
resource
string
)
storage
.
Interface
{
return
generic
.
RESTOptions
{
return
c
.
StorageDestinations
.
Get
(
extensions
.
GroupName
,
resource
)
Storage
:
c
.
StorageDestinations
.
Get
(
extensions
.
GroupName
,
resource
),
Decorator
:
m
.
StorageDecorator
(),
}
}
}
storage
:=
map
[
string
]
rest
.
Storage
{}
storage
:=
map
[
string
]
rest
.
Storage
{}
if
isEnabled
(
"horizontalpodautoscalers"
)
{
if
isEnabled
(
"horizontalpodautoscalers"
)
{
m
.
constructHPAResources
(
c
,
storage
)
m
.
constructHPAResources
(
c
,
storage
)
controllerStorage
:=
expcontrolleretcd
.
NewStorage
(
c
.
StorageDestinations
.
Get
(
""
,
"replicationControllers"
),
storageDecorator
)
controllerStorage
:=
expcontrolleretcd
.
NewStorage
(
generic
.
RESTOptions
{
c
.
StorageDestinations
.
Get
(
""
,
"replicationControllers"
),
m
.
StorageDecorator
()})
storage
[
"replicationcontrollers"
]
=
controllerStorage
.
ReplicationController
storage
[
"replicationcontrollers"
]
=
controllerStorage
.
ReplicationController
storage
[
"replicationcontrollers/scale"
]
=
controllerStorage
.
Scale
storage
[
"replicationcontrollers/scale"
]
=
controllerStorage
.
Scale
}
}
if
isEnabled
(
"thirdpartyresources"
)
{
if
isEnabled
(
"thirdpartyresources"
)
{
thirdPartyResourceStorage
:=
thirdpartyresourceetcd
.
NewREST
(
dbClient
(
"thirdpartyresources"
),
storageDecorator
)
thirdPartyResourceStorage
:=
thirdpartyresourceetcd
.
NewREST
(
restOptions
(
"thirdpartyresources"
)
)
thirdPartyControl
:=
ThirdPartyController
{
thirdPartyControl
:=
ThirdPartyController
{
master
:
m
,
master
:
m
,
thirdPartyResourceRegistry
:
thirdPartyResourceStorage
,
thirdPartyResourceRegistry
:
thirdPartyResourceStorage
,
...
@@ -686,12 +693,12 @@ func (m *Master) getExtensionResources(c *Config) map[string]rest.Storage {
...
@@ -686,12 +693,12 @@ func (m *Master) getExtensionResources(c *Config) map[string]rest.Storage {
}
}
if
isEnabled
(
"daemonsets"
)
{
if
isEnabled
(
"daemonsets"
)
{
daemonSetStorage
,
daemonSetStatusStorage
:=
daemonetcd
.
NewREST
(
dbClient
(
"daemonsets"
),
storageDecorator
)
daemonSetStorage
,
daemonSetStatusStorage
:=
daemonetcd
.
NewREST
(
restOptions
(
"daemonsets"
)
)
storage
[
"daemonsets"
]
=
daemonSetStorage
storage
[
"daemonsets"
]
=
daemonSetStorage
storage
[
"daemonsets/status"
]
=
daemonSetStatusStorage
storage
[
"daemonsets/status"
]
=
daemonSetStatusStorage
}
}
if
isEnabled
(
"deployments"
)
{
if
isEnabled
(
"deployments"
)
{
deploymentStorage
:=
deploymentetcd
.
NewStorage
(
dbClient
(
"deployments"
),
storageDecorator
)
deploymentStorage
:=
deploymentetcd
.
NewStorage
(
restOptions
(
"deployments"
)
)
storage
[
"deployments"
]
=
deploymentStorage
.
Deployment
storage
[
"deployments"
]
=
deploymentStorage
.
Deployment
storage
[
"deployments/status"
]
=
deploymentStorage
.
Status
storage
[
"deployments/status"
]
=
deploymentStorage
.
Status
// TODO(madhusudancs): Install scale when Scale group issues are fixed (see issue #18528).
// TODO(madhusudancs): Install scale when Scale group issues are fixed (see issue #18528).
...
@@ -702,16 +709,16 @@ func (m *Master) getExtensionResources(c *Config) map[string]rest.Storage {
...
@@ -702,16 +709,16 @@ func (m *Master) getExtensionResources(c *Config) map[string]rest.Storage {
m
.
constructJobResources
(
c
,
storage
)
m
.
constructJobResources
(
c
,
storage
)
}
}
if
isEnabled
(
"ingresses"
)
{
if
isEnabled
(
"ingresses"
)
{
ingressStorage
,
ingressStatusStorage
:=
ingressetcd
.
NewREST
(
dbClient
(
"ingresses"
),
storageDecorator
)
ingressStorage
,
ingressStatusStorage
:=
ingressetcd
.
NewREST
(
restOptions
(
"ingresses"
)
)
storage
[
"ingresses"
]
=
ingressStorage
storage
[
"ingresses"
]
=
ingressStorage
storage
[
"ingresses/status"
]
=
ingressStatusStorage
storage
[
"ingresses/status"
]
=
ingressStatusStorage
}
}
if
isEnabled
(
"podsecuritypolicy"
)
{
if
isEnabled
(
"podsecuritypolicy"
)
{
podSecurityPolicyStorage
:=
pspetcd
.
NewREST
(
dbClient
(
"podsecuritypolicy"
),
storageDecorator
)
podSecurityPolicyStorage
:=
pspetcd
.
NewREST
(
restOptions
(
"podsecuritypolicy"
)
)
storage
[
"podSecurityPolicies"
]
=
podSecurityPolicyStorage
storage
[
"podSecurityPolicies"
]
=
podSecurityPolicyStorage
}
}
if
isEnabled
(
"replicasets"
)
{
if
isEnabled
(
"replicasets"
)
{
replicaSetStorage
:=
replicasetetcd
.
NewStorage
(
dbClient
(
"replicasets"
),
storageDecorator
)
replicaSetStorage
:=
replicasetetcd
.
NewStorage
(
restOptions
(
"replicasets"
)
)
storage
[
"replicasets"
]
=
replicaSetStorage
.
ReplicaSet
storage
[
"replicasets"
]
=
replicaSetStorage
.
ReplicaSet
storage
[
"replicasets/status"
]
=
replicaSetStorage
.
Status
storage
[
"replicasets/status"
]
=
replicaSetStorage
.
Status
}
}
...
@@ -726,11 +733,13 @@ func (m *Master) constructHPAResources(c *Config, restStorage map[string]rest.St
...
@@ -726,11 +733,13 @@ func (m *Master) constructHPAResources(c *Config, restStorage map[string]rest.St
// Note that hpa's storage settings are changed by changing the autoscaling
// Note that hpa's storage settings are changed by changing the autoscaling
// group. Clearly we want all hpas to be stored in the same place no
// group. Clearly we want all hpas to be stored in the same place no
// matter where they're accessed from.
// matter where they're accessed from.
storageDecorator
:=
m
.
StorageDecorator
()
restOptions
:=
func
(
resource
string
)
generic
.
RESTOptions
{
dbClient
:=
func
(
resource
string
)
storage
.
Interface
{
return
generic
.
RESTOptions
{
return
c
.
StorageDestinations
.
Search
([]
string
{
autoscaling
.
GroupName
,
extensions
.
GroupName
},
resource
)
Storage
:
c
.
StorageDestinations
.
Search
([]
string
{
autoscaling
.
GroupName
,
extensions
.
GroupName
},
resource
),
Decorator
:
m
.
StorageDecorator
(),
}
}
}
autoscalerStorage
,
autoscalerStatusStorage
:=
horizontalpodautoscaleretcd
.
NewREST
(
dbClient
(
"horizontalpodautoscalers"
),
storageDecorator
)
autoscalerStorage
,
autoscalerStatusStorage
:=
horizontalpodautoscaleretcd
.
NewREST
(
restOptions
(
"horizontalpodautoscalers"
)
)
restStorage
[
"horizontalpodautoscalers"
]
=
autoscalerStorage
restStorage
[
"horizontalpodautoscalers"
]
=
autoscalerStorage
restStorage
[
"horizontalpodautoscalers/status"
]
=
autoscalerStatusStorage
restStorage
[
"horizontalpodautoscalers/status"
]
=
autoscalerStatusStorage
}
}
...
@@ -760,11 +769,13 @@ func (m *Master) constructJobResources(c *Config, restStorage map[string]rest.St
...
@@ -760,11 +769,13 @@ func (m *Master) constructJobResources(c *Config, restStorage map[string]rest.St
// Note that job's storage settings are changed by changing the batch
// Note that job's storage settings are changed by changing the batch
// group. Clearly we want all jobs to be stored in the same place no
// group. Clearly we want all jobs to be stored in the same place no
// matter where they're accessed from.
// matter where they're accessed from.
storageDecorator
:=
m
.
StorageDecorator
()
restOptions
:=
func
(
resource
string
)
generic
.
RESTOptions
{
dbClient
:=
func
(
resource
string
)
storage
.
Interface
{
return
generic
.
RESTOptions
{
return
c
.
StorageDestinations
.
Search
([]
string
{
batch
.
GroupName
,
extensions
.
GroupName
},
resource
)
Storage
:
c
.
StorageDestinations
.
Search
([]
string
{
batch
.
GroupName
,
extensions
.
GroupName
},
resource
),
Decorator
:
m
.
StorageDecorator
(),
}
}
}
jobStorage
,
jobStatusStorage
:=
jobetcd
.
NewREST
(
dbClient
(
"jobs"
),
storageDecorator
)
jobStorage
,
jobStatusStorage
:=
jobetcd
.
NewREST
(
restOptions
(
"jobs"
)
)
restStorage
[
"jobs"
]
=
jobStorage
restStorage
[
"jobs"
]
=
jobStorage
restStorage
[
"jobs/status"
]
=
jobStatusStorage
restStorage
[
"jobs/status"
]
=
jobStatusStorage
}
}
...
...
pkg/registry/configmap/etcd/etcd.go
View file @
4eadc5e9
...
@@ -21,7 +21,6 @@ import (
...
@@ -21,7 +21,6 @@ import (
"k8s.io/kubernetes/pkg/registry/configmap"
"k8s.io/kubernetes/pkg/registry/configmap"
"k8s.io/kubernetes/pkg/registry/generic"
"k8s.io/kubernetes/pkg/registry/generic"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/storage"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
)
)
...
@@ -32,12 +31,12 @@ type REST struct {
...
@@ -32,12 +31,12 @@ type REST struct {
}
}
// NewREST returns a RESTStorage object that will work with ConfigMap objects.
// NewREST returns a RESTStorage object that will work with ConfigMap objects.
func
NewREST
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
)
*
REST
{
func
NewREST
(
opts
generic
.
RESTOptions
)
*
REST
{
prefix
:=
"/configmaps"
prefix
:=
"/configmaps"
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
ConfigMapList
{}
}
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
ConfigMapList
{}
}
storageInterface
:=
storage
Decorator
(
storageInterface
:=
opts
.
Decorator
(
s
,
100
,
&
api
.
ConfigMap
{},
prefix
,
configmap
.
Strategy
,
newListFunc
)
opts
.
Storage
,
100
,
&
api
.
ConfigMap
{},
prefix
,
configmap
.
Strategy
,
newListFunc
)
store
:=
&
etcdgeneric
.
Etcd
{
store
:=
&
etcdgeneric
.
Etcd
{
NewFunc
:
func
()
runtime
.
Object
{
NewFunc
:
func
()
runtime
.
Object
{
...
...
pkg/registry/configmap/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -30,7 +30,8 @@ import (
...
@@ -30,7 +30,8 @@ import (
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
etcdtesting
.
EtcdTestServer
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
etcdtesting
.
EtcdTestServer
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
return
NewREST
(
etcdStorage
,
generic
.
UndecoratedStorage
),
server
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
return
NewREST
(
restOptions
),
server
}
}
func
validNewConfigMap
()
*
api
.
ConfigMap
{
func
validNewConfigMap
()
*
api
.
ConfigMap
{
...
...
pkg/registry/controller/etcd/etcd.go
View file @
4eadc5e9
...
@@ -27,7 +27,6 @@ import (
...
@@ -27,7 +27,6 @@ import (
"k8s.io/kubernetes/pkg/registry/generic"
"k8s.io/kubernetes/pkg/registry/generic"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/storage"
)
)
type
REST
struct
{
type
REST
struct
{
...
@@ -35,12 +34,12 @@ type REST struct {
...
@@ -35,12 +34,12 @@ type REST struct {
}
}
// NewREST returns a RESTStorage object that will work against replication controllers.
// NewREST returns a RESTStorage object that will work against replication controllers.
func
NewREST
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
)
(
*
REST
,
*
StatusREST
)
{
func
NewREST
(
opts
generic
.
RESTOptions
)
(
*
REST
,
*
StatusREST
)
{
prefix
:=
"/controllers"
prefix
:=
"/controllers"
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
ReplicationControllerList
{}
}
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
ReplicationControllerList
{}
}
storageInterface
:=
storage
Decorator
(
storageInterface
:=
opts
.
Decorator
(
s
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
Controllers
),
&
api
.
ReplicationController
{},
prefix
,
controller
.
Strategy
,
newListFunc
)
opts
.
Storage
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
Controllers
),
&
api
.
ReplicationController
{},
prefix
,
controller
.
Strategy
,
newListFunc
)
store
:=
&
etcdgeneric
.
Etcd
{
store
:=
&
etcdgeneric
.
Etcd
{
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
ReplicationController
{}
},
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
ReplicationController
{}
},
...
...
pkg/registry/controller/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -30,7 +30,8 @@ import (
...
@@ -30,7 +30,8 @@ import (
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
StatusREST
,
*
etcdtesting
.
EtcdTestServer
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
StatusREST
,
*
etcdtesting
.
EtcdTestServer
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
controllerStorage
,
statusStorage
:=
NewREST
(
etcdStorage
,
generic
.
UndecoratedStorage
)
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
controllerStorage
,
statusStorage
:=
NewREST
(
restOptions
)
return
controllerStorage
,
statusStorage
,
server
return
controllerStorage
,
statusStorage
,
server
}
}
...
...
pkg/registry/daemonset/etcd/etcd.go
View file @
4eadc5e9
...
@@ -26,7 +26,6 @@ import (
...
@@ -26,7 +26,6 @@ import (
"k8s.io/kubernetes/pkg/registry/generic"
"k8s.io/kubernetes/pkg/registry/generic"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/storage"
)
)
// rest implements a RESTStorage for DaemonSets against etcd
// rest implements a RESTStorage for DaemonSets against etcd
...
@@ -35,12 +34,12 @@ type REST struct {
...
@@ -35,12 +34,12 @@ type REST struct {
}
}
// NewREST returns a RESTStorage object that will work against DaemonSets.
// NewREST returns a RESTStorage object that will work against DaemonSets.
func
NewREST
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
)
(
*
REST
,
*
StatusREST
)
{
func
NewREST
(
opts
generic
.
RESTOptions
)
(
*
REST
,
*
StatusREST
)
{
prefix
:=
"/daemonsets"
prefix
:=
"/daemonsets"
newListFunc
:=
func
()
runtime
.
Object
{
return
&
extensions
.
DaemonSetList
{}
}
newListFunc
:=
func
()
runtime
.
Object
{
return
&
extensions
.
DaemonSetList
{}
}
storageInterface
:=
storage
Decorator
(
storageInterface
:=
opts
.
Decorator
(
s
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
Daemonsets
),
&
extensions
.
DaemonSet
{},
prefix
,
daemonset
.
Strategy
,
newListFunc
)
opts
.
Storage
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
Daemonsets
),
&
extensions
.
DaemonSet
{},
prefix
,
daemonset
.
Strategy
,
newListFunc
)
store
:=
&
etcdgeneric
.
Etcd
{
store
:=
&
etcdgeneric
.
Etcd
{
NewFunc
:
func
()
runtime
.
Object
{
return
&
extensions
.
DaemonSet
{}
},
NewFunc
:
func
()
runtime
.
Object
{
return
&
extensions
.
DaemonSet
{}
},
...
...
pkg/registry/daemonset/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -32,7 +32,8 @@ import (
...
@@ -32,7 +32,8 @@ import (
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
StatusREST
,
*
etcdtesting
.
EtcdTestServer
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
StatusREST
,
*
etcdtesting
.
EtcdTestServer
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
extensions
.
GroupName
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
extensions
.
GroupName
)
daemonSetStorage
,
statusStorage
:=
NewREST
(
etcdStorage
,
generic
.
UndecoratedStorage
)
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
daemonSetStorage
,
statusStorage
:=
NewREST
(
restOptions
)
return
daemonSetStorage
,
statusStorage
,
server
return
daemonSetStorage
,
statusStorage
,
server
}
}
...
...
pkg/registry/deployment/etcd/etcd.go
View file @
4eadc5e9
...
@@ -43,8 +43,8 @@ type DeploymentStorage struct {
...
@@ -43,8 +43,8 @@ type DeploymentStorage struct {
Rollback
*
RollbackREST
Rollback
*
RollbackREST
}
}
func
NewStorage
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
)
DeploymentStorage
{
func
NewStorage
(
opts
generic
.
RESTOptions
)
DeploymentStorage
{
deploymentRest
,
deploymentStatusRest
,
deploymentRollbackRest
:=
NewREST
(
s
,
storageDecorator
)
deploymentRest
,
deploymentStatusRest
,
deploymentRollbackRest
:=
NewREST
(
opts
)
deploymentRegistry
:=
deployment
.
NewRegistry
(
deploymentRest
)
deploymentRegistry
:=
deployment
.
NewRegistry
(
deploymentRest
)
return
DeploymentStorage
{
return
DeploymentStorage
{
...
@@ -60,12 +60,12 @@ type REST struct {
...
@@ -60,12 +60,12 @@ type REST struct {
}
}
// NewREST returns a RESTStorage object that will work against deployments.
// NewREST returns a RESTStorage object that will work against deployments.
func
NewREST
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
)
(
*
REST
,
*
StatusREST
,
*
RollbackREST
)
{
func
NewREST
(
opts
generic
.
RESTOptions
)
(
*
REST
,
*
StatusREST
,
*
RollbackREST
)
{
prefix
:=
"/deployments"
prefix
:=
"/deployments"
newListFunc
:=
func
()
runtime
.
Object
{
return
&
extensions
.
DeploymentList
{}
}
newListFunc
:=
func
()
runtime
.
Object
{
return
&
extensions
.
DeploymentList
{}
}
storageInterface
:=
storage
Decorator
(
storageInterface
:=
opts
.
Decorator
(
s
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
Deployments
),
&
extensions
.
Deployment
{},
prefix
,
deployment
.
Strategy
,
newListFunc
)
opts
.
Storage
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
Deployments
),
&
extensions
.
Deployment
{},
prefix
,
deployment
.
Strategy
,
newListFunc
)
store
:=
&
etcdgeneric
.
Etcd
{
store
:=
&
etcdgeneric
.
Etcd
{
NewFunc
:
func
()
runtime
.
Object
{
return
&
extensions
.
Deployment
{}
},
NewFunc
:
func
()
runtime
.
Object
{
return
&
extensions
.
Deployment
{}
},
...
...
pkg/registry/deployment/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -36,7 +36,8 @@ import (
...
@@ -36,7 +36,8 @@ import (
func
newStorage
(
t
*
testing
.
T
)
(
*
DeploymentStorage
,
*
etcdtesting
.
EtcdTestServer
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
DeploymentStorage
,
*
etcdtesting
.
EtcdTestServer
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
extensions
.
GroupName
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
extensions
.
GroupName
)
deploymentStorage
:=
NewStorage
(
etcdStorage
,
generic
.
UndecoratedStorage
)
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
deploymentStorage
:=
NewStorage
(
restOptions
)
return
&
deploymentStorage
,
server
return
&
deploymentStorage
,
server
}
}
...
...
pkg/registry/endpoint/etcd/etcd.go
View file @
4eadc5e9
...
@@ -25,7 +25,6 @@ import (
...
@@ -25,7 +25,6 @@ import (
"k8s.io/kubernetes/pkg/registry/generic"
"k8s.io/kubernetes/pkg/registry/generic"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/storage"
)
)
type
REST
struct
{
type
REST
struct
{
...
@@ -33,12 +32,12 @@ type REST struct {
...
@@ -33,12 +32,12 @@ type REST struct {
}
}
// NewREST returns a RESTStorage object that will work against endpoints.
// NewREST returns a RESTStorage object that will work against endpoints.
func
NewREST
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
)
*
REST
{
func
NewREST
(
opts
generic
.
RESTOptions
)
*
REST
{
prefix
:=
"/services/endpoints"
prefix
:=
"/services/endpoints"
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
EndpointsList
{}
}
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
EndpointsList
{}
}
storageInterface
:=
storage
Decorator
(
storageInterface
:=
opts
.
Decorator
(
s
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
Endpoints
),
&
api
.
Endpoints
{},
prefix
,
endpoint
.
Strategy
,
newListFunc
)
opts
.
Storage
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
Endpoints
),
&
api
.
Endpoints
{},
prefix
,
endpoint
.
Strategy
,
newListFunc
)
store
:=
&
etcdgeneric
.
Etcd
{
store
:=
&
etcdgeneric
.
Etcd
{
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
Endpoints
{}
},
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
Endpoints
{}
},
...
...
pkg/registry/endpoint/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -30,7 +30,8 @@ import (
...
@@ -30,7 +30,8 @@ import (
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
etcdtesting
.
EtcdTestServer
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
etcdtesting
.
EtcdTestServer
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
return
NewREST
(
etcdStorage
,
generic
.
UndecoratedStorage
),
server
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
return
NewREST
(
restOptions
),
server
}
}
func
validNewEndpoints
()
*
api
.
Endpoints
{
func
validNewEndpoints
()
*
api
.
Endpoints
{
...
...
pkg/registry/event/etcd/etcd.go
View file @
4eadc5e9
...
@@ -24,7 +24,6 @@ import (
...
@@ -24,7 +24,6 @@ import (
"k8s.io/kubernetes/pkg/registry/generic"
"k8s.io/kubernetes/pkg/registry/generic"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/storage"
)
)
type
REST
struct
{
type
REST
struct
{
...
@@ -32,12 +31,12 @@ type REST struct {
...
@@ -32,12 +31,12 @@ type REST struct {
}
}
// NewREST returns a RESTStorage object that will work against events.
// NewREST returns a RESTStorage object that will work against events.
func
NewREST
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
,
ttl
uint64
)
*
REST
{
func
NewREST
(
opts
generic
.
RESTOptions
,
ttl
uint64
)
*
REST
{
prefix
:=
"/events"
prefix
:=
"/events"
// We explicitly do NOT do any decoration here - switching on Cacher
// We explicitly do NOT do any decoration here - switching on Cacher
// for events will lead to too high memory consumption.
// for events will lead to too high memory consumption.
storageInterface
:=
s
storageInterface
:=
opts
.
Storage
store
:=
&
etcdgeneric
.
Etcd
{
store
:=
&
etcdgeneric
.
Etcd
{
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
Event
{}
},
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
Event
{}
},
...
...
pkg/registry/event/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -30,7 +30,8 @@ var testTTL uint64 = 60
...
@@ -30,7 +30,8 @@ var testTTL uint64 = 60
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
etcdtesting
.
EtcdTestServer
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
etcdtesting
.
EtcdTestServer
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
return
NewREST
(
etcdStorage
,
generic
.
UndecoratedStorage
,
testTTL
),
server
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
return
NewREST
(
restOptions
,
testTTL
),
server
}
}
func
validNewEvent
(
namespace
string
)
*
api
.
Event
{
func
validNewEvent
(
namespace
string
)
*
api
.
Event
{
...
...
pkg/registry/experimental/controller/etcd/etcd.go
View file @
4eadc5e9
...
@@ -23,7 +23,6 @@ import (
...
@@ -23,7 +23,6 @@ import (
"k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/rest"
"k8s.io/kubernetes/pkg/api/rest"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/storage"
"k8s.io/kubernetes/pkg/registry/controller"
"k8s.io/kubernetes/pkg/registry/controller"
"k8s.io/kubernetes/pkg/registry/controller/etcd"
"k8s.io/kubernetes/pkg/registry/controller/etcd"
...
@@ -40,9 +39,9 @@ type ContainerStorage struct {
...
@@ -40,9 +39,9 @@ type ContainerStorage struct {
Scale
*
ScaleREST
Scale
*
ScaleREST
}
}
func
NewStorage
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
)
ContainerStorage
{
func
NewStorage
(
opts
generic
.
RESTOptions
)
ContainerStorage
{
// scale does not set status, only updates spec so we ignore the status
// scale does not set status, only updates spec so we ignore the status
controllerREST
,
_
:=
etcd
.
NewREST
(
s
,
storageDecorator
)
controllerREST
,
_
:=
etcd
.
NewREST
(
opts
)
rcRegistry
:=
controller
.
NewRegistry
(
controllerREST
)
rcRegistry
:=
controller
.
NewRegistry
(
controllerREST
)
return
ContainerStorage
{
return
ContainerStorage
{
...
...
pkg/registry/experimental/controller/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -30,7 +30,8 @@ import (
...
@@ -30,7 +30,8 @@ import (
func
newStorage
(
t
*
testing
.
T
)
(
*
ScaleREST
,
*
etcdtesting
.
EtcdTestServer
,
storage
.
Interface
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
ScaleREST
,
*
etcdtesting
.
EtcdTestServer
,
storage
.
Interface
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
return
NewStorage
(
etcdStorage
,
generic
.
UndecoratedStorage
)
.
Scale
,
server
,
etcdStorage
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
return
NewStorage
(
restOptions
)
.
Scale
,
server
,
etcdStorage
}
}
var
validPodTemplate
=
api
.
PodTemplate
{
var
validPodTemplate
=
api
.
PodTemplate
{
...
...
pkg/registry/generic/options.go
0 → 100644
View file @
4eadc5e9
/*
Copyright 2016 The Kubernetes Authors 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
generic
import
(
pkgstorage
"k8s.io/kubernetes/pkg/storage"
)
// RESTOptions is set of configuration options to generic registries.
type
RESTOptions
struct
{
Storage
pkgstorage
.
Interface
Decorator
StorageDecorator
}
pkg/registry/horizontalpodautoscaler/etcd/etcd.go
View file @
4eadc5e9
...
@@ -26,7 +26,6 @@ import (
...
@@ -26,7 +26,6 @@ import (
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
"k8s.io/kubernetes/pkg/registry/horizontalpodautoscaler"
"k8s.io/kubernetes/pkg/registry/horizontalpodautoscaler"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/storage"
)
)
type
REST
struct
{
type
REST
struct
{
...
@@ -34,12 +33,12 @@ type REST struct {
...
@@ -34,12 +33,12 @@ type REST struct {
}
}
// NewREST returns a RESTStorage object that will work against horizontal pod autoscalers.
// NewREST returns a RESTStorage object that will work against horizontal pod autoscalers.
func
NewREST
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
)
(
*
REST
,
*
StatusREST
)
{
func
NewREST
(
opts
generic
.
RESTOptions
)
(
*
REST
,
*
StatusREST
)
{
prefix
:=
"/horizontalpodautoscalers"
prefix
:=
"/horizontalpodautoscalers"
newListFunc
:=
func
()
runtime
.
Object
{
return
&
extensions
.
HorizontalPodAutoscalerList
{}
}
newListFunc
:=
func
()
runtime
.
Object
{
return
&
extensions
.
HorizontalPodAutoscalerList
{}
}
storageInterface
:=
storage
Decorator
(
storageInterface
:=
opts
.
Decorator
(
s
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
HorizontalPodAutoscalers
),
&
extensions
.
HorizontalPodAutoscaler
{},
prefix
,
horizontalpodautoscaler
.
Strategy
,
newListFunc
)
opts
.
Storage
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
HorizontalPodAutoscalers
),
&
extensions
.
HorizontalPodAutoscaler
{},
prefix
,
horizontalpodautoscaler
.
Strategy
,
newListFunc
)
store
:=
&
etcdgeneric
.
Etcd
{
store
:=
&
etcdgeneric
.
Etcd
{
NewFunc
:
func
()
runtime
.
Object
{
return
&
extensions
.
HorizontalPodAutoscaler
{}
},
NewFunc
:
func
()
runtime
.
Object
{
return
&
extensions
.
HorizontalPodAutoscaler
{}
},
...
...
pkg/registry/horizontalpodautoscaler/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -33,7 +33,8 @@ import (
...
@@ -33,7 +33,8 @@ import (
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
StatusREST
,
*
etcdtesting
.
EtcdTestServer
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
StatusREST
,
*
etcdtesting
.
EtcdTestServer
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
extensions
.
GroupName
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
extensions
.
GroupName
)
horizontalPodAutoscalerStorage
,
statusStorage
:=
NewREST
(
etcdStorage
,
generic
.
UndecoratedStorage
)
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
horizontalPodAutoscalerStorage
,
statusStorage
:=
NewREST
(
restOptions
)
return
horizontalPodAutoscalerStorage
,
statusStorage
,
server
return
horizontalPodAutoscalerStorage
,
statusStorage
,
server
}
}
...
...
pkg/registry/ingress/etcd/etcd.go
View file @
4eadc5e9
...
@@ -26,7 +26,6 @@ import (
...
@@ -26,7 +26,6 @@ import (
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
ingress
"k8s.io/kubernetes/pkg/registry/ingress"
ingress
"k8s.io/kubernetes/pkg/registry/ingress"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/storage"
)
)
// rest implements a RESTStorage for replication controllers against etcd
// rest implements a RESTStorage for replication controllers against etcd
...
@@ -35,12 +34,12 @@ type REST struct {
...
@@ -35,12 +34,12 @@ type REST struct {
}
}
// NewREST returns a RESTStorage object that will work against replication controllers.
// NewREST returns a RESTStorage object that will work against replication controllers.
func
NewREST
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
)
(
*
REST
,
*
StatusREST
)
{
func
NewREST
(
opts
generic
.
RESTOptions
)
(
*
REST
,
*
StatusREST
)
{
prefix
:=
"/ingress"
prefix
:=
"/ingress"
newListFunc
:=
func
()
runtime
.
Object
{
return
&
extensions
.
IngressList
{}
}
newListFunc
:=
func
()
runtime
.
Object
{
return
&
extensions
.
IngressList
{}
}
storageInterface
:=
storage
Decorator
(
storageInterface
:=
opts
.
Decorator
(
s
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
Ingress
),
&
extensions
.
Ingress
{},
prefix
,
ingress
.
Strategy
,
newListFunc
)
opts
.
Storage
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
Ingress
),
&
extensions
.
Ingress
{},
prefix
,
ingress
.
Strategy
,
newListFunc
)
store
:=
&
etcdgeneric
.
Etcd
{
store
:=
&
etcdgeneric
.
Etcd
{
NewFunc
:
func
()
runtime
.
Object
{
return
&
extensions
.
Ingress
{}
},
NewFunc
:
func
()
runtime
.
Object
{
return
&
extensions
.
Ingress
{}
},
...
...
pkg/registry/ingress/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -32,7 +32,8 @@ import (
...
@@ -32,7 +32,8 @@ import (
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
StatusREST
,
*
etcdtesting
.
EtcdTestServer
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
StatusREST
,
*
etcdtesting
.
EtcdTestServer
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
extensions
.
GroupName
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
extensions
.
GroupName
)
ingressStorage
,
statusStorage
:=
NewREST
(
etcdStorage
,
generic
.
UndecoratedStorage
)
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
ingressStorage
,
statusStorage
:=
NewREST
(
restOptions
)
return
ingressStorage
,
statusStorage
,
server
return
ingressStorage
,
statusStorage
,
server
}
}
...
...
pkg/registry/job/etcd/etcd.go
View file @
4eadc5e9
...
@@ -26,7 +26,6 @@ import (
...
@@ -26,7 +26,6 @@ import (
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
"k8s.io/kubernetes/pkg/registry/job"
"k8s.io/kubernetes/pkg/registry/job"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/storage"
)
)
// REST implements a RESTStorage for jobs against etcd
// REST implements a RESTStorage for jobs against etcd
...
@@ -35,12 +34,12 @@ type REST struct {
...
@@ -35,12 +34,12 @@ type REST struct {
}
}
// NewREST returns a RESTStorage object that will work against Jobs.
// NewREST returns a RESTStorage object that will work against Jobs.
func
NewREST
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
)
(
*
REST
,
*
StatusREST
)
{
func
NewREST
(
opts
generic
.
RESTOptions
)
(
*
REST
,
*
StatusREST
)
{
prefix
:=
"/jobs"
prefix
:=
"/jobs"
newListFunc
:=
func
()
runtime
.
Object
{
return
&
extensions
.
JobList
{}
}
newListFunc
:=
func
()
runtime
.
Object
{
return
&
extensions
.
JobList
{}
}
storageInterface
:=
storage
Decorator
(
storageInterface
:=
opts
.
Decorator
(
s
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
Jobs
),
&
extensions
.
Job
{},
prefix
,
job
.
Strategy
,
newListFunc
)
opts
.
Storage
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
Jobs
),
&
extensions
.
Job
{},
prefix
,
job
.
Strategy
,
newListFunc
)
store
:=
&
etcdgeneric
.
Etcd
{
store
:=
&
etcdgeneric
.
Etcd
{
NewFunc
:
func
()
runtime
.
Object
{
return
&
extensions
.
Job
{}
},
NewFunc
:
func
()
runtime
.
Object
{
return
&
extensions
.
Job
{}
},
...
...
pkg/registry/job/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -34,7 +34,8 @@ import (
...
@@ -34,7 +34,8 @@ import (
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
StatusREST
,
*
etcdtesting
.
EtcdTestServer
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
StatusREST
,
*
etcdtesting
.
EtcdTestServer
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
extensions
.
GroupName
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
extensions
.
GroupName
)
jobStorage
,
statusStorage
:=
NewREST
(
etcdStorage
,
generic
.
UndecoratedStorage
)
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
jobStorage
,
statusStorage
:=
NewREST
(
restOptions
)
return
jobStorage
,
statusStorage
,
server
return
jobStorage
,
statusStorage
,
server
}
}
...
...
pkg/registry/limitrange/etcd/etcd.go
View file @
4eadc5e9
...
@@ -25,7 +25,6 @@ import (
...
@@ -25,7 +25,6 @@ import (
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
"k8s.io/kubernetes/pkg/registry/limitrange"
"k8s.io/kubernetes/pkg/registry/limitrange"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/storage"
)
)
type
REST
struct
{
type
REST
struct
{
...
@@ -33,12 +32,12 @@ type REST struct {
...
@@ -33,12 +32,12 @@ type REST struct {
}
}
// NewREST returns a RESTStorage object that will work against horizontal pod autoscalers.
// NewREST returns a RESTStorage object that will work against horizontal pod autoscalers.
func
NewREST
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
)
*
REST
{
func
NewREST
(
opts
generic
.
RESTOptions
)
*
REST
{
prefix
:=
"/limitranges"
prefix
:=
"/limitranges"
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
LimitRangeList
{}
}
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
LimitRangeList
{}
}
storageInterface
:=
storage
Decorator
(
storageInterface
:=
opts
.
Decorator
(
s
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
LimitRanges
),
&
api
.
LimitRange
{},
prefix
,
limitrange
.
Strategy
,
newListFunc
)
opts
.
Storage
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
LimitRanges
),
&
api
.
LimitRange
{},
prefix
,
limitrange
.
Strategy
,
newListFunc
)
store
:=
&
etcdgeneric
.
Etcd
{
store
:=
&
etcdgeneric
.
Etcd
{
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
LimitRange
{}
},
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
LimitRange
{}
},
...
...
pkg/registry/limitrange/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -31,7 +31,8 @@ import (
...
@@ -31,7 +31,8 @@ import (
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
etcdtesting
.
EtcdTestServer
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
etcdtesting
.
EtcdTestServer
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
return
NewREST
(
etcdStorage
,
generic
.
UndecoratedStorage
),
server
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
return
NewREST
(
restOptions
),
server
}
}
func
validNewLimitRange
()
*
api
.
LimitRange
{
func
validNewLimitRange
()
*
api
.
LimitRange
{
...
...
pkg/registry/namespace/etcd/etcd.go
View file @
4eadc5e9
...
@@ -29,7 +29,6 @@ import (
...
@@ -29,7 +29,6 @@ import (
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
"k8s.io/kubernetes/pkg/registry/namespace"
"k8s.io/kubernetes/pkg/registry/namespace"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/storage"
)
)
// rest implements a RESTStorage for namespaces against etcd
// rest implements a RESTStorage for namespaces against etcd
...
@@ -49,12 +48,12 @@ type FinalizeREST struct {
...
@@ -49,12 +48,12 @@ type FinalizeREST struct {
}
}
// NewREST returns a RESTStorage object that will work against namespaces.
// NewREST returns a RESTStorage object that will work against namespaces.
func
NewREST
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
)
(
*
REST
,
*
StatusREST
,
*
FinalizeREST
)
{
func
NewREST
(
opts
generic
.
RESTOptions
)
(
*
REST
,
*
StatusREST
,
*
FinalizeREST
)
{
prefix
:=
"/namespaces"
prefix
:=
"/namespaces"
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
NamespaceList
{}
}
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
NamespaceList
{}
}
storageInterface
:=
storage
Decorator
(
storageInterface
:=
opts
.
Decorator
(
s
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
Namespaces
),
&
api
.
Namespace
{},
prefix
,
namespace
.
Strategy
,
newListFunc
)
opts
.
Storage
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
Namespaces
),
&
api
.
Namespace
{},
prefix
,
namespace
.
Strategy
,
newListFunc
)
store
:=
&
etcdgeneric
.
Etcd
{
store
:=
&
etcdgeneric
.
Etcd
{
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
Namespace
{}
},
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
Namespace
{}
},
...
...
pkg/registry/namespace/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -31,7 +31,8 @@ import (
...
@@ -31,7 +31,8 @@ import (
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
etcdtesting
.
EtcdTestServer
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
etcdtesting
.
EtcdTestServer
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
namespaceStorage
,
_
,
_
:=
NewREST
(
etcdStorage
,
generic
.
UndecoratedStorage
)
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
namespaceStorage
,
_
,
_
:=
NewREST
(
restOptions
)
return
namespaceStorage
,
server
return
namespaceStorage
,
server
}
}
...
...
pkg/registry/node/etcd/etcd.go
View file @
4eadc5e9
...
@@ -30,7 +30,6 @@ import (
...
@@ -30,7 +30,6 @@ import (
"k8s.io/kubernetes/pkg/registry/node"
"k8s.io/kubernetes/pkg/registry/node"
noderest
"k8s.io/kubernetes/pkg/registry/node/rest"
noderest
"k8s.io/kubernetes/pkg/registry/node/rest"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/storage"
)
)
// NodeStorage includes storage for nodes and all sub resources
// NodeStorage includes storage for nodes and all sub resources
...
@@ -61,12 +60,12 @@ func (r *StatusREST) Update(ctx api.Context, obj runtime.Object) (runtime.Object
...
@@ -61,12 +60,12 @@ func (r *StatusREST) Update(ctx api.Context, obj runtime.Object) (runtime.Object
}
}
// NewREST returns a RESTStorage object that will work against nodes.
// NewREST returns a RESTStorage object that will work against nodes.
func
NewStorage
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
,
connection
client
.
ConnectionInfoGetter
,
proxyTransport
http
.
RoundTripper
)
NodeStorage
{
func
NewStorage
(
opts
generic
.
RESTOptions
,
connection
client
.
ConnectionInfoGetter
,
proxyTransport
http
.
RoundTripper
)
NodeStorage
{
prefix
:=
"/minions"
prefix
:=
"/minions"
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
NodeList
{}
}
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
NodeList
{}
}
storageInterface
:=
storage
Decorator
(
storageInterface
:=
opts
.
Decorator
(
s
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
Nodes
),
&
api
.
Node
{},
prefix
,
node
.
Strategy
,
newListFunc
)
opts
.
Storage
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
Nodes
),
&
api
.
Node
{},
prefix
,
node
.
Strategy
,
newListFunc
)
store
:=
&
etcdgeneric
.
Etcd
{
store
:=
&
etcdgeneric
.
Etcd
{
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
Node
{}
},
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
Node
{}
},
...
...
pkg/registry/node/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -39,7 +39,8 @@ func (fakeConnectionInfoGetter) GetConnectionInfo(ctx api.Context, nodeName stri
...
@@ -39,7 +39,8 @@ func (fakeConnectionInfoGetter) GetConnectionInfo(ctx api.Context, nodeName stri
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
etcdtesting
.
EtcdTestServer
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
etcdtesting
.
EtcdTestServer
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
storage
:=
NewStorage
(
etcdStorage
,
generic
.
UndecoratedStorage
,
fakeConnectionInfoGetter
{},
nil
)
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
storage
:=
NewStorage
(
restOptions
,
fakeConnectionInfoGetter
{},
nil
)
return
storage
.
Node
,
server
return
storage
.
Node
,
server
}
}
...
...
pkg/registry/persistentvolume/etcd/etcd.go
View file @
4eadc5e9
...
@@ -25,7 +25,6 @@ import (
...
@@ -25,7 +25,6 @@ import (
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
"k8s.io/kubernetes/pkg/registry/persistentvolume"
"k8s.io/kubernetes/pkg/registry/persistentvolume"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/storage"
)
)
type
REST
struct
{
type
REST
struct
{
...
@@ -33,12 +32,12 @@ type REST struct {
...
@@ -33,12 +32,12 @@ type REST struct {
}
}
// NewREST returns a RESTStorage object that will work against persistent volumes.
// NewREST returns a RESTStorage object that will work against persistent volumes.
func
NewREST
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
)
(
*
REST
,
*
StatusREST
)
{
func
NewREST
(
opts
generic
.
RESTOptions
)
(
*
REST
,
*
StatusREST
)
{
prefix
:=
"/persistentvolumes"
prefix
:=
"/persistentvolumes"
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
PersistentVolumeList
{}
}
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
PersistentVolumeList
{}
}
storageInterface
:=
storage
Decorator
(
storageInterface
:=
opts
.
Decorator
(
s
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
PersistentVolumes
),
&
api
.
PersistentVolume
{},
prefix
,
persistentvolume
.
Strategy
,
newListFunc
)
opts
.
Storage
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
PersistentVolumes
),
&
api
.
PersistentVolume
{},
prefix
,
persistentvolume
.
Strategy
,
newListFunc
)
store
:=
&
etcdgeneric
.
Etcd
{
store
:=
&
etcdgeneric
.
Etcd
{
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
PersistentVolume
{}
},
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
PersistentVolume
{}
},
...
...
pkg/registry/persistentvolume/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -33,7 +33,8 @@ import (
...
@@ -33,7 +33,8 @@ import (
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
StatusREST
,
*
etcdtesting
.
EtcdTestServer
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
StatusREST
,
*
etcdtesting
.
EtcdTestServer
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
persistentVolumeStorage
,
statusStorage
:=
NewREST
(
etcdStorage
,
generic
.
UndecoratedStorage
)
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
persistentVolumeStorage
,
statusStorage
:=
NewREST
(
restOptions
)
return
persistentVolumeStorage
,
statusStorage
,
server
return
persistentVolumeStorage
,
statusStorage
,
server
}
}
...
...
pkg/registry/persistentvolumeclaim/etcd/etcd.go
View file @
4eadc5e9
...
@@ -25,7 +25,6 @@ import (
...
@@ -25,7 +25,6 @@ import (
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
"k8s.io/kubernetes/pkg/registry/persistentvolumeclaim"
"k8s.io/kubernetes/pkg/registry/persistentvolumeclaim"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/storage"
)
)
type
REST
struct
{
type
REST
struct
{
...
@@ -33,12 +32,12 @@ type REST struct {
...
@@ -33,12 +32,12 @@ type REST struct {
}
}
// NewREST returns a RESTStorage object that will work against persistent volume claims.
// NewREST returns a RESTStorage object that will work against persistent volume claims.
func
NewREST
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
)
(
*
REST
,
*
StatusREST
)
{
func
NewREST
(
opts
generic
.
RESTOptions
)
(
*
REST
,
*
StatusREST
)
{
prefix
:=
"/persistentvolumeclaims"
prefix
:=
"/persistentvolumeclaims"
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
PersistentVolumeClaimList
{}
}
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
PersistentVolumeClaimList
{}
}
storageInterface
:=
storage
Decorator
(
storageInterface
:=
opts
.
Decorator
(
s
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
PersistentVolumeClaims
),
&
api
.
PersistentVolumeClaim
{},
prefix
,
persistentvolumeclaim
.
Strategy
,
newListFunc
)
opts
.
Storage
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
PersistentVolumeClaims
),
&
api
.
PersistentVolumeClaim
{},
prefix
,
persistentvolumeclaim
.
Strategy
,
newListFunc
)
store
:=
&
etcdgeneric
.
Etcd
{
store
:=
&
etcdgeneric
.
Etcd
{
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
PersistentVolumeClaim
{}
},
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
PersistentVolumeClaim
{}
},
...
...
pkg/registry/persistentvolumeclaim/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -33,7 +33,8 @@ import (
...
@@ -33,7 +33,8 @@ import (
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
StatusREST
,
*
etcdtesting
.
EtcdTestServer
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
StatusREST
,
*
etcdtesting
.
EtcdTestServer
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
persistentVolumeClaimStorage
,
statusStorage
:=
NewREST
(
etcdStorage
,
generic
.
UndecoratedStorage
)
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
persistentVolumeClaimStorage
,
statusStorage
:=
NewREST
(
restOptions
)
return
persistentVolumeClaimStorage
,
statusStorage
,
server
return
persistentVolumeClaimStorage
,
statusStorage
,
server
}
}
...
...
pkg/registry/pod/etcd/etcd.go
View file @
4eadc5e9
...
@@ -58,17 +58,12 @@ type REST struct {
...
@@ -58,17 +58,12 @@ type REST struct {
}
}
// NewStorage returns a RESTStorage object that will work against pods.
// NewStorage returns a RESTStorage object that will work against pods.
func
NewStorage
(
func
NewStorage
(
opts
generic
.
RESTOptions
,
k
client
.
ConnectionInfoGetter
,
proxyTransport
http
.
RoundTripper
)
PodStorage
{
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
,
k
client
.
ConnectionInfoGetter
,
proxyTransport
http
.
RoundTripper
,
)
PodStorage
{
prefix
:=
"/pods"
prefix
:=
"/pods"
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
PodList
{}
}
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
PodList
{}
}
storageInterface
:=
storage
Decorator
(
storageInterface
:=
opts
.
Decorator
(
s
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
Pods
),
&
api
.
Pod
{},
prefix
,
pod
.
Strategy
,
newListFunc
)
opts
.
Storage
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
Pods
),
&
api
.
Pod
{},
prefix
,
pod
.
Strategy
,
newListFunc
)
store
:=
&
etcdgeneric
.
Etcd
{
store
:=
&
etcdgeneric
.
Etcd
{
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
Pod
{}
},
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
Pod
{}
},
...
...
pkg/registry/pod/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -37,7 +37,8 @@ import (
...
@@ -37,7 +37,8 @@ import (
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
BindingREST
,
*
StatusREST
,
*
etcdtesting
.
EtcdTestServer
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
BindingREST
,
*
StatusREST
,
*
etcdtesting
.
EtcdTestServer
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
storage
:=
NewStorage
(
etcdStorage
,
generic
.
UndecoratedStorage
,
nil
,
nil
)
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
storage
:=
NewStorage
(
restOptions
,
nil
,
nil
)
return
storage
.
Pod
,
storage
.
Binding
,
storage
.
Status
,
server
return
storage
.
Pod
,
storage
.
Binding
,
storage
.
Status
,
server
}
}
...
...
pkg/registry/podsecuritypolicy/etcd/etcd.go
View file @
4eadc5e9
...
@@ -25,7 +25,6 @@ import (
...
@@ -25,7 +25,6 @@ import (
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
"k8s.io/kubernetes/pkg/registry/podsecuritypolicy"
"k8s.io/kubernetes/pkg/registry/podsecuritypolicy"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/storage"
)
)
// REST implements a RESTStorage for PodSecurityPolicies against etcd.
// REST implements a RESTStorage for PodSecurityPolicies against etcd.
...
@@ -36,10 +35,10 @@ type REST struct {
...
@@ -36,10 +35,10 @@ type REST struct {
const
Prefix
=
"/podsecuritypolicies"
const
Prefix
=
"/podsecuritypolicies"
// NewREST returns a RESTStorage object that will work against PodSecurityPolicy objects.
// NewREST returns a RESTStorage object that will work against PodSecurityPolicy objects.
func
NewREST
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
)
*
REST
{
func
NewREST
(
opts
generic
.
RESTOptions
)
*
REST
{
newListFunc
:=
func
()
runtime
.
Object
{
return
&
extensions
.
PodSecurityPolicyList
{}
}
newListFunc
:=
func
()
runtime
.
Object
{
return
&
extensions
.
PodSecurityPolicyList
{}
}
storageInterface
:=
storage
Decorator
(
storageInterface
:=
opts
.
Decorator
(
s
,
100
,
&
extensions
.
PodSecurityPolicy
{},
Prefix
,
podsecuritypolicy
.
Strategy
,
newListFunc
)
opts
.
Storage
,
100
,
&
extensions
.
PodSecurityPolicy
{},
Prefix
,
podsecuritypolicy
.
Strategy
,
newListFunc
)
store
:=
&
etcdgeneric
.
Etcd
{
store
:=
&
etcdgeneric
.
Etcd
{
NewFunc
:
func
()
runtime
.
Object
{
return
&
extensions
.
PodSecurityPolicy
{}
},
NewFunc
:
func
()
runtime
.
Object
{
return
&
extensions
.
PodSecurityPolicy
{}
},
...
...
pkg/registry/podsecuritypolicy/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -33,7 +33,8 @@ import (
...
@@ -33,7 +33,8 @@ import (
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
etcdtesting
.
EtcdTestServer
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
etcdtesting
.
EtcdTestServer
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
"extensions"
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
"extensions"
)
return
NewREST
(
etcdStorage
,
generic
.
UndecoratedStorage
),
server
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
return
NewREST
(
restOptions
),
server
}
}
func
validNewPodSecurityPolicy
()
*
extensions
.
PodSecurityPolicy
{
func
validNewPodSecurityPolicy
()
*
extensions
.
PodSecurityPolicy
{
...
...
pkg/registry/podtemplate/etcd/etcd.go
View file @
4eadc5e9
...
@@ -25,7 +25,6 @@ import (
...
@@ -25,7 +25,6 @@ import (
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
"k8s.io/kubernetes/pkg/registry/podtemplate"
"k8s.io/kubernetes/pkg/registry/podtemplate"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/storage"
)
)
type
REST
struct
{
type
REST
struct
{
...
@@ -33,12 +32,12 @@ type REST struct {
...
@@ -33,12 +32,12 @@ type REST struct {
}
}
// NewREST returns a RESTStorage object that will work against pod templates.
// NewREST returns a RESTStorage object that will work against pod templates.
func
NewREST
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
)
*
REST
{
func
NewREST
(
opts
generic
.
RESTOptions
)
*
REST
{
prefix
:=
"/podtemplates"
prefix
:=
"/podtemplates"
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
PodTemplateList
{}
}
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
PodTemplateList
{}
}
storageInterface
:=
storage
Decorator
(
storageInterface
:=
opts
.
Decorator
(
s
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
PodTemplates
),
&
api
.
PodTemplate
{},
prefix
,
podtemplate
.
Strategy
,
newListFunc
)
opts
.
Storage
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
PodTemplates
),
&
api
.
PodTemplate
{},
prefix
,
podtemplate
.
Strategy
,
newListFunc
)
store
:=
&
etcdgeneric
.
Etcd
{
store
:=
&
etcdgeneric
.
Etcd
{
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
PodTemplate
{}
},
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
PodTemplate
{}
},
...
...
pkg/registry/podtemplate/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -30,7 +30,8 @@ import (
...
@@ -30,7 +30,8 @@ import (
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
etcdtesting
.
EtcdTestServer
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
etcdtesting
.
EtcdTestServer
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
return
NewREST
(
etcdStorage
,
generic
.
UndecoratedStorage
),
server
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
return
NewREST
(
restOptions
),
server
}
}
func
validNewPodTemplate
(
name
string
)
*
api
.
PodTemplate
{
func
validNewPodTemplate
(
name
string
)
*
api
.
PodTemplate
{
...
...
pkg/registry/replicaset/etcd/etcd.go
View file @
4eadc5e9
...
@@ -28,7 +28,6 @@ import (
...
@@ -28,7 +28,6 @@ import (
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
"k8s.io/kubernetes/pkg/registry/replicaset"
"k8s.io/kubernetes/pkg/registry/replicaset"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/storage"
)
)
// ReplicaSetStorage includes dummy storage for ReplicaSets and for Scale subresource.
// ReplicaSetStorage includes dummy storage for ReplicaSets and for Scale subresource.
...
@@ -37,8 +36,8 @@ type ReplicaSetStorage struct {
...
@@ -37,8 +36,8 @@ type ReplicaSetStorage struct {
Status
*
StatusREST
Status
*
StatusREST
}
}
func
NewStorage
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
)
ReplicaSetStorage
{
func
NewStorage
(
opts
generic
.
RESTOptions
)
ReplicaSetStorage
{
replicaSetRest
,
replicaSetStatusRest
:=
NewREST
(
s
,
storageDecorator
)
replicaSetRest
,
replicaSetStatusRest
:=
NewREST
(
opts
)
return
ReplicaSetStorage
{
return
ReplicaSetStorage
{
ReplicaSet
:
replicaSetRest
,
ReplicaSet
:
replicaSetRest
,
...
@@ -51,12 +50,12 @@ type REST struct {
...
@@ -51,12 +50,12 @@ type REST struct {
}
}
// NewREST returns a RESTStorage object that will work against ReplicaSet.
// NewREST returns a RESTStorage object that will work against ReplicaSet.
func
NewREST
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
)
(
*
REST
,
*
StatusREST
)
{
func
NewREST
(
opts
generic
.
RESTOptions
)
(
*
REST
,
*
StatusREST
)
{
prefix
:=
"/replicasets"
prefix
:=
"/replicasets"
newListFunc
:=
func
()
runtime
.
Object
{
return
&
extensions
.
ReplicaSetList
{}
}
newListFunc
:=
func
()
runtime
.
Object
{
return
&
extensions
.
ReplicaSetList
{}
}
storageInterface
:=
storage
Decorator
(
storageInterface
:=
opts
.
Decorator
(
s
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
Replicasets
),
&
extensions
.
ReplicaSet
{},
prefix
,
replicaset
.
Strategy
,
newListFunc
)
opts
.
Storage
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
Replicasets
),
&
extensions
.
ReplicaSet
{},
prefix
,
replicaset
.
Strategy
,
newListFunc
)
store
:=
&
etcdgeneric
.
Etcd
{
store
:=
&
etcdgeneric
.
Etcd
{
NewFunc
:
func
()
runtime
.
Object
{
return
&
extensions
.
ReplicaSet
{}
},
NewFunc
:
func
()
runtime
.
Object
{
return
&
extensions
.
ReplicaSet
{}
},
...
...
pkg/registry/replicaset/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -32,7 +32,8 @@ import (
...
@@ -32,7 +32,8 @@ import (
func
newStorage
(
t
*
testing
.
T
)
(
*
ReplicaSetStorage
,
*
etcdtesting
.
EtcdTestServer
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
ReplicaSetStorage
,
*
etcdtesting
.
EtcdTestServer
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
"extensions"
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
"extensions"
)
replicaSetStorage
:=
NewStorage
(
etcdStorage
,
generic
.
UndecoratedStorage
)
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
replicaSetStorage
:=
NewStorage
(
restOptions
)
return
&
replicaSetStorage
,
server
return
&
replicaSetStorage
,
server
}
}
...
...
pkg/registry/resourcequota/etcd/etcd.go
View file @
4eadc5e9
...
@@ -25,7 +25,6 @@ import (
...
@@ -25,7 +25,6 @@ import (
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
"k8s.io/kubernetes/pkg/registry/resourcequota"
"k8s.io/kubernetes/pkg/registry/resourcequota"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/storage"
)
)
type
REST
struct
{
type
REST
struct
{
...
@@ -33,12 +32,12 @@ type REST struct {
...
@@ -33,12 +32,12 @@ type REST struct {
}
}
// NewREST returns a RESTStorage object that will work against resource quotas.
// NewREST returns a RESTStorage object that will work against resource quotas.
func
NewREST
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
)
(
*
REST
,
*
StatusREST
)
{
func
NewREST
(
opts
generic
.
RESTOptions
)
(
*
REST
,
*
StatusREST
)
{
prefix
:=
"/resourcequotas"
prefix
:=
"/resourcequotas"
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
ResourceQuotaList
{}
}
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
ResourceQuotaList
{}
}
storageInterface
:=
storage
Decorator
(
storageInterface
:=
opts
.
Decorator
(
s
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
ResourceQuotas
),
&
api
.
ResourceQuota
{},
prefix
,
resourcequota
.
Strategy
,
newListFunc
)
opts
.
Storage
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
ResourceQuotas
),
&
api
.
ResourceQuota
{},
prefix
,
resourcequota
.
Strategy
,
newListFunc
)
store
:=
&
etcdgeneric
.
Etcd
{
store
:=
&
etcdgeneric
.
Etcd
{
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
ResourceQuota
{}
},
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
ResourceQuota
{}
},
...
...
pkg/registry/resourcequota/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -32,7 +32,8 @@ import (
...
@@ -32,7 +32,8 @@ import (
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
StatusREST
,
*
etcdtesting
.
EtcdTestServer
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
StatusREST
,
*
etcdtesting
.
EtcdTestServer
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
resourceQuotaStorage
,
statusStorage
:=
NewREST
(
etcdStorage
,
generic
.
UndecoratedStorage
)
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
resourceQuotaStorage
,
statusStorage
:=
NewREST
(
restOptions
)
return
resourceQuotaStorage
,
statusStorage
,
server
return
resourceQuotaStorage
,
statusStorage
,
server
}
}
...
...
pkg/registry/secret/etcd/etcd.go
View file @
4eadc5e9
...
@@ -25,7 +25,6 @@ import (
...
@@ -25,7 +25,6 @@ import (
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
"k8s.io/kubernetes/pkg/registry/secret"
"k8s.io/kubernetes/pkg/registry/secret"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/storage"
)
)
type
REST
struct
{
type
REST
struct
{
...
@@ -33,12 +32,12 @@ type REST struct {
...
@@ -33,12 +32,12 @@ type REST struct {
}
}
// NewREST returns a RESTStorage object that will work against secrets.
// NewREST returns a RESTStorage object that will work against secrets.
func
NewREST
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
)
*
REST
{
func
NewREST
(
opts
generic
.
RESTOptions
)
*
REST
{
prefix
:=
"/secrets"
prefix
:=
"/secrets"
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
SecretList
{}
}
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
SecretList
{}
}
storageInterface
:=
storage
Decorator
(
storageInterface
:=
opts
.
Decorator
(
s
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
Secrets
),
&
api
.
Secret
{},
prefix
,
secret
.
Strategy
,
newListFunc
)
opts
.
Storage
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
Secrets
),
&
api
.
Secret
{},
prefix
,
secret
.
Strategy
,
newListFunc
)
store
:=
&
etcdgeneric
.
Etcd
{
store
:=
&
etcdgeneric
.
Etcd
{
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
Secret
{}
},
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
Secret
{}
},
...
...
pkg/registry/secret/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -30,7 +30,8 @@ import (
...
@@ -30,7 +30,8 @@ import (
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
etcdtesting
.
EtcdTestServer
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
etcdtesting
.
EtcdTestServer
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
return
NewREST
(
etcdStorage
,
generic
.
UndecoratedStorage
),
server
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
return
NewREST
(
restOptions
),
server
}
}
func
validNewSecret
(
name
string
)
*
api
.
Secret
{
func
validNewSecret
(
name
string
)
*
api
.
Secret
{
...
...
pkg/registry/service/etcd/etcd.go
View file @
4eadc5e9
...
@@ -25,7 +25,6 @@ import (
...
@@ -25,7 +25,6 @@ import (
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
"k8s.io/kubernetes/pkg/registry/service"
"k8s.io/kubernetes/pkg/registry/service"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/storage"
)
)
type
REST
struct
{
type
REST
struct
{
...
@@ -33,12 +32,12 @@ type REST struct {
...
@@ -33,12 +32,12 @@ type REST struct {
}
}
// NewREST returns a RESTStorage object that will work against services.
// NewREST returns a RESTStorage object that will work against services.
func
NewREST
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
)
(
*
REST
,
*
StatusREST
)
{
func
NewREST
(
opts
generic
.
RESTOptions
)
(
*
REST
,
*
StatusREST
)
{
prefix
:=
"/services/specs"
prefix
:=
"/services/specs"
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
ServiceList
{}
}
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
ServiceList
{}
}
storageInterface
:=
storage
Decorator
(
storageInterface
:=
opts
.
Decorator
(
s
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
Services
),
&
api
.
Service
{},
prefix
,
service
.
Strategy
,
newListFunc
)
opts
.
Storage
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
Services
),
&
api
.
Service
{},
prefix
,
service
.
Strategy
,
newListFunc
)
store
:=
&
etcdgeneric
.
Etcd
{
store
:=
&
etcdgeneric
.
Etcd
{
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
Service
{}
},
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
Service
{}
},
...
...
pkg/registry/service/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -31,7 +31,8 @@ import (
...
@@ -31,7 +31,8 @@ import (
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
StatusREST
,
*
etcdtesting
.
EtcdTestServer
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
StatusREST
,
*
etcdtesting
.
EtcdTestServer
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
serviceStorage
,
statusStorage
:=
NewREST
(
etcdStorage
,
generic
.
UndecoratedStorage
)
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
serviceStorage
,
statusStorage
:=
NewREST
(
restOptions
)
return
serviceStorage
,
statusStorage
,
server
return
serviceStorage
,
statusStorage
,
server
}
}
...
...
pkg/registry/serviceaccount/etcd/etcd.go
View file @
4eadc5e9
...
@@ -25,7 +25,6 @@ import (
...
@@ -25,7 +25,6 @@ import (
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
"k8s.io/kubernetes/pkg/registry/serviceaccount"
"k8s.io/kubernetes/pkg/registry/serviceaccount"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/storage"
)
)
type
REST
struct
{
type
REST
struct
{
...
@@ -33,12 +32,12 @@ type REST struct {
...
@@ -33,12 +32,12 @@ type REST struct {
}
}
// NewREST returns a RESTStorage object that will work against service accounts.
// NewREST returns a RESTStorage object that will work against service accounts.
func
NewREST
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
)
*
REST
{
func
NewREST
(
opts
generic
.
RESTOptions
)
*
REST
{
prefix
:=
"/serviceaccounts"
prefix
:=
"/serviceaccounts"
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
ServiceAccountList
{}
}
newListFunc
:=
func
()
runtime
.
Object
{
return
&
api
.
ServiceAccountList
{}
}
storageInterface
:=
storage
Decorator
(
storageInterface
:=
opts
.
Decorator
(
s
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
ServiceAccounts
),
&
api
.
ServiceAccount
{},
prefix
,
serviceaccount
.
Strategy
,
newListFunc
)
opts
.
Storage
,
cachesize
.
GetWatchCacheSizeByResource
(
cachesize
.
ServiceAccounts
),
&
api
.
ServiceAccount
{},
prefix
,
serviceaccount
.
Strategy
,
newListFunc
)
store
:=
&
etcdgeneric
.
Etcd
{
store
:=
&
etcdgeneric
.
Etcd
{
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
ServiceAccount
{}
},
NewFunc
:
func
()
runtime
.
Object
{
return
&
api
.
ServiceAccount
{}
},
...
...
pkg/registry/serviceaccount/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -30,7 +30,8 @@ import (
...
@@ -30,7 +30,8 @@ import (
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
etcdtesting
.
EtcdTestServer
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
etcdtesting
.
EtcdTestServer
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
""
)
return
NewREST
(
etcdStorage
,
generic
.
UndecoratedStorage
),
server
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
return
NewREST
(
restOptions
),
server
}
}
func
validNewServiceAccount
(
name
string
)
*
api
.
ServiceAccount
{
func
validNewServiceAccount
(
name
string
)
*
api
.
ServiceAccount
{
...
...
pkg/registry/thirdpartyresource/etcd/etcd.go
View file @
4eadc5e9
...
@@ -25,7 +25,6 @@ import (
...
@@ -25,7 +25,6 @@ import (
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
"k8s.io/kubernetes/pkg/registry/thirdpartyresource"
"k8s.io/kubernetes/pkg/registry/thirdpartyresource"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/storage"
)
)
// REST implements a RESTStorage for ThirdPartyResources against etcd
// REST implements a RESTStorage for ThirdPartyResources against etcd
...
@@ -34,11 +33,11 @@ type REST struct {
...
@@ -34,11 +33,11 @@ type REST struct {
}
}
// NewREST returns a registry which will store ThirdPartyResource in the given helper
// NewREST returns a registry which will store ThirdPartyResource in the given helper
func
NewREST
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
)
*
REST
{
func
NewREST
(
opts
generic
.
RESTOptions
)
*
REST
{
prefix
:=
"/thirdpartyresources"
prefix
:=
"/thirdpartyresources"
// We explicitly do NOT do any decoration here yet.
// We explicitly do NOT do any decoration here yet.
storageInterface
:=
s
storageInterface
:=
opts
.
Storage
store
:=
&
etcdgeneric
.
Etcd
{
store
:=
&
etcdgeneric
.
Etcd
{
NewFunc
:
func
()
runtime
.
Object
{
return
&
extensions
.
ThirdPartyResource
{}
},
NewFunc
:
func
()
runtime
.
Object
{
return
&
extensions
.
ThirdPartyResource
{}
},
...
...
pkg/registry/thirdpartyresource/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -33,7 +33,8 @@ import (
...
@@ -33,7 +33,8 @@ import (
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
etcdtesting
.
EtcdTestServer
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
etcdtesting
.
EtcdTestServer
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
extensions
.
GroupName
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
extensions
.
GroupName
)
return
NewREST
(
etcdStorage
,
generic
.
UndecoratedStorage
),
server
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
return
NewREST
(
restOptions
),
server
}
}
func
validNewThirdPartyResource
(
name
string
)
*
extensions
.
ThirdPartyResource
{
func
validNewThirdPartyResource
(
name
string
)
*
extensions
.
ThirdPartyResource
{
...
...
pkg/registry/thirdpartyresourcedata/etcd/etcd.go
View file @
4eadc5e9
...
@@ -27,7 +27,6 @@ import (
...
@@ -27,7 +27,6 @@ import (
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
etcdgeneric
"k8s.io/kubernetes/pkg/registry/generic/etcd"
"k8s.io/kubernetes/pkg/registry/thirdpartyresourcedata"
"k8s.io/kubernetes/pkg/registry/thirdpartyresourcedata"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/storage"
)
)
// REST implements a RESTStorage for ThirdPartyResourceDatas against etcd
// REST implements a RESTStorage for ThirdPartyResourceDatas against etcd
...
@@ -37,11 +36,11 @@ type REST struct {
...
@@ -37,11 +36,11 @@ type REST struct {
}
}
// NewREST returns a registry which will store ThirdPartyResourceData in the given helper
// NewREST returns a registry which will store ThirdPartyResourceData in the given helper
func
NewREST
(
s
storage
.
Interface
,
storageDecorator
generic
.
StorageDecorator
,
group
,
kind
string
)
*
REST
{
func
NewREST
(
opts
generic
.
RESTOptions
,
group
,
kind
string
)
*
REST
{
prefix
:=
"/ThirdPartyResourceData/"
+
group
+
"/"
+
strings
.
ToLower
(
kind
)
+
"s"
prefix
:=
"/ThirdPartyResourceData/"
+
group
+
"/"
+
strings
.
ToLower
(
kind
)
+
"s"
// We explicitly do NOT do any decoration here yet.
// We explicitly do NOT do any decoration here yet.
storageInterface
:=
s
storageInterface
:=
opts
.
Storage
store
:=
&
etcdgeneric
.
Etcd
{
store
:=
&
etcdgeneric
.
Etcd
{
NewFunc
:
func
()
runtime
.
Object
{
return
&
extensions
.
ThirdPartyResourceData
{}
},
NewFunc
:
func
()
runtime
.
Object
{
return
&
extensions
.
ThirdPartyResourceData
{}
},
...
...
pkg/registry/thirdpartyresourcedata/etcd/etcd_test.go
View file @
4eadc5e9
...
@@ -33,7 +33,8 @@ import (
...
@@ -33,7 +33,8 @@ import (
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
etcdtesting
.
EtcdTestServer
)
{
func
newStorage
(
t
*
testing
.
T
)
(
*
REST
,
*
etcdtesting
.
EtcdTestServer
)
{
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
extensions
.
GroupName
)
etcdStorage
,
server
:=
registrytest
.
NewEtcdStorage
(
t
,
extensions
.
GroupName
)
return
NewREST
(
etcdStorage
,
generic
.
UndecoratedStorage
,
"foo"
,
"bar"
),
server
restOptions
:=
generic
.
RESTOptions
{
etcdStorage
,
generic
.
UndecoratedStorage
}
return
NewREST
(
restOptions
,
"foo"
,
"bar"
),
server
}
}
func
validNewThirdPartyResourceData
(
name
string
)
*
extensions
.
ThirdPartyResourceData
{
func
validNewThirdPartyResourceData
(
name
string
)
*
extensions
.
ThirdPartyResourceData
{
...
...
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