mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-04 01:40:07 +00:00
Deprecate IPPVSAllocatedStatus: always set allocatedResources with InPlacePodVerticalScaling
This commit is contained in:
parent
67bdb110b4
commit
aba588cd14
@ -800,9 +800,7 @@ func dropDisabledPodStatusFields(podStatus, oldPodStatus *api.PodStatus, podSpec
|
|||||||
dropResourcesField(podStatus.ContainerStatuses)
|
dropResourcesField(podStatus.ContainerStatuses)
|
||||||
dropResourcesField(podStatus.InitContainerStatuses)
|
dropResourcesField(podStatus.InitContainerStatuses)
|
||||||
dropResourcesField(podStatus.EphemeralContainerStatuses)
|
dropResourcesField(podStatus.EphemeralContainerStatuses)
|
||||||
}
|
|
||||||
if !utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) ||
|
|
||||||
!utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScalingAllocatedStatus) {
|
|
||||||
// Drop AllocatedResources field
|
// Drop AllocatedResources field
|
||||||
dropAllocatedResourcesField := func(csl []api.ContainerStatus) {
|
dropAllocatedResourcesField := func(csl []api.ContainerStatus) {
|
||||||
for i := range csl {
|
for i := range csl {
|
||||||
|
@ -2743,10 +2743,6 @@ func TestDropInPlacePodVerticalScaling(t *testing.T) {
|
|||||||
t.Run(fmt.Sprintf("InPlacePodVerticalScaling=%t", ippvsEnabled), func(t *testing.T) {
|
t.Run(fmt.Sprintf("InPlacePodVerticalScaling=%t", ippvsEnabled), func(t *testing.T) {
|
||||||
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.InPlacePodVerticalScaling, ippvsEnabled)
|
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.InPlacePodVerticalScaling, ippvsEnabled)
|
||||||
|
|
||||||
for _, allocatedStatusEnabled := range []bool{true, false} {
|
|
||||||
t.Run(fmt.Sprintf("AllocatedStatus=%t", allocatedStatusEnabled), func(t *testing.T) {
|
|
||||||
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.InPlacePodVerticalScalingAllocatedStatus, allocatedStatusEnabled)
|
|
||||||
|
|
||||||
for _, oldPodInfo := range podInfo {
|
for _, oldPodInfo := range podInfo {
|
||||||
for _, newPodInfo := range podInfo {
|
for _, newPodInfo := range podInfo {
|
||||||
oldPodHasInPlaceVerticalScaling, oldPod := oldPodInfo.hasInPlaceVerticalScaling, oldPodInfo.pod()
|
oldPodHasInPlaceVerticalScaling, oldPod := oldPodInfo.hasInPlaceVerticalScaling, oldPodInfo.pod()
|
||||||
@ -2774,9 +2770,6 @@ func TestDropInPlacePodVerticalScaling(t *testing.T) {
|
|||||||
case ippvsEnabled || oldPodHasInPlaceVerticalScaling:
|
case ippvsEnabled || oldPodHasInPlaceVerticalScaling:
|
||||||
// new pod shouldn't change if feature enabled or if old pod has ResizePolicy set
|
// new pod shouldn't change if feature enabled or if old pod has ResizePolicy set
|
||||||
expected := newPodInfo.pod()
|
expected := newPodInfo.pod()
|
||||||
if !ippvsEnabled || !allocatedStatusEnabled {
|
|
||||||
expected.Status.ContainerStatuses[0].AllocatedResources = nil
|
|
||||||
}
|
|
||||||
if !reflect.DeepEqual(newPod, expected) {
|
if !reflect.DeepEqual(newPod, expected) {
|
||||||
t.Errorf("new pod changed: %v", cmp.Diff(newPod, expected))
|
t.Errorf("new pod changed: %v", cmp.Diff(newPod, expected))
|
||||||
}
|
}
|
||||||
@ -2801,8 +2794,6 @@ func TestDropInPlacePodVerticalScaling(t *testing.T) {
|
|||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDropPodLevelResources(t *testing.T) {
|
func TestDropPodLevelResources(t *testing.T) {
|
||||||
|
@ -311,7 +311,8 @@ const (
|
|||||||
// owner: @tallclair
|
// owner: @tallclair
|
||||||
// kep: http://kep.k8s.io/1287
|
// kep: http://kep.k8s.io/1287
|
||||||
//
|
//
|
||||||
// Enables the AllocatedResources field in container status. This feature requires
|
// Deprecated: This feature gate is no longer used.
|
||||||
|
// Was: Enables the AllocatedResources field in container status. This feature requires
|
||||||
// InPlacePodVerticalScaling also be enabled.
|
// InPlacePodVerticalScaling also be enabled.
|
||||||
InPlacePodVerticalScalingAllocatedStatus featuregate.Feature = "InPlacePodVerticalScalingAllocatedStatus"
|
InPlacePodVerticalScalingAllocatedStatus featuregate.Feature = "InPlacePodVerticalScalingAllocatedStatus"
|
||||||
|
|
||||||
@ -1344,6 +1345,7 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate
|
|||||||
|
|
||||||
InPlacePodVerticalScalingAllocatedStatus: {
|
InPlacePodVerticalScalingAllocatedStatus: {
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Deprecated}, // remove in 1.36
|
||||||
},
|
},
|
||||||
|
|
||||||
InPlacePodVerticalScalingExclusiveCPUs: {
|
InPlacePodVerticalScalingExclusiveCPUs: {
|
||||||
|
@ -2279,11 +2279,9 @@ func (kl *Kubelet) convertToAPIContainerStatuses(pod *v1.Pod, podStatus *kubecon
|
|||||||
allocatedContainer := kubecontainer.GetContainerSpec(pod, cName)
|
allocatedContainer := kubecontainer.GetContainerSpec(pod, cName)
|
||||||
if allocatedContainer != nil {
|
if allocatedContainer != nil {
|
||||||
status.Resources = convertContainerStatusResources(allocatedContainer, status, cStatus, oldStatuses)
|
status.Resources = convertContainerStatusResources(allocatedContainer, status, cStatus, oldStatuses)
|
||||||
if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScalingAllocatedStatus) {
|
|
||||||
status.AllocatedResources = allocatedContainer.Resources.Requests
|
status.AllocatedResources = allocatedContainer.Resources.Requests
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if utilfeature.DefaultFeatureGate.Enabled(features.SupplementalGroupsPolicy) {
|
if utilfeature.DefaultFeatureGate.Enabled(features.SupplementalGroupsPolicy) {
|
||||||
status.User = convertContainerStatusUser(cStatus)
|
status.User = convertContainerStatusUser(cStatus)
|
||||||
|
@ -5104,20 +5104,8 @@ func TestConvertToAPIContainerStatusesForResources(t *testing.T) {
|
|||||||
}
|
}
|
||||||
podStatus := testPodStatus(state, resources)
|
podStatus := testPodStatus(state, resources)
|
||||||
|
|
||||||
for _, enableAllocatedStatus := range []bool{true, false} {
|
|
||||||
t.Run(fmt.Sprintf("AllocatedStatus=%t", enableAllocatedStatus), func(t *testing.T) {
|
|
||||||
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.InPlacePodVerticalScalingAllocatedStatus, enableAllocatedStatus)
|
|
||||||
|
|
||||||
expected := tc.Expected
|
|
||||||
if !enableAllocatedStatus {
|
|
||||||
expected = *expected.DeepCopy()
|
|
||||||
expected.AllocatedResources = nil
|
|
||||||
}
|
|
||||||
|
|
||||||
cStatuses := kubelet.convertToAPIContainerStatuses(tPod, podStatus, []v1.ContainerStatus{tc.OldStatus}, tPod.Spec.Containers, false, false)
|
cStatuses := kubelet.convertToAPIContainerStatuses(tPod, podStatus, []v1.ContainerStatus{tc.OldStatus}, tPod.Spec.Containers, false, false)
|
||||||
assert.Equal(t, expected, cStatuses[0])
|
assert.Equal(t, tc.Expected, cStatuses[0])
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3092,7 +3092,6 @@ func TestPodResizePrepareForUpdate(t *testing.T) {
|
|||||||
for _, tc := range tests {
|
for _, tc := range tests {
|
||||||
t.Run(tc.name, func(t *testing.T) {
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.InPlacePodVerticalScaling, true)
|
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.InPlacePodVerticalScaling, true)
|
||||||
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.InPlacePodVerticalScalingAllocatedStatus, true)
|
|
||||||
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.SidecarContainers, true)
|
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.SidecarContainers, true)
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
ResizeStrategy.PrepareForUpdate(ctx, tc.newPod, tc.oldPod)
|
ResizeStrategy.PrepareForUpdate(ctx, tc.newPod, tc.oldPod)
|
||||||
|
@ -581,6 +581,10 @@
|
|||||||
lockToDefault: false
|
lockToDefault: false
|
||||||
preRelease: Alpha
|
preRelease: Alpha
|
||||||
version: "1.32"
|
version: "1.32"
|
||||||
|
- default: false
|
||||||
|
lockToDefault: false
|
||||||
|
preRelease: Deprecated
|
||||||
|
version: "1.33"
|
||||||
- name: InPlacePodVerticalScalingExclusiveCPUs
|
- name: InPlacePodVerticalScalingExclusiveCPUs
|
||||||
versionedSpecs:
|
versionedSpecs:
|
||||||
- default: false
|
- default: false
|
||||||
|
Loading…
Reference in New Issue
Block a user