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
-[Promote Eviction to policy/v1 without breaking pods/eviction support for policy/v1beta1](#promote-eviction-to-policyv1-without-breaking-podseviction-support-for-policyv1beta1)
11
12
-[Mutable PDBs](#mutable-pdbs)
12
13
-[Eviction of non-ready pods](#eviction-of-non-ready-pods)
13
14
-[Make the disruption controller more lenient for pods belonging to non-scale controllers](#make-the-disruption-controller-more-lenient-for-pods-belonging-to-non-scale-controllers)
14
-
-[Proposed solution](#proposed-solution)
15
15
-[Address scalability issues with the disruption controller](#address-scalability-issues-with-the-disruption-controller)
16
16
-[Fix handling of empty selector in disruption controller](#fix-handling-of-empty-selector-in-disruption-controller)
17
17
-[API changes](#api-changes)
@@ -81,6 +81,26 @@ long term.
81
81
82
82
### Implementation Details/Notes/Constraints
83
83
84
+
#### Promote Eviction to policy/v1 without breaking pods/eviction support for policy/v1beta1
85
+
86
+
Eviction is part of policy/v1beta1, but because it is a subresource of the v1 Pod API,
87
+
support for accepting policy/v1beta1 requests should not be dropped.
88
+
89
+
Luckily, the endpoint only supports Create and returns v1 Status,
90
+
so it is possible to let the current endpoint accept both policy/v1 and policy/v1beta1 Evictions.
91
+
92
+
The following changes will be made:
93
+
94
+
* The decoding stack will be adjusted to allow a REST handler to accept multiple GroupVersionKinds
95
+
* Discovery documents will indicate that policy/v1 Eviction kinds are accepted
96
+
* client-go will add Eviction v1 and v1beta1 methods
97
+
*`kubectl drain` will use v1 Eviction if available and fall back to v1beta1 Eviction
98
+
* The Eviction subresource handler will accept policy/v1 and policy/v1beta1 Eviction objects
99
+
* Integration tests will be added to ensure:
100
+
* Get requests continue to be unsupported for this endpoint
101
+
* Patch requests continue to be unsupported for this endpoint
102
+
* Create requests continue to accept policy/v1 and policy/v1beta1 requests and return Status objects
103
+
84
104
#### Mutable PDBs
85
105
86
106
A mutable PDB object allows its `MinAvailable`, `MaxUnavailable`, and `Selector`
@@ -126,43 +146,23 @@ The current behavior of the disruption controller for the different types of
126
146
input and the different types of pods that might be encountered are documented in:
0 commit comments