@@ -30,6 +30,7 @@ import (
30
30
kubeletconfigv1beta1 "k8s.io/kubelet/config/v1beta1"
31
31
32
32
"github.com/k8stopologyawareschedwg/noderesourcetopology-api/pkg/apis/topology/v1alpha2"
33
+ topologyclientset "github.com/k8stopologyawareschedwg/noderesourcetopology-api/pkg/generated/clientset/versioned"
33
34
"sigs.k8s.io/node-feature-discovery/pkg/apihelper"
34
35
"sigs.k8s.io/node-feature-discovery/pkg/nfd-topology-updater/kubeletnotifier"
35
36
"sigs.k8s.io/node-feature-discovery/pkg/podres"
@@ -74,6 +75,7 @@ type nfdTopologyUpdater struct {
74
75
nodeName string
75
76
args Args
76
77
apihelper apihelper.APIHelpers
78
+ topoClient topologyclientset.Interface
77
79
resourcemonitorArgs resourcemonitor.Args
78
80
stop chan struct {} // channel for signaling stop
79
81
eventSource <- chan kubeletnotifier.Info
@@ -136,6 +138,11 @@ func (w *nfdTopologyUpdater) Run() error {
136
138
return err
137
139
}
138
140
w .apihelper = apihelper.K8sHelpers {Kubeconfig : kubeconfig }
141
+ topoClient , err := topologyclientset .NewForConfig (kubeconfig )
142
+ if err != nil {
143
+ return nil
144
+ }
145
+ w .topoClient = topoClient
139
146
140
147
if err := w .configure (); err != nil {
141
148
return fmt .Errorf ("faild to configure Node Feature Discovery Topology Updater: %w" , err )
@@ -215,12 +222,7 @@ func (w *nfdTopologyUpdater) Stop() {
215
222
}
216
223
217
224
func (w * nfdTopologyUpdater ) updateNodeResourceTopology (zoneInfo v1alpha2.ZoneList , scanResponse resourcemonitor.ScanResponse , readKubeletConfig bool ) error {
218
- cli , err := w .apihelper .GetTopologyClient ()
219
- if err != nil {
220
- return err
221
- }
222
-
223
- nrt , err := cli .TopologyV1alpha2 ().NodeResourceTopologies ().Get (context .TODO (), w .nodeName , metav1.GetOptions {})
225
+ nrt , err := w .topoClient .TopologyV1alpha2 ().NodeResourceTopologies ().Get (context .TODO (), w .nodeName , metav1.GetOptions {})
224
226
if errors .IsNotFound (err ) {
225
227
nrtNew := v1alpha2.NodeResourceTopology {
226
228
ObjectMeta : metav1.ObjectMeta {
@@ -236,7 +238,7 @@ func (w *nfdTopologyUpdater) updateNodeResourceTopology(zoneInfo v1alpha2.ZoneLi
236
238
237
239
updateAttributes (& nrtNew .Attributes , scanResponse .Attributes )
238
240
239
- if _ , err := cli .TopologyV1alpha2 ().NodeResourceTopologies ().Create (context .TODO (), & nrtNew , metav1.CreateOptions {}); err != nil {
241
+ if _ , err := w . topoClient .TopologyV1alpha2 ().NodeResourceTopologies ().Create (context .TODO (), & nrtNew , metav1.CreateOptions {}); err != nil {
240
242
return fmt .Errorf ("failed to create NodeResourceTopology: %w" , err )
241
243
}
242
244
return nil
@@ -257,7 +259,7 @@ func (w *nfdTopologyUpdater) updateNodeResourceTopology(zoneInfo v1alpha2.ZoneLi
257
259
258
260
updateAttributes (& nrtMutated .Attributes , attributes )
259
261
260
- nrtUpdated , err := cli .TopologyV1alpha2 ().NodeResourceTopologies ().Update (context .TODO (), nrtMutated , metav1.UpdateOptions {})
262
+ nrtUpdated , err := w . topoClient .TopologyV1alpha2 ().NodeResourceTopologies ().Update (context .TODO (), nrtMutated , metav1.UpdateOptions {})
261
263
if err != nil {
262
264
return fmt .Errorf ("failed to update NodeResourceTopology: %w" , err )
263
265
}
0 commit comments