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
2699be2e
Commit
2699be2e
authored
Mar 25, 2016
by
Wojciech Tyczynski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Switch api.ObjetaMetaFor to meta.Accessor
parent
5e159695
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
160 additions
and
108 deletions
+160
-108
errors.go
pkg/admission/errors.go
+6
-6
meta.go
pkg/api/meta.go
+21
-12
interfaces.go
pkg/api/meta/interfaces.go
+4
-0
meta.go
pkg/api/meta/meta.go
+32
-10
fixture.go
pkg/client/testing/core/fixture.go
+4
-5
fixture.go
pkg/client/unversioned/testclient/fixture.go
+4
-5
controller_utils.go
pkg/controller/controller_utils.go
+6
-5
fake_controller_source.go
pkg/controller/framework/fake_controller_source.go
+5
-5
annotate.go
pkg/kubectl/cmd/annotate.go
+12
-9
apply_test.go
pkg/kubectl/cmd/apply_test.go
+12
-8
label.go
pkg/kubectl/cmd/label.go
+17
-11
helpers.go
pkg/kubectl/cmd/util/helpers.go
+6
-5
history.go
pkg/kubectl/history.go
+3
-2
etcd.go
pkg/registry/generic/etcd/etcd.go
+11
-11
etcd.go
pkg/registry/registrytest/etcd.go
+7
-6
api_object_versioner.go
pkg/storage/etcd/api_object_versioner.go
+6
-5
admission.go
plugin/pkg/admission/resourcequota/admission.go
+4
-3
No files found.
pkg/admission/errors.go
View file @
2699be2e
...
@@ -17,8 +17,8 @@ limitations under the License.
...
@@ -17,8 +17,8 @@ limitations under the License.
package
admission
package
admission
import
(
import
(
"k8s.io/kubernetes/pkg/api"
apierrors
"k8s.io/kubernetes/pkg/api/errors"
apierrors
"k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/meta"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/unversioned"
utilerrors
"k8s.io/kubernetes/pkg/util/errors"
utilerrors
"k8s.io/kubernetes/pkg/util/errors"
)
)
...
@@ -28,16 +28,16 @@ func extractResourceName(a Attributes) (name string, resource unversioned.GroupR
...
@@ -28,16 +28,16 @@ func extractResourceName(a Attributes) (name string, resource unversioned.GroupR
resource
=
a
.
GetResource
()
resource
=
a
.
GetResource
()
obj
:=
a
.
GetObject
()
obj
:=
a
.
GetObject
()
if
obj
!=
nil
{
if
obj
!=
nil
{
objectMeta
,
err
:=
api
.
ObjectMetaF
or
(
obj
)
accessor
,
err
:=
meta
.
Access
or
(
obj
)
if
err
!=
nil
{
if
err
!=
nil
{
return
""
,
unversioned
.
GroupResource
{},
err
return
""
,
unversioned
.
GroupResource
{},
err
}
}
// this is necessary because name object name generation has not occurred yet
// this is necessary because name object name generation has not occurred yet
if
len
(
objectMeta
.
Name
)
>
0
{
if
len
(
accessor
.
GetName
()
)
>
0
{
name
=
objectMeta
.
Name
name
=
accessor
.
GetName
()
}
else
if
len
(
objectMeta
.
GenerateName
)
>
0
{
}
else
if
len
(
accessor
.
GetGenerateName
()
)
>
0
{
name
=
objectMeta
.
GenerateName
name
=
accessor
.
GetGenerateName
()
}
}
}
}
return
name
,
resource
,
nil
return
name
,
resource
,
nil
...
...
pkg/api/meta.go
View file @
2699be2e
...
@@ -39,6 +39,7 @@ func HasObjectMetaSystemFieldValues(meta *ObjectMeta) bool {
...
@@ -39,6 +39,7 @@ func HasObjectMetaSystemFieldValues(meta *ObjectMeta) bool {
// ObjectMetaFor returns a pointer to a provided object's ObjectMeta.
// ObjectMetaFor returns a pointer to a provided object's ObjectMeta.
// TODO: allow runtime.Unknown to extract this object
// TODO: allow runtime.Unknown to extract this object
// TODO: Remove this function and use meta.Accessor() instead.
func
ObjectMetaFor
(
obj
runtime
.
Object
)
(
*
ObjectMeta
,
error
)
{
func
ObjectMetaFor
(
obj
runtime
.
Object
)
(
*
ObjectMeta
,
error
)
{
v
,
err
:=
conversion
.
EnforcePtr
(
obj
)
v
,
err
:=
conversion
.
EnforcePtr
(
obj
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -64,18 +65,26 @@ func ListMetaFor(obj runtime.Object) (*unversioned.ListMeta, error) {
...
@@ -64,18 +65,26 @@ func ListMetaFor(obj runtime.Object) (*unversioned.ListMeta, error) {
// Namespace implements meta.Object for any object with an ObjectMeta typed field. Allows
// Namespace implements meta.Object for any object with an ObjectMeta typed field. Allows
// fast, direct access to metadata fields for API objects.
// fast, direct access to metadata fields for API objects.
func
(
meta
*
ObjectMeta
)
GetNamespace
()
string
{
return
meta
.
Namespace
}
func
(
meta
*
ObjectMeta
)
GetNamespace
()
string
{
return
meta
.
Namespace
}
func
(
meta
*
ObjectMeta
)
SetNamespace
(
namespace
string
)
{
meta
.
Namespace
=
namespace
}
func
(
meta
*
ObjectMeta
)
SetNamespace
(
namespace
string
)
{
meta
.
Namespace
=
namespace
}
func
(
meta
*
ObjectMeta
)
GetName
()
string
{
return
meta
.
Name
}
func
(
meta
*
ObjectMeta
)
GetName
()
string
{
return
meta
.
Name
}
func
(
meta
*
ObjectMeta
)
SetName
(
name
string
)
{
meta
.
Name
=
name
}
func
(
meta
*
ObjectMeta
)
SetName
(
name
string
)
{
meta
.
Name
=
name
}
func
(
meta
*
ObjectMeta
)
GetGenerateName
()
string
{
return
meta
.
GenerateName
}
func
(
meta
*
ObjectMeta
)
GetGenerateName
()
string
{
return
meta
.
GenerateName
}
func
(
meta
*
ObjectMeta
)
SetGenerateName
(
generateName
string
)
{
meta
.
GenerateName
=
generateName
}
func
(
meta
*
ObjectMeta
)
SetGenerateName
(
generateName
string
)
{
meta
.
GenerateName
=
generateName
}
func
(
meta
*
ObjectMeta
)
GetUID
()
types
.
UID
{
return
meta
.
UID
}
func
(
meta
*
ObjectMeta
)
GetUID
()
types
.
UID
{
return
meta
.
UID
}
func
(
meta
*
ObjectMeta
)
SetUID
(
uid
types
.
UID
)
{
meta
.
UID
=
uid
}
func
(
meta
*
ObjectMeta
)
SetUID
(
uid
types
.
UID
)
{
meta
.
UID
=
uid
}
func
(
meta
*
ObjectMeta
)
GetResourceVersion
()
string
{
return
meta
.
ResourceVersion
}
func
(
meta
*
ObjectMeta
)
GetResourceVersion
()
string
{
return
meta
.
ResourceVersion
}
func
(
meta
*
ObjectMeta
)
SetResourceVersion
(
version
string
)
{
meta
.
ResourceVersion
=
version
}
func
(
meta
*
ObjectMeta
)
SetResourceVersion
(
version
string
)
{
meta
.
ResourceVersion
=
version
}
func
(
meta
*
ObjectMeta
)
GetSelfLink
()
string
{
return
meta
.
SelfLink
}
func
(
meta
*
ObjectMeta
)
GetSelfLink
()
string
{
return
meta
.
SelfLink
}
func
(
meta
*
ObjectMeta
)
SetSelfLink
(
selfLink
string
)
{
meta
.
SelfLink
=
selfLink
}
func
(
meta
*
ObjectMeta
)
SetSelfLink
(
selfLink
string
)
{
meta
.
SelfLink
=
selfLink
}
func
(
meta
*
ObjectMeta
)
GetCreationTimestamp
()
unversioned
.
Time
{
return
meta
.
CreationTimestamp
}
func
(
meta
*
ObjectMeta
)
SetCreationTimestamp
(
creationTimestamp
unversioned
.
Time
)
{
meta
.
CreationTimestamp
=
creationTimestamp
}
func
(
meta
*
ObjectMeta
)
GetDeletionTimestamp
()
*
unversioned
.
Time
{
return
meta
.
DeletionTimestamp
}
func
(
meta
*
ObjectMeta
)
SetDeletionTimestamp
(
deletionTimestamp
*
unversioned
.
Time
)
{
meta
.
DeletionTimestamp
=
deletionTimestamp
}
func
(
meta
*
ObjectMeta
)
GetLabels
()
map
[
string
]
string
{
return
meta
.
Labels
}
func
(
meta
*
ObjectMeta
)
GetLabels
()
map
[
string
]
string
{
return
meta
.
Labels
}
func
(
meta
*
ObjectMeta
)
SetLabels
(
labels
map
[
string
]
string
)
{
meta
.
Labels
=
labels
}
func
(
meta
*
ObjectMeta
)
SetLabels
(
labels
map
[
string
]
string
)
{
meta
.
Labels
=
labels
}
func
(
meta
*
ObjectMeta
)
GetAnnotations
()
map
[
string
]
string
{
return
meta
.
Annotations
}
func
(
meta
*
ObjectMeta
)
GetAnnotations
()
map
[
string
]
string
{
return
meta
.
Annotations
}
...
...
pkg/api/meta/interfaces.go
View file @
2699be2e
...
@@ -49,6 +49,10 @@ type Object interface {
...
@@ -49,6 +49,10 @@ type Object interface {
SetResourceVersion
(
version
string
)
SetResourceVersion
(
version
string
)
GetSelfLink
()
string
GetSelfLink
()
string
SetSelfLink
(
selfLink
string
)
SetSelfLink
(
selfLink
string
)
GetCreationTimestamp
()
unversioned
.
Time
SetCreationTimestamp
(
timestamp
unversioned
.
Time
)
GetDeletionTimestamp
()
*
unversioned
.
Time
SetDeletionTimestamp
(
timestamp
*
unversioned
.
Time
)
GetLabels
()
map
[
string
]
string
GetLabels
()
map
[
string
]
string
SetLabels
(
labels
map
[
string
]
string
)
SetLabels
(
labels
map
[
string
]
string
)
GetAnnotations
()
map
[
string
]
string
GetAnnotations
()
map
[
string
]
string
...
...
pkg/api/meta/meta.go
View file @
2699be2e
...
@@ -24,6 +24,8 @@ import (
...
@@ -24,6 +24,8 @@ import (
"k8s.io/kubernetes/pkg/conversion"
"k8s.io/kubernetes/pkg/conversion"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/types"
"k8s.io/kubernetes/pkg/types"
"github.com/golang/glog"
)
)
// Accessor takes an arbitrary object pointer and returns meta.Interface.
// Accessor takes an arbitrary object pointer and returns meta.Interface.
...
@@ -40,6 +42,8 @@ func Accessor(obj interface{}) (Object, error) {
...
@@ -40,6 +42,8 @@ func Accessor(obj interface{}) (Object, error) {
if
oi
,
ok
:=
obj
.
(
Object
);
ok
{
if
oi
,
ok
:=
obj
.
(
Object
);
ok
{
return
oi
,
nil
return
oi
,
nil
}
}
glog
.
V
(
4
)
.
Infof
(
"Calling Accessor on non-internal object: %v"
,
reflect
.
TypeOf
(
obj
))
// legacy path for objects that do not implement Object and ObjectMetaAccessor via
// legacy path for objects that do not implement Object and ObjectMetaAccessor via
// reflection - very slow code path.
// reflection - very slow code path.
v
,
err
:=
conversion
.
EnforcePtr
(
obj
)
v
,
err
:=
conversion
.
EnforcePtr
(
obj
)
...
@@ -321,16 +325,18 @@ func (resourceAccessor) SetResourceVersion(obj runtime.Object, version string) e
...
@@ -321,16 +325,18 @@ func (resourceAccessor) SetResourceVersion(obj runtime.Object, version string) e
// genericAccessor contains pointers to strings that can modify an arbitrary
// genericAccessor contains pointers to strings that can modify an arbitrary
// struct and implements the Accessor interface.
// struct and implements the Accessor interface.
type
genericAccessor
struct
{
type
genericAccessor
struct
{
namespace
*
string
namespace
*
string
name
*
string
name
*
string
generateName
*
string
generateName
*
string
uid
*
types
.
UID
uid
*
types
.
UID
apiVersion
*
string
apiVersion
*
string
kind
*
string
kind
*
string
resourceVersion
*
string
resourceVersion
*
string
selfLink
*
string
selfLink
*
string
labels
*
map
[
string
]
string
creationTimestamp
*
unversioned
.
Time
annotations
*
map
[
string
]
string
deletionTimestamp
**
unversioned
.
Time
labels
*
map
[
string
]
string
annotations
*
map
[
string
]
string
}
}
func
(
a
genericAccessor
)
GetNamespace
()
string
{
func
(
a
genericAccessor
)
GetNamespace
()
string
{
...
@@ -421,6 +427,22 @@ func (a genericAccessor) SetSelfLink(selfLink string) {
...
@@ -421,6 +427,22 @@ func (a genericAccessor) SetSelfLink(selfLink string) {
*
a
.
selfLink
=
selfLink
*
a
.
selfLink
=
selfLink
}
}
func
(
a
genericAccessor
)
GetCreationTimestamp
()
unversioned
.
Time
{
return
*
a
.
creationTimestamp
}
func
(
a
genericAccessor
)
SetCreationTimestamp
(
timestamp
unversioned
.
Time
)
{
*
a
.
creationTimestamp
=
timestamp
}
func
(
a
genericAccessor
)
GetDeletionTimestamp
()
*
unversioned
.
Time
{
return
*
a
.
deletionTimestamp
}
func
(
a
genericAccessor
)
SetDeletionTimestamp
(
timestamp
*
unversioned
.
Time
)
{
*
a
.
deletionTimestamp
=
timestamp
}
func
(
a
genericAccessor
)
GetLabels
()
map
[
string
]
string
{
func
(
a
genericAccessor
)
GetLabels
()
map
[
string
]
string
{
if
a
.
labels
==
nil
{
if
a
.
labels
==
nil
{
return
nil
return
nil
...
...
pkg/client/testing/core/fixture.go
View file @
2699be2e
...
@@ -22,7 +22,6 @@ import (
...
@@ -22,7 +22,6 @@ import (
"reflect"
"reflect"
"strings"
"strings"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/meta"
"k8s.io/kubernetes/pkg/api/meta"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/unversioned"
...
@@ -79,19 +78,19 @@ func ObjectReaction(o ObjectRetriever, mapper meta.RESTMapper) ReactionFunc {
...
@@ -79,19 +78,19 @@ func ObjectReaction(o ObjectRetriever, mapper meta.RESTMapper) ReactionFunc {
return
true
,
resource
,
err
return
true
,
resource
,
err
case
CreateAction
:
case
CreateAction
:
meta
,
err
:=
api
.
ObjectMetaF
or
(
castAction
.
GetObject
())
accessor
,
err
:=
meta
.
Access
or
(
castAction
.
GetObject
())
if
err
!=
nil
{
if
err
!=
nil
{
return
true
,
nil
,
err
return
true
,
nil
,
err
}
}
resource
,
err
:=
o
.
Kind
(
kind
,
meta
.
Name
)
resource
,
err
:=
o
.
Kind
(
kind
,
accessor
.
GetName
()
)
return
true
,
resource
,
err
return
true
,
resource
,
err
case
UpdateAction
:
case
UpdateAction
:
meta
,
err
:=
api
.
ObjectMetaF
or
(
castAction
.
GetObject
())
accessor
,
err
:=
meta
.
Access
or
(
castAction
.
GetObject
())
if
err
!=
nil
{
if
err
!=
nil
{
return
true
,
nil
,
err
return
true
,
nil
,
err
}
}
resource
,
err
:=
o
.
Kind
(
kind
,
meta
.
Name
)
resource
,
err
:=
o
.
Kind
(
kind
,
accessor
.
GetName
()
)
return
true
,
resource
,
err
return
true
,
resource
,
err
default
:
default
:
...
...
pkg/client/unversioned/testclient/fixture.go
View file @
2699be2e
...
@@ -22,7 +22,6 @@ import (
...
@@ -22,7 +22,6 @@ import (
"reflect"
"reflect"
"strings"
"strings"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/meta"
"k8s.io/kubernetes/pkg/api/meta"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/unversioned"
...
@@ -80,19 +79,19 @@ func ObjectReaction(o ObjectRetriever, mapper meta.RESTMapper) ReactionFunc {
...
@@ -80,19 +79,19 @@ func ObjectReaction(o ObjectRetriever, mapper meta.RESTMapper) ReactionFunc {
return
true
,
resource
,
err
return
true
,
resource
,
err
case
CreateAction
:
case
CreateAction
:
meta
,
err
:=
api
.
ObjectMetaF
or
(
castAction
.
GetObject
())
accessor
,
err
:=
meta
.
Access
or
(
castAction
.
GetObject
())
if
err
!=
nil
{
if
err
!=
nil
{
return
true
,
nil
,
err
return
true
,
nil
,
err
}
}
resource
,
err
:=
o
.
Kind
(
kind
,
meta
.
Name
)
resource
,
err
:=
o
.
Kind
(
kind
,
accessor
.
GetName
()
)
return
true
,
resource
,
err
return
true
,
resource
,
err
case
UpdateAction
:
case
UpdateAction
:
meta
,
err
:=
api
.
ObjectMetaF
or
(
castAction
.
GetObject
())
accessor
,
err
:=
meta
.
Access
or
(
castAction
.
GetObject
())
if
err
!=
nil
{
if
err
!=
nil
{
return
true
,
nil
,
err
return
true
,
nil
,
err
}
}
resource
,
err
:=
o
.
Kind
(
kind
,
meta
.
Name
)
resource
,
err
:=
o
.
Kind
(
kind
,
accessor
.
GetName
()
)
return
true
,
resource
,
err
return
true
,
resource
,
err
default
:
default
:
...
...
pkg/controller/controller_utils.go
View file @
2699be2e
...
@@ -24,6 +24,7 @@ import (
...
@@ -24,6 +24,7 @@ import (
"github.com/golang/glog"
"github.com/golang/glog"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/meta"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/validation"
"k8s.io/kubernetes/pkg/api/validation"
"k8s.io/kubernetes/pkg/apis/extensions"
"k8s.io/kubernetes/pkg/apis/extensions"
...
@@ -418,11 +419,11 @@ func (r RealPodControl) createPods(nodeName, namespace string, template *api.Pod
...
@@ -418,11 +419,11 @@ func (r RealPodControl) createPods(nodeName, namespace string, template *api.Pod
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
meta
,
err
:=
api
.
ObjectMetaF
or
(
object
)
accessor
,
err
:=
meta
.
Access
or
(
object
)
if
err
!=
nil
{
if
err
!=
nil
{
return
fmt
.
Errorf
(
"object does not have ObjectMeta, %v"
,
err
)
return
fmt
.
Errorf
(
"object does not have ObjectMeta, %v"
,
err
)
}
}
prefix
:=
getPodsPrefix
(
meta
.
Name
)
prefix
:=
getPodsPrefix
(
accessor
.
GetName
()
)
pod
:=
&
api
.
Pod
{
pod
:=
&
api
.
Pod
{
ObjectMeta
:
api
.
ObjectMeta
{
ObjectMeta
:
api
.
ObjectMeta
{
...
@@ -444,14 +445,14 @@ func (r RealPodControl) createPods(nodeName, namespace string, template *api.Pod
...
@@ -444,14 +445,14 @@ func (r RealPodControl) createPods(nodeName, namespace string, template *api.Pod
r
.
Recorder
.
Eventf
(
object
,
api
.
EventTypeWarning
,
"FailedCreate"
,
"Error creating: %v"
,
err
)
r
.
Recorder
.
Eventf
(
object
,
api
.
EventTypeWarning
,
"FailedCreate"
,
"Error creating: %v"
,
err
)
return
fmt
.
Errorf
(
"unable to create pods: %v"
,
err
)
return
fmt
.
Errorf
(
"unable to create pods: %v"
,
err
)
}
else
{
}
else
{
glog
.
V
(
4
)
.
Infof
(
"Controller %v created pod %v"
,
meta
.
Name
,
newPod
.
Name
)
glog
.
V
(
4
)
.
Infof
(
"Controller %v created pod %v"
,
accessor
.
GetName
()
,
newPod
.
Name
)
r
.
Recorder
.
Eventf
(
object
,
api
.
EventTypeNormal
,
"SuccessfulCreate"
,
"Created pod: %v"
,
newPod
.
Name
)
r
.
Recorder
.
Eventf
(
object
,
api
.
EventTypeNormal
,
"SuccessfulCreate"
,
"Created pod: %v"
,
newPod
.
Name
)
}
}
return
nil
return
nil
}
}
func
(
r
RealPodControl
)
DeletePod
(
namespace
string
,
podID
string
,
object
runtime
.
Object
)
error
{
func
(
r
RealPodControl
)
DeletePod
(
namespace
string
,
podID
string
,
object
runtime
.
Object
)
error
{
meta
,
err
:=
api
.
ObjectMetaF
or
(
object
)
accessor
,
err
:=
meta
.
Access
or
(
object
)
if
err
!=
nil
{
if
err
!=
nil
{
return
fmt
.
Errorf
(
"object does not have ObjectMeta, %v"
,
err
)
return
fmt
.
Errorf
(
"object does not have ObjectMeta, %v"
,
err
)
}
}
...
@@ -459,7 +460,7 @@ func (r RealPodControl) DeletePod(namespace string, podID string, object runtime
...
@@ -459,7 +460,7 @@ func (r RealPodControl) DeletePod(namespace string, podID string, object runtime
r
.
Recorder
.
Eventf
(
object
,
api
.
EventTypeWarning
,
"FailedDelete"
,
"Error deleting: %v"
,
err
)
r
.
Recorder
.
Eventf
(
object
,
api
.
EventTypeWarning
,
"FailedDelete"
,
"Error deleting: %v"
,
err
)
return
fmt
.
Errorf
(
"unable to delete pods: %v"
,
err
)
return
fmt
.
Errorf
(
"unable to delete pods: %v"
,
err
)
}
else
{
}
else
{
glog
.
V
(
4
)
.
Infof
(
"Controller %v deleted pod %v"
,
meta
.
Name
,
podID
)
glog
.
V
(
4
)
.
Infof
(
"Controller %v deleted pod %v"
,
accessor
.
GetName
()
,
podID
)
r
.
Recorder
.
Eventf
(
object
,
api
.
EventTypeNormal
,
"SuccessfulDelete"
,
"Deleted pod: %v"
,
podID
)
r
.
Recorder
.
Eventf
(
object
,
api
.
EventTypeNormal
,
"SuccessfulDelete"
,
"Deleted pod: %v"
,
podID
)
}
}
return
nil
return
nil
...
...
pkg/controller/framework/fake_controller_source.go
View file @
2699be2e
...
@@ -89,8 +89,8 @@ func (f *FakeControllerSource) DeleteDropWatch(lastValue runtime.Object) {
...
@@ -89,8 +89,8 @@ func (f *FakeControllerSource) DeleteDropWatch(lastValue runtime.Object) {
f
.
Change
(
watch
.
Event
{
Type
:
watch
.
Deleted
,
Object
:
lastValue
},
0
)
f
.
Change
(
watch
.
Event
{
Type
:
watch
.
Deleted
,
Object
:
lastValue
},
0
)
}
}
func
(
f
*
FakeControllerSource
)
key
(
meta
*
api
.
ObjectMeta
)
nnu
{
func
(
f
*
FakeControllerSource
)
key
(
accessor
meta
.
Object
)
nnu
{
return
nnu
{
meta
.
Namespace
,
meta
.
Name
,
meta
.
UID
}
return
nnu
{
accessor
.
GetNamespace
(),
accessor
.
GetName
(),
accessor
.
GetUID
()
}
}
}
// Change records the given event (setting the object's resource version) and
// Change records the given event (setting the object's resource version) and
...
@@ -99,15 +99,15 @@ func (f *FakeControllerSource) Change(e watch.Event, watchProbability float64) {
...
@@ -99,15 +99,15 @@ func (f *FakeControllerSource) Change(e watch.Event, watchProbability float64) {
f
.
lock
.
Lock
()
f
.
lock
.
Lock
()
defer
f
.
lock
.
Unlock
()
defer
f
.
lock
.
Unlock
()
objMeta
,
err
:=
api
.
ObjectMetaF
or
(
e
.
Object
)
accessor
,
err
:=
meta
.
Access
or
(
e
.
Object
)
if
err
!=
nil
{
if
err
!=
nil
{
panic
(
err
)
// this is test code only
panic
(
err
)
// this is test code only
}
}
resourceVersion
:=
len
(
f
.
changes
)
+
1
resourceVersion
:=
len
(
f
.
changes
)
+
1
objMeta
.
ResourceVersion
=
strconv
.
Itoa
(
resourceVersion
)
accessor
.
SetResourceVersion
(
strconv
.
Itoa
(
resourceVersion
)
)
f
.
changes
=
append
(
f
.
changes
,
e
)
f
.
changes
=
append
(
f
.
changes
,
e
)
key
:=
f
.
key
(
objMeta
)
key
:=
f
.
key
(
accessor
)
switch
e
.
Type
{
switch
e
.
Type
{
case
watch
.
Added
,
watch
.
Modified
:
case
watch
.
Added
,
watch
.
Modified
:
f
.
items
[
key
]
=
e
.
Object
f
.
items
[
key
]
=
e
.
Object
...
...
pkg/kubectl/cmd/annotate.go
View file @
2699be2e
...
@@ -26,6 +26,7 @@ import (
...
@@ -26,6 +26,7 @@ import (
"github.com/golang/glog"
"github.com/golang/glog"
"github.com/spf13/cobra"
"github.com/spf13/cobra"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/meta"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/resource"
"k8s.io/kubernetes/pkg/kubectl/resource"
...
@@ -307,14 +308,14 @@ func validateAnnotations(removeAnnotations []string, newAnnotations map[string]s
...
@@ -307,14 +308,14 @@ func validateAnnotations(removeAnnotations []string, newAnnotations map[string]s
}
}
// validateNoAnnotationOverwrites validates that when overwrite is false, to-be-updated annotations don't exist in the object annotation map (yet)
// validateNoAnnotationOverwrites validates that when overwrite is false, to-be-updated annotations don't exist in the object annotation map (yet)
func
validateNoAnnotationOverwrites
(
meta
*
api
.
ObjectMeta
,
annotations
map
[
string
]
string
)
error
{
func
validateNoAnnotationOverwrites
(
accessor
meta
.
Object
,
annotations
map
[
string
]
string
)
error
{
var
buf
bytes
.
Buffer
var
buf
bytes
.
Buffer
for
key
:=
range
annotations
{
for
key
:=
range
annotations
{
// change-cause annotation can always be overwritten
// change-cause annotation can always be overwritten
if
key
==
kubectl
.
ChangeCauseAnnotation
{
if
key
==
kubectl
.
ChangeCauseAnnotation
{
continue
continue
}
}
if
value
,
found
:=
meta
.
Annotations
[
key
];
found
{
if
value
,
found
:=
accessor
.
GetAnnotations
()
[
key
];
found
{
if
buf
.
Len
()
>
0
{
if
buf
.
Len
()
>
0
{
buf
.
WriteString
(
"; "
)
buf
.
WriteString
(
"; "
)
}
}
...
@@ -329,29 +330,31 @@ func validateNoAnnotationOverwrites(meta *api.ObjectMeta, annotations map[string
...
@@ -329,29 +330,31 @@ func validateNoAnnotationOverwrites(meta *api.ObjectMeta, annotations map[string
// updateAnnotations updates annotations of obj
// updateAnnotations updates annotations of obj
func
(
o
AnnotateOptions
)
updateAnnotations
(
obj
runtime
.
Object
)
error
{
func
(
o
AnnotateOptions
)
updateAnnotations
(
obj
runtime
.
Object
)
error
{
meta
,
err
:=
api
.
ObjectMetaF
or
(
obj
)
accessor
,
err
:=
meta
.
Access
or
(
obj
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
if
!
o
.
overwrite
{
if
!
o
.
overwrite
{
if
err
:=
validateNoAnnotationOverwrites
(
meta
,
o
.
newAnnotations
);
err
!=
nil
{
if
err
:=
validateNoAnnotationOverwrites
(
accessor
,
o
.
newAnnotations
);
err
!=
nil
{
return
err
return
err
}
}
}
}
if
meta
.
Annotations
==
nil
{
annotations
:=
accessor
.
GetAnnotations
()
meta
.
Annotations
=
make
(
map
[
string
]
string
)
if
annotations
==
nil
{
annotations
=
make
(
map
[
string
]
string
)
}
}
for
key
,
value
:=
range
o
.
newAnnotations
{
for
key
,
value
:=
range
o
.
newAnnotations
{
meta
.
A
nnotations
[
key
]
=
value
a
nnotations
[
key
]
=
value
}
}
for
_
,
annotation
:=
range
o
.
removeAnnotations
{
for
_
,
annotation
:=
range
o
.
removeAnnotations
{
delete
(
meta
.
A
nnotations
,
annotation
)
delete
(
a
nnotations
,
annotation
)
}
}
accessor
.
SetAnnotations
(
annotations
)
if
len
(
o
.
resourceVersion
)
!=
0
{
if
len
(
o
.
resourceVersion
)
!=
0
{
meta
.
ResourceVersion
=
o
.
resourceVersion
accessor
.
SetResourceVersion
(
o
.
resourceVersion
)
}
}
return
nil
return
nil
}
}
pkg/kubectl/cmd/apply_test.go
View file @
2699be2e
...
@@ -28,6 +28,7 @@ import (
...
@@ -28,6 +28,7 @@ import (
"github.com/spf13/cobra"
"github.com/spf13/cobra"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/meta"
"k8s.io/kubernetes/pkg/client/unversioned/fake"
"k8s.io/kubernetes/pkg/client/unversioned/fake"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
...
@@ -94,33 +95,36 @@ func readServiceFromFile(t *testing.T, filename string) *api.Service {
...
@@ -94,33 +95,36 @@ func readServiceFromFile(t *testing.T, filename string) *api.Service {
}
}
func
annotateRuntimeObject
(
t
*
testing
.
T
,
originalObj
,
currentObj
runtime
.
Object
,
kind
string
)
(
string
,
[]
byte
)
{
func
annotateRuntimeObject
(
t
*
testing
.
T
,
originalObj
,
currentObj
runtime
.
Object
,
kind
string
)
(
string
,
[]
byte
)
{
original
Meta
,
err
:=
api
.
ObjectMetaF
or
(
originalObj
)
original
Accessor
,
err
:=
meta
.
Access
or
(
originalObj
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatal
(
err
)
t
.
Fatal
(
err
)
}
}
originalMeta
.
Labels
[
"DELETE_ME"
]
=
"DELETE_ME"
originalLabels
:=
originalAccessor
.
GetLabels
()
originalLabels
[
"DELETE_ME"
]
=
"DELETE_ME"
originalAccessor
.
SetLabels
(
originalLabels
)
original
,
err
:=
json
.
Marshal
(
originalObj
)
original
,
err
:=
json
.
Marshal
(
originalObj
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatal
(
err
)
t
.
Fatal
(
err
)
}
}
current
Meta
,
err
:=
api
.
ObjectMetaF
or
(
currentObj
)
current
Accessor
,
err
:=
meta
.
Access
or
(
currentObj
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatal
(
err
)
t
.
Fatal
(
err
)
}
}
if
currentMeta
.
Annotations
==
nil
{
currentAnnotations
:=
currentAccessor
.
GetAnnotations
()
currentMeta
.
Annotations
=
map
[
string
]
string
{}
if
currentAnnotations
==
nil
{
currentAnnotations
=
make
(
map
[
string
]
string
)
}
}
currentAnnotations
[
kubectl
.
LastAppliedConfigAnnotation
]
=
string
(
original
)
current
Meta
.
Annotations
[
kubectl
.
LastAppliedConfigAnnotation
]
=
string
(
original
)
current
Accessor
.
SetAnnotations
(
currentAnnotations
)
current
,
err
:=
json
.
Marshal
(
currentObj
)
current
,
err
:=
json
.
Marshal
(
currentObj
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatal
(
err
)
t
.
Fatal
(
err
)
}
}
return
current
Meta
.
Name
,
current
return
current
Accessor
.
GetName
()
,
current
}
}
func
readAndAnnotateReplicationController
(
t
*
testing
.
T
,
filename
string
)
(
string
,
[]
byte
)
{
func
readAndAnnotateReplicationController
(
t
*
testing
.
T
,
filename
string
)
(
string
,
[]
byte
)
{
...
...
pkg/kubectl/cmd/label.go
View file @
2699be2e
...
@@ -26,6 +26,7 @@ import (
...
@@ -26,6 +26,7 @@ import (
"github.com/golang/glog"
"github.com/golang/glog"
"github.com/spf13/cobra"
"github.com/spf13/cobra"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/meta"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/resource"
"k8s.io/kubernetes/pkg/kubectl/resource"
...
@@ -104,10 +105,10 @@ func NewCmdLabel(f *cmdutil.Factory, out io.Writer) *cobra.Command {
...
@@ -104,10 +105,10 @@ func NewCmdLabel(f *cmdutil.Factory, out io.Writer) *cobra.Command {
return
cmd
return
cmd
}
}
func
validateNoOverwrites
(
meta
*
api
.
ObjectMeta
,
labels
map
[
string
]
string
)
error
{
func
validateNoOverwrites
(
accessor
meta
.
Object
,
labels
map
[
string
]
string
)
error
{
allErrs
:=
[]
error
{}
allErrs
:=
[]
error
{}
for
key
:=
range
labels
{
for
key
:=
range
labels
{
if
value
,
found
:=
meta
.
Labels
[
key
];
found
{
if
value
,
found
:=
accessor
.
GetLabels
()
[
key
];
found
{
allErrs
=
append
(
allErrs
,
fmt
.
Errorf
(
"'%s' already has a value (%s), and --overwrite is false"
,
key
,
value
))
allErrs
=
append
(
allErrs
,
fmt
.
Errorf
(
"'%s' already has a value (%s), and --overwrite is false"
,
key
,
value
))
}
}
}
}
...
@@ -139,29 +140,31 @@ func parseLabels(spec []string) (map[string]string, []string, error) {
...
@@ -139,29 +140,31 @@ func parseLabels(spec []string) (map[string]string, []string, error) {
}
}
func
labelFunc
(
obj
runtime
.
Object
,
overwrite
bool
,
resourceVersion
string
,
labels
map
[
string
]
string
,
remove
[]
string
)
error
{
func
labelFunc
(
obj
runtime
.
Object
,
overwrite
bool
,
resourceVersion
string
,
labels
map
[
string
]
string
,
remove
[]
string
)
error
{
meta
,
err
:=
api
.
ObjectMetaF
or
(
obj
)
accessor
,
err
:=
meta
.
Access
or
(
obj
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
if
!
overwrite
{
if
!
overwrite
{
if
err
:=
validateNoOverwrites
(
meta
,
labels
);
err
!=
nil
{
if
err
:=
validateNoOverwrites
(
accessor
,
labels
);
err
!=
nil
{
return
err
return
err
}
}
}
}
if
meta
.
Labels
==
nil
{
objLabels
:=
accessor
.
GetLabels
()
meta
.
Labels
=
make
(
map
[
string
]
string
)
if
objLabels
==
nil
{
objLabels
=
make
(
map
[
string
]
string
)
}
}
for
key
,
value
:=
range
labels
{
for
key
,
value
:=
range
labels
{
meta
.
Labels
[
key
]
=
value
obj
Labels
[
key
]
=
value
}
}
for
_
,
label
:=
range
remove
{
for
_
,
label
:=
range
remove
{
delete
(
meta
.
Labels
,
label
)
delete
(
obj
Labels
,
label
)
}
}
accessor
.
SetLabels
(
objLabels
)
if
len
(
resourceVersion
)
!=
0
{
if
len
(
resourceVersion
)
!=
0
{
meta
.
ResourceVersion
=
resourceVersion
accessor
.
SetResourceVersion
(
resourceVersion
)
}
}
return
nil
return
nil
}
}
...
@@ -250,9 +253,12 @@ func RunLabel(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []stri
...
@@ -250,9 +253,12 @@ func RunLabel(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []stri
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
meta
,
err
:=
api
.
ObjectMetaFor
(
obj
)
accessor
,
err
:=
meta
.
Accessor
(
obj
)
if
err
!=
nil
{
return
err
}
for
_
,
label
:=
range
remove
{
for
_
,
label
:=
range
remove
{
if
_
,
ok
:=
meta
.
Labels
[
label
];
!
ok
{
if
_
,
ok
:=
accessor
.
GetLabels
()
[
label
];
!
ok
{
fmt
.
Fprintf
(
out
,
"label %q not found.
\n
"
,
label
)
fmt
.
Fprintf
(
out
,
"label %q not found.
\n
"
,
label
)
}
}
}
}
...
...
pkg/kubectl/cmd/util/helpers.go
View file @
2699be2e
...
@@ -28,7 +28,6 @@ import (
...
@@ -28,7 +28,6 @@ import (
"strings"
"strings"
"time"
"time"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/meta"
"k8s.io/kubernetes/pkg/api/meta"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/unversioned"
...
@@ -473,14 +472,16 @@ func GetRecordFlag(cmd *cobra.Command) bool {
...
@@ -473,14 +472,16 @@ func GetRecordFlag(cmd *cobra.Command) bool {
// RecordChangeCause annotate change-cause to input runtime object.
// RecordChangeCause annotate change-cause to input runtime object.
func
RecordChangeCause
(
obj
runtime
.
Object
,
changeCause
string
)
error
{
func
RecordChangeCause
(
obj
runtime
.
Object
,
changeCause
string
)
error
{
meta
,
err
:=
api
.
ObjectMetaF
or
(
obj
)
accessor
,
err
:=
meta
.
Access
or
(
obj
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
if
meta
.
Annotations
==
nil
{
annotations
:=
accessor
.
GetAnnotations
()
meta
.
Annotations
=
make
(
map
[
string
]
string
)
if
annotations
==
nil
{
annotations
=
make
(
map
[
string
]
string
)
}
}
meta
.
Annotations
[
kubectl
.
ChangeCauseAnnotation
]
=
changeCause
annotations
[
kubectl
.
ChangeCauseAnnotation
]
=
changeCause
accessor
.
SetAnnotations
(
annotations
)
return
nil
return
nil
}
}
...
...
pkg/kubectl/history.go
View file @
2699be2e
...
@@ -23,6 +23,7 @@ import (
...
@@ -23,6 +23,7 @@ import (
"strconv"
"strconv"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/meta"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/apis/extensions"
"k8s.io/kubernetes/pkg/apis/extensions"
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
...
@@ -128,9 +129,9 @@ func PrintRolloutHistory(historyInfo HistoryInfo, resource, name string) (string
...
@@ -128,9 +129,9 @@ func PrintRolloutHistory(historyInfo HistoryInfo, resource, name string) (string
// getChangeCause returns the change-cause annotation of the input object
// getChangeCause returns the change-cause annotation of the input object
func
getChangeCause
(
obj
runtime
.
Object
)
string
{
func
getChangeCause
(
obj
runtime
.
Object
)
string
{
meta
,
err
:=
api
.
ObjectMetaF
or
(
obj
)
accessor
,
err
:=
meta
.
Access
or
(
obj
)
if
err
!=
nil
{
if
err
!=
nil
{
return
""
return
""
}
}
return
meta
.
Annotations
[
ChangeCauseAnnotation
]
return
accessor
.
GetAnnotations
()
[
ChangeCauseAnnotation
]
}
}
pkg/registry/generic/etcd/etcd.go
View file @
2699be2e
...
@@ -643,17 +643,17 @@ func (e *Etcd) calculateTTL(obj runtime.Object, defaultTTL int64, update bool) (
...
@@ -643,17 +643,17 @@ func (e *Etcd) calculateTTL(obj runtime.Object, defaultTTL int64, update bool) (
return
ttl
,
err
return
ttl
,
err
}
}
func
exportObjectMeta
(
objMeta
*
api
.
ObjectMeta
,
exact
bool
)
{
func
exportObjectMeta
(
accessor
meta
.
Object
,
exact
bool
)
{
objMeta
.
UID
=
""
accessor
.
SetUID
(
""
)
if
!
exact
{
if
!
exact
{
objMeta
.
Namespace
=
""
accessor
.
SetNamespace
(
""
)
}
}
objMeta
.
CreationTimestamp
=
unversioned
.
Time
{}
accessor
.
SetCreationTimestamp
(
unversioned
.
Time
{})
objMeta
.
DeletionTimestamp
=
nil
accessor
.
SetDeletionTimestamp
(
nil
)
objMeta
.
ResourceVersion
=
""
accessor
.
SetResourceVersion
(
""
)
objMeta
.
SelfLink
=
""
accessor
.
SetSelfLink
(
""
)
if
len
(
objMeta
.
GenerateName
)
>
0
&&
!
exact
{
if
len
(
accessor
.
GetGenerateName
()
)
>
0
&&
!
exact
{
objMeta
.
Name
=
""
accessor
.
SetName
(
""
)
}
}
}
}
...
@@ -663,8 +663,8 @@ func (e *Etcd) Export(ctx api.Context, name string, opts unversioned.ExportOptio
...
@@ -663,8 +663,8 @@ func (e *Etcd) Export(ctx api.Context, name string, opts unversioned.ExportOptio
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
if
meta
,
err
:=
api
.
ObjectMetaF
or
(
obj
);
err
==
nil
{
if
accessor
,
err
:=
meta
.
Access
or
(
obj
);
err
==
nil
{
exportObjectMeta
(
meta
,
opts
.
Exact
)
exportObjectMeta
(
accessor
,
opts
.
Exact
)
}
else
{
}
else
{
glog
.
V
(
4
)
.
Infof
(
"Object of type %v does not have ObjectMeta: %v"
,
reflect
.
TypeOf
(
obj
),
err
)
glog
.
V
(
4
)
.
Infof
(
"Object of type %v does not have ObjectMeta: %v"
,
reflect
.
TypeOf
(
obj
),
err
)
}
}
...
...
pkg/registry/registrytest/etcd.go
View file @
2699be2e
...
@@ -22,6 +22,7 @@ import (
...
@@ -22,6 +22,7 @@ import (
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/meta"
"k8s.io/kubernetes/pkg/api/rest/resttest"
"k8s.io/kubernetes/pkg/api/rest/resttest"
"k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/fields"
"k8s.io/kubernetes/pkg/fields"
...
@@ -168,12 +169,12 @@ func getCodec(obj runtime.Object) (runtime.Codec, error) {
...
@@ -168,12 +169,12 @@ func getCodec(obj runtime.Object) (runtime.Codec, error) {
// Helper functions
// Helper functions
func
(
t
*
Tester
)
getObject
(
ctx
api
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
func
(
t
*
Tester
)
getObject
(
ctx
api
.
Context
,
obj
runtime
.
Object
)
(
runtime
.
Object
,
error
)
{
meta
,
err
:=
api
.
ObjectMetaF
or
(
obj
)
accessor
,
err
:=
meta
.
Access
or
(
obj
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
result
,
err
:=
t
.
storage
.
Get
(
ctx
,
meta
.
Name
)
result
,
err
:=
t
.
storage
.
Get
(
ctx
,
accessor
.
GetName
()
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
@@ -181,11 +182,11 @@ func (t *Tester) getObject(ctx api.Context, obj runtime.Object) (runtime.Object,
...
@@ -181,11 +182,11 @@ func (t *Tester) getObject(ctx api.Context, obj runtime.Object) (runtime.Object,
}
}
func
(
t
*
Tester
)
setObject
(
ctx
api
.
Context
,
obj
runtime
.
Object
)
error
{
func
(
t
*
Tester
)
setObject
(
ctx
api
.
Context
,
obj
runtime
.
Object
)
error
{
meta
,
err
:=
api
.
ObjectMetaF
or
(
obj
)
accessor
,
err
:=
meta
.
Access
or
(
obj
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
key
,
err
:=
t
.
storage
.
KeyFunc
(
ctx
,
meta
.
Name
)
key
,
err
:=
t
.
storage
.
KeyFunc
(
ctx
,
accessor
.
GetName
()
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
@@ -209,11 +210,11 @@ func (t *Tester) emitObject(obj runtime.Object, action string) error {
...
@@ -209,11 +210,11 @@ func (t *Tester) emitObject(obj runtime.Object, action string) error {
case
etcdstorage
.
EtcdCreate
:
case
etcdstorage
.
EtcdCreate
:
err
=
t
.
setObject
(
ctx
,
obj
)
err
=
t
.
setObject
(
ctx
,
obj
)
case
etcdstorage
.
EtcdDelete
:
case
etcdstorage
.
EtcdDelete
:
meta
,
err
:=
api
.
ObjectMetaF
or
(
obj
)
accessor
,
err
:=
meta
.
Access
or
(
obj
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
_
,
err
=
t
.
storage
.
Delete
(
ctx
,
meta
.
Name
,
nil
)
_
,
err
=
t
.
storage
.
Delete
(
ctx
,
accessor
.
GetName
()
,
nil
)
default
:
default
:
err
=
fmt
.
Errorf
(
"unexpected action: %v"
,
action
)
err
=
fmt
.
Errorf
(
"unexpected action: %v"
,
action
)
}
}
...
...
pkg/storage/etcd/api_object_versioner.go
View file @
2699be2e
...
@@ -21,6 +21,7 @@ import (
...
@@ -21,6 +21,7 @@ import (
"time"
"time"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/meta"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/storage"
"k8s.io/kubernetes/pkg/storage"
...
@@ -32,18 +33,18 @@ type APIObjectVersioner struct{}
...
@@ -32,18 +33,18 @@ type APIObjectVersioner struct{}
// UpdateObject implements Versioner
// UpdateObject implements Versioner
func
(
a
APIObjectVersioner
)
UpdateObject
(
obj
runtime
.
Object
,
expiration
*
time
.
Time
,
resourceVersion
uint64
)
error
{
func
(
a
APIObjectVersioner
)
UpdateObject
(
obj
runtime
.
Object
,
expiration
*
time
.
Time
,
resourceVersion
uint64
)
error
{
objectMeta
,
err
:=
api
.
ObjectMetaF
or
(
obj
)
accessor
,
err
:=
meta
.
Access
or
(
obj
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
if
expiration
!=
nil
{
if
expiration
!=
nil
{
objectMeta
.
DeletionTimestamp
=
&
unversioned
.
Time
{
Time
:
*
expiration
}
accessor
.
SetDeletionTimestamp
(
&
unversioned
.
Time
{
Time
:
*
expiration
})
}
}
versionString
:=
""
versionString
:=
""
if
resourceVersion
!=
0
{
if
resourceVersion
!=
0
{
versionString
=
strconv
.
FormatUint
(
resourceVersion
,
10
)
versionString
=
strconv
.
FormatUint
(
resourceVersion
,
10
)
}
}
objectMeta
.
ResourceVersion
=
versionString
accessor
.
SetResourceVersion
(
versionString
)
return
nil
return
nil
}
}
...
@@ -63,11 +64,11 @@ func (a APIObjectVersioner) UpdateList(obj runtime.Object, resourceVersion uint6
...
@@ -63,11 +64,11 @@ func (a APIObjectVersioner) UpdateList(obj runtime.Object, resourceVersion uint6
// ObjectResourceVersion implements Versioner
// ObjectResourceVersion implements Versioner
func
(
a
APIObjectVersioner
)
ObjectResourceVersion
(
obj
runtime
.
Object
)
(
uint64
,
error
)
{
func
(
a
APIObjectVersioner
)
ObjectResourceVersion
(
obj
runtime
.
Object
)
(
uint64
,
error
)
{
meta
,
err
:=
api
.
ObjectMetaF
or
(
obj
)
accessor
,
err
:=
meta
.
Access
or
(
obj
)
if
err
!=
nil
{
if
err
!=
nil
{
return
0
,
err
return
0
,
err
}
}
version
:=
meta
.
ResourceVersion
version
:=
accessor
.
GetResourceVersion
()
if
len
(
version
)
==
0
{
if
len
(
version
)
==
0
{
return
0
,
nil
return
0
,
nil
}
}
...
...
plugin/pkg/admission/resourcequota/admission.go
View file @
2699be2e
...
@@ -30,6 +30,7 @@ import (
...
@@ -30,6 +30,7 @@ import (
"k8s.io/kubernetes/pkg/admission"
"k8s.io/kubernetes/pkg/admission"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/meta"
"k8s.io/kubernetes/pkg/client/cache"
"k8s.io/kubernetes/pkg/client/cache"
"k8s.io/kubernetes/pkg/quota"
"k8s.io/kubernetes/pkg/quota"
"k8s.io/kubernetes/pkg/quota/install"
"k8s.io/kubernetes/pkg/quota/install"
...
@@ -186,9 +187,9 @@ func (q *quotaAdmission) Admit(a admission.Attributes) (err error) {
...
@@ -186,9 +187,9 @@ func (q *quotaAdmission) Admit(a admission.Attributes) (err error) {
// the resource represents a number of unique references to external
// the resource represents a number of unique references to external
// resource. In such a case an evaluator needs to process other objects in
// resource. In such a case an evaluator needs to process other objects in
// the same namespace which needs to be known.
// the same namespace which needs to be known.
if
om
,
err
:=
api
.
ObjectMetaF
or
(
inputObject
);
namespace
!=
""
&&
err
==
nil
{
if
accessor
,
err
:=
meta
.
Access
or
(
inputObject
);
namespace
!=
""
&&
err
==
nil
{
if
om
.
Namespace
==
""
{
if
accessor
.
GetNamespace
()
==
""
{
om
.
Namespace
=
namespace
accessor
.
SetNamespace
(
namespace
)
}
}
}
}
...
...
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