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
2568a921
Unverified
Commit
2568a921
authored
May 26, 2017
by
Clayton Coleman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Grow signature for predicate attributes to include init status
parent
331eea67
Hide whitespace changes
Inline
Side-by-side
Showing
85 changed files
with
221 additions
and
268 deletions
+221
-268
registry.go
federation/registry/cluster/registry.go
+1
-1
strategy.go
federation/registry/cluster/strategy.go
+3
-3
thirdparty.go
pkg/master/thirdparty/thirdparty.go
+1
-1
strategy.go
...gistration/externaladmissionhookconfiguration/strategy.go
+4
-4
strategy.go
...dmissionregistration/initializerconfiguration/strategy.go
+4
-4
strategy.go
pkg/registry/apps/controllerrevision/strategy.go
+3
-3
strategy_test.go
pkg/registry/apps/controllerrevision/strategy_test.go
+4
-1
storage_test.go
pkg/registry/apps/statefulset/storage/storage_test.go
+1
-1
strategy.go
pkg/registry/apps/statefulset/strategy.go
+3
-3
storage.go
pkg/registry/authentication/tokenreview/storage.go
+1
-5
rest.go
pkg/registry/authorization/localsubjectaccessreview/rest.go
+1
-5
rest.go
pkg/registry/authorization/selfsubjectaccessreview/rest.go
+1
-5
rest.go
pkg/registry/authorization/subjectaccessreview/rest.go
+1
-5
rest_test.go
pkg/registry/authorization/subjectaccessreview/rest_test.go
+1
-1
strategy.go
pkg/registry/autoscaling/horizontalpodautoscaler/strategy.go
+3
-3
strategy.go
pkg/registry/batch/cronjob/strategy.go
+3
-3
strategy.go
pkg/registry/batch/job/strategy.go
+3
-3
registry.go
pkg/registry/certificates/certificates/registry.go
+1
-1
strategy.go
pkg/registry/certificates/certificates/strategy.go
+3
-3
registry.go
pkg/registry/core/configmap/registry.go
+1
-1
strategy.go
pkg/registry/core/configmap/strategy.go
+3
-3
strategy.go
pkg/registry/core/endpoint/strategy.go
+3
-3
strategy.go
pkg/registry/core/event/strategy.go
+3
-3
strategy.go
pkg/registry/core/limitrange/strategy.go
+3
-3
registry.go
pkg/registry/core/namespace/registry.go
+1
-1
storage.go
pkg/registry/core/namespace/storage/storage.go
+2
-2
storage_test.go
pkg/registry/core/namespace/storage/storage_test.go
+1
-1
strategy.go
pkg/registry/core/namespace/strategy.go
+3
-3
registry.go
pkg/registry/core/node/registry.go
+1
-1
strategy.go
pkg/registry/core/node/strategy.go
+3
-3
strategy.go
pkg/registry/core/persistentvolume/strategy.go
+3
-3
strategy.go
pkg/registry/core/persistentvolumeclaim/strategy.go
+3
-3
eviction.go
pkg/registry/core/pod/storage/eviction.go
+1
-6
storage.go
pkg/registry/core/pod/storage/storage.go
+1
-6
storage_test.go
pkg/registry/core/pod/storage/storage_test.go
+16
-16
strategy.go
pkg/registry/core/pod/strategy.go
+3
-3
strategy.go
pkg/registry/core/podtemplate/strategy.go
+3
-3
registry.go
pkg/registry/core/replicationcontroller/registry.go
+1
-1
storage_test.go
...gistry/core/replicationcontroller/storage/storage_test.go
+1
-1
strategy.go
pkg/registry/core/replicationcontroller/strategy.go
+3
-3
storage_test.go
pkg/registry/core/resourcequota/storage/storage_test.go
+1
-1
strategy.go
pkg/registry/core/resourcequota/strategy.go
+3
-3
registry.go
pkg/registry/core/secret/registry.go
+1
-1
strategy.go
pkg/registry/core/secret/strategy.go
+3
-3
registry.go
pkg/registry/core/service/registry.go
+1
-1
rest.go
pkg/registry/core/service/rest.go
+2
-6
rest_test.go
pkg/registry/core/service/rest_test.go
+22
-22
strategy.go
pkg/registry/core/service/strategy.go
+3
-3
registry.go
pkg/registry/core/serviceaccount/registry.go
+1
-1
strategy.go
pkg/registry/core/serviceaccount/strategy.go
+3
-3
strategy.go
pkg/registry/extensions/daemonset/strategy.go
+3
-3
registry.go
pkg/registry/extensions/deployment/registry.go
+1
-1
storage.go
pkg/registry/extensions/deployment/storage/storage.go
+1
-5
storage_test.go
pkg/registry/extensions/deployment/storage/storage_test.go
+3
-3
strategy.go
pkg/registry/extensions/deployment/strategy.go
+3
-3
strategy.go
pkg/registry/extensions/ingress/strategy.go
+3
-3
storage_test.go
...registry/extensions/networkpolicy/storage/storage_test.go
+1
-1
strategy.go
pkg/registry/extensions/networkpolicy/strategy.go
+3
-3
strategy.go
pkg/registry/extensions/podsecuritypolicy/strategy.go
+3
-3
registry.go
pkg/registry/extensions/replicaset/registry.go
+1
-1
storage_test.go
pkg/registry/extensions/replicaset/storage/storage_test.go
+1
-1
strategy.go
pkg/registry/extensions/replicaset/strategy.go
+3
-3
strategy.go
pkg/registry/extensions/thirdpartyresource/strategy.go
+3
-3
registry.go
pkg/registry/extensions/thirdpartyresourcedata/registry.go
+1
-1
storage.go
...stry/extensions/thirdpartyresourcedata/storage/storage.go
+2
-2
strategy.go
pkg/registry/extensions/thirdpartyresourcedata/strategy.go
+3
-3
registry.go
pkg/registry/networking/networkpolicy/registry.go
+1
-1
strategy.go
pkg/registry/networking/networkpolicy/strategy.go
+3
-3
storage_test.go
...gistry/policy/poddisruptionbudget/storage/storage_test.go
+1
-1
strategy.go
pkg/registry/policy/poddisruptionbudget/strategy.go
+3
-3
storage.go
pkg/registry/rbac/clusterrole/policybased/storage.go
+3
-7
registry.go
pkg/registry/rbac/clusterrole/registry.go
+1
-1
strategy.go
pkg/registry/rbac/clusterrole/strategy.go
+3
-3
storage.go
pkg/registry/rbac/clusterrolebinding/policybased/storage.go
+4
-8
registry.go
pkg/registry/rbac/clusterrolebinding/registry.go
+1
-1
strategy.go
pkg/registry/rbac/clusterrolebinding/strategy.go
+3
-3
storage.go
pkg/registry/rbac/role/policybased/storage.go
+3
-7
registry.go
pkg/registry/rbac/role/registry.go
+1
-1
strategy.go
pkg/registry/rbac/role/strategy.go
+3
-3
storage.go
pkg/registry/rbac/rolebinding/policybased/storage.go
+4
-8
registry.go
pkg/registry/rbac/rolebinding/registry.go
+1
-1
strategy.go
pkg/registry/rbac/rolebinding/strategy.go
+3
-3
registry.go
pkg/registry/settings/podpreset/registry.go
+1
-1
strategy.go
pkg/registry/settings/podpreset/strategy.go
+3
-3
strategy.go
pkg/registry/storage/storageclass/strategy.go
+3
-3
No files found.
federation/registry/cluster/registry.go
View file @
2568a921
...
@@ -68,7 +68,7 @@ func (s *storage) GetCluster(ctx genericapirequest.Context, name string, options
...
@@ -68,7 +68,7 @@ func (s *storage) GetCluster(ctx genericapirequest.Context, name string, options
}
}
func
(
s
*
storage
)
CreateCluster
(
ctx
genericapirequest
.
Context
,
cluster
*
federation
.
Cluster
)
error
{
func
(
s
*
storage
)
CreateCluster
(
ctx
genericapirequest
.
Context
,
cluster
*
federation
.
Cluster
)
error
{
_
,
err
:=
s
.
Create
(
ctx
,
cluster
)
_
,
err
:=
s
.
Create
(
ctx
,
cluster
,
false
)
return
err
return
err
}
}
...
...
federation/registry/cluster/strategy.go
View file @
2568a921
...
@@ -48,12 +48,12 @@ func ClusterToSelectableFields(cluster *federation.Cluster) fields.Set {
...
@@ -48,12 +48,12 @@ func ClusterToSelectableFields(cluster *federation.Cluster) fields.Set {
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
cluster
,
ok
:=
obj
.
(
*
federation
.
Cluster
)
cluster
,
ok
:=
obj
.
(
*
federation
.
Cluster
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"given object is not a cluster."
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"given object is not a cluster."
)
}
}
return
labels
.
Set
(
cluster
.
ObjectMeta
.
Labels
),
ClusterToSelectableFields
(
cluster
),
nil
return
labels
.
Set
(
cluster
.
ObjectMeta
.
Labels
),
ClusterToSelectableFields
(
cluster
),
cluster
.
Initializers
!=
nil
,
nil
}
}
func
MatchCluster
(
label
labels
.
Selector
,
field
fields
.
Selector
)
apistorage
.
SelectionPredicate
{
func
MatchCluster
(
label
labels
.
Selector
,
field
fields
.
Selector
)
apistorage
.
SelectionPredicate
{
...
...
pkg/master/thirdparty/thirdparty.go
View file @
2568a921
...
@@ -297,7 +297,7 @@ func (m *ThirdPartyResourceServer) migrateThirdPartyResourceData(gvk schema.Grou
...
@@ -297,7 +297,7 @@ func (m *ThirdPartyResourceServer) migrateThirdPartyResourceData(gvk schema.Grou
// Store CustomResource.
// Store CustomResource.
obj
:=
&
unstructured
.
Unstructured
{
Object
:
objMap
}
obj
:=
&
unstructured
.
Unstructured
{
Object
:
objMap
}
createCtx
:=
request
.
WithNamespace
(
ctx
,
obj
.
GetNamespace
())
createCtx
:=
request
.
WithNamespace
(
ctx
,
obj
.
GetNamespace
())
if
_
,
err
:=
storage
.
Create
(
createCtx
,
obj
);
err
!=
nil
{
if
_
,
err
:=
storage
.
Create
(
createCtx
,
obj
,
false
);
err
!=
nil
{
errs
=
append
(
errs
,
fmt
.
Errorf
(
"can't create CustomResource for TPR data %q: %v"
,
item
.
Name
,
err
))
errs
=
append
(
errs
,
fmt
.
Errorf
(
"can't create CustomResource for TPR data %q: %v"
,
item
.
Name
,
err
))
continue
continue
}
}
...
...
pkg/registry/admissionregistration/externaladmissionhookconfiguration/strategy.go
View file @
2568a921
...
@@ -106,15 +106,15 @@ func MatchExternalAdmissionHookConfiguration(label labels.Selector, field fields
...
@@ -106,15 +106,15 @@ func MatchExternalAdmissionHookConfiguration(label labels.Selector, field fields
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
ic
,
ok
:=
obj
.
(
*
admissionregistration
.
ExternalAdmissionHookConfiguration
)
ic
,
ok
:=
obj
.
(
*
admissionregistration
.
ExternalAdmissionHookConfiguration
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"Given object is not a ExternalAdmissionHookConfiguration."
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"Given object is not a ExternalAdmissionHookConfiguration."
)
}
}
return
labels
.
Set
(
ic
.
ObjectMeta
.
Labels
),
ExternalAdmissionHookConfigurationToSelectableFields
(
ic
),
nil
return
labels
.
Set
(
ic
.
ObjectMeta
.
Labels
),
ExternalAdmissionHookConfigurationToSelectableFields
(
ic
),
ic
.
Initializers
!=
nil
,
nil
}
}
// ExternalAdmissionHookConfigurationToSelectableFields returns a field set that represents the object.
// ExternalAdmissionHookConfigurationToSelectableFields returns a field set that represents the object.
func
ExternalAdmissionHookConfigurationToSelectableFields
(
ic
*
admissionregistration
.
ExternalAdmissionHookConfiguration
)
fields
.
Set
{
func
ExternalAdmissionHookConfigurationToSelectableFields
(
ic
*
admissionregistration
.
ExternalAdmissionHookConfiguration
)
fields
.
Set
{
return
generic
.
ObjectMetaFieldsSet
(
&
ic
.
ObjectMeta
,
tru
e
)
return
generic
.
ObjectMetaFieldsSet
(
&
ic
.
ObjectMeta
,
fals
e
)
}
}
pkg/registry/admissionregistration/initializerconfiguration/strategy.go
View file @
2568a921
...
@@ -106,15 +106,15 @@ func MatchInitializerConfiguration(label labels.Selector, field fields.Selector)
...
@@ -106,15 +106,15 @@ func MatchInitializerConfiguration(label labels.Selector, field fields.Selector)
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
ic
,
ok
:=
obj
.
(
*
admissionregistration
.
InitializerConfiguration
)
ic
,
ok
:=
obj
.
(
*
admissionregistration
.
InitializerConfiguration
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"Given object is not a InitializerConfiguration."
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"Given object is not a InitializerConfiguration."
)
}
}
return
labels
.
Set
(
ic
.
ObjectMeta
.
Labels
),
InitializerConfigurationToSelectableFields
(
ic
),
nil
return
labels
.
Set
(
ic
.
ObjectMeta
.
Labels
),
InitializerConfigurationToSelectableFields
(
ic
),
ic
.
ObjectMeta
.
Initializers
!=
nil
,
nil
}
}
// InitializerConfigurationToSelectableFields returns a field set that represents the object.
// InitializerConfigurationToSelectableFields returns a field set that represents the object.
func
InitializerConfigurationToSelectableFields
(
ic
*
admissionregistration
.
InitializerConfiguration
)
fields
.
Set
{
func
InitializerConfigurationToSelectableFields
(
ic
*
admissionregistration
.
InitializerConfiguration
)
fields
.
Set
{
return
generic
.
ObjectMetaFieldsSet
(
&
ic
.
ObjectMeta
,
tru
e
)
return
generic
.
ObjectMetaFieldsSet
(
&
ic
.
ObjectMeta
,
fals
e
)
}
}
pkg/registry/apps/controllerrevision/strategy.go
View file @
2568a921
...
@@ -90,12 +90,12 @@ func ControllerRevisionToSelectableFields(revision *apps.ControllerRevision) fie
...
@@ -90,12 +90,12 @@ func ControllerRevisionToSelectableFields(revision *apps.ControllerRevision) fie
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
history
,
ok
:=
obj
.
(
*
apps
.
ControllerRevision
)
history
,
ok
:=
obj
.
(
*
apps
.
ControllerRevision
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
errors
.
New
(
"supplied object is not an ControllerRevision"
)
return
nil
,
nil
,
false
,
errors
.
New
(
"supplied object is not an ControllerRevision"
)
}
}
return
labels
.
Set
(
history
.
ObjectMeta
.
Labels
),
ControllerRevisionToSelectableFields
(
history
),
nil
return
labels
.
Set
(
history
.
ObjectMeta
.
Labels
),
ControllerRevisionToSelectableFields
(
history
),
history
.
Initializers
!=
nil
,
nil
}
}
// MatchControllerRevision returns a generic matcher for a given label and field selector.
// MatchControllerRevision returns a generic matcher for a given label and field selector.
...
...
pkg/registry/apps/controllerrevision/strategy_test.go
View file @
2568a921
...
@@ -140,10 +140,13 @@ func TestControllerRevisionToSelectableFields(t *testing.T) {
...
@@ -140,10 +140,13 @@ func TestControllerRevisionToSelectableFields(t *testing.T) {
func
TestGetAttrs
(
t
*
testing
.
T
)
{
func
TestGetAttrs
(
t
*
testing
.
T
)
{
rev
:=
newControllerRevision
(
"validname"
,
"validns"
,
newObject
(),
0
)
rev
:=
newControllerRevision
(
"validname"
,
"validns"
,
newObject
(),
0
)
labelSet
,
fieldSet
,
err
:=
GetAttrs
(
rev
)
labelSet
,
fieldSet
,
uninitialized
,
err
:=
GetAttrs
(
rev
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatal
(
err
)
t
.
Fatal
(
err
)
}
}
if
uninitialized
{
t
.
Errorf
(
"unexpected attrs"
)
}
if
fieldSet
.
Get
(
"metadata.name"
)
!=
rev
.
Name
{
if
fieldSet
.
Get
(
"metadata.name"
)
!=
rev
.
Name
{
t
.
Errorf
(
"expeted %s found %s"
,
rev
.
Name
,
fieldSet
.
Get
(
"metadata.name"
))
t
.
Errorf
(
"expeted %s found %s"
,
rev
.
Name
,
fieldSet
.
Get
(
"metadata.name"
))
}
}
...
...
pkg/registry/apps/statefulset/storage/storage_test.go
View file @
2568a921
...
@@ -42,7 +42,7 @@ func newStorage(t *testing.T) (*REST, *StatusREST, *etcdtesting.EtcdTestServer)
...
@@ -42,7 +42,7 @@ func newStorage(t *testing.T) (*REST, *StatusREST, *etcdtesting.EtcdTestServer)
// createStatefulSet is a helper function that returns a StatefulSet with the updated resource version.
// createStatefulSet is a helper function that returns a StatefulSet with the updated resource version.
func
createStatefulSet
(
storage
*
REST
,
ps
apps
.
StatefulSet
,
t
*
testing
.
T
)
(
apps
.
StatefulSet
,
error
)
{
func
createStatefulSet
(
storage
*
REST
,
ps
apps
.
StatefulSet
,
t
*
testing
.
T
)
(
apps
.
StatefulSet
,
error
)
{
ctx
:=
genericapirequest
.
WithNamespace
(
genericapirequest
.
NewContext
(),
ps
.
Namespace
)
ctx
:=
genericapirequest
.
WithNamespace
(
genericapirequest
.
NewContext
(),
ps
.
Namespace
)
obj
,
err
:=
storage
.
Create
(
ctx
,
&
ps
)
obj
,
err
:=
storage
.
Create
(
ctx
,
&
ps
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"Failed to create StatefulSet, %v"
,
err
)
t
.
Errorf
(
"Failed to create StatefulSet, %v"
,
err
)
}
}
...
...
pkg/registry/apps/statefulset/strategy.go
View file @
2568a921
...
@@ -112,12 +112,12 @@ func StatefulSetToSelectableFields(statefulSet *apps.StatefulSet) fields.Set {
...
@@ -112,12 +112,12 @@ func StatefulSetToSelectableFields(statefulSet *apps.StatefulSet) fields.Set {
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
statefulSet
,
ok
:=
obj
.
(
*
apps
.
StatefulSet
)
statefulSet
,
ok
:=
obj
.
(
*
apps
.
StatefulSet
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"given object is not an StatefulSet."
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"given object is not an StatefulSet."
)
}
}
return
labels
.
Set
(
statefulSet
.
ObjectMeta
.
Labels
),
StatefulSetToSelectableFields
(
statefulSet
),
nil
return
labels
.
Set
(
statefulSet
.
ObjectMeta
.
Labels
),
StatefulSetToSelectableFields
(
statefulSet
),
statefulSet
.
Initializers
!=
nil
,
nil
}
}
// MatchStatefulSet is the filter used by the generic etcd backend to watch events
// MatchStatefulSet is the filter used by the generic etcd backend to watch events
...
...
pkg/registry/authentication/tokenreview/storage.go
View file @
2568a921
...
@@ -39,7 +39,7 @@ func (r *REST) New() runtime.Object {
...
@@ -39,7 +39,7 @@ func (r *REST) New() runtime.Object {
return
&
authentication
.
TokenReview
{}
return
&
authentication
.
TokenReview
{}
}
}
func
(
r
*
REST
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
func
(
r
*
REST
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
,
includeUninitialized
bool
)
(
runtime
.
Object
,
error
)
{
tokenReview
,
ok
:=
obj
.
(
*
authentication
.
TokenReview
)
tokenReview
,
ok
:=
obj
.
(
*
authentication
.
TokenReview
)
if
!
ok
{
if
!
ok
{
return
nil
,
apierrors
.
NewBadRequest
(
fmt
.
Sprintf
(
"not a TokenReview: %#v"
,
obj
))
return
nil
,
apierrors
.
NewBadRequest
(
fmt
.
Sprintf
(
"not a TokenReview: %#v"
,
obj
))
...
@@ -76,7 +76,3 @@ func (r *REST) Create(ctx genericapirequest.Context, obj runtime.Object) (runtim
...
@@ -76,7 +76,3 @@ func (r *REST) Create(ctx genericapirequest.Context, obj runtime.Object) (runtim
return
tokenReview
,
nil
return
tokenReview
,
nil
}
}
func
(
r
*
REST
)
CreateInitialized
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
return
r
.
Create
(
ctx
,
obj
)
}
pkg/registry/authorization/localsubjectaccessreview/rest.go
View file @
2568a921
...
@@ -40,7 +40,7 @@ func (r *REST) New() runtime.Object {
...
@@ -40,7 +40,7 @@ func (r *REST) New() runtime.Object {
return
&
authorizationapi
.
LocalSubjectAccessReview
{}
return
&
authorizationapi
.
LocalSubjectAccessReview
{}
}
}
func
(
r
*
REST
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
func
(
r
*
REST
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
,
includeUninitialized
bool
)
(
runtime
.
Object
,
error
)
{
localSubjectAccessReview
,
ok
:=
obj
.
(
*
authorizationapi
.
LocalSubjectAccessReview
)
localSubjectAccessReview
,
ok
:=
obj
.
(
*
authorizationapi
.
LocalSubjectAccessReview
)
if
!
ok
{
if
!
ok
{
return
nil
,
kapierrors
.
NewBadRequest
(
fmt
.
Sprintf
(
"not a LocaLocalSubjectAccessReview: %#v"
,
obj
))
return
nil
,
kapierrors
.
NewBadRequest
(
fmt
.
Sprintf
(
"not a LocaLocalSubjectAccessReview: %#v"
,
obj
))
...
@@ -69,7 +69,3 @@ func (r *REST) Create(ctx genericapirequest.Context, obj runtime.Object) (runtim
...
@@ -69,7 +69,3 @@ func (r *REST) Create(ctx genericapirequest.Context, obj runtime.Object) (runtim
return
localSubjectAccessReview
,
nil
return
localSubjectAccessReview
,
nil
}
}
func
(
r
*
REST
)
CreateInitialized
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
return
r
.
Create
(
ctx
,
obj
)
}
pkg/registry/authorization/selfsubjectaccessreview/rest.go
View file @
2568a921
...
@@ -40,7 +40,7 @@ func (r *REST) New() runtime.Object {
...
@@ -40,7 +40,7 @@ func (r *REST) New() runtime.Object {
return
&
authorizationapi
.
SelfSubjectAccessReview
{}
return
&
authorizationapi
.
SelfSubjectAccessReview
{}
}
}
func
(
r
*
REST
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
func
(
r
*
REST
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
,
includeUninitialized
bool
)
(
runtime
.
Object
,
error
)
{
selfSAR
,
ok
:=
obj
.
(
*
authorizationapi
.
SelfSubjectAccessReview
)
selfSAR
,
ok
:=
obj
.
(
*
authorizationapi
.
SelfSubjectAccessReview
)
if
!
ok
{
if
!
ok
{
return
nil
,
apierrors
.
NewBadRequest
(
fmt
.
Sprintf
(
"not a SelfSubjectAccessReview: %#v"
,
obj
))
return
nil
,
apierrors
.
NewBadRequest
(
fmt
.
Sprintf
(
"not a SelfSubjectAccessReview: %#v"
,
obj
))
...
@@ -72,7 +72,3 @@ func (r *REST) Create(ctx genericapirequest.Context, obj runtime.Object) (runtim
...
@@ -72,7 +72,3 @@ func (r *REST) Create(ctx genericapirequest.Context, obj runtime.Object) (runtim
return
selfSAR
,
nil
return
selfSAR
,
nil
}
}
func
(
r
*
REST
)
CreateInitialized
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
return
r
.
Create
(
ctx
,
obj
)
}
pkg/registry/authorization/subjectaccessreview/rest.go
View file @
2568a921
...
@@ -40,7 +40,7 @@ func (r *REST) New() runtime.Object {
...
@@ -40,7 +40,7 @@ func (r *REST) New() runtime.Object {
return
&
authorizationapi
.
SubjectAccessReview
{}
return
&
authorizationapi
.
SubjectAccessReview
{}
}
}
func
(
r
*
REST
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
func
(
r
*
REST
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
,
includeUninitialized
bool
)
(
runtime
.
Object
,
error
)
{
subjectAccessReview
,
ok
:=
obj
.
(
*
authorizationapi
.
SubjectAccessReview
)
subjectAccessReview
,
ok
:=
obj
.
(
*
authorizationapi
.
SubjectAccessReview
)
if
!
ok
{
if
!
ok
{
return
nil
,
kapierrors
.
NewBadRequest
(
fmt
.
Sprintf
(
"not a SubjectAccessReview: %#v"
,
obj
))
return
nil
,
kapierrors
.
NewBadRequest
(
fmt
.
Sprintf
(
"not a SubjectAccessReview: %#v"
,
obj
))
...
@@ -62,7 +62,3 @@ func (r *REST) Create(ctx genericapirequest.Context, obj runtime.Object) (runtim
...
@@ -62,7 +62,3 @@ func (r *REST) Create(ctx genericapirequest.Context, obj runtime.Object) (runtim
return
subjectAccessReview
,
nil
return
subjectAccessReview
,
nil
}
}
func
(
r
*
REST
)
CreateInitialized
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
return
r
.
Create
(
ctx
,
obj
)
}
pkg/registry/authorization/subjectaccessreview/rest_test.go
View file @
2568a921
...
@@ -176,7 +176,7 @@ func TestCreate(t *testing.T) {
...
@@ -176,7 +176,7 @@ func TestCreate(t *testing.T) {
}
}
rest
:=
NewREST
(
auth
)
rest
:=
NewREST
(
auth
)
result
,
err
:=
rest
.
Create
(
genericapirequest
.
NewContext
(),
&
authorizationapi
.
SubjectAccessReview
{
Spec
:
tc
.
spec
})
result
,
err
:=
rest
.
Create
(
genericapirequest
.
NewContext
(),
&
authorizationapi
.
SubjectAccessReview
{
Spec
:
tc
.
spec
}
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
if
tc
.
expectedErr
!=
""
{
if
tc
.
expectedErr
!=
""
{
if
!
strings
.
Contains
(
err
.
Error
(),
tc
.
expectedErr
)
{
if
!
strings
.
Contains
(
err
.
Error
(),
tc
.
expectedErr
)
{
...
...
pkg/registry/autoscaling/horizontalpodautoscaler/strategy.go
View file @
2568a921
...
@@ -91,12 +91,12 @@ func AutoscalerToSelectableFields(hpa *autoscaling.HorizontalPodAutoscaler) fiel
...
@@ -91,12 +91,12 @@ func AutoscalerToSelectableFields(hpa *autoscaling.HorizontalPodAutoscaler) fiel
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
hpa
,
ok
:=
obj
.
(
*
autoscaling
.
HorizontalPodAutoscaler
)
hpa
,
ok
:=
obj
.
(
*
autoscaling
.
HorizontalPodAutoscaler
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"given object is not a horizontal pod autoscaler."
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"given object is not a horizontal pod autoscaler."
)
}
}
return
labels
.
Set
(
hpa
.
ObjectMeta
.
Labels
),
AutoscalerToSelectableFields
(
hpa
),
nil
return
labels
.
Set
(
hpa
.
ObjectMeta
.
Labels
),
AutoscalerToSelectableFields
(
hpa
),
hpa
.
Initializers
!=
nil
,
nil
}
}
func
MatchAutoscaler
(
label
labels
.
Selector
,
field
fields
.
Selector
)
storage
.
SelectionPredicate
{
func
MatchAutoscaler
(
label
labels
.
Selector
,
field
fields
.
Selector
)
storage
.
SelectionPredicate
{
...
...
pkg/registry/batch/cronjob/strategy.go
View file @
2568a921
...
@@ -112,12 +112,12 @@ func CronJobToSelectableFields(cronJob *batch.CronJob) fields.Set {
...
@@ -112,12 +112,12 @@ func CronJobToSelectableFields(cronJob *batch.CronJob) fields.Set {
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
cronJob
,
ok
:=
obj
.
(
*
batch
.
CronJob
)
cronJob
,
ok
:=
obj
.
(
*
batch
.
CronJob
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
f
mt
.
Errorf
(
"G
iven object is not a scheduled job."
)
return
nil
,
nil
,
f
alse
,
fmt
.
Errorf
(
"g
iven object is not a scheduled job."
)
}
}
return
labels
.
Set
(
cronJob
.
ObjectMeta
.
Labels
),
CronJobToSelectableFields
(
cronJob
),
nil
return
labels
.
Set
(
cronJob
.
ObjectMeta
.
Labels
),
CronJobToSelectableFields
(
cronJob
),
cronJob
.
Initializers
!=
nil
,
nil
}
}
// MatchCronJob is the filter used by the generic etcd backend to route
// MatchCronJob is the filter used by the generic etcd backend to route
...
...
pkg/registry/batch/job/strategy.go
View file @
2568a921
...
@@ -174,12 +174,12 @@ func JobToSelectableFields(job *batch.Job) fields.Set {
...
@@ -174,12 +174,12 @@ func JobToSelectableFields(job *batch.Job) fields.Set {
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
job
,
ok
:=
obj
.
(
*
batch
.
Job
)
job
,
ok
:=
obj
.
(
*
batch
.
Job
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
f
mt
.
Errorf
(
"G
iven object is not a job."
)
return
nil
,
nil
,
f
alse
,
fmt
.
Errorf
(
"g
iven object is not a job."
)
}
}
return
labels
.
Set
(
job
.
ObjectMeta
.
Labels
),
JobToSelectableFields
(
job
),
nil
return
labels
.
Set
(
job
.
ObjectMeta
.
Labels
),
JobToSelectableFields
(
job
),
job
.
Initializers
!=
nil
,
nil
}
}
// MatchJob is the filter used by the generic etcd backend to route
// MatchJob is the filter used by the generic etcd backend to route
...
...
pkg/registry/certificates/certificates/registry.go
View file @
2568a921
...
@@ -57,7 +57,7 @@ func (s *storage) ListCSRs(ctx genericapirequest.Context, options *metainternalv
...
@@ -57,7 +57,7 @@ func (s *storage) ListCSRs(ctx genericapirequest.Context, options *metainternalv
}
}
func
(
s
*
storage
)
CreateCSR
(
ctx
genericapirequest
.
Context
,
csr
*
certificates
.
CertificateSigningRequest
)
error
{
func
(
s
*
storage
)
CreateCSR
(
ctx
genericapirequest
.
Context
,
csr
*
certificates
.
CertificateSigningRequest
)
error
{
_
,
err
:=
s
.
Create
(
ctx
,
csr
)
_
,
err
:=
s
.
Create
(
ctx
,
csr
,
false
)
return
err
return
err
}
}
...
...
pkg/registry/certificates/certificates/strategy.go
View file @
2568a921
...
@@ -178,12 +178,12 @@ func (csrApprovalStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, ol
...
@@ -178,12 +178,12 @@ func (csrApprovalStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, ol
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
sa
,
ok
:=
obj
.
(
*
certificates
.
CertificateSigningRequest
)
sa
,
ok
:=
obj
.
(
*
certificates
.
CertificateSigningRequest
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"not a CertificateSigningRequest"
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"not a CertificateSigningRequest"
)
}
}
return
labels
.
Set
(
sa
.
Labels
),
SelectableFields
(
sa
),
nil
return
labels
.
Set
(
sa
.
Labels
),
SelectableFields
(
sa
),
sa
.
Initializers
!=
nil
,
nil
}
}
// Matcher returns a generic matcher for a given label and field selector.
// Matcher returns a generic matcher for a given label and field selector.
...
...
pkg/registry/core/configmap/registry.go
View file @
2568a921
...
@@ -69,7 +69,7 @@ func (s *storage) GetConfigMap(ctx genericapirequest.Context, name string, optio
...
@@ -69,7 +69,7 @@ func (s *storage) GetConfigMap(ctx genericapirequest.Context, name string, optio
}
}
func
(
s
*
storage
)
CreateConfigMap
(
ctx
genericapirequest
.
Context
,
cfg
*
api
.
ConfigMap
)
(
*
api
.
ConfigMap
,
error
)
{
func
(
s
*
storage
)
CreateConfigMap
(
ctx
genericapirequest
.
Context
,
cfg
*
api
.
ConfigMap
)
(
*
api
.
ConfigMap
,
error
)
{
obj
,
err
:=
s
.
Create
(
ctx
,
cfg
)
obj
,
err
:=
s
.
Create
(
ctx
,
cfg
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
...
pkg/registry/core/configmap/strategy.go
View file @
2568a921
...
@@ -91,12 +91,12 @@ func ConfigMapToSelectableFields(cfg *api.ConfigMap) fields.Set {
...
@@ -91,12 +91,12 @@ func ConfigMapToSelectableFields(cfg *api.ConfigMap) fields.Set {
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
cfg
,
ok
:=
obj
.
(
*
api
.
ConfigMap
)
cfg
,
ok
:=
obj
.
(
*
api
.
ConfigMap
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"given object is not a ConfigMap"
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"given object is not a ConfigMap"
)
}
}
return
labels
.
Set
(
cfg
.
ObjectMeta
.
Labels
),
ConfigMapToSelectableFields
(
cfg
),
nil
return
labels
.
Set
(
cfg
.
ObjectMeta
.
Labels
),
ConfigMapToSelectableFields
(
cfg
),
cfg
.
Initializers
!=
nil
,
nil
}
}
// MatchConfigMap returns a generic matcher for a given label and field selector.
// MatchConfigMap returns a generic matcher for a given label and field selector.
...
...
pkg/registry/core/endpoint/strategy.go
View file @
2568a921
...
@@ -82,12 +82,12 @@ func (endpointsStrategy) AllowUnconditionalUpdate() bool {
...
@@ -82,12 +82,12 @@ func (endpointsStrategy) AllowUnconditionalUpdate() bool {
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
endpoints
,
ok
:=
obj
.
(
*
api
.
Endpoints
)
endpoints
,
ok
:=
obj
.
(
*
api
.
Endpoints
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"invalid object type %#v"
,
obj
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"invalid object type %#v"
,
obj
)
}
}
return
endpoints
.
Labels
,
EndpointsToSelectableFields
(
endpoints
),
nil
return
endpoints
.
Labels
,
EndpointsToSelectableFields
(
endpoints
),
endpoints
.
Initializers
!=
nil
,
nil
}
}
// MatchEndpoints returns a generic matcher for a given label and field selector.
// MatchEndpoints returns a generic matcher for a given label and field selector.
...
...
pkg/registry/core/event/strategy.go
View file @
2568a921
...
@@ -73,12 +73,12 @@ func (eventStrategy) AllowUnconditionalUpdate() bool {
...
@@ -73,12 +73,12 @@ func (eventStrategy) AllowUnconditionalUpdate() bool {
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
event
,
ok
:=
obj
.
(
*
api
.
Event
)
event
,
ok
:=
obj
.
(
*
api
.
Event
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"not an event"
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"not an event"
)
}
}
return
labels
.
Set
(
event
.
Labels
),
EventToSelectableFields
(
event
),
nil
return
labels
.
Set
(
event
.
Labels
),
EventToSelectableFields
(
event
),
event
.
Initializers
!=
nil
,
nil
}
}
func
MatchEvent
(
label
labels
.
Selector
,
field
fields
.
Selector
)
storage
.
SelectionPredicate
{
func
MatchEvent
(
label
labels
.
Selector
,
field
fields
.
Selector
)
storage
.
SelectionPredicate
{
...
...
pkg/registry/core/limitrange/strategy.go
View file @
2568a921
...
@@ -88,12 +88,12 @@ func (limitrangeStrategy) Export(genericapirequest.Context, runtime.Object, bool
...
@@ -88,12 +88,12 @@ func (limitrangeStrategy) Export(genericapirequest.Context, runtime.Object, bool
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
lr
,
ok
:=
obj
.
(
*
api
.
LimitRange
)
lr
,
ok
:=
obj
.
(
*
api
.
LimitRange
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"given object is not a limit range."
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"given object is not a limit range."
)
}
}
return
labels
.
Set
(
lr
.
ObjectMeta
.
Labels
),
LimitRangeToSelectableFields
(
lr
),
nil
return
labels
.
Set
(
lr
.
ObjectMeta
.
Labels
),
LimitRangeToSelectableFields
(
lr
),
lr
.
Initializers
!=
nil
,
nil
}
}
func
MatchLimitRange
(
label
labels
.
Selector
,
field
fields
.
Selector
)
storage
.
SelectionPredicate
{
func
MatchLimitRange
(
label
labels
.
Selector
,
field
fields
.
Selector
)
storage
.
SelectionPredicate
{
...
...
pkg/registry/core/namespace/registry.go
View file @
2568a921
...
@@ -67,7 +67,7 @@ func (s *storage) GetNamespace(ctx genericapirequest.Context, namespaceName stri
...
@@ -67,7 +67,7 @@ func (s *storage) GetNamespace(ctx genericapirequest.Context, namespaceName stri
}
}
func
(
s
*
storage
)
CreateNamespace
(
ctx
genericapirequest
.
Context
,
namespace
*
api
.
Namespace
)
error
{
func
(
s
*
storage
)
CreateNamespace
(
ctx
genericapirequest
.
Context
,
namespace
*
api
.
Namespace
)
error
{
_
,
err
:=
s
.
Create
(
ctx
,
namespace
)
_
,
err
:=
s
.
Create
(
ctx
,
namespace
,
false
)
return
err
return
err
}
}
...
...
pkg/registry/core/namespace/storage/storage.go
View file @
2568a921
...
@@ -92,8 +92,8 @@ func (r *REST) List(ctx genericapirequest.Context, options *metainternalversion.
...
@@ -92,8 +92,8 @@ func (r *REST) List(ctx genericapirequest.Context, options *metainternalversion.
return
r
.
store
.
List
(
ctx
,
options
)
return
r
.
store
.
List
(
ctx
,
options
)
}
}
func
(
r
*
REST
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
func
(
r
*
REST
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
,
includeUninitialized
bool
)
(
runtime
.
Object
,
error
)
{
return
r
.
store
.
Create
(
ctx
,
obj
)
return
r
.
store
.
Create
(
ctx
,
obj
,
includeUninitialized
)
}
}
func
(
r
*
REST
)
Update
(
ctx
genericapirequest
.
Context
,
name
string
,
objInfo
rest
.
UpdatedObjectInfo
)
(
runtime
.
Object
,
bool
,
error
)
{
func
(
r
*
REST
)
Update
(
ctx
genericapirequest
.
Context
,
name
string
,
objInfo
rest
.
UpdatedObjectInfo
)
(
runtime
.
Object
,
bool
,
error
)
{
...
...
pkg/registry/core/namespace/storage/storage_test.go
View file @
2568a921
...
@@ -67,7 +67,7 @@ func TestCreateSetsFields(t *testing.T) {
...
@@ -67,7 +67,7 @@ func TestCreateSetsFields(t *testing.T) {
defer
storage
.
store
.
DestroyFunc
()
defer
storage
.
store
.
DestroyFunc
()
namespace
:=
validNewNamespace
()
namespace
:=
validNewNamespace
()
ctx
:=
genericapirequest
.
NewContext
()
ctx
:=
genericapirequest
.
NewContext
()
_
,
err
:=
storage
.
Create
(
ctx
,
namespace
)
_
,
err
:=
storage
.
Create
(
ctx
,
namespace
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
}
}
...
...
pkg/registry/core/namespace/strategy.go
View file @
2568a921
...
@@ -138,12 +138,12 @@ func (namespaceFinalizeStrategy) PrepareForUpdate(ctx genericapirequest.Context,
...
@@ -138,12 +138,12 @@ func (namespaceFinalizeStrategy) PrepareForUpdate(ctx genericapirequest.Context,
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
namespaceObj
,
ok
:=
obj
.
(
*
api
.
Namespace
)
namespaceObj
,
ok
:=
obj
.
(
*
api
.
Namespace
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"not a namespace"
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"not a namespace"
)
}
}
return
labels
.
Set
(
namespaceObj
.
Labels
),
NamespaceToSelectableFields
(
namespaceObj
),
nil
return
labels
.
Set
(
namespaceObj
.
Labels
),
NamespaceToSelectableFields
(
namespaceObj
),
n
amespaceObj
.
Initializers
!=
nil
,
n
il
}
}
// MatchNamespace returns a generic matcher for a given label and field selector.
// MatchNamespace returns a generic matcher for a given label and field selector.
...
...
pkg/registry/core/node/registry.go
View file @
2568a921
...
@@ -56,7 +56,7 @@ func (s *storage) ListNodes(ctx genericapirequest.Context, options *metainternal
...
@@ -56,7 +56,7 @@ func (s *storage) ListNodes(ctx genericapirequest.Context, options *metainternal
}
}
func
(
s
*
storage
)
CreateNode
(
ctx
genericapirequest
.
Context
,
node
*
api
.
Node
)
error
{
func
(
s
*
storage
)
CreateNode
(
ctx
genericapirequest
.
Context
,
node
*
api
.
Node
)
error
{
_
,
err
:=
s
.
Create
(
ctx
,
node
)
_
,
err
:=
s
.
Create
(
ctx
,
node
,
false
)
return
err
return
err
}
}
...
...
pkg/registry/core/node/strategy.go
View file @
2568a921
...
@@ -148,12 +148,12 @@ func NodeToSelectableFields(node *api.Node) fields.Set {
...
@@ -148,12 +148,12 @@ func NodeToSelectableFields(node *api.Node) fields.Set {
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
nodeObj
,
ok
:=
obj
.
(
*
api
.
Node
)
nodeObj
,
ok
:=
obj
.
(
*
api
.
Node
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"not a node"
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"not a node"
)
}
}
return
labels
.
Set
(
nodeObj
.
ObjectMeta
.
Labels
),
NodeToSelectableFields
(
nodeObj
),
nil
return
labels
.
Set
(
nodeObj
.
ObjectMeta
.
Labels
),
NodeToSelectableFields
(
nodeObj
),
n
odeObj
.
Initializers
!=
nil
,
n
il
}
}
// MatchNode returns a generic matcher for a given label and field selector.
// MatchNode returns a generic matcher for a given label and field selector.
...
...
pkg/registry/core/persistentvolume/strategy.go
View file @
2568a921
...
@@ -102,12 +102,12 @@ func (persistentvolumeStatusStrategy) ValidateUpdate(ctx genericapirequest.Conte
...
@@ -102,12 +102,12 @@ func (persistentvolumeStatusStrategy) ValidateUpdate(ctx genericapirequest.Conte
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
persistentvolumeObj
,
ok
:=
obj
.
(
*
api
.
PersistentVolume
)
persistentvolumeObj
,
ok
:=
obj
.
(
*
api
.
PersistentVolume
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"not a persistentvolume"
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"not a persistentvolume"
)
}
}
return
labels
.
Set
(
persistentvolumeObj
.
Labels
),
PersistentVolumeToSelectableFields
(
persistentvolumeObj
),
nil
return
labels
.
Set
(
persistentvolumeObj
.
Labels
),
PersistentVolumeToSelectableFields
(
persistentvolumeObj
),
persistentvolumeObj
.
Initializers
!=
nil
,
nil
}
}
// MatchPersistentVolume returns a generic matcher for a given label and field selector.
// MatchPersistentVolume returns a generic matcher for a given label and field selector.
...
...
pkg/registry/core/persistentvolumeclaim/strategy.go
View file @
2568a921
...
@@ -98,12 +98,12 @@ func (persistentvolumeclaimStatusStrategy) ValidateUpdate(ctx genericapirequest.
...
@@ -98,12 +98,12 @@ func (persistentvolumeclaimStatusStrategy) ValidateUpdate(ctx genericapirequest.
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
persistentvolumeclaimObj
,
ok
:=
obj
.
(
*
api
.
PersistentVolumeClaim
)
persistentvolumeclaimObj
,
ok
:=
obj
.
(
*
api
.
PersistentVolumeClaim
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"not a persistentvolumeclaim"
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"not a persistentvolumeclaim"
)
}
}
return
labels
.
Set
(
persistentvolumeclaimObj
.
Labels
),
PersistentVolumeClaimToSelectableFields
(
persistentvolumeclaimObj
),
nil
return
labels
.
Set
(
persistentvolumeclaimObj
.
Labels
),
PersistentVolumeClaimToSelectableFields
(
persistentvolumeclaimObj
),
persistentvolumeclaimObj
.
Initializers
!=
nil
,
nil
}
}
// MatchPersistentVolumeClaim returns a generic matcher for a given label and field selector.
// MatchPersistentVolumeClaim returns a generic matcher for a given label and field selector.
...
...
pkg/registry/core/pod/storage/eviction.go
View file @
2568a921
...
@@ -71,7 +71,7 @@ func (r *EvictionREST) New() runtime.Object {
...
@@ -71,7 +71,7 @@ func (r *EvictionREST) New() runtime.Object {
}
}
// Create attempts to create a new eviction. That is, it tries to evict a pod.
// Create attempts to create a new eviction. That is, it tries to evict a pod.
func
(
r
*
EvictionREST
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
func
(
r
*
EvictionREST
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
,
includeUninitialized
bool
)
(
runtime
.
Object
,
error
)
{
eviction
:=
obj
.
(
*
policy
.
Eviction
)
eviction
:=
obj
.
(
*
policy
.
Eviction
)
obj
,
err
:=
r
.
store
.
Get
(
ctx
,
eviction
.
Name
,
&
metav1
.
GetOptions
{})
obj
,
err
:=
r
.
store
.
Get
(
ctx
,
eviction
.
Name
,
&
metav1
.
GetOptions
{})
...
@@ -145,11 +145,6 @@ func (r *EvictionREST) Create(ctx genericapirequest.Context, obj runtime.Object)
...
@@ -145,11 +145,6 @@ func (r *EvictionREST) Create(ctx genericapirequest.Context, obj runtime.Object)
return
&
metav1
.
Status
{
Status
:
metav1
.
StatusSuccess
},
nil
return
&
metav1
.
Status
{
Status
:
metav1
.
StatusSuccess
},
nil
}
}
// CreateInitialized will ensure the pod is evicted.
func
(
r
*
EvictionREST
)
CreateInitialized
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
return
r
.
Create
(
ctx
,
obj
)
}
// checkAndDecrement checks if the provided PodDisruptionBudget allows any disruption.
// checkAndDecrement checks if the provided PodDisruptionBudget allows any disruption.
func
(
r
*
EvictionREST
)
checkAndDecrement
(
namespace
string
,
podName
string
,
pdb
policy
.
PodDisruptionBudget
)
(
ok
bool
,
err
error
)
{
func
(
r
*
EvictionREST
)
checkAndDecrement
(
namespace
string
,
podName
string
,
pdb
policy
.
PodDisruptionBudget
)
(
ok
bool
,
err
error
)
{
if
pdb
.
Status
.
ObservedGeneration
<
pdb
.
Generation
{
if
pdb
.
Status
.
ObservedGeneration
<
pdb
.
Generation
{
...
...
pkg/registry/core/pod/storage/storage.go
View file @
2568a921
...
@@ -130,7 +130,7 @@ func (r *BindingREST) New() runtime.Object {
...
@@ -130,7 +130,7 @@ func (r *BindingREST) New() runtime.Object {
var
_
=
rest
.
Creater
(
&
BindingREST
{})
var
_
=
rest
.
Creater
(
&
BindingREST
{})
// Create ensures a pod is bound to a specific host.
// Create ensures a pod is bound to a specific host.
func
(
r
*
BindingREST
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
out
runtime
.
Object
,
err
error
)
{
func
(
r
*
BindingREST
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
,
includeUninitialized
bool
)
(
out
runtime
.
Object
,
err
error
)
{
binding
:=
obj
.
(
*
api
.
Binding
)
binding
:=
obj
.
(
*
api
.
Binding
)
// TODO: move me to a binding strategy
// TODO: move me to a binding strategy
...
@@ -143,11 +143,6 @@ func (r *BindingREST) Create(ctx genericapirequest.Context, obj runtime.Object)
...
@@ -143,11 +143,6 @@ func (r *BindingREST) Create(ctx genericapirequest.Context, obj runtime.Object)
return
return
}
}
// CreateInitialized will ensure the pod is bound.
func
(
r
*
BindingREST
)
CreateInitialized
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
return
r
.
Create
(
ctx
,
obj
)
}
// setPodHostAndAnnotations sets the given pod's host to 'machine' if and only if it was
// setPodHostAndAnnotations sets the given pod's host to 'machine' if and only if it was
// previously 'oldMachine' and merges the provided annotations with those of the pod.
// previously 'oldMachine' and merges the provided annotations with those of the pod.
// Returns the current state of the pod, or an error.
// Returns the current state of the pod, or an error.
...
...
pkg/registry/core/pod/storage/storage_test.go
View file @
2568a921
...
@@ -185,7 +185,7 @@ func TestIgnoreDeleteNotFound(t *testing.T) {
...
@@ -185,7 +185,7 @@ func TestIgnoreDeleteNotFound(t *testing.T) {
}
}
// create pod
// create pod
_
,
err
=
registry
.
Create
(
testContext
,
pod
)
_
,
err
=
registry
.
Create
(
testContext
,
pod
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"Unexpected error: %v"
,
err
)
t
.
Errorf
(
"Unexpected error: %v"
,
err
)
}
}
...
@@ -222,7 +222,7 @@ func TestCreateSetsFields(t *testing.T) {
...
@@ -222,7 +222,7 @@ func TestCreateSetsFields(t *testing.T) {
defer
server
.
Terminate
(
t
)
defer
server
.
Terminate
(
t
)
defer
storage
.
Store
.
DestroyFunc
()
defer
storage
.
Store
.
DestroyFunc
()
pod
:=
validNewPod
()
pod
:=
validNewPod
()
_
,
err
:=
storage
.
Create
(
genericapirequest
.
NewDefaultContext
(),
pod
)
_
,
err
:=
storage
.
Create
(
genericapirequest
.
NewDefaultContext
(),
pod
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -486,7 +486,7 @@ func TestEtcdCreate(t *testing.T) {
...
@@ -486,7 +486,7 @@ func TestEtcdCreate(t *testing.T) {
defer
server
.
Terminate
(
t
)
defer
server
.
Terminate
(
t
)
defer
storage
.
Store
.
DestroyFunc
()
defer
storage
.
Store
.
DestroyFunc
()
ctx
:=
genericapirequest
.
NewDefaultContext
()
ctx
:=
genericapirequest
.
NewDefaultContext
()
_
,
err
:=
storage
.
Create
(
ctx
,
validNewPod
())
_
,
err
:=
storage
.
Create
(
ctx
,
validNewPod
()
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -495,7 +495,7 @@ func TestEtcdCreate(t *testing.T) {
...
@@ -495,7 +495,7 @@ func TestEtcdCreate(t *testing.T) {
_
,
err
=
bindingStorage
.
Create
(
ctx
,
&
api
.
Binding
{
_
,
err
=
bindingStorage
.
Create
(
ctx
,
&
api
.
Binding
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Namespace
:
metav1
.
NamespaceDefault
,
Name
:
"foo"
},
ObjectMeta
:
metav1
.
ObjectMeta
{
Namespace
:
metav1
.
NamespaceDefault
,
Name
:
"foo"
},
Target
:
api
.
ObjectReference
{
Name
:
"machine"
},
Target
:
api
.
ObjectReference
{
Name
:
"machine"
},
})
}
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -521,7 +521,7 @@ func TestEtcdCreateBindingNoPod(t *testing.T) {
...
@@ -521,7 +521,7 @@ func TestEtcdCreateBindingNoPod(t *testing.T) {
_
,
err
:=
bindingStorage
.
Create
(
ctx
,
&
api
.
Binding
{
_
,
err
:=
bindingStorage
.
Create
(
ctx
,
&
api
.
Binding
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Namespace
:
metav1
.
NamespaceDefault
,
Name
:
"foo"
},
ObjectMeta
:
metav1
.
ObjectMeta
{
Namespace
:
metav1
.
NamespaceDefault
,
Name
:
"foo"
},
Target
:
api
.
ObjectReference
{
Name
:
"machine"
},
Target
:
api
.
ObjectReference
{
Name
:
"machine"
},
})
}
,
false
)
if
err
==
nil
{
if
err
==
nil
{
t
.
Fatalf
(
"Expected not-found-error but got nothing"
)
t
.
Fatalf
(
"Expected not-found-error but got nothing"
)
}
}
...
@@ -544,7 +544,7 @@ func TestEtcdCreateFailsWithoutNamespace(t *testing.T) {
...
@@ -544,7 +544,7 @@ func TestEtcdCreateFailsWithoutNamespace(t *testing.T) {
defer
storage
.
Store
.
DestroyFunc
()
defer
storage
.
Store
.
DestroyFunc
()
pod
:=
validNewPod
()
pod
:=
validNewPod
()
pod
.
Namespace
=
""
pod
.
Namespace
=
""
_
,
err
:=
storage
.
Create
(
genericapirequest
.
NewContext
(),
pod
)
_
,
err
:=
storage
.
Create
(
genericapirequest
.
NewContext
(),
pod
,
false
)
// Accept "namespace" or "Namespace".
// Accept "namespace" or "Namespace".
if
err
==
nil
||
!
strings
.
Contains
(
err
.
Error
(),
"amespace"
)
{
if
err
==
nil
||
!
strings
.
Contains
(
err
.
Error
(),
"amespace"
)
{
t
.
Fatalf
(
"expected error that namespace was missing from context, got: %v"
,
err
)
t
.
Fatalf
(
"expected error that namespace was missing from context, got: %v"
,
err
)
...
@@ -556,7 +556,7 @@ func TestEtcdCreateWithContainersNotFound(t *testing.T) {
...
@@ -556,7 +556,7 @@ func TestEtcdCreateWithContainersNotFound(t *testing.T) {
defer
server
.
Terminate
(
t
)
defer
server
.
Terminate
(
t
)
defer
storage
.
Store
.
DestroyFunc
()
defer
storage
.
Store
.
DestroyFunc
()
ctx
:=
genericapirequest
.
NewDefaultContext
()
ctx
:=
genericapirequest
.
NewDefaultContext
()
_
,
err
:=
storage
.
Create
(
ctx
,
validNewPod
())
_
,
err
:=
storage
.
Create
(
ctx
,
validNewPod
()
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -569,7 +569,7 @@ func TestEtcdCreateWithContainersNotFound(t *testing.T) {
...
@@ -569,7 +569,7 @@ func TestEtcdCreateWithContainersNotFound(t *testing.T) {
Annotations
:
map
[
string
]
string
{
"label1"
:
"value1"
},
Annotations
:
map
[
string
]
string
{
"label1"
:
"value1"
},
},
},
Target
:
api
.
ObjectReference
{
Name
:
"machine"
},
Target
:
api
.
ObjectReference
{
Name
:
"machine"
},
})
}
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -591,7 +591,7 @@ func TestEtcdCreateWithConflict(t *testing.T) {
...
@@ -591,7 +591,7 @@ func TestEtcdCreateWithConflict(t *testing.T) {
defer
storage
.
Store
.
DestroyFunc
()
defer
storage
.
Store
.
DestroyFunc
()
ctx
:=
genericapirequest
.
NewDefaultContext
()
ctx
:=
genericapirequest
.
NewDefaultContext
()
_
,
err
:=
storage
.
Create
(
ctx
,
validNewPod
())
_
,
err
:=
storage
.
Create
(
ctx
,
validNewPod
()
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -605,12 +605,12 @@ func TestEtcdCreateWithConflict(t *testing.T) {
...
@@ -605,12 +605,12 @@ func TestEtcdCreateWithConflict(t *testing.T) {
},
},
Target
:
api
.
ObjectReference
{
Name
:
"machine"
},
Target
:
api
.
ObjectReference
{
Name
:
"machine"
},
}
}
_
,
err
=
bindingStorage
.
Create
(
ctx
,
&
binding
)
_
,
err
=
bindingStorage
.
Create
(
ctx
,
&
binding
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
}
}
_
,
err
=
bindingStorage
.
Create
(
ctx
,
&
binding
)
_
,
err
=
bindingStorage
.
Create
(
ctx
,
&
binding
,
false
)
if
err
==
nil
||
!
errors
.
IsConflict
(
err
)
{
if
err
==
nil
||
!
errors
.
IsConflict
(
err
)
{
t
.
Fatalf
(
"expected resource conflict error, not: %v"
,
err
)
t
.
Fatalf
(
"expected resource conflict error, not: %v"
,
err
)
}
}
...
@@ -621,7 +621,7 @@ func TestEtcdCreateWithExistingContainers(t *testing.T) {
...
@@ -621,7 +621,7 @@ func TestEtcdCreateWithExistingContainers(t *testing.T) {
defer
server
.
Terminate
(
t
)
defer
server
.
Terminate
(
t
)
defer
storage
.
Store
.
DestroyFunc
()
defer
storage
.
Store
.
DestroyFunc
()
ctx
:=
genericapirequest
.
NewDefaultContext
()
ctx
:=
genericapirequest
.
NewDefaultContext
()
_
,
err
:=
storage
.
Create
(
ctx
,
validNewPod
())
_
,
err
:=
storage
.
Create
(
ctx
,
validNewPod
()
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -630,7 +630,7 @@ func TestEtcdCreateWithExistingContainers(t *testing.T) {
...
@@ -630,7 +630,7 @@ func TestEtcdCreateWithExistingContainers(t *testing.T) {
_
,
err
=
bindingStorage
.
Create
(
ctx
,
&
api
.
Binding
{
_
,
err
=
bindingStorage
.
Create
(
ctx
,
&
api
.
Binding
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Namespace
:
metav1
.
NamespaceDefault
,
Name
:
"foo"
},
ObjectMeta
:
metav1
.
ObjectMeta
{
Namespace
:
metav1
.
NamespaceDefault
,
Name
:
"foo"
},
Target
:
api
.
ObjectReference
{
Name
:
"machine"
},
Target
:
api
.
ObjectReference
{
Name
:
"machine"
},
})
}
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -680,10 +680,10 @@ func TestEtcdCreateBinding(t *testing.T) {
...
@@ -680,10 +680,10 @@ func TestEtcdCreateBinding(t *testing.T) {
for
k
,
test
:=
range
testCases
{
for
k
,
test
:=
range
testCases
{
storage
,
bindingStorage
,
_
,
server
:=
newStorage
(
t
)
storage
,
bindingStorage
,
_
,
server
:=
newStorage
(
t
)
if
_
,
err
:=
storage
.
Create
(
ctx
,
validNewPod
());
err
!=
nil
{
if
_
,
err
:=
storage
.
Create
(
ctx
,
validNewPod
()
,
false
);
err
!=
nil
{
t
.
Fatalf
(
"%s: unexpected error: %v"
,
k
,
err
)
t
.
Fatalf
(
"%s: unexpected error: %v"
,
k
,
err
)
}
}
if
_
,
err
:=
bindingStorage
.
Create
(
ctx
,
&
test
.
binding
);
!
test
.
errOK
(
err
)
{
if
_
,
err
:=
bindingStorage
.
Create
(
ctx
,
&
test
.
binding
,
false
);
!
test
.
errOK
(
err
)
{
t
.
Errorf
(
"%s: unexpected error: %v"
,
k
,
err
)
t
.
Errorf
(
"%s: unexpected error: %v"
,
k
,
err
)
}
else
if
err
==
nil
{
}
else
if
err
==
nil
{
// If bind succeeded, verify Host field in pod's Spec.
// If bind succeeded, verify Host field in pod's Spec.
...
@@ -705,7 +705,7 @@ func TestEtcdUpdateNotScheduled(t *testing.T) {
...
@@ -705,7 +705,7 @@ func TestEtcdUpdateNotScheduled(t *testing.T) {
defer
storage
.
Store
.
DestroyFunc
()
defer
storage
.
Store
.
DestroyFunc
()
ctx
:=
genericapirequest
.
NewDefaultContext
()
ctx
:=
genericapirequest
.
NewDefaultContext
()
if
_
,
err
:=
storage
.
Create
(
ctx
,
validNewPod
());
err
!=
nil
{
if
_
,
err
:=
storage
.
Create
(
ctx
,
validNewPod
()
,
false
);
err
!=
nil
{
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
}
}
...
...
pkg/registry/core/pod/strategy.go
View file @
2568a921
...
@@ -165,12 +165,12 @@ func (podStatusStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, old
...
@@ -165,12 +165,12 @@ func (podStatusStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, old
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
pod
,
ok
:=
obj
.
(
*
api
.
Pod
)
pod
,
ok
:=
obj
.
(
*
api
.
Pod
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"not a pod"
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"not a pod"
)
}
}
return
labels
.
Set
(
pod
.
ObjectMeta
.
Labels
),
PodToSelectableFields
(
pod
),
nil
return
labels
.
Set
(
pod
.
ObjectMeta
.
Labels
),
PodToSelectableFields
(
pod
),
pod
.
Initializers
!=
nil
,
nil
}
}
// MatchPod returns a generic matcher for a given label and field selector.
// MatchPod returns a generic matcher for a given label and field selector.
...
...
pkg/registry/core/podtemplate/strategy.go
View file @
2568a921
...
@@ -89,12 +89,12 @@ func PodTemplateToSelectableFields(podTemplate *api.PodTemplate) fields.Set {
...
@@ -89,12 +89,12 @@ func PodTemplateToSelectableFields(podTemplate *api.PodTemplate) fields.Set {
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
pt
,
ok
:=
obj
.
(
*
api
.
PodTemplate
)
pt
,
ok
:=
obj
.
(
*
api
.
PodTemplate
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"given object is not a pod template."
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"given object is not a pod template."
)
}
}
return
labels
.
Set
(
pt
.
ObjectMeta
.
Labels
),
PodTemplateToSelectableFields
(
pt
),
nil
return
labels
.
Set
(
pt
.
ObjectMeta
.
Labels
),
PodTemplateToSelectableFields
(
pt
),
pt
.
Initializers
!=
nil
,
nil
}
}
func
MatchPodTemplate
(
label
labels
.
Selector
,
field
fields
.
Selector
)
storage
.
SelectionPredicate
{
func
MatchPodTemplate
(
label
labels
.
Selector
,
field
fields
.
Selector
)
storage
.
SelectionPredicate
{
...
...
pkg/registry/core/replicationcontroller/registry.go
View file @
2568a921
...
@@ -74,7 +74,7 @@ func (s *storage) GetController(ctx genericapirequest.Context, controllerID stri
...
@@ -74,7 +74,7 @@ func (s *storage) GetController(ctx genericapirequest.Context, controllerID stri
}
}
func
(
s
*
storage
)
CreateController
(
ctx
genericapirequest
.
Context
,
controller
*
api
.
ReplicationController
)
(
*
api
.
ReplicationController
,
error
)
{
func
(
s
*
storage
)
CreateController
(
ctx
genericapirequest
.
Context
,
controller
*
api
.
ReplicationController
)
(
*
api
.
ReplicationController
,
error
)
{
obj
,
err
:=
s
.
Create
(
ctx
,
controller
)
obj
,
err
:=
s
.
Create
(
ctx
,
controller
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
...
pkg/registry/core/replicationcontroller/storage/storage_test.go
View file @
2568a921
...
@@ -55,7 +55,7 @@ func newStorage(t *testing.T) (ControllerStorage, *etcdtesting.EtcdTestServer) {
...
@@ -55,7 +55,7 @@ func newStorage(t *testing.T) (ControllerStorage, *etcdtesting.EtcdTestServer) {
// createController is a helper function that returns a controller with the updated resource version.
// createController is a helper function that returns a controller with the updated resource version.
func
createController
(
storage
*
REST
,
rc
api
.
ReplicationController
,
t
*
testing
.
T
)
(
api
.
ReplicationController
,
error
)
{
func
createController
(
storage
*
REST
,
rc
api
.
ReplicationController
,
t
*
testing
.
T
)
(
api
.
ReplicationController
,
error
)
{
ctx
:=
genericapirequest
.
WithNamespace
(
genericapirequest
.
NewContext
(),
rc
.
Namespace
)
ctx
:=
genericapirequest
.
WithNamespace
(
genericapirequest
.
NewContext
(),
rc
.
Namespace
)
obj
,
err
:=
storage
.
Create
(
ctx
,
&
rc
)
obj
,
err
:=
storage
.
Create
(
ctx
,
&
rc
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"Failed to create controller, %v"
,
err
)
t
.
Errorf
(
"Failed to create controller, %v"
,
err
)
}
}
...
...
pkg/registry/core/replicationcontroller/strategy.go
View file @
2568a921
...
@@ -145,12 +145,12 @@ func ControllerToSelectableFields(controller *api.ReplicationController) fields.
...
@@ -145,12 +145,12 @@ func ControllerToSelectableFields(controller *api.ReplicationController) fields.
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
rc
,
ok
:=
obj
.
(
*
api
.
ReplicationController
)
rc
,
ok
:=
obj
.
(
*
api
.
ReplicationController
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
f
mt
.
Errorf
(
"G
iven object is not a replication controller."
)
return
nil
,
nil
,
f
alse
,
fmt
.
Errorf
(
"g
iven object is not a replication controller."
)
}
}
return
labels
.
Set
(
rc
.
ObjectMeta
.
Labels
),
ControllerToSelectableFields
(
rc
),
nil
return
labels
.
Set
(
rc
.
ObjectMeta
.
Labels
),
ControllerToSelectableFields
(
rc
),
rc
.
Initializers
!=
nil
,
nil
}
}
// MatchController is the filter used by the generic etcd backend to route
// MatchController is the filter used by the generic etcd backend to route
...
...
pkg/registry/core/resourcequota/storage/storage_test.go
View file @
2568a921
...
@@ -87,7 +87,7 @@ func TestCreateSetsFields(t *testing.T) {
...
@@ -87,7 +87,7 @@ func TestCreateSetsFields(t *testing.T) {
defer
storage
.
Store
.
DestroyFunc
()
defer
storage
.
Store
.
DestroyFunc
()
ctx
:=
genericapirequest
.
NewDefaultContext
()
ctx
:=
genericapirequest
.
NewDefaultContext
()
resourcequota
:=
validNewResourceQuota
()
resourcequota
:=
validNewResourceQuota
()
_
,
err
:=
storage
.
Create
(
genericapirequest
.
NewDefaultContext
(),
resourcequota
)
_
,
err
:=
storage
.
Create
(
genericapirequest
.
NewDefaultContext
(),
resourcequota
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
}
}
...
...
pkg/registry/core/resourcequota/strategy.go
View file @
2568a921
...
@@ -101,12 +101,12 @@ func (resourcequotaStatusStrategy) ValidateUpdate(ctx genericapirequest.Context,
...
@@ -101,12 +101,12 @@ func (resourcequotaStatusStrategy) ValidateUpdate(ctx genericapirequest.Context,
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
resourcequotaObj
,
ok
:=
obj
.
(
*
api
.
ResourceQuota
)
resourcequotaObj
,
ok
:=
obj
.
(
*
api
.
ResourceQuota
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"not a resourcequota"
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"not a resourcequota"
)
}
}
return
labels
.
Set
(
resourcequotaObj
.
Labels
),
ResourceQuotaToSelectableFields
(
resourcequotaObj
),
nil
return
labels
.
Set
(
resourcequotaObj
.
Labels
),
ResourceQuotaToSelectableFields
(
resourcequotaObj
),
resourcequotaObj
.
Initializers
!=
nil
,
nil
}
}
// MatchResourceQuota returns a generic matcher for a given label and field selector.
// MatchResourceQuota returns a generic matcher for a given label and field selector.
...
...
pkg/registry/core/secret/registry.go
View file @
2568a921
...
@@ -67,7 +67,7 @@ func (s *storage) GetSecret(ctx genericapirequest.Context, name string, options
...
@@ -67,7 +67,7 @@ func (s *storage) GetSecret(ctx genericapirequest.Context, name string, options
}
}
func
(
s
*
storage
)
CreateSecret
(
ctx
genericapirequest
.
Context
,
secret
*
api
.
Secret
)
(
*
api
.
Secret
,
error
)
{
func
(
s
*
storage
)
CreateSecret
(
ctx
genericapirequest
.
Context
,
secret
*
api
.
Secret
)
(
*
api
.
Secret
,
error
)
{
obj
,
err
:=
s
.
Create
(
ctx
,
secret
)
obj
,
err
:=
s
.
Create
(
ctx
,
secret
,
false
)
return
obj
.
(
*
api
.
Secret
),
err
return
obj
.
(
*
api
.
Secret
),
err
}
}
...
...
pkg/registry/core/secret/strategy.go
View file @
2568a921
...
@@ -97,12 +97,12 @@ func (s strategy) Export(ctx genericapirequest.Context, obj runtime.Object, exac
...
@@ -97,12 +97,12 @@ func (s strategy) Export(ctx genericapirequest.Context, obj runtime.Object, exac
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
secret
,
ok
:=
obj
.
(
*
api
.
Secret
)
secret
,
ok
:=
obj
.
(
*
api
.
Secret
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"not a secret"
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"not a secret"
)
}
}
return
labels
.
Set
(
secret
.
Labels
),
SelectableFields
(
secret
),
nil
return
labels
.
Set
(
secret
.
Labels
),
SelectableFields
(
secret
),
secret
.
Initializers
!=
nil
,
nil
}
}
// Matcher returns a generic matcher for a given label and field selector.
// Matcher returns a generic matcher for a given label and field selector.
...
...
pkg/registry/core/service/registry.go
View file @
2568a921
...
@@ -58,7 +58,7 @@ func (s *storage) ListServices(ctx genericapirequest.Context, options *metainter
...
@@ -58,7 +58,7 @@ func (s *storage) ListServices(ctx genericapirequest.Context, options *metainter
}
}
func
(
s
*
storage
)
CreateService
(
ctx
genericapirequest
.
Context
,
svc
*
api
.
Service
)
(
*
api
.
Service
,
error
)
{
func
(
s
*
storage
)
CreateService
(
ctx
genericapirequest
.
Context
,
svc
*
api
.
Service
)
(
*
api
.
Service
,
error
)
{
obj
,
err
:=
s
.
Create
(
ctx
,
svc
)
obj
,
err
:=
s
.
Create
(
ctx
,
svc
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
...
pkg/registry/core/service/rest.go
View file @
2568a921
...
@@ -77,7 +77,8 @@ func NewStorage(registry Registry, endpoints endpoint.Registry, serviceIPs ipall
...
@@ -77,7 +77,8 @@ func NewStorage(registry Registry, endpoints endpoint.Registry, serviceIPs ipall
}
}
}
}
func
(
rs
*
REST
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
// TODO: implement includeUninitialized by refactoring this to move to store
func
(
rs
*
REST
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
,
includeUninitialized
bool
)
(
runtime
.
Object
,
error
)
{
service
:=
obj
.
(
*
api
.
Service
)
service
:=
obj
.
(
*
api
.
Service
)
if
err
:=
rest
.
BeforeCreate
(
Strategy
,
ctx
,
obj
);
err
!=
nil
{
if
err
:=
rest
.
BeforeCreate
(
Strategy
,
ctx
,
obj
);
err
!=
nil
{
...
@@ -192,11 +193,6 @@ func (rs *REST) Create(ctx genericapirequest.Context, obj runtime.Object) (runti
...
@@ -192,11 +193,6 @@ func (rs *REST) Create(ctx genericapirequest.Context, obj runtime.Object) (runti
return
out
,
err
return
out
,
err
}
}
// TODO: fix services to support initialization by using generic.Store
func
(
rs
*
REST
)
CreateInitialized
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
return
rs
.
Create
(
ctx
,
obj
)
}
func
(
rs
*
REST
)
Delete
(
ctx
genericapirequest
.
Context
,
id
string
)
(
runtime
.
Object
,
error
)
{
func
(
rs
*
REST
)
Delete
(
ctx
genericapirequest
.
Context
,
id
string
)
(
runtime
.
Object
,
error
)
{
service
,
err
:=
rs
.
registry
.
GetService
(
ctx
,
id
,
&
metav1
.
GetOptions
{})
service
,
err
:=
rs
.
registry
.
GetService
(
ctx
,
id
,
&
metav1
.
GetOptions
{})
if
err
!=
nil
{
if
err
!=
nil
{
...
...
pkg/registry/core/service/rest_test.go
View file @
2568a921
...
@@ -101,7 +101,7 @@ func TestServiceRegistryCreate(t *testing.T) {
...
@@ -101,7 +101,7 @@ func TestServiceRegistryCreate(t *testing.T) {
},
},
}
}
ctx
:=
genericapirequest
.
NewDefaultContext
()
ctx
:=
genericapirequest
.
NewDefaultContext
()
created_svc
,
err
:=
storage
.
Create
(
ctx
,
svc
)
created_svc
,
err
:=
storage
.
Create
(
ctx
,
svc
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatalf
(
"Unexpected error: %v"
,
err
)
t
.
Fatalf
(
"Unexpected error: %v"
,
err
)
}
}
...
@@ -225,7 +225,7 @@ func TestServiceRegistryCreateMultiNodePortsService(t *testing.T) {
...
@@ -225,7 +225,7 @@ func TestServiceRegistryCreateMultiNodePortsService(t *testing.T) {
ctx
:=
genericapirequest
.
NewDefaultContext
()
ctx
:=
genericapirequest
.
NewDefaultContext
()
for
_
,
test
:=
range
testCases
{
for
_
,
test
:=
range
testCases
{
created_svc
,
err
:=
storage
.
Create
(
ctx
,
test
.
svc
)
created_svc
,
err
:=
storage
.
Create
(
ctx
,
test
.
svc
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatalf
(
"Unexpected error: %v"
,
err
)
t
.
Fatalf
(
"Unexpected error: %v"
,
err
)
}
}
...
@@ -296,7 +296,7 @@ func TestServiceStorageValidatesCreate(t *testing.T) {
...
@@ -296,7 +296,7 @@ func TestServiceStorageValidatesCreate(t *testing.T) {
}
}
ctx
:=
genericapirequest
.
NewDefaultContext
()
ctx
:=
genericapirequest
.
NewDefaultContext
()
for
_
,
failureCase
:=
range
failureCases
{
for
_
,
failureCase
:=
range
failureCases
{
c
,
err
:=
storage
.
Create
(
ctx
,
&
failureCase
)
c
,
err
:=
storage
.
Create
(
ctx
,
&
failureCase
,
false
)
if
c
!=
nil
{
if
c
!=
nil
{
t
.
Errorf
(
"Expected nil object"
)
t
.
Errorf
(
"Expected nil object"
)
}
}
...
@@ -425,7 +425,7 @@ func TestServiceRegistryExternalService(t *testing.T) {
...
@@ -425,7 +425,7 @@ func TestServiceRegistryExternalService(t *testing.T) {
}},
}},
},
},
}
}
_
,
err
:=
storage
.
Create
(
ctx
,
svc
)
_
,
err
:=
storage
.
Create
(
ctx
,
svc
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"Failed to create service: %#v"
,
err
)
t
.
Errorf
(
"Failed to create service: %#v"
,
err
)
}
}
...
@@ -500,7 +500,7 @@ func TestServiceRegistryUpdateExternalService(t *testing.T) {
...
@@ -500,7 +500,7 @@ func TestServiceRegistryUpdateExternalService(t *testing.T) {
}},
}},
},
},
}
}
if
_
,
err
:=
storage
.
Create
(
ctx
,
svc1
);
err
!=
nil
{
if
_
,
err
:=
storage
.
Create
(
ctx
,
svc1
,
false
);
err
!=
nil
{
t
.
Fatalf
(
"Unexpected error: %v"
,
err
)
t
.
Fatalf
(
"Unexpected error: %v"
,
err
)
}
}
...
@@ -543,7 +543,7 @@ func TestServiceRegistryUpdateMultiPortExternalService(t *testing.T) {
...
@@ -543,7 +543,7 @@ func TestServiceRegistryUpdateMultiPortExternalService(t *testing.T) {
}},
}},
},
},
}
}
if
_
,
err
:=
storage
.
Create
(
ctx
,
svc1
);
err
!=
nil
{
if
_
,
err
:=
storage
.
Create
(
ctx
,
svc1
,
false
);
err
!=
nil
{
t
.
Fatalf
(
"Unexpected error: %v"
,
err
)
t
.
Fatalf
(
"Unexpected error: %v"
,
err
)
}
}
...
@@ -740,7 +740,7 @@ func TestServiceRegistryIPAllocation(t *testing.T) {
...
@@ -740,7 +740,7 @@ func TestServiceRegistryIPAllocation(t *testing.T) {
},
},
}
}
ctx
:=
genericapirequest
.
NewDefaultContext
()
ctx
:=
genericapirequest
.
NewDefaultContext
()
created_svc1
,
_
:=
storage
.
Create
(
ctx
,
svc1
)
created_svc1
,
_
:=
storage
.
Create
(
ctx
,
svc1
,
false
)
created_service_1
:=
created_svc1
.
(
*
api
.
Service
)
created_service_1
:=
created_svc1
.
(
*
api
.
Service
)
if
created_service_1
.
Name
!=
"foo"
{
if
created_service_1
.
Name
!=
"foo"
{
t
.
Errorf
(
"Expected foo, but got %v"
,
created_service_1
.
Name
)
t
.
Errorf
(
"Expected foo, but got %v"
,
created_service_1
.
Name
)
...
@@ -762,7 +762,7 @@ func TestServiceRegistryIPAllocation(t *testing.T) {
...
@@ -762,7 +762,7 @@ func TestServiceRegistryIPAllocation(t *testing.T) {
}},
}},
}}
}}
ctx
=
genericapirequest
.
NewDefaultContext
()
ctx
=
genericapirequest
.
NewDefaultContext
()
created_svc2
,
_
:=
storage
.
Create
(
ctx
,
svc2
)
created_svc2
,
_
:=
storage
.
Create
(
ctx
,
svc2
,
false
)
created_service_2
:=
created_svc2
.
(
*
api
.
Service
)
created_service_2
:=
created_svc2
.
(
*
api
.
Service
)
if
created_service_2
.
Name
!=
"bar"
{
if
created_service_2
.
Name
!=
"bar"
{
t
.
Errorf
(
"Expected bar, but got %v"
,
created_service_2
.
Name
)
t
.
Errorf
(
"Expected bar, but got %v"
,
created_service_2
.
Name
)
...
@@ -795,7 +795,7 @@ func TestServiceRegistryIPAllocation(t *testing.T) {
...
@@ -795,7 +795,7 @@ func TestServiceRegistryIPAllocation(t *testing.T) {
},
},
}
}
ctx
=
genericapirequest
.
NewDefaultContext
()
ctx
=
genericapirequest
.
NewDefaultContext
()
created_svc3
,
err
:=
storage
.
Create
(
ctx
,
svc3
)
created_svc3
,
err
:=
storage
.
Create
(
ctx
,
svc3
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatal
(
err
)
t
.
Fatal
(
err
)
}
}
...
@@ -822,7 +822,7 @@ func TestServiceRegistryIPReallocation(t *testing.T) {
...
@@ -822,7 +822,7 @@ func TestServiceRegistryIPReallocation(t *testing.T) {
},
},
}
}
ctx
:=
genericapirequest
.
NewDefaultContext
()
ctx
:=
genericapirequest
.
NewDefaultContext
()
created_svc1
,
_
:=
storage
.
Create
(
ctx
,
svc1
)
created_svc1
,
_
:=
storage
.
Create
(
ctx
,
svc1
,
false
)
created_service_1
:=
created_svc1
.
(
*
api
.
Service
)
created_service_1
:=
created_svc1
.
(
*
api
.
Service
)
if
created_service_1
.
Name
!=
"foo"
{
if
created_service_1
.
Name
!=
"foo"
{
t
.
Errorf
(
"Expected foo, but got %v"
,
created_service_1
.
Name
)
t
.
Errorf
(
"Expected foo, but got %v"
,
created_service_1
.
Name
)
...
@@ -850,7 +850,7 @@ func TestServiceRegistryIPReallocation(t *testing.T) {
...
@@ -850,7 +850,7 @@ func TestServiceRegistryIPReallocation(t *testing.T) {
},
},
}
}
ctx
=
genericapirequest
.
NewDefaultContext
()
ctx
=
genericapirequest
.
NewDefaultContext
()
created_svc2
,
_
:=
storage
.
Create
(
ctx
,
svc2
)
created_svc2
,
_
:=
storage
.
Create
(
ctx
,
svc2
,
false
)
created_service_2
:=
created_svc2
.
(
*
api
.
Service
)
created_service_2
:=
created_svc2
.
(
*
api
.
Service
)
if
created_service_2
.
Name
!=
"bar"
{
if
created_service_2
.
Name
!=
"bar"
{
t
.
Errorf
(
"Expected bar, but got %v"
,
created_service_2
.
Name
)
t
.
Errorf
(
"Expected bar, but got %v"
,
created_service_2
.
Name
)
...
@@ -877,7 +877,7 @@ func TestServiceRegistryIPUpdate(t *testing.T) {
...
@@ -877,7 +877,7 @@ func TestServiceRegistryIPUpdate(t *testing.T) {
},
},
}
}
ctx
:=
genericapirequest
.
NewDefaultContext
()
ctx
:=
genericapirequest
.
NewDefaultContext
()
created_svc
,
_
:=
storage
.
Create
(
ctx
,
svc
)
created_svc
,
_
:=
storage
.
Create
(
ctx
,
svc
,
false
)
created_service
:=
created_svc
.
(
*
api
.
Service
)
created_service
:=
created_svc
.
(
*
api
.
Service
)
if
created_service
.
Spec
.
Ports
[
0
]
.
Port
!=
6502
{
if
created_service
.
Spec
.
Ports
[
0
]
.
Port
!=
6502
{
t
.
Errorf
(
"Expected port 6502, but got %v"
,
created_service
.
Spec
.
Ports
[
0
]
.
Port
)
t
.
Errorf
(
"Expected port 6502, but got %v"
,
created_service
.
Spec
.
Ports
[
0
]
.
Port
)
...
@@ -931,7 +931,7 @@ func TestServiceRegistryIPLoadBalancer(t *testing.T) {
...
@@ -931,7 +931,7 @@ func TestServiceRegistryIPLoadBalancer(t *testing.T) {
},
},
}
}
ctx
:=
genericapirequest
.
NewDefaultContext
()
ctx
:=
genericapirequest
.
NewDefaultContext
()
created_svc
,
_
:=
storage
.
Create
(
ctx
,
svc
)
created_svc
,
_
:=
storage
.
Create
(
ctx
,
svc
,
false
)
created_service
:=
created_svc
.
(
*
api
.
Service
)
created_service
:=
created_svc
.
(
*
api
.
Service
)
if
created_service
.
Spec
.
Ports
[
0
]
.
Port
!=
6502
{
if
created_service
.
Spec
.
Ports
[
0
]
.
Port
!=
6502
{
t
.
Errorf
(
"Expected port 6502, but got %v"
,
created_service
.
Spec
.
Ports
[
0
]
.
Port
)
t
.
Errorf
(
"Expected port 6502, but got %v"
,
created_service
.
Spec
.
Ports
[
0
]
.
Port
)
...
@@ -985,7 +985,7 @@ func TestServiceRegistryExternalTrafficHealthCheckNodePortAllocation(t *testing.
...
@@ -985,7 +985,7 @@ func TestServiceRegistryExternalTrafficHealthCheckNodePortAllocation(t *testing.
ExternalTrafficPolicy
:
api
.
ServiceExternalTrafficPolicyTypeLocal
,
ExternalTrafficPolicy
:
api
.
ServiceExternalTrafficPolicyTypeLocal
,
},
},
}
}
created_svc
,
err
:=
storage
.
Create
(
ctx
,
svc
)
created_svc
,
err
:=
storage
.
Create
(
ctx
,
svc
,
false
)
if
created_svc
==
nil
||
err
!=
nil
{
if
created_svc
==
nil
||
err
!=
nil
{
t
.
Errorf
(
"Unexpected failure creating service %v"
,
err
)
t
.
Errorf
(
"Unexpected failure creating service %v"
,
err
)
}
}
...
@@ -1023,7 +1023,7 @@ func TestServiceRegistryExternalTrafficHealthCheckNodePortAllocationBeta(t *test
...
@@ -1023,7 +1023,7 @@ func TestServiceRegistryExternalTrafficHealthCheckNodePortAllocationBeta(t *test
}},
}},
},
},
}
}
created_svc
,
err
:=
storage
.
Create
(
ctx
,
svc
)
created_svc
,
err
:=
storage
.
Create
(
ctx
,
svc
,
false
)
if
created_svc
==
nil
||
err
!=
nil
{
if
created_svc
==
nil
||
err
!=
nil
{
t
.
Errorf
(
"Unexpected failure creating service %v"
,
err
)
t
.
Errorf
(
"Unexpected failure creating service %v"
,
err
)
}
}
...
@@ -1059,7 +1059,7 @@ func TestServiceRegistryExternalTrafficHealthCheckNodePortUserAllocation(t *test
...
@@ -1059,7 +1059,7 @@ func TestServiceRegistryExternalTrafficHealthCheckNodePortUserAllocation(t *test
HealthCheckNodePort
:
randomNodePort
,
HealthCheckNodePort
:
randomNodePort
,
},
},
}
}
created_svc
,
err
:=
storage
.
Create
(
ctx
,
svc
)
created_svc
,
err
:=
storage
.
Create
(
ctx
,
svc
,
false
)
if
created_svc
==
nil
||
err
!=
nil
{
if
created_svc
==
nil
||
err
!=
nil
{
t
.
Fatalf
(
"Unexpected failure creating service :%v"
,
err
)
t
.
Fatalf
(
"Unexpected failure creating service :%v"
,
err
)
}
}
...
@@ -1101,7 +1101,7 @@ func TestServiceRegistryExternalTrafficHealthCheckNodePortUserAllocationBeta(t *
...
@@ -1101,7 +1101,7 @@ func TestServiceRegistryExternalTrafficHealthCheckNodePortUserAllocationBeta(t *
}},
}},
},
},
}
}
created_svc
,
err
:=
storage
.
Create
(
ctx
,
svc
)
created_svc
,
err
:=
storage
.
Create
(
ctx
,
svc
,
false
)
if
created_svc
==
nil
||
err
!=
nil
{
if
created_svc
==
nil
||
err
!=
nil
{
t
.
Fatalf
(
"Unexpected failure creating service :%v"
,
err
)
t
.
Fatalf
(
"Unexpected failure creating service :%v"
,
err
)
}
}
...
@@ -1137,7 +1137,7 @@ func TestServiceRegistryExternalTrafficHealthCheckNodePortNegative(t *testing.T)
...
@@ -1137,7 +1137,7 @@ func TestServiceRegistryExternalTrafficHealthCheckNodePortNegative(t *testing.T)
HealthCheckNodePort
:
int32
(
-
1
),
HealthCheckNodePort
:
int32
(
-
1
),
},
},
}
}
created_svc
,
err
:=
storage
.
Create
(
ctx
,
svc
)
created_svc
,
err
:=
storage
.
Create
(
ctx
,
svc
,
false
)
if
created_svc
==
nil
||
err
!=
nil
{
if
created_svc
==
nil
||
err
!=
nil
{
return
return
}
}
...
@@ -1167,7 +1167,7 @@ func TestServiceRegistryExternalTrafficHealthCheckNodePortNegativeBeta(t *testin
...
@@ -1167,7 +1167,7 @@ func TestServiceRegistryExternalTrafficHealthCheckNodePortNegativeBeta(t *testin
}},
}},
},
},
}
}
created_svc
,
err
:=
storage
.
Create
(
ctx
,
svc
)
created_svc
,
err
:=
storage
.
Create
(
ctx
,
svc
,
false
)
if
created_svc
==
nil
||
err
!=
nil
{
if
created_svc
==
nil
||
err
!=
nil
{
return
return
}
}
...
@@ -1192,7 +1192,7 @@ func TestServiceRegistryExternalTrafficGlobal(t *testing.T) {
...
@@ -1192,7 +1192,7 @@ func TestServiceRegistryExternalTrafficGlobal(t *testing.T) {
ExternalTrafficPolicy
:
api
.
ServiceExternalTrafficPolicyTypeGlobal
,
ExternalTrafficPolicy
:
api
.
ServiceExternalTrafficPolicyTypeGlobal
,
},
},
}
}
created_svc
,
err
:=
storage
.
Create
(
ctx
,
svc
)
created_svc
,
err
:=
storage
.
Create
(
ctx
,
svc
,
false
)
if
created_svc
==
nil
||
err
!=
nil
{
if
created_svc
==
nil
||
err
!=
nil
{
t
.
Errorf
(
"Unexpected failure creating service %v"
,
err
)
t
.
Errorf
(
"Unexpected failure creating service %v"
,
err
)
}
}
...
@@ -1229,7 +1229,7 @@ func TestServiceRegistryExternalTrafficGlobalBeta(t *testing.T) {
...
@@ -1229,7 +1229,7 @@ func TestServiceRegistryExternalTrafficGlobalBeta(t *testing.T) {
}},
}},
},
},
}
}
created_svc
,
err
:=
storage
.
Create
(
ctx
,
svc
)
created_svc
,
err
:=
storage
.
Create
(
ctx
,
svc
,
false
)
if
created_svc
==
nil
||
err
!=
nil
{
if
created_svc
==
nil
||
err
!=
nil
{
t
.
Errorf
(
"Unexpected failure creating service %v"
,
err
)
t
.
Errorf
(
"Unexpected failure creating service %v"
,
err
)
}
}
...
@@ -1265,7 +1265,7 @@ func TestServiceRegistryExternalTrafficAnnotationClusterIP(t *testing.T) {
...
@@ -1265,7 +1265,7 @@ func TestServiceRegistryExternalTrafficAnnotationClusterIP(t *testing.T) {
}},
}},
},
},
}
}
created_svc
,
err
:=
storage
.
Create
(
ctx
,
svc
)
created_svc
,
err
:=
storage
.
Create
(
ctx
,
svc
,
false
)
if
created_svc
==
nil
||
err
!=
nil
{
if
created_svc
==
nil
||
err
!=
nil
{
t
.
Errorf
(
"Unexpected failure creating service %v"
,
err
)
t
.
Errorf
(
"Unexpected failure creating service %v"
,
err
)
}
}
...
...
pkg/registry/core/service/strategy.go
View file @
2568a921
...
@@ -104,12 +104,12 @@ func (svcStrategy) Export(ctx genericapirequest.Context, obj runtime.Object, exa
...
@@ -104,12 +104,12 @@ func (svcStrategy) Export(ctx genericapirequest.Context, obj runtime.Object, exa
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
service
,
ok
:=
obj
.
(
*
api
.
Service
)
service
,
ok
:=
obj
.
(
*
api
.
Service
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
f
mt
.
Errorf
(
"G
iven object is not a service"
)
return
nil
,
nil
,
f
alse
,
fmt
.
Errorf
(
"g
iven object is not a service"
)
}
}
return
labels
.
Set
(
service
.
ObjectMeta
.
Labels
),
ServiceToSelectableFields
(
service
),
nil
return
labels
.
Set
(
service
.
ObjectMeta
.
Labels
),
ServiceToSelectableFields
(
service
),
service
.
Initializers
!=
nil
,
nil
}
}
func
MatchServices
(
label
labels
.
Selector
,
field
fields
.
Selector
)
apistorage
.
SelectionPredicate
{
func
MatchServices
(
label
labels
.
Selector
,
field
fields
.
Selector
)
apistorage
.
SelectionPredicate
{
...
...
pkg/registry/core/serviceaccount/registry.go
View file @
2568a921
...
@@ -67,7 +67,7 @@ func (s *storage) GetServiceAccount(ctx genericapirequest.Context, name string,
...
@@ -67,7 +67,7 @@ func (s *storage) GetServiceAccount(ctx genericapirequest.Context, name string,
}
}
func
(
s
*
storage
)
CreateServiceAccount
(
ctx
genericapirequest
.
Context
,
serviceAccount
*
api
.
ServiceAccount
)
error
{
func
(
s
*
storage
)
CreateServiceAccount
(
ctx
genericapirequest
.
Context
,
serviceAccount
*
api
.
ServiceAccount
)
error
{
_
,
err
:=
s
.
Create
(
ctx
,
serviceAccount
)
_
,
err
:=
s
.
Create
(
ctx
,
serviceAccount
,
false
)
return
err
return
err
}
}
...
...
pkg/registry/core/serviceaccount/strategy.go
View file @
2568a921
...
@@ -80,12 +80,12 @@ func (strategy) AllowUnconditionalUpdate() bool {
...
@@ -80,12 +80,12 @@ func (strategy) AllowUnconditionalUpdate() bool {
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
sa
,
ok
:=
obj
.
(
*
api
.
ServiceAccount
)
sa
,
ok
:=
obj
.
(
*
api
.
ServiceAccount
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"not a serviceaccount"
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"not a serviceaccount"
)
}
}
return
labels
.
Set
(
sa
.
Labels
),
SelectableFields
(
sa
),
nil
return
labels
.
Set
(
sa
.
Labels
),
SelectableFields
(
sa
),
sa
.
Initializers
!=
nil
,
nil
}
}
// Matcher returns a generic matcher for a given label and field selector.
// Matcher returns a generic matcher for a given label and field selector.
...
...
pkg/registry/extensions/daemonset/strategy.go
View file @
2568a921
...
@@ -131,12 +131,12 @@ func DaemonSetToSelectableFields(daemon *extensions.DaemonSet) fields.Set {
...
@@ -131,12 +131,12 @@ func DaemonSetToSelectableFields(daemon *extensions.DaemonSet) fields.Set {
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
ds
,
ok
:=
obj
.
(
*
extensions
.
DaemonSet
)
ds
,
ok
:=
obj
.
(
*
extensions
.
DaemonSet
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"given object is not a ds."
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"given object is not a ds."
)
}
}
return
labels
.
Set
(
ds
.
ObjectMeta
.
Labels
),
DaemonSetToSelectableFields
(
ds
),
nil
return
labels
.
Set
(
ds
.
ObjectMeta
.
Labels
),
DaemonSetToSelectableFields
(
ds
),
ds
.
Initializers
!=
nil
,
nil
}
}
// MatchSetDaemon is the filter used by the generic etcd backend to route
// MatchSetDaemon is the filter used by the generic etcd backend to route
...
...
pkg/registry/extensions/deployment/registry.go
View file @
2568a921
...
@@ -66,7 +66,7 @@ func (s *storage) GetDeployment(ctx genericapirequest.Context, deploymentID stri
...
@@ -66,7 +66,7 @@ func (s *storage) GetDeployment(ctx genericapirequest.Context, deploymentID stri
}
}
func
(
s
*
storage
)
CreateDeployment
(
ctx
genericapirequest
.
Context
,
deployment
*
extensions
.
Deployment
)
(
*
extensions
.
Deployment
,
error
)
{
func
(
s
*
storage
)
CreateDeployment
(
ctx
genericapirequest
.
Context
,
deployment
*
extensions
.
Deployment
)
(
*
extensions
.
Deployment
,
error
)
{
obj
,
err
:=
s
.
Create
(
ctx
,
deployment
)
obj
,
err
:=
s
.
Create
(
ctx
,
deployment
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
...
pkg/registry/extensions/deployment/storage/storage.go
View file @
2568a921
...
@@ -123,7 +123,7 @@ func (r *RollbackREST) New() runtime.Object {
...
@@ -123,7 +123,7 @@ func (r *RollbackREST) New() runtime.Object {
var
_
=
rest
.
Creater
(
&
RollbackREST
{})
var
_
=
rest
.
Creater
(
&
RollbackREST
{})
func
(
r
*
RollbackREST
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
func
(
r
*
RollbackREST
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
,
includeUninitialized
bool
)
(
runtime
.
Object
,
error
)
{
rollback
,
ok
:=
obj
.
(
*
extensions
.
DeploymentRollback
)
rollback
,
ok
:=
obj
.
(
*
extensions
.
DeploymentRollback
)
if
!
ok
{
if
!
ok
{
return
nil
,
errors
.
NewBadRequest
(
fmt
.
Sprintf
(
"not a DeploymentRollback: %#v"
,
obj
))
return
nil
,
errors
.
NewBadRequest
(
fmt
.
Sprintf
(
"not a DeploymentRollback: %#v"
,
obj
))
...
@@ -144,10 +144,6 @@ func (r *RollbackREST) Create(ctx genericapirequest.Context, obj runtime.Object)
...
@@ -144,10 +144,6 @@ func (r *RollbackREST) Create(ctx genericapirequest.Context, obj runtime.Object)
},
nil
},
nil
}
}
func
(
r
*
RollbackREST
)
CreateInitialized
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
return
r
.
Create
(
ctx
,
obj
)
}
func
(
r
*
RollbackREST
)
rollbackDeployment
(
ctx
genericapirequest
.
Context
,
deploymentID
string
,
config
*
extensions
.
RollbackConfig
,
annotations
map
[
string
]
string
)
error
{
func
(
r
*
RollbackREST
)
rollbackDeployment
(
ctx
genericapirequest
.
Context
,
deploymentID
string
,
config
*
extensions
.
RollbackConfig
,
annotations
map
[
string
]
string
)
error
{
if
_
,
err
:=
r
.
setDeploymentRollback
(
ctx
,
deploymentID
,
config
,
annotations
);
err
!=
nil
{
if
_
,
err
:=
r
.
setDeploymentRollback
(
ctx
,
deploymentID
,
config
,
annotations
);
err
!=
nil
{
err
=
storeerr
.
InterpretGetError
(
err
,
extensions
.
Resource
(
"deployments"
),
deploymentID
)
err
=
storeerr
.
InterpretGetError
(
err
,
extensions
.
Resource
(
"deployments"
),
deploymentID
)
...
...
pkg/registry/extensions/deployment/storage/storage_test.go
View file @
2568a921
...
@@ -340,10 +340,10 @@ func TestEtcdCreateDeploymentRollback(t *testing.T) {
...
@@ -340,10 +340,10 @@ func TestEtcdCreateDeploymentRollback(t *testing.T) {
storage
,
server
:=
newStorage
(
t
)
storage
,
server
:=
newStorage
(
t
)
rollbackStorage
:=
storage
.
Rollback
rollbackStorage
:=
storage
.
Rollback
if
_
,
err
:=
storage
.
Deployment
.
Create
(
ctx
,
validNewDeployment
());
err
!=
nil
{
if
_
,
err
:=
storage
.
Deployment
.
Create
(
ctx
,
validNewDeployment
()
,
false
);
err
!=
nil
{
t
.
Fatalf
(
"%s: unexpected error: %v"
,
k
,
err
)
t
.
Fatalf
(
"%s: unexpected error: %v"
,
k
,
err
)
}
}
if
_
,
err
:=
rollbackStorage
.
Create
(
ctx
,
&
test
.
rollback
);
!
test
.
errOK
(
err
)
{
if
_
,
err
:=
rollbackStorage
.
Create
(
ctx
,
&
test
.
rollback
,
false
);
!
test
.
errOK
(
err
)
{
t
.
Errorf
(
"%s: unexpected error: %v"
,
k
,
err
)
t
.
Errorf
(
"%s: unexpected error: %v"
,
k
,
err
)
}
else
if
err
==
nil
{
}
else
if
err
==
nil
{
// If rollback succeeded, verify Rollback field of deployment
// If rollback succeeded, verify Rollback field of deployment
...
@@ -372,7 +372,7 @@ func TestEtcdCreateDeploymentRollbackNoDeployment(t *testing.T) {
...
@@ -372,7 +372,7 @@ func TestEtcdCreateDeploymentRollbackNoDeployment(t *testing.T) {
Name
:
name
,
Name
:
name
,
UpdatedAnnotations
:
map
[
string
]
string
{},
UpdatedAnnotations
:
map
[
string
]
string
{},
RollbackTo
:
extensions
.
RollbackConfig
{
Revision
:
1
},
RollbackTo
:
extensions
.
RollbackConfig
{
Revision
:
1
},
})
}
,
false
)
if
err
==
nil
{
if
err
==
nil
{
t
.
Fatalf
(
"Expected not-found-error but got nothing"
)
t
.
Fatalf
(
"Expected not-found-error but got nothing"
)
}
}
...
...
pkg/registry/extensions/deployment/strategy.go
View file @
2568a921
...
@@ -126,12 +126,12 @@ func DeploymentToSelectableFields(deployment *extensions.Deployment) fields.Set
...
@@ -126,12 +126,12 @@ func DeploymentToSelectableFields(deployment *extensions.Deployment) fields.Set
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
deployment
,
ok
:=
obj
.
(
*
extensions
.
Deployment
)
deployment
,
ok
:=
obj
.
(
*
extensions
.
Deployment
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"given object is not a deployment."
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"given object is not a deployment."
)
}
}
return
labels
.
Set
(
deployment
.
ObjectMeta
.
Labels
),
DeploymentToSelectableFields
(
deployment
),
nil
return
labels
.
Set
(
deployment
.
ObjectMeta
.
Labels
),
DeploymentToSelectableFields
(
deployment
),
deployment
.
Initializers
!=
nil
,
nil
}
}
// MatchDeployment is the filter used by the generic etcd backend to route
// MatchDeployment is the filter used by the generic etcd backend to route
...
...
pkg/registry/extensions/ingress/strategy.go
View file @
2568a921
...
@@ -106,12 +106,12 @@ func IngressToSelectableFields(ingress *extensions.Ingress) fields.Set {
...
@@ -106,12 +106,12 @@ func IngressToSelectableFields(ingress *extensions.Ingress) fields.Set {
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
ingress
,
ok
:=
obj
.
(
*
extensions
.
Ingress
)
ingress
,
ok
:=
obj
.
(
*
extensions
.
Ingress
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
f
mt
.
Errorf
(
"G
iven object is not an Ingress."
)
return
nil
,
nil
,
f
alse
,
fmt
.
Errorf
(
"g
iven object is not an Ingress."
)
}
}
return
labels
.
Set
(
ingress
.
ObjectMeta
.
Labels
),
IngressToSelectableFields
(
ingress
),
nil
return
labels
.
Set
(
ingress
.
ObjectMeta
.
Labels
),
IngressToSelectableFields
(
ingress
),
ingress
.
Initializers
!=
nil
,
nil
}
}
// MatchIngress is the filter used by the generic etcd backend to ingress
// MatchIngress is the filter used by the generic etcd backend to ingress
...
...
pkg/registry/extensions/networkpolicy/storage/storage_test.go
View file @
2568a921
...
@@ -45,7 +45,7 @@ func newStorage(t *testing.T) (*REST, *etcdtesting.EtcdTestServer) {
...
@@ -45,7 +45,7 @@ func newStorage(t *testing.T) (*REST, *etcdtesting.EtcdTestServer) {
// createNetworkPolicy is a helper function that returns a NetworkPolicy with the updated resource version.
// createNetworkPolicy is a helper function that returns a NetworkPolicy with the updated resource version.
func
createNetworkPolicy
(
storage
*
REST
,
np
extensions
.
NetworkPolicy
,
t
*
testing
.
T
)
(
extensions
.
NetworkPolicy
,
error
)
{
func
createNetworkPolicy
(
storage
*
REST
,
np
extensions
.
NetworkPolicy
,
t
*
testing
.
T
)
(
extensions
.
NetworkPolicy
,
error
)
{
ctx
:=
genericapirequest
.
WithNamespace
(
genericapirequest
.
NewContext
(),
np
.
Namespace
)
ctx
:=
genericapirequest
.
WithNamespace
(
genericapirequest
.
NewContext
(),
np
.
Namespace
)
obj
,
err
:=
storage
.
Create
(
ctx
,
&
np
)
obj
,
err
:=
storage
.
Create
(
ctx
,
&
np
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"Failed to create NetworkPolicy, %v"
,
err
)
t
.
Errorf
(
"Failed to create NetworkPolicy, %v"
,
err
)
}
}
...
...
pkg/registry/extensions/networkpolicy/strategy.go
View file @
2568a921
...
@@ -99,12 +99,12 @@ func NetworkPolicyToSelectableFields(networkPolicy *extensions.NetworkPolicy) fi
...
@@ -99,12 +99,12 @@ func NetworkPolicyToSelectableFields(networkPolicy *extensions.NetworkPolicy) fi
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
networkPolicy
,
ok
:=
obj
.
(
*
extensions
.
NetworkPolicy
)
networkPolicy
,
ok
:=
obj
.
(
*
extensions
.
NetworkPolicy
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"given object is not a NetworkPolicy."
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"given object is not a NetworkPolicy."
)
}
}
return
labels
.
Set
(
networkPolicy
.
ObjectMeta
.
Labels
),
NetworkPolicyToSelectableFields
(
networkPolicy
),
nil
return
labels
.
Set
(
networkPolicy
.
ObjectMeta
.
Labels
),
NetworkPolicyToSelectableFields
(
networkPolicy
),
n
etworkPolicy
.
Initializers
!=
nil
,
n
il
}
}
// MatchNetworkPolicy is the filter used by the generic etcd backend to watch events
// MatchNetworkPolicy is the filter used by the generic etcd backend to watch events
...
...
pkg/registry/extensions/podsecuritypolicy/strategy.go
View file @
2568a921
...
@@ -77,12 +77,12 @@ func (strategy) ValidateUpdate(ctx genericapirequest.Context, obj, old runtime.O
...
@@ -77,12 +77,12 @@ func (strategy) ValidateUpdate(ctx genericapirequest.Context, obj, old runtime.O
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
psp
,
ok
:=
obj
.
(
*
extensions
.
PodSecurityPolicy
)
psp
,
ok
:=
obj
.
(
*
extensions
.
PodSecurityPolicy
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"given object is not a pod security policy."
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"given object is not a pod security policy."
)
}
}
return
labels
.
Set
(
psp
.
ObjectMeta
.
Labels
),
PodSecurityPolicyToSelectableFields
(
psp
),
nil
return
labels
.
Set
(
psp
.
ObjectMeta
.
Labels
),
PodSecurityPolicyToSelectableFields
(
psp
),
psp
.
Initializers
!=
nil
,
nil
}
}
// Matcher returns a generic matcher for a given label and field selector.
// Matcher returns a generic matcher for a given label and field selector.
...
...
pkg/registry/extensions/replicaset/registry.go
View file @
2568a921
...
@@ -75,7 +75,7 @@ func (s *storage) GetReplicaSet(ctx genericapirequest.Context, replicaSetID stri
...
@@ -75,7 +75,7 @@ func (s *storage) GetReplicaSet(ctx genericapirequest.Context, replicaSetID stri
}
}
func
(
s
*
storage
)
CreateReplicaSet
(
ctx
genericapirequest
.
Context
,
replicaSet
*
extensions
.
ReplicaSet
)
(
*
extensions
.
ReplicaSet
,
error
)
{
func
(
s
*
storage
)
CreateReplicaSet
(
ctx
genericapirequest
.
Context
,
replicaSet
*
extensions
.
ReplicaSet
)
(
*
extensions
.
ReplicaSet
,
error
)
{
obj
,
err
:=
s
.
Create
(
ctx
,
replicaSet
)
obj
,
err
:=
s
.
Create
(
ctx
,
replicaSet
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
...
pkg/registry/extensions/replicaset/storage/storage_test.go
View file @
2568a921
...
@@ -47,7 +47,7 @@ func newStorage(t *testing.T) (*ReplicaSetStorage, *etcdtesting.EtcdTestServer)
...
@@ -47,7 +47,7 @@ func newStorage(t *testing.T) (*ReplicaSetStorage, *etcdtesting.EtcdTestServer)
// createReplicaSet is a helper function that returns a ReplicaSet with the updated resource version.
// createReplicaSet is a helper function that returns a ReplicaSet with the updated resource version.
func
createReplicaSet
(
storage
*
REST
,
rs
extensions
.
ReplicaSet
,
t
*
testing
.
T
)
(
extensions
.
ReplicaSet
,
error
)
{
func
createReplicaSet
(
storage
*
REST
,
rs
extensions
.
ReplicaSet
,
t
*
testing
.
T
)
(
extensions
.
ReplicaSet
,
error
)
{
ctx
:=
genericapirequest
.
WithNamespace
(
genericapirequest
.
NewContext
(),
rs
.
Namespace
)
ctx
:=
genericapirequest
.
WithNamespace
(
genericapirequest
.
NewContext
(),
rs
.
Namespace
)
obj
,
err
:=
storage
.
Create
(
ctx
,
&
rs
)
obj
,
err
:=
storage
.
Create
(
ctx
,
&
rs
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"Failed to create ReplicaSet, %v"
,
err
)
t
.
Errorf
(
"Failed to create ReplicaSet, %v"
,
err
)
}
}
...
...
pkg/registry/extensions/replicaset/strategy.go
View file @
2568a921
...
@@ -122,12 +122,12 @@ func ReplicaSetToSelectableFields(rs *extensions.ReplicaSet) fields.Set {
...
@@ -122,12 +122,12 @@ func ReplicaSetToSelectableFields(rs *extensions.ReplicaSet) fields.Set {
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
rs
,
ok
:=
obj
.
(
*
extensions
.
ReplicaSet
)
rs
,
ok
:=
obj
.
(
*
extensions
.
ReplicaSet
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
f
mt
.
Errorf
(
"G
iven object is not a ReplicaSet."
)
return
nil
,
nil
,
f
alse
,
fmt
.
Errorf
(
"g
iven object is not a ReplicaSet."
)
}
}
return
labels
.
Set
(
rs
.
ObjectMeta
.
Labels
),
ReplicaSetToSelectableFields
(
rs
),
nil
return
labels
.
Set
(
rs
.
ObjectMeta
.
Labels
),
ReplicaSetToSelectableFields
(
rs
),
rs
.
Initializers
!=
nil
,
nil
}
}
// MatchReplicaSet is the filter used by the generic etcd backend to route
// MatchReplicaSet is the filter used by the generic etcd backend to route
...
...
pkg/registry/extensions/thirdpartyresource/strategy.go
View file @
2568a921
...
@@ -79,12 +79,12 @@ func (strategy) AllowUnconditionalUpdate() bool {
...
@@ -79,12 +79,12 @@ func (strategy) AllowUnconditionalUpdate() bool {
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
tpr
,
ok
:=
obj
.
(
*
extensions
.
ThirdPartyResource
)
tpr
,
ok
:=
obj
.
(
*
extensions
.
ThirdPartyResource
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"not a ThirdPartyResource"
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"not a ThirdPartyResource"
)
}
}
return
labels
.
Set
(
tpr
.
Labels
),
SelectableFields
(
tpr
),
nil
return
labels
.
Set
(
tpr
.
Labels
),
SelectableFields
(
tpr
),
tpr
.
Initializers
!=
nil
,
nil
}
}
// Matcher returns a generic matcher for a given label and field selector.
// Matcher returns a generic matcher for a given label and field selector.
...
...
pkg/registry/extensions/thirdpartyresourcedata/registry.go
View file @
2568a921
...
@@ -68,7 +68,7 @@ func (s *storage) GetThirdPartyResourceData(ctx genericapirequest.Context, name
...
@@ -68,7 +68,7 @@ func (s *storage) GetThirdPartyResourceData(ctx genericapirequest.Context, name
}
}
func
(
s
*
storage
)
CreateThirdPartyResourceData
(
ctx
genericapirequest
.
Context
,
ThirdPartyResourceData
*
extensions
.
ThirdPartyResourceData
)
(
*
extensions
.
ThirdPartyResourceData
,
error
)
{
func
(
s
*
storage
)
CreateThirdPartyResourceData
(
ctx
genericapirequest
.
Context
,
ThirdPartyResourceData
*
extensions
.
ThirdPartyResourceData
)
(
*
extensions
.
ThirdPartyResourceData
,
error
)
{
obj
,
err
:=
s
.
Create
(
ctx
,
ThirdPartyResourceData
)
obj
,
err
:=
s
.
Create
(
ctx
,
ThirdPartyResourceData
,
false
)
return
obj
.
(
*
extensions
.
ThirdPartyResourceData
),
err
return
obj
.
(
*
extensions
.
ThirdPartyResourceData
),
err
}
}
...
...
pkg/registry/extensions/thirdpartyresourcedata/storage/storage.go
View file @
2568a921
...
@@ -55,11 +55,11 @@ func (r *REST) isFrozen() bool {
...
@@ -55,11 +55,11 @@ func (r *REST) isFrozen() bool {
}
}
// Create is a wrapper to support Freeze.
// Create is a wrapper to support Freeze.
func
(
r
*
REST
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
func
(
r
*
REST
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
,
includeUninitialized
bool
)
(
runtime
.
Object
,
error
)
{
if
r
.
isFrozen
()
{
if
r
.
isFrozen
()
{
return
nil
,
errFrozen
return
nil
,
errFrozen
}
}
return
r
.
Store
.
Create
(
ctx
,
obj
)
return
r
.
Store
.
Create
(
ctx
,
obj
,
includeUninitialized
)
}
}
// Update is a wrapper to support Freeze.
// Update is a wrapper to support Freeze.
...
...
pkg/registry/extensions/thirdpartyresourcedata/strategy.go
View file @
2568a921
...
@@ -77,12 +77,12 @@ func (strategy) AllowUnconditionalUpdate() bool {
...
@@ -77,12 +77,12 @@ func (strategy) AllowUnconditionalUpdate() bool {
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
tprd
,
ok
:=
obj
.
(
*
extensions
.
ThirdPartyResourceData
)
tprd
,
ok
:=
obj
.
(
*
extensions
.
ThirdPartyResourceData
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"not a ThirdPartyResourceData"
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"not a ThirdPartyResourceData"
)
}
}
return
labels
.
Set
(
tprd
.
Labels
),
SelectableFields
(
tprd
),
nil
return
labels
.
Set
(
tprd
.
Labels
),
SelectableFields
(
tprd
),
tprd
.
Initializers
!=
nil
,
nil
}
}
// Matcher returns a generic matcher for a given label and field selector.
// Matcher returns a generic matcher for a given label and field selector.
...
...
pkg/registry/networking/networkpolicy/registry.go
View file @
2568a921
...
@@ -57,7 +57,7 @@ func (s *storage) ListNetworkPolicies(ctx genericapirequest.Context, options *me
...
@@ -57,7 +57,7 @@ func (s *storage) ListNetworkPolicies(ctx genericapirequest.Context, options *me
}
}
func
(
s
*
storage
)
CreateNetworkPolicy
(
ctx
genericapirequest
.
Context
,
np
*
networking
.
NetworkPolicy
)
error
{
func
(
s
*
storage
)
CreateNetworkPolicy
(
ctx
genericapirequest
.
Context
,
np
*
networking
.
NetworkPolicy
)
error
{
_
,
err
:=
s
.
Create
(
ctx
,
np
)
_
,
err
:=
s
.
Create
(
ctx
,
np
,
false
)
return
err
return
err
}
}
...
...
pkg/registry/networking/networkpolicy/strategy.go
View file @
2568a921
...
@@ -98,12 +98,12 @@ func SelectableFields(networkPolicy *networking.NetworkPolicy) fields.Set {
...
@@ -98,12 +98,12 @@ func SelectableFields(networkPolicy *networking.NetworkPolicy) fields.Set {
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
networkPolicy
,
ok
:=
obj
.
(
*
networking
.
NetworkPolicy
)
networkPolicy
,
ok
:=
obj
.
(
*
networking
.
NetworkPolicy
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"given object is not a NetworkPolicy."
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"given object is not a NetworkPolicy."
)
}
}
return
labels
.
Set
(
networkPolicy
.
ObjectMeta
.
Labels
),
SelectableFields
(
networkPolicy
),
nil
return
labels
.
Set
(
networkPolicy
.
ObjectMeta
.
Labels
),
SelectableFields
(
networkPolicy
),
n
etworkPolicy
.
Initializers
!=
nil
,
n
il
}
}
// Matcher is the filter used by the generic etcd backend to watch events
// Matcher is the filter used by the generic etcd backend to watch events
...
...
pkg/registry/policy/poddisruptionbudget/storage/storage_test.go
View file @
2568a921
...
@@ -42,7 +42,7 @@ func newStorage(t *testing.T) (*REST, *StatusREST, *etcdtesting.EtcdTestServer)
...
@@ -42,7 +42,7 @@ func newStorage(t *testing.T) (*REST, *StatusREST, *etcdtesting.EtcdTestServer)
// createPodDisruptionBudget is a helper function that returns a PodDisruptionBudget with the updated resource version.
// createPodDisruptionBudget is a helper function that returns a PodDisruptionBudget with the updated resource version.
func
createPodDisruptionBudget
(
storage
*
REST
,
pdb
policy
.
PodDisruptionBudget
,
t
*
testing
.
T
)
(
policy
.
PodDisruptionBudget
,
error
)
{
func
createPodDisruptionBudget
(
storage
*
REST
,
pdb
policy
.
PodDisruptionBudget
,
t
*
testing
.
T
)
(
policy
.
PodDisruptionBudget
,
error
)
{
ctx
:=
genericapirequest
.
WithNamespace
(
genericapirequest
.
NewContext
(),
pdb
.
Namespace
)
ctx
:=
genericapirequest
.
WithNamespace
(
genericapirequest
.
NewContext
(),
pdb
.
Namespace
)
obj
,
err
:=
storage
.
Create
(
ctx
,
&
pdb
)
obj
,
err
:=
storage
.
Create
(
ctx
,
&
pdb
,
false
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"Failed to create PodDisruptionBudget, %v"
,
err
)
t
.
Errorf
(
"Failed to create PodDisruptionBudget, %v"
,
err
)
}
}
...
...
pkg/registry/policy/poddisruptionbudget/strategy.go
View file @
2568a921
...
@@ -105,12 +105,12 @@ func PodDisruptionBudgetToSelectableFields(podDisruptionBudget *policy.PodDisrup
...
@@ -105,12 +105,12 @@ func PodDisruptionBudgetToSelectableFields(podDisruptionBudget *policy.PodDisrup
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
podDisruptionBudget
,
ok
:=
obj
.
(
*
policy
.
PodDisruptionBudget
)
podDisruptionBudget
,
ok
:=
obj
.
(
*
policy
.
PodDisruptionBudget
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"given object is not a PodDisruptionBudget."
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"given object is not a PodDisruptionBudget."
)
}
}
return
labels
.
Set
(
podDisruptionBudget
.
ObjectMeta
.
Labels
),
PodDisruptionBudgetToSelectableFields
(
podDisruptionBudget
),
nil
return
labels
.
Set
(
podDisruptionBudget
.
ObjectMeta
.
Labels
),
PodDisruptionBudgetToSelectableFields
(
podDisruptionBudget
),
podDisruptionBudget
.
Initializers
!=
nil
,
nil
}
}
// MatchPodDisruptionBudget is the filter used by the generic etcd backend to watch events
// MatchPodDisruptionBudget is the filter used by the generic etcd backend to watch events
...
...
pkg/registry/rbac/clusterrole/policybased/storage.go
View file @
2568a921
...
@@ -39,9 +39,9 @@ func NewStorage(s rest.StandardStorage, ruleResolver rbacregistryvalidation.Auth
...
@@ -39,9 +39,9 @@ func NewStorage(s rest.StandardStorage, ruleResolver rbacregistryvalidation.Auth
return
&
Storage
{
s
,
ruleResolver
}
return
&
Storage
{
s
,
ruleResolver
}
}
}
func
(
s
*
Storage
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
func
(
s
*
Storage
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
,
includeUninitialized
bool
)
(
runtime
.
Object
,
error
)
{
if
rbacregistry
.
EscalationAllowed
(
ctx
)
{
if
rbacregistry
.
EscalationAllowed
(
ctx
)
{
return
s
.
StandardStorage
.
Create
(
ctx
,
obj
)
return
s
.
StandardStorage
.
Create
(
ctx
,
obj
,
includeUninitialized
)
}
}
clusterRole
:=
obj
.
(
*
rbac
.
ClusterRole
)
clusterRole
:=
obj
.
(
*
rbac
.
ClusterRole
)
...
@@ -49,11 +49,7 @@ func (s *Storage) Create(ctx genericapirequest.Context, obj runtime.Object) (run
...
@@ -49,11 +49,7 @@ func (s *Storage) Create(ctx genericapirequest.Context, obj runtime.Object) (run
if
err
:=
rbacregistryvalidation
.
ConfirmNoEscalation
(
ctx
,
s
.
ruleResolver
,
rules
);
err
!=
nil
{
if
err
:=
rbacregistryvalidation
.
ConfirmNoEscalation
(
ctx
,
s
.
ruleResolver
,
rules
);
err
!=
nil
{
return
nil
,
errors
.
NewForbidden
(
groupResource
,
clusterRole
.
Name
,
err
)
return
nil
,
errors
.
NewForbidden
(
groupResource
,
clusterRole
.
Name
,
err
)
}
}
return
s
.
StandardStorage
.
Create
(
ctx
,
obj
)
return
s
.
StandardStorage
.
Create
(
ctx
,
obj
,
includeUninitialized
)
}
func
(
s
*
Storage
)
CreateInitialized
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
return
s
.
Create
(
ctx
,
obj
)
}
}
func
(
s
*
Storage
)
Update
(
ctx
genericapirequest
.
Context
,
name
string
,
obj
rest
.
UpdatedObjectInfo
)
(
runtime
.
Object
,
bool
,
error
)
{
func
(
s
*
Storage
)
Update
(
ctx
genericapirequest
.
Context
,
name
string
,
obj
rest
.
UpdatedObjectInfo
)
(
runtime
.
Object
,
bool
,
error
)
{
...
...
pkg/registry/rbac/clusterrole/registry.go
View file @
2568a921
...
@@ -57,7 +57,7 @@ func (s *storage) ListClusterRoles(ctx genericapirequest.Context, options *metai
...
@@ -57,7 +57,7 @@ func (s *storage) ListClusterRoles(ctx genericapirequest.Context, options *metai
}
}
func
(
s
*
storage
)
CreateClusterRole
(
ctx
genericapirequest
.
Context
,
clusterRole
*
rbac
.
ClusterRole
)
error
{
func
(
s
*
storage
)
CreateClusterRole
(
ctx
genericapirequest
.
Context
,
clusterRole
*
rbac
.
ClusterRole
)
error
{
_
,
err
:=
s
.
Create
(
ctx
,
clusterRole
)
_
,
err
:=
s
.
Create
(
ctx
,
clusterRole
,
false
)
return
err
return
err
}
}
...
...
pkg/registry/rbac/clusterrole/strategy.go
View file @
2568a921
...
@@ -104,12 +104,12 @@ func (s strategy) Export(ctx genericapirequest.Context, obj runtime.Object, exac
...
@@ -104,12 +104,12 @@ func (s strategy) Export(ctx genericapirequest.Context, obj runtime.Object, exac
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
role
,
ok
:=
obj
.
(
*
rbac
.
ClusterRole
)
role
,
ok
:=
obj
.
(
*
rbac
.
ClusterRole
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"not a ClusterRole"
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"not a ClusterRole"
)
}
}
return
labels
.
Set
(
role
.
Labels
),
SelectableFields
(
role
),
nil
return
labels
.
Set
(
role
.
Labels
),
SelectableFields
(
role
),
role
.
Initializers
!=
nil
,
nil
}
}
// Matcher returns a generic matcher for a given label and field selector.
// Matcher returns a generic matcher for a given label and field selector.
...
...
pkg/registry/rbac/clusterrolebinding/policybased/storage.go
View file @
2568a921
...
@@ -43,14 +43,14 @@ func NewStorage(s rest.StandardStorage, authorizer authorizer.Authorizer, ruleRe
...
@@ -43,14 +43,14 @@ func NewStorage(s rest.StandardStorage, authorizer authorizer.Authorizer, ruleRe
return
&
Storage
{
s
,
authorizer
,
ruleResolver
}
return
&
Storage
{
s
,
authorizer
,
ruleResolver
}
}
}
func
(
s
*
Storage
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
func
(
s
*
Storage
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
,
includeUninitialized
bool
)
(
runtime
.
Object
,
error
)
{
if
rbacregistry
.
EscalationAllowed
(
ctx
)
{
if
rbacregistry
.
EscalationAllowed
(
ctx
)
{
return
s
.
StandardStorage
.
Create
(
ctx
,
obj
)
return
s
.
StandardStorage
.
Create
(
ctx
,
obj
,
includeUninitialized
)
}
}
clusterRoleBinding
:=
obj
.
(
*
rbac
.
ClusterRoleBinding
)
clusterRoleBinding
:=
obj
.
(
*
rbac
.
ClusterRoleBinding
)
if
rbacregistry
.
BindingAuthorized
(
ctx
,
clusterRoleBinding
.
RoleRef
,
metav1
.
NamespaceNone
,
s
.
authorizer
)
{
if
rbacregistry
.
BindingAuthorized
(
ctx
,
clusterRoleBinding
.
RoleRef
,
metav1
.
NamespaceNone
,
s
.
authorizer
)
{
return
s
.
StandardStorage
.
Create
(
ctx
,
obj
)
return
s
.
StandardStorage
.
Create
(
ctx
,
obj
,
includeUninitialized
)
}
}
rules
,
err
:=
s
.
ruleResolver
.
GetRoleReferenceRules
(
clusterRoleBinding
.
RoleRef
,
metav1
.
NamespaceNone
)
rules
,
err
:=
s
.
ruleResolver
.
GetRoleReferenceRules
(
clusterRoleBinding
.
RoleRef
,
metav1
.
NamespaceNone
)
...
@@ -60,11 +60,7 @@ func (s *Storage) Create(ctx genericapirequest.Context, obj runtime.Object) (run
...
@@ -60,11 +60,7 @@ func (s *Storage) Create(ctx genericapirequest.Context, obj runtime.Object) (run
if
err
:=
rbacregistryvalidation
.
ConfirmNoEscalation
(
ctx
,
s
.
ruleResolver
,
rules
);
err
!=
nil
{
if
err
:=
rbacregistryvalidation
.
ConfirmNoEscalation
(
ctx
,
s
.
ruleResolver
,
rules
);
err
!=
nil
{
return
nil
,
errors
.
NewForbidden
(
groupResource
,
clusterRoleBinding
.
Name
,
err
)
return
nil
,
errors
.
NewForbidden
(
groupResource
,
clusterRoleBinding
.
Name
,
err
)
}
}
return
s
.
StandardStorage
.
Create
(
ctx
,
obj
)
return
s
.
StandardStorage
.
Create
(
ctx
,
obj
,
includeUninitialized
)
}
func
(
s
*
Storage
)
CreateInitialized
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
return
s
.
Create
(
ctx
,
obj
)
}
}
func
(
s
*
Storage
)
Update
(
ctx
genericapirequest
.
Context
,
name
string
,
obj
rest
.
UpdatedObjectInfo
)
(
runtime
.
Object
,
bool
,
error
)
{
func
(
s
*
Storage
)
Update
(
ctx
genericapirequest
.
Context
,
name
string
,
obj
rest
.
UpdatedObjectInfo
)
(
runtime
.
Object
,
bool
,
error
)
{
...
...
pkg/registry/rbac/clusterrolebinding/registry.go
View file @
2568a921
...
@@ -57,7 +57,7 @@ func (s *storage) ListClusterRoleBindings(ctx genericapirequest.Context, options
...
@@ -57,7 +57,7 @@ func (s *storage) ListClusterRoleBindings(ctx genericapirequest.Context, options
}
}
func
(
s
*
storage
)
CreateClusterRoleBinding
(
ctx
genericapirequest
.
Context
,
clusterRoleBinding
*
rbac
.
ClusterRoleBinding
)
error
{
func
(
s
*
storage
)
CreateClusterRoleBinding
(
ctx
genericapirequest
.
Context
,
clusterRoleBinding
*
rbac
.
ClusterRoleBinding
)
error
{
_
,
err
:=
s
.
Create
(
ctx
,
clusterRoleBinding
)
_
,
err
:=
s
.
Create
(
ctx
,
clusterRoleBinding
,
false
)
return
err
return
err
}
}
...
...
pkg/registry/rbac/clusterrolebinding/strategy.go
View file @
2568a921
...
@@ -104,12 +104,12 @@ func (s strategy) Export(ctx genericapirequest.Context, obj runtime.Object, exac
...
@@ -104,12 +104,12 @@ func (s strategy) Export(ctx genericapirequest.Context, obj runtime.Object, exac
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
roleBinding
,
ok
:=
obj
.
(
*
rbac
.
ClusterRoleBinding
)
roleBinding
,
ok
:=
obj
.
(
*
rbac
.
ClusterRoleBinding
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"not a ClusterRoleBinding"
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"not a ClusterRoleBinding"
)
}
}
return
labels
.
Set
(
roleBinding
.
Labels
),
SelectableFields
(
roleBinding
),
nil
return
labels
.
Set
(
roleBinding
.
Labels
),
SelectableFields
(
roleBinding
),
roleBinding
.
Initializers
!=
nil
,
nil
}
}
// Matcher returns a generic matcher for a given label and field selector.
// Matcher returns a generic matcher for a given label and field selector.
...
...
pkg/registry/rbac/role/policybased/storage.go
View file @
2568a921
...
@@ -39,9 +39,9 @@ func NewStorage(s rest.StandardStorage, ruleResolver rbacregistryvalidation.Auth
...
@@ -39,9 +39,9 @@ func NewStorage(s rest.StandardStorage, ruleResolver rbacregistryvalidation.Auth
return
&
Storage
{
s
,
ruleResolver
}
return
&
Storage
{
s
,
ruleResolver
}
}
}
func
(
s
*
Storage
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
func
(
s
*
Storage
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
,
includeUninitialized
bool
)
(
runtime
.
Object
,
error
)
{
if
rbacregistry
.
EscalationAllowed
(
ctx
)
{
if
rbacregistry
.
EscalationAllowed
(
ctx
)
{
return
s
.
StandardStorage
.
Create
(
ctx
,
obj
)
return
s
.
StandardStorage
.
Create
(
ctx
,
obj
,
includeUninitialized
)
}
}
role
:=
obj
.
(
*
rbac
.
Role
)
role
:=
obj
.
(
*
rbac
.
Role
)
...
@@ -49,11 +49,7 @@ func (s *Storage) Create(ctx genericapirequest.Context, obj runtime.Object) (run
...
@@ -49,11 +49,7 @@ func (s *Storage) Create(ctx genericapirequest.Context, obj runtime.Object) (run
if
err
:=
rbacregistryvalidation
.
ConfirmNoEscalation
(
ctx
,
s
.
ruleResolver
,
rules
);
err
!=
nil
{
if
err
:=
rbacregistryvalidation
.
ConfirmNoEscalation
(
ctx
,
s
.
ruleResolver
,
rules
);
err
!=
nil
{
return
nil
,
errors
.
NewForbidden
(
groupResource
,
role
.
Name
,
err
)
return
nil
,
errors
.
NewForbidden
(
groupResource
,
role
.
Name
,
err
)
}
}
return
s
.
StandardStorage
.
Create
(
ctx
,
obj
)
return
s
.
StandardStorage
.
Create
(
ctx
,
obj
,
includeUninitialized
)
}
func
(
s
*
Storage
)
CreateInitialized
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
return
s
.
Create
(
ctx
,
obj
)
}
}
func
(
s
*
Storage
)
Update
(
ctx
genericapirequest
.
Context
,
name
string
,
obj
rest
.
UpdatedObjectInfo
)
(
runtime
.
Object
,
bool
,
error
)
{
func
(
s
*
Storage
)
Update
(
ctx
genericapirequest
.
Context
,
name
string
,
obj
rest
.
UpdatedObjectInfo
)
(
runtime
.
Object
,
bool
,
error
)
{
...
...
pkg/registry/rbac/role/registry.go
View file @
2568a921
...
@@ -57,7 +57,7 @@ func (s *storage) ListRoles(ctx genericapirequest.Context, options *metainternal
...
@@ -57,7 +57,7 @@ func (s *storage) ListRoles(ctx genericapirequest.Context, options *metainternal
}
}
func
(
s
*
storage
)
CreateRole
(
ctx
genericapirequest
.
Context
,
role
*
rbac
.
Role
)
error
{
func
(
s
*
storage
)
CreateRole
(
ctx
genericapirequest
.
Context
,
role
*
rbac
.
Role
)
error
{
_
,
err
:=
s
.
Create
(
ctx
,
role
)
_
,
err
:=
s
.
Create
(
ctx
,
role
,
false
)
return
err
return
err
}
}
...
...
pkg/registry/rbac/role/strategy.go
View file @
2568a921
...
@@ -104,12 +104,12 @@ func (s strategy) Export(ctx genericapirequest.Context, obj runtime.Object, exac
...
@@ -104,12 +104,12 @@ func (s strategy) Export(ctx genericapirequest.Context, obj runtime.Object, exac
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
role
,
ok
:=
obj
.
(
*
rbac
.
Role
)
role
,
ok
:=
obj
.
(
*
rbac
.
Role
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"not a Role"
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"not a Role"
)
}
}
return
labels
.
Set
(
role
.
Labels
),
SelectableFields
(
role
),
nil
return
labels
.
Set
(
role
.
Labels
),
SelectableFields
(
role
),
role
.
Initializers
!=
nil
,
nil
}
}
// Matcher returns a generic matcher for a given label and field selector.
// Matcher returns a generic matcher for a given label and field selector.
...
...
pkg/registry/rbac/rolebinding/policybased/storage.go
View file @
2568a921
...
@@ -42,9 +42,9 @@ func NewStorage(s rest.StandardStorage, authorizer authorizer.Authorizer, ruleRe
...
@@ -42,9 +42,9 @@ func NewStorage(s rest.StandardStorage, authorizer authorizer.Authorizer, ruleRe
return
&
Storage
{
s
,
authorizer
,
ruleResolver
}
return
&
Storage
{
s
,
authorizer
,
ruleResolver
}
}
}
func
(
s
*
Storage
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
func
(
s
*
Storage
)
Create
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
,
includeUninitialized
bool
)
(
runtime
.
Object
,
error
)
{
if
rbacregistry
.
EscalationAllowed
(
ctx
)
{
if
rbacregistry
.
EscalationAllowed
(
ctx
)
{
return
s
.
StandardStorage
.
Create
(
ctx
,
obj
)
return
s
.
StandardStorage
.
Create
(
ctx
,
obj
,
includeUninitialized
)
}
}
// Get the namespace from the context (populated from the URL).
// Get the namespace from the context (populated from the URL).
...
@@ -56,7 +56,7 @@ func (s *Storage) Create(ctx genericapirequest.Context, obj runtime.Object) (run
...
@@ -56,7 +56,7 @@ func (s *Storage) Create(ctx genericapirequest.Context, obj runtime.Object) (run
roleBinding
:=
obj
.
(
*
rbac
.
RoleBinding
)
roleBinding
:=
obj
.
(
*
rbac
.
RoleBinding
)
if
rbacregistry
.
BindingAuthorized
(
ctx
,
roleBinding
.
RoleRef
,
namespace
,
s
.
authorizer
)
{
if
rbacregistry
.
BindingAuthorized
(
ctx
,
roleBinding
.
RoleRef
,
namespace
,
s
.
authorizer
)
{
return
s
.
StandardStorage
.
Create
(
ctx
,
obj
)
return
s
.
StandardStorage
.
Create
(
ctx
,
obj
,
includeUninitialized
)
}
}
rules
,
err
:=
s
.
ruleResolver
.
GetRoleReferenceRules
(
roleBinding
.
RoleRef
,
namespace
)
rules
,
err
:=
s
.
ruleResolver
.
GetRoleReferenceRules
(
roleBinding
.
RoleRef
,
namespace
)
...
@@ -66,11 +66,7 @@ func (s *Storage) Create(ctx genericapirequest.Context, obj runtime.Object) (run
...
@@ -66,11 +66,7 @@ func (s *Storage) Create(ctx genericapirequest.Context, obj runtime.Object) (run
if
err
:=
rbacregistryvalidation
.
ConfirmNoEscalation
(
ctx
,
s
.
ruleResolver
,
rules
);
err
!=
nil
{
if
err
:=
rbacregistryvalidation
.
ConfirmNoEscalation
(
ctx
,
s
.
ruleResolver
,
rules
);
err
!=
nil
{
return
nil
,
errors
.
NewForbidden
(
groupResource
,
roleBinding
.
Name
,
err
)
return
nil
,
errors
.
NewForbidden
(
groupResource
,
roleBinding
.
Name
,
err
)
}
}
return
s
.
StandardStorage
.
Create
(
ctx
,
obj
)
return
s
.
StandardStorage
.
Create
(
ctx
,
obj
,
includeUninitialized
)
}
func
(
s
*
Storage
)
CreateInitialized
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
return
s
.
Create
(
ctx
,
obj
)
}
}
func
(
s
*
Storage
)
Update
(
ctx
genericapirequest
.
Context
,
name
string
,
obj
rest
.
UpdatedObjectInfo
)
(
runtime
.
Object
,
bool
,
error
)
{
func
(
s
*
Storage
)
Update
(
ctx
genericapirequest
.
Context
,
name
string
,
obj
rest
.
UpdatedObjectInfo
)
(
runtime
.
Object
,
bool
,
error
)
{
...
...
pkg/registry/rbac/rolebinding/registry.go
View file @
2568a921
...
@@ -58,7 +58,7 @@ func (s *storage) ListRoleBindings(ctx genericapirequest.Context, options *metai
...
@@ -58,7 +58,7 @@ func (s *storage) ListRoleBindings(ctx genericapirequest.Context, options *metai
func
(
s
*
storage
)
CreateRoleBinding
(
ctx
genericapirequest
.
Context
,
roleBinding
*
rbac
.
RoleBinding
)
error
{
func
(
s
*
storage
)
CreateRoleBinding
(
ctx
genericapirequest
.
Context
,
roleBinding
*
rbac
.
RoleBinding
)
error
{
// TODO(ericchiang): add additional validation
// TODO(ericchiang): add additional validation
_
,
err
:=
s
.
Create
(
ctx
,
roleBinding
)
_
,
err
:=
s
.
Create
(
ctx
,
roleBinding
,
false
)
return
err
return
err
}
}
...
...
pkg/registry/rbac/rolebinding/strategy.go
View file @
2568a921
...
@@ -104,12 +104,12 @@ func (s strategy) Export(ctx genericapirequest.Context, obj runtime.Object, exac
...
@@ -104,12 +104,12 @@ func (s strategy) Export(ctx genericapirequest.Context, obj runtime.Object, exac
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
roleBinding
,
ok
:=
obj
.
(
*
rbac
.
RoleBinding
)
roleBinding
,
ok
:=
obj
.
(
*
rbac
.
RoleBinding
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"not a RoleBinding"
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"not a RoleBinding"
)
}
}
return
labels
.
Set
(
roleBinding
.
Labels
),
SelectableFields
(
roleBinding
),
nil
return
labels
.
Set
(
roleBinding
.
Labels
),
SelectableFields
(
roleBinding
),
roleBinding
.
Initializers
!=
nil
,
nil
}
}
// Matcher returns a generic matcher for a given label and field selector.
// Matcher returns a generic matcher for a given label and field selector.
...
...
pkg/registry/settings/podpreset/registry.go
View file @
2568a921
...
@@ -57,7 +57,7 @@ func (s *storage) ListPodPresets(ctx genericapirequest.Context, options *metaint
...
@@ -57,7 +57,7 @@ func (s *storage) ListPodPresets(ctx genericapirequest.Context, options *metaint
}
}
func
(
s
*
storage
)
CreatePodPreset
(
ctx
genericapirequest
.
Context
,
pp
*
settings
.
PodPreset
)
error
{
func
(
s
*
storage
)
CreatePodPreset
(
ctx
genericapirequest
.
Context
,
pp
*
settings
.
PodPreset
)
error
{
_
,
err
:=
s
.
Create
(
ctx
,
pp
)
_
,
err
:=
s
.
Create
(
ctx
,
pp
,
false
)
return
err
return
err
}
}
...
...
pkg/registry/settings/podpreset/strategy.go
View file @
2568a921
...
@@ -93,12 +93,12 @@ func SelectableFields(pip *settings.PodPreset) fields.Set {
...
@@ -93,12 +93,12 @@ func SelectableFields(pip *settings.PodPreset) fields.Set {
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
pip
,
ok
:=
obj
.
(
*
settings
.
PodPreset
)
pip
,
ok
:=
obj
.
(
*
settings
.
PodPreset
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"given object is not a PodPreset."
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"given object is not a PodPreset."
)
}
}
return
labels
.
Set
(
pip
.
ObjectMeta
.
Labels
),
SelectableFields
(
pip
),
nil
return
labels
.
Set
(
pip
.
ObjectMeta
.
Labels
),
SelectableFields
(
pip
),
pip
.
Initializers
!=
nil
,
nil
}
}
// Matcher is the filter used by the generic etcd backend to watch events
// Matcher is the filter used by the generic etcd backend to watch events
...
...
pkg/registry/storage/storageclass/strategy.go
View file @
2568a921
...
@@ -80,12 +80,12 @@ func (storageClassStrategy) AllowUnconditionalUpdate() bool {
...
@@ -80,12 +80,12 @@ func (storageClassStrategy) AllowUnconditionalUpdate() bool {
}
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
// GetAttrs returns labels and fields of a given object for filtering purposes.
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
error
)
{
func
GetAttrs
(
obj
runtime
.
Object
)
(
labels
.
Set
,
fields
.
Set
,
bool
,
error
)
{
cls
,
ok
:=
obj
.
(
*
storage
.
StorageClass
)
cls
,
ok
:=
obj
.
(
*
storage
.
StorageClass
)
if
!
ok
{
if
!
ok
{
return
nil
,
nil
,
fmt
.
Errorf
(
"given object is not of type StorageClass"
)
return
nil
,
nil
,
f
alse
,
f
mt
.
Errorf
(
"given object is not of type StorageClass"
)
}
}
return
labels
.
Set
(
cls
.
ObjectMeta
.
Labels
),
StorageClassToSelectableFields
(
cls
),
nil
return
labels
.
Set
(
cls
.
ObjectMeta
.
Labels
),
StorageClassToSelectableFields
(
cls
),
cls
.
Initializers
!=
nil
,
nil
}
}
// MatchStorageClass returns a generic matcher for a given label and field selector.
// MatchStorageClass returns a generic matcher for a given label and field selector.
...
...
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