Merge pull request #78373 from tedyu/sort-init-container
Sort init container statuses using non-nested loop
This commit is contained in:
commit
5afc42de95
@ -1616,18 +1616,17 @@ func (kl *Kubelet) convertToAPIContainerStatuses(pod *v1.Pod, podStatus *kubecon
|
|||||||
statuses[container.Name] = status
|
statuses[container.Name] = status
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Sort the container statuses since clients of this interface expect the list
|
||||||
|
// of containers in a pod has a deterministic order.
|
||||||
|
if isInitContainer {
|
||||||
|
return kubetypes.SortStatusesOfInitContainers(pod, statuses)
|
||||||
|
}
|
||||||
var containerStatuses []v1.ContainerStatus
|
var containerStatuses []v1.ContainerStatus
|
||||||
for _, status := range statuses {
|
for _, status := range statuses {
|
||||||
containerStatuses = append(containerStatuses, *status)
|
containerStatuses = append(containerStatuses, *status)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sort the container statuses since clients of this interface expect the list
|
|
||||||
// of containers in a pod has a deterministic order.
|
|
||||||
if isInitContainer {
|
|
||||||
kubetypes.SortInitContainerStatuses(pod, containerStatuses)
|
|
||||||
} else {
|
|
||||||
sort.Sort(kubetypes.SortedContainerStatuses(containerStatuses))
|
sort.Sort(kubetypes.SortedContainerStatuses(containerStatuses))
|
||||||
}
|
|
||||||
return containerStatuses
|
return containerStatuses
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -87,6 +87,17 @@ func SortInitContainerStatuses(p *v1.Pod, statuses []v1.ContainerStatus) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func SortStatusesOfInitContainers(p *v1.Pod, statusMap map[string]*v1.ContainerStatus) []v1.ContainerStatus {
|
||||||
|
containers := p.Spec.InitContainers
|
||||||
|
statuses := []v1.ContainerStatus{}
|
||||||
|
for _, container := range containers {
|
||||||
|
if status, found := statusMap[container.Name]; found {
|
||||||
|
statuses = append(statuses, *status)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return statuses
|
||||||
|
}
|
||||||
|
|
||||||
// Reservation represents reserved resources for non-pod components.
|
// Reservation represents reserved resources for non-pod components.
|
||||||
type Reservation struct {
|
type Reservation struct {
|
||||||
// System represents resources reserved for non-kubernetes components.
|
// System represents resources reserved for non-kubernetes components.
|
||||||
|
Loading…
Reference in New Issue
Block a user