diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json index fddabcfb7..417ef9fcd 100644 --- a/api/openapi-spec/swagger.json +++ b/api/openapi-spec/swagger.json @@ -17843,7 +17843,6 @@ "properties": { "creationTimestamp": { "description": "CreationTimestamp is a timestamp representing the server time when this object was created. Clients should not set this value to avoid the time inconsistency issue. It is represented in RFC3339 form(like '2021-04-25T10:02:10Z') and is in UTC.\n\nPopulated by the system. Read-only.", - "default": {}, "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" }, "fromCluster": { diff --git a/pkg/apis/work/v1alpha2/binding_types.go b/pkg/apis/work/v1alpha2/binding_types.go index 554218f11..41cdf2f8b 100644 --- a/pkg/apis/work/v1alpha2/binding_types.go +++ b/pkg/apis/work/v1alpha2/binding_types.go @@ -256,7 +256,7 @@ type GracefulEvictionTask struct { // // Populated by the system. Read-only. // +optional - CreationTimestamp metav1.Time `json:"creationTimestamp,omitempty"` + CreationTimestamp *metav1.Time `json:"creationTimestamp,omitempty"` } // BindingSnapshot is a snapshot of a ResourceBinding or ClusterResourceBinding. diff --git a/pkg/apis/work/v1alpha2/zz_generated.deepcopy.go b/pkg/apis/work/v1alpha2/zz_generated.deepcopy.go index c660e283e..0a05f8f7a 100644 --- a/pkg/apis/work/v1alpha2/zz_generated.deepcopy.go +++ b/pkg/apis/work/v1alpha2/zz_generated.deepcopy.go @@ -149,7 +149,10 @@ func (in *GracefulEvictionTask) DeepCopyInto(out *GracefulEvictionTask) { *out = new(bool) **out = **in } - in.CreationTimestamp.DeepCopyInto(&out.CreationTimestamp) + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = (*in).DeepCopy() + } return } diff --git a/pkg/controllers/gracefuleviction/evictiontask.go b/pkg/controllers/gracefuleviction/evictiontask.go index 877584590..eaae355e9 100644 --- a/pkg/controllers/gracefuleviction/evictiontask.go +++ b/pkg/controllers/gracefuleviction/evictiontask.go @@ -44,7 +44,7 @@ func assessEvictionTasks(bindingSpec workv1alpha2.ResourceBindingSpec, for _, task := range bindingSpec.GracefulEvictionTasks { // set creation timestamp for new task if task.CreationTimestamp.IsZero() { - task.CreationTimestamp = now + task.CreationTimestamp = &now keptTasks = append(keptTasks, task) continue } diff --git a/pkg/controllers/gracefuleviction/evictiontask_test.go b/pkg/controllers/gracefuleviction/evictiontask_test.go index dcc7dd050..2e241363f 100644 --- a/pkg/controllers/gracefuleviction/evictiontask_test.go +++ b/pkg/controllers/gracefuleviction/evictiontask_test.go @@ -45,7 +45,7 @@ func Test_assessSingleTask(t *testing.T) { args: args{ task: workv1alpha2.GracefulEvictionTask{ FromCluster: "member1", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -1)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -1)}, }, opt: assessmentOption{ timeout: timeout, @@ -56,7 +56,7 @@ func Test_assessSingleTask(t *testing.T) { }, want: &workv1alpha2.GracefulEvictionTask{ FromCluster: "member1", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -1)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -1)}, }, }, { @@ -64,7 +64,7 @@ func Test_assessSingleTask(t *testing.T) { args: args{ task: workv1alpha2.GracefulEvictionTask{ FromCluster: "member1", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -4)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -4)}, }, opt: assessmentOption{ timeout: timeout, @@ -80,7 +80,7 @@ func Test_assessSingleTask(t *testing.T) { args: args{ task: workv1alpha2.GracefulEvictionTask{ FromCluster: "member1", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -1)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -1)}, }, opt: assessmentOption{ timeout: timeout, @@ -99,7 +99,7 @@ func Test_assessSingleTask(t *testing.T) { args: args{ task: workv1alpha2.GracefulEvictionTask{ FromCluster: "member1", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -1)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -1)}, }, opt: assessmentOption{ timeout: timeout, @@ -113,7 +113,7 @@ func Test_assessSingleTask(t *testing.T) { }, want: &workv1alpha2.GracefulEvictionTask{ FromCluster: "member1", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -1)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -1)}, }, }, { @@ -121,7 +121,7 @@ func Test_assessSingleTask(t *testing.T) { args: args{ task: workv1alpha2.GracefulEvictionTask{ FromCluster: "member1", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -1)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -1)}, }, opt: assessmentOption{ timeout: timeout, @@ -135,7 +135,7 @@ func Test_assessSingleTask(t *testing.T) { }, want: &workv1alpha2.GracefulEvictionTask{ FromCluster: "member1", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -1)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -1)}, }, }, { @@ -144,7 +144,7 @@ func Test_assessSingleTask(t *testing.T) { task: workv1alpha2.GracefulEvictionTask{ FromCluster: "member1", GracePeriodSeconds: pointer.Int32(30), - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -1)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -1)}, }, opt: assessmentOption{ timeout: timeout, @@ -164,7 +164,7 @@ func Test_assessSingleTask(t *testing.T) { task: workv1alpha2.GracefulEvictionTask{ FromCluster: "member1", GracePeriodSeconds: pointer.Int32(120), - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -1)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -1)}, }, opt: assessmentOption{ timeout: timeout, @@ -179,7 +179,7 @@ func Test_assessSingleTask(t *testing.T) { want: &workv1alpha2.GracefulEvictionTask{ FromCluster: "member1", GracePeriodSeconds: pointer.Int32(120), - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -1)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -1)}, }, }, { @@ -188,7 +188,7 @@ func Test_assessSingleTask(t *testing.T) { task: workv1alpha2.GracefulEvictionTask{ FromCluster: "member1", SuppressDeletion: pointer.Bool(true), - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -1)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -1)}, }, opt: assessmentOption{ timeout: timeout, @@ -203,7 +203,7 @@ func Test_assessSingleTask(t *testing.T) { want: &workv1alpha2.GracefulEvictionTask{ FromCluster: "member1", SuppressDeletion: pointer.Bool(true), - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -1)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -1)}, }, }, { @@ -212,7 +212,7 @@ func Test_assessSingleTask(t *testing.T) { task: workv1alpha2.GracefulEvictionTask{ FromCluster: "member1", SuppressDeletion: pointer.Bool(false), - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -1)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -1)}, }, opt: assessmentOption{ timeout: timeout, @@ -271,11 +271,11 @@ func Test_assessEvictionTasks(t *testing.T) { wantTask: []workv1alpha2.GracefulEvictionTask{ { FromCluster: "member1", - CreationTimestamp: timeNow, + CreationTimestamp: &timeNow, }, { FromCluster: "member2", - CreationTimestamp: timeNow, + CreationTimestamp: &timeNow, }, }, wantCluster: nil, @@ -290,11 +290,11 @@ func Test_assessEvictionTasks(t *testing.T) { GracefulEvictionTasks: []workv1alpha2.GracefulEvictionTask{ { FromCluster: "member1", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -1)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -1)}, }, { FromCluster: "member2", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -2)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -2)}, }, }, }, @@ -305,11 +305,11 @@ func Test_assessEvictionTasks(t *testing.T) { wantTask: []workv1alpha2.GracefulEvictionTask{ { FromCluster: "member1", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -1)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -1)}, }, { FromCluster: "member2", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -2)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -2)}, }, }, wantCluster: nil, @@ -324,11 +324,11 @@ func Test_assessEvictionTasks(t *testing.T) { GracefulEvictionTasks: []workv1alpha2.GracefulEvictionTask{ { FromCluster: "member1", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -4)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -4)}, }, { FromCluster: "member2", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -5)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -5)}, }, }, }, @@ -353,11 +353,11 @@ func Test_assessEvictionTasks(t *testing.T) { }, { FromCluster: "member2", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -2)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -2)}, }, { FromCluster: "member3", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -4)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -4)}, }, }, }, @@ -368,11 +368,11 @@ func Test_assessEvictionTasks(t *testing.T) { wantTask: []workv1alpha2.GracefulEvictionTask{ { FromCluster: "member1", - CreationTimestamp: timeNow, + CreationTimestamp: &timeNow, }, { FromCluster: "member2", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -2)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -2)}, }, }, wantCluster: []string{"member3"}, @@ -388,11 +388,11 @@ func Test_assessEvictionTasks(t *testing.T) { GracefulEvictionTasks: []workv1alpha2.GracefulEvictionTask{ { FromCluster: "member1", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -1)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -1)}, }, { FromCluster: "member2", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -2)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -2)}, }, }, }, @@ -405,11 +405,11 @@ func Test_assessEvictionTasks(t *testing.T) { wantTask: []workv1alpha2.GracefulEvictionTask{ { FromCluster: "member1", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -1)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -1)}, }, { FromCluster: "member2", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -2)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -2)}, }, }, wantCluster: nil, @@ -425,11 +425,11 @@ func Test_assessEvictionTasks(t *testing.T) { GracefulEvictionTasks: []workv1alpha2.GracefulEvictionTask{ { FromCluster: "member1", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -1)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -1)}, }, { FromCluster: "member2", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -2)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -2)}, }, }, }, @@ -454,11 +454,11 @@ func Test_assessEvictionTasks(t *testing.T) { GracefulEvictionTasks: []workv1alpha2.GracefulEvictionTask{ { FromCluster: "member1", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -1)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -1)}, }, { FromCluster: "member2", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -2)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -2)}, }, }, }, @@ -472,11 +472,11 @@ func Test_assessEvictionTasks(t *testing.T) { wantTask: []workv1alpha2.GracefulEvictionTask{ { FromCluster: "member1", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -1)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -1)}, }, { FromCluster: "member2", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -2)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -2)}, }, }, wantCluster: nil, @@ -492,11 +492,11 @@ func Test_assessEvictionTasks(t *testing.T) { GracefulEvictionTasks: []workv1alpha2.GracefulEvictionTask{ { FromCluster: "member1", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -1)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -1)}, }, { FromCluster: "member2", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -2)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -2)}, }, }, }, @@ -510,11 +510,11 @@ func Test_assessEvictionTasks(t *testing.T) { wantTask: []workv1alpha2.GracefulEvictionTask{ { FromCluster: "member1", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -1)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -1)}, }, { FromCluster: "member2", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -2)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -2)}, }, }, wantCluster: nil, @@ -557,11 +557,11 @@ func Test_nextRetry(t *testing.T) { task: []workv1alpha2.GracefulEvictionTask{ { FromCluster: "member1", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -19)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -19)}, }, { FromCluster: "member2", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -10)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -10)}, }, }, timeout: timeout, @@ -575,11 +575,11 @@ func Test_nextRetry(t *testing.T) { task: []workv1alpha2.GracefulEvictionTask{ { FromCluster: "member1", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -10)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -10)}, }, { FromCluster: "member2", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -5)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -5)}, }, }, timeout: timeout, @@ -593,12 +593,12 @@ func Test_nextRetry(t *testing.T) { task: []workv1alpha2.GracefulEvictionTask{ { FromCluster: "member1", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -60)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -60)}, SuppressDeletion: pointer.Bool(true), }, { FromCluster: "member2", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -5)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -5)}, }, }, timeout: timeout, @@ -612,12 +612,12 @@ func Test_nextRetry(t *testing.T) { task: []workv1alpha2.GracefulEvictionTask{ { FromCluster: "member1", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -60)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -60)}, SuppressDeletion: pointer.Bool(true), }, { FromCluster: "member2", - CreationTimestamp: metav1.Time{Time: timeNow.Add(time.Minute * -5)}, + CreationTimestamp: &metav1.Time{Time: timeNow.Add(time.Minute * -5)}, SuppressDeletion: pointer.Bool(true), }, }, diff --git a/pkg/generated/openapi/zz_generated.openapi.go b/pkg/generated/openapi/zz_generated.openapi.go index 14981871c..b00e03777 100755 --- a/pkg/generated/openapi/zz_generated.openapi.go +++ b/pkg/generated/openapi/zz_generated.openapi.go @@ -6027,7 +6027,6 @@ func schema_pkg_apis_work_v1alpha2_GracefulEvictionTask(ref common.ReferenceCall "creationTimestamp": { SchemaProps: spec.SchemaProps{ Description: "CreationTimestamp is a timestamp representing the server time when this object was created. Clients should not set this value to avoid the time inconsistency issue. It is represented in RFC3339 form(like '2021-04-25T10:02:10Z') and is in UTC.\n\nPopulated by the system. Read-only.", - Default: map[string]interface{}{}, Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), }, },