mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-31 07:20:13 +00:00
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
|
||||
}
|
||||
|
||||
// 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
|
||||
for _, status := range statuses {
|
||||
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
|
||||
}
|
||||
|
||||
|
@ -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.
|
||||
type Reservation struct {
|
||||
// System represents resources reserved for non-kubernetes components.
|
||||
|
Loading…
Reference in New Issue
Block a user