Skip to content

Commit f81a68f

Browse files
authored
Merge pull request kubernetes#128377 from tallclair/allocated-status-2
[FG:InPlacePodVerticalScaling] Implement AllocatedResources status changes for Beta
2 parents be7d100 + dc45ae3 commit f81a68f

File tree

23 files changed

+1283
-1152
lines changed

23 files changed

+1283
-1152
lines changed

pkg/api/pod/util.go

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -831,18 +831,29 @@ func dropDisabledPodStatusFields(podStatus, oldPodStatus *api.PodStatus, podSpec
831831
}
832832

833833
if !utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) && !inPlacePodVerticalScalingInUse(oldPodSpec) {
834-
// Drop Resize, AllocatedResources, and Resources fields
835-
dropResourcesFields := func(csl []api.ContainerStatus) {
834+
// Drop Resize and Resources fields
835+
dropResourcesField := func(csl []api.ContainerStatus) {
836836
for i := range csl {
837-
csl[i].AllocatedResources = nil
838837
csl[i].Resources = nil
839838
}
840839
}
841-
dropResourcesFields(podStatus.ContainerStatuses)
842-
dropResourcesFields(podStatus.InitContainerStatuses)
843-
dropResourcesFields(podStatus.EphemeralContainerStatuses)
840+
dropResourcesField(podStatus.ContainerStatuses)
841+
dropResourcesField(podStatus.InitContainerStatuses)
842+
dropResourcesField(podStatus.EphemeralContainerStatuses)
844843
podStatus.Resize = ""
845844
}
845+
if !utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) ||
846+
!utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScalingAllocatedStatus) {
847+
// Drop AllocatedResources field
848+
dropAllocatedResourcesField := func(csl []api.ContainerStatus) {
849+
for i := range csl {
850+
csl[i].AllocatedResources = nil
851+
}
852+
}
853+
dropAllocatedResourcesField(podStatus.ContainerStatuses)
854+
dropAllocatedResourcesField(podStatus.InitContainerStatuses)
855+
dropAllocatedResourcesField(podStatus.EphemeralContainerStatuses)
856+
}
846857

847858
if !utilfeature.DefaultFeatureGate.Enabled(features.DynamicResourceAllocation) && !dynamicResourceAllocationInUse(oldPodSpec) {
848859
podStatus.ResourceClaimStatuses = nil
@@ -1289,26 +1300,17 @@ func MarkPodProposedForResize(oldPod, newPod *api.Pod) {
12891300
}
12901301

12911302
for i, c := range newPod.Spec.Containers {
1303+
if c.Name != oldPod.Spec.Containers[i].Name {
1304+
return // Update is invalid (container mismatch): let validation handle it.
1305+
}
12921306
if c.Resources.Requests == nil {
12931307
continue
12941308
}
12951309
if cmp.Equal(oldPod.Spec.Containers[i].Resources, c.Resources) {
12961310
continue
12971311
}
1298-
findContainerStatus := func(css []api.ContainerStatus, cName string) (api.ContainerStatus, bool) {
1299-
for i := range css {
1300-
if css[i].Name == cName {
1301-
return css[i], true
1302-
}
1303-
}
1304-
return api.ContainerStatus{}, false
1305-
}
1306-
if cs, ok := findContainerStatus(newPod.Status.ContainerStatuses, c.Name); ok {
1307-
if !cmp.Equal(c.Resources.Requests, cs.AllocatedResources) {
1308-
newPod.Status.Resize = api.PodResizeStatusProposed
1309-
break
1310-
}
1311-
}
1312+
newPod.Status.Resize = api.PodResizeStatusProposed
1313+
return
13121314
}
13131315
}
13141316

0 commit comments

Comments
 (0)