Changing the scheduler package to use *api.Pod instead of api.Pod to
avoid unnecessary shallow copies. The change rippled through a lot of code.
This commit is contained in:
@@ -123,7 +123,7 @@ func (s *SimpleModeler) ForgetPodByKey(key string) {
|
||||
}
|
||||
|
||||
// Extract names for readable logging.
|
||||
func podNames(pods []api.Pod) []string {
|
||||
func podNames(pods []*api.Pod) []string {
|
||||
out := make([]string, len(pods))
|
||||
for i := range pods {
|
||||
out[i] = fmt.Sprintf("'%v/%v (%v)'", pods[i].Namespace, pods[i].Name, pods[i].UID)
|
||||
@@ -131,7 +131,7 @@ func podNames(pods []api.Pod) []string {
|
||||
return out
|
||||
}
|
||||
|
||||
func (s *SimpleModeler) listPods(selector labels.Selector) (pods []api.Pod, err error) {
|
||||
func (s *SimpleModeler) listPods(selector labels.Selector) (pods []*api.Pod, err error) {
|
||||
assumed, err := s.assumedPods.List(selector)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -140,20 +140,20 @@ func (s *SimpleModeler) listPods(selector labels.Selector) (pods []api.Pod, err
|
||||
// Goal here is to stop making assumptions about a pod once it shows
|
||||
// up in one of these other lists.
|
||||
for _, pod := range assumed {
|
||||
qExist, err := s.queuedPods.Exists(&pod)
|
||||
qExist, err := s.queuedPods.Exists(pod)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if qExist {
|
||||
s.assumedPods.Store.Delete(&pod)
|
||||
s.assumedPods.Store.Delete(pod)
|
||||
continue
|
||||
}
|
||||
sExist, err := s.scheduledPods.Exists(&pod)
|
||||
sExist, err := s.scheduledPods.Exists(pod)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if sExist {
|
||||
s.assumedPods.Store.Delete(&pod)
|
||||
s.assumedPods.Store.Delete(pod)
|
||||
continue
|
||||
}
|
||||
}
|
||||
@@ -190,6 +190,6 @@ type simpleModelerPods struct {
|
||||
}
|
||||
|
||||
// List returns pods known and assumed to exist.
|
||||
func (s simpleModelerPods) List(selector labels.Selector) (pods []api.Pod, err error) {
|
||||
func (s simpleModelerPods) List(selector labels.Selector) (pods []*api.Pod, err error) {
|
||||
return s.simpleModeler.listPods(selector)
|
||||
}
|
||||
|
Reference in New Issue
Block a user