@@ -30,7 +30,9 @@ import (
3030 corev1 "k8s.io/api/core/v1"
3131 "k8s.io/apimachinery/pkg/api/errors"
3232 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
33+ "k8s.io/apimachinery/pkg/labels"
3334 "k8s.io/apimachinery/pkg/runtime"
35+ "k8s.io/apimachinery/pkg/selection"
3436 "k8s.io/apimachinery/pkg/types"
3537 "k8s.io/client-go/tools/record"
3638 schedulingcorev1 "k8s.io/component-helpers/scheduling/corev1"
@@ -123,9 +125,15 @@ func (r *GPUPoolReconciler) startNodeDiscoverys(
123125 return fmt .Errorf ("unmarshal pod template: %w" , err )
124126 }
125127 // pool.Spec.NodeManagerConfig.NodeSelector
128+ selector := labels .NewSelector ()
129+ poolReq , err := labels .NewRequirement (fmt .Sprintf (constants .GPUNodePoolIdentifierLabelFormat , pool .Name ), selection .DoubleEquals , []string {"false" })
130+ if err != nil {
131+ return fmt .Errorf ("new GPUNodePoolIdentifier label seletor: %w" , err )
132+ }
133+ selector = selector .Add (* poolReq )
126134 nodes := & tfv1.GPUNodeList {}
127- if err := r .Client .List (ctx , nodes ); err != nil {
128- return fmt .Errorf ("list nodes : %v" , err )
135+ if err := r .Client .List (ctx , nodes , & client. ListOptions { LabelSelector : selector } ); err != nil {
136+ return fmt .Errorf ("list gpunodes : %v" , err )
129137 }
130138
131139 for _ , gpuNode := range nodes .Items {
0 commit comments