compare Pods by UID, not by name and namespace
This commit is contained in:
@@ -202,8 +202,8 @@ func NewPriorityQueue() *PriorityQueue {
|
|||||||
func (p *PriorityQueue) addNominatedPodIfNeeded(pod *v1.Pod) {
|
func (p *PriorityQueue) addNominatedPodIfNeeded(pod *v1.Pod) {
|
||||||
nnn := NominatedNodeName(pod)
|
nnn := NominatedNodeName(pod)
|
||||||
if len(nnn) > 0 {
|
if len(nnn) > 0 {
|
||||||
for _, p := range p.nominatedPods[nnn] {
|
for _, np := range p.nominatedPods[nnn] {
|
||||||
if p.Name == pod.Name && p.Namespace == pod.Namespace {
|
if np.UID == pod.UID {
|
||||||
glog.Errorf("Pod %v/%v already exists in the nominated map!", pod.Namespace, pod.Name)
|
glog.Errorf("Pod %v/%v already exists in the nominated map!", pod.Namespace, pod.Name)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -217,7 +217,7 @@ func (p *PriorityQueue) deleteNominatedPodIfExists(pod *v1.Pod) {
|
|||||||
nnn := NominatedNodeName(pod)
|
nnn := NominatedNodeName(pod)
|
||||||
if len(nnn) > 0 {
|
if len(nnn) > 0 {
|
||||||
for i, np := range p.nominatedPods[nnn] {
|
for i, np := range p.nominatedPods[nnn] {
|
||||||
if np.Name == pod.Name && np.Namespace == pod.Namespace {
|
if np.UID == pod.UID {
|
||||||
p.nominatedPods[nnn] = append(p.nominatedPods[nnn][:i], p.nominatedPods[nnn][i+1:]...)
|
p.nominatedPods[nnn] = append(p.nominatedPods[nnn][:i], p.nominatedPods[nnn][i+1:]...)
|
||||||
if len(p.nominatedPods[nnn]) == 0 {
|
if len(p.nominatedPods[nnn]) == 0 {
|
||||||
delete(p.nominatedPods, nnn)
|
delete(p.nominatedPods, nnn)
|
||||||
|
@@ -31,6 +31,7 @@ var highPriorityPod, highPriNominatedPod, medPriorityPod, unschedulablePod = v1.
|
|||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
Name: "hpp",
|
Name: "hpp",
|
||||||
Namespace: "ns1",
|
Namespace: "ns1",
|
||||||
|
UID: "hppns1",
|
||||||
},
|
},
|
||||||
Spec: v1.PodSpec{
|
Spec: v1.PodSpec{
|
||||||
Priority: &highPriority,
|
Priority: &highPriority,
|
||||||
@@ -40,6 +41,7 @@ var highPriorityPod, highPriNominatedPod, medPriorityPod, unschedulablePod = v1.
|
|||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
Name: "hpp",
|
Name: "hpp",
|
||||||
Namespace: "ns1",
|
Namespace: "ns1",
|
||||||
|
UID: "hppns1",
|
||||||
},
|
},
|
||||||
Spec: v1.PodSpec{
|
Spec: v1.PodSpec{
|
||||||
Priority: &highPriority,
|
Priority: &highPriority,
|
||||||
@@ -52,6 +54,7 @@ var highPriorityPod, highPriNominatedPod, medPriorityPod, unschedulablePod = v1.
|
|||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
Name: "mpp",
|
Name: "mpp",
|
||||||
Namespace: "ns2",
|
Namespace: "ns2",
|
||||||
|
UID: "mppns2",
|
||||||
Annotations: map[string]string{
|
Annotations: map[string]string{
|
||||||
"annot2": "val2",
|
"annot2": "val2",
|
||||||
},
|
},
|
||||||
@@ -67,6 +70,7 @@ var highPriorityPod, highPriNominatedPod, medPriorityPod, unschedulablePod = v1.
|
|||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
Name: "up",
|
Name: "up",
|
||||||
Namespace: "ns1",
|
Namespace: "ns1",
|
||||||
|
UID: "upns1",
|
||||||
Annotations: map[string]string{
|
Annotations: map[string]string{
|
||||||
"annot2": "val2",
|
"annot2": "val2",
|
||||||
},
|
},
|
||||||
|
Reference in New Issue
Block a user