Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions keps/prod-readiness/sig-windows/2802.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@ alpha:
approver: "@deads2k"
beta:
approver: "@deads2k"
stable:
approver: "@deads2k"
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@
- [Changes to Kubelet](#changes-to-kubelet)
- [Potential future changes to Scheduler](#potential-future-changes-to-scheduler)
- [Test Plan](#test-plan)
- [Prerequisite testing updates](#prerequisite-testing-updates)
- [Unit tests](#unit-tests)
- [Integration tests](#integration-tests)
- [e2e tests](#e2e-tests)
- [Graduation Criteria](#graduation-criteria)
- [Alpha](#alpha)
- [Alpha -> Beta Graduation](#alpha---beta-graduation)
Expand Down Expand Up @@ -186,7 +190,32 @@ express scheduling constraints. During the alpha, we assume there are no schedul
- Unit tests covering API server defaulting to various fields within pod with and without this feature
- Unit tests covering admission plugins which validate/mutate pod spec based on this feature
- Unit and E2E tests for Kubelet changes.
- Updates to the `sig-windows` tagged tests to utilize to direct windows scheduling for all pods .
- Updates to the `sig-windows` tagged tests to utilize to direct windows scheduling for all pods.

#### Prerequisite testing updates
[x] I/we understand the owners of the involved components may require updates to existing tests to make this code solid enough prior to committing the changes necessary to implement this enhancement.

##### Unit tests

`k8s.io/kubernetes/pkg/apis/core/validation`: `06/03/2022` `82.1% of statements`
`k8s.io/kubernetes/pkg/apis/core/validation/validation.go:2979`: `06/03/2022`: `76.2% of statements`
`k8s.io/kubernetes/pkg/apis/core/validation/validation.go:3488`: `06/03/2022`: `92.0% of statements`
`k8s.io/kubernetes/pkg/apis/core/validation/validation.go:3573`: `06/03/2022`: `100.0% of statements`
`k8s.io/kubernetes/pkg/apis/core/validation/validation.go:3590`: `06/03/2022`: `65.3% of statements`
`k8s.io/kubernetes/pkg/apis/core/validation/validation.go:6360`: `06/03/2022`: `100.0% of statements`

##### Integration tests

The pod security standard integration tests will be updated to include OS specific validations.


##### e2e tests

There are e2e tests which
- validate that the kubelet rejects the pod which have os field not matching the underlying OS
- validate that the kubelet reconciles and corrects if the node's OS label is changed


### Graduation Criteria

#### Alpha
Expand All @@ -201,6 +230,8 @@ express scheduling constraints. During the alpha, we assume there are no schedul

#### Beta -> GA Graduation
- 2 examples of end users using this field
- The latest version of OpenShift is using OS field in pod spec to identify pod OS and apply SCCs judiciously
- Rancher, CAPZ plan to use this field.

### Upgrade / Downgrade Strategy

Expand Down Expand Up @@ -380,6 +411,7 @@ Disabling the `IdentifyPodOS` featuregate will help in determining the problem.
- 2021-09-08: Initial KEP merged
- 2021-10-29: Initial implementation PR merged
- 2022-01-19: Graduate the feature to Beta proposed
- 2022-05-09: Graduate the feature to GA proposed


## Drawbacks
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ prr-approvers:
- "@deads2k"
creation-date: 2021-06-28
# The target maturity stage in the current dev cycle for this KEP.
stage: beta
stage: stable

# The most recent milestone for which work toward delivery of this KEP has been
# done. This can be the current (upcoming) milestone, if it is being actively
# worked on.
latest-milestone: "v1.24"
latest-milestone: "v1.25"

# The milestone at which this feature was, or is targeted to be, at each stage.
milestone:
Expand Down