You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: keps/sig-apps/4026-crojob-scheduled-timestamp-annotation/README.md
+33-14Lines changed: 33 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -44,15 +44,15 @@ Items marked with (R) are required *prior to targeting to a milestone / release*
44
44
-[X] (R) Design details are appropriately documented
45
45
-[X] (R) Test plan is in place, giving consideration to SIG Architecture and SIG Testing input (including test refactors)
46
46
-[ ] e2e Tests for all Beta API Operations (endpoints)
47
-
-[ ] (R) Ensure GA e2e tests meet requirements for [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
47
+
-[ ] (R) Ensure GA e2e tests meet requirements for [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
48
48
-[ ] (R) Minimum Two Week Window for GA e2e tests to prove flake free
49
49
-[X] (R) Graduation criteria is in place
50
-
-[ ] (R) [all GA Endpoints](https://github.com/kubernetes/community/pull/1806) must be hit by [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
51
-
-[] (R) Production readiness review completed
52
-
-[] (R) Production readiness review approved
53
-
-[] "Implementation History" section is up-to-date for milestone
54
-
-[] User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io]
55
-
-[] Supporting documentation—e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes
50
+
-[ ] (R) [all GA Endpoints](https://github.com/kubernetes/community/pull/1806) must be hit by [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
51
+
-[x] (R) Production readiness review completed
52
+
-[x] (R) Production readiness review approved
53
+
-[x] "Implementation History" section is up-to-date for milestone
54
+
-[x] User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io]
55
+
-[x] Supporting documentation—e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes
- Unit tests will ensure the new annotation is correctly added to jobs.
115
-
- The integration test should ensure the annotation is present when the feature is on and missing when off. It will also verify that the annotation is only added to jobs from newly created CronJobs, not existing workloads.
114
+
- No integration tests are planned for this feature.
116
115
117
116
##### e2e tests
118
117
119
-
E2E tests will not provide any additional coverage that isn't already covered by unit + integration tests, since we are simply adding an annotation, so no e2e tests will be necessary for this change.
118
+
-[CronJob should set the cronjob-scheduled-timestamp annotation](https://github.com/kubernetes/kubernetes/blob/4aeaf1e99e82da8334c0d6dddd848a194cd44b4f/test/e2e/apps/cronjob.go#L264-L287): [test coverage](https://storage.googleapis.com/k8s-triage/index.html?test=.*CronJob%20should%20set%20the%20cronjob-scheduled-timestamp%20annotation.*)
120
119
121
120
### Graduation Criteria
122
121
@@ -125,7 +124,7 @@ The feature will be released directly in Beta state since there is no benefit in
125
124
#### Beta
126
125
127
126
- Feature implemented behind the `CronJobsScheduledAnnotation` feature gate.
128
-
- Unit and integration tests passing.
127
+
- Unit and e2e tests passing.
129
128
130
129
#### GA
131
130
@@ -187,7 +186,20 @@ This change will not impact the rollout or rollback fail. It also will not impac
187
186
188
187
###### Were upgrade and rollback tested? Was the upgrade->downgrade->upgrade path tested?
189
188
190
-
The feature will be tested manually prior to beta launch.
189
+
The following manual upgrade->downgrade->upgrade scenario was performed:
190
+
191
+
1. Create a v1.27 cluster where the feature is not available, yet.
192
+
2. Create a CronJob and wait for jobs to be created. Verify the newly created job
193
+
does NOT have the `batch.kubernetes.io/cronjob-scheduled-timestamp` annotation.
194
+
3. Upgrade cluster to v1.28, where the feature was available as beta, iow.
195
+
on by default. Verify the newly created job from a CronJob created in 2nd step
196
+
has the `batch.kubernetes.io/cronjob-scheduled-timestamp` annotation with
197
+
planned time, when a job was to be created.
198
+
4. Downgrade cluster to v1.27, where the feature was NOT available. Verify the
199
+
newly created job from a CronJob created in 2nd step does NOT have the
- The object already has the `CreationTimestamp` field, but it will get overridden with the time the CronJob will start. The point of the new annotation is to pass the original/expected scheduled timestamp information.
0 commit comments