Commit df5fc094 authored by Bobby (Babak) Salamat's avatar Bobby (Babak) Salamat

compare Pods by UID, not by name and namespace

parent 69d62a92
...@@ -202,8 +202,8 @@ func NewPriorityQueue() *PriorityQueue { ...@@ -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) { ...@@ -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. ...@@ -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. ...@@ -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. ...@@ -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. ...@@ -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",
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment