From 9884142061d380667ac736249c75d1eb9b85decd Mon Sep 17 00:00:00 2001 From: Brendan Burns Date: Mon, 22 Dec 2014 11:04:57 -0800 Subject: [PATCH] Clear node status before the validation check. --- pkg/api/validation/validation.go | 2 ++ pkg/api/validation/validation_test.go | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/pkg/api/validation/validation.go b/pkg/api/validation/validation.go index b0da5402531..26d516c1abe 100644 --- a/pkg/api/validation/validation.go +++ b/pkg/api/validation/validation.go @@ -578,6 +578,8 @@ func ValidateMinionUpdate(oldMinion *api.Node, minion *api.Node) errs.Validation // Allow users to update labels and capacity oldMinion.Labels = minion.Labels oldMinion.Spec.Capacity = minion.Spec.Capacity + // Clear status + oldMinion.Status = minion.Status if !reflect.DeepEqual(oldMinion, minion) { glog.V(4).Infof("Update failed validation %#v vs %#v", oldMinion, minion) diff --git a/pkg/api/validation/validation_test.go b/pkg/api/validation/validation_test.go index 9f986017f7a..b4626f28815 100644 --- a/pkg/api/validation/validation_test.go +++ b/pkg/api/validation/validation_test.go @@ -1236,6 +1236,20 @@ func TestValidateMinionUpdate(t *testing.T) { HostIP: "1.2.3.4", }, }, false}, + {api.Node{ + ObjectMeta: api.ObjectMeta{ + Name: "foo", + Labels: map[string]string{"bar": "foo"}, + }, + Status: api.NodeStatus{ + HostIP: "1.2.3.4", + }, + }, api.Node{ + ObjectMeta: api.ObjectMeta{ + Name: "foo", + Labels: map[string]string{"bar": "fooobaz"}, + }, + }, true}, } for _, test := range tests { errs := ValidateMinionUpdate(&test.oldMinion, &test.minion)