@@ -25,7 +25,7 @@ import (
2525 "time"
2626
2727 v1 "k8s.io/api/core/v1"
28- resourceapi "k8s.io/api/resource/v1alpha3 "
28+ resourceapi "k8s.io/api/resource/v1beta1 "
2929 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3030 "k8s.io/apimachinery/pkg/labels"
3131 "k8s.io/apimachinery/pkg/selection"
@@ -60,7 +60,6 @@ type ImexManager struct {
6060 waitGroup sync.WaitGroup
6161 clientset kubernetes.Interface
6262 imexDomainOffsets imexDomainOffsets
63- owner resourceslice.Owner
6463 driverResources * resourceslice.DriverResources
6564}
6665
@@ -77,20 +76,6 @@ func StartIMEXManager(ctx context.Context, config *Config) (*ImexManager, error)
7776 return nil , fmt .Errorf ("error creating dynamic client: %w" , err )
7877 }
7978
80- // Fetch the current Pod object
81- pod , err := clientset .CoreV1 ().Pods (config .flags .namespace ).Get (ctx , config .flags .podName , metav1.GetOptions {})
82- if err != nil {
83- return nil , fmt .Errorf ("error fetching pod: %w" , err )
84- }
85-
86- // Set the owner of the ResourceSlices we will create
87- owner := resourceslice.Owner {
88- APIVersion : "v1" ,
89- Kind : "Pod" ,
90- Name : pod .Name ,
91- UID : pod .UID ,
92- }
93-
9479 // Create a new set of DriverResources
9580 driverResources := & resourceslice.DriverResources {
9681 Pools : make (map [string ]resourceslice.Pool ),
@@ -103,7 +88,6 @@ func StartIMEXManager(ctx context.Context, config *Config) (*ImexManager, error)
10388 driverImexChannelLimit : DriverImexChannelLimit ,
10489 retryTimeout : RetryTimeout ,
10590 clientset : clientset ,
106- owner : owner ,
10791 driverResources : driverResources ,
10892 imexDomainOffsets : make (imexDomainOffsets ),
10993 }
@@ -125,8 +109,14 @@ func (m *ImexManager) manageResourceSlices(ctx context.Context) error {
125109 return fmt .Errorf ("error streaming IMEX domains: %w" , err )
126110 }
127111
112+ options := resourceslice.Options {
113+ DriverName : m .driverName ,
114+ KubeClient : m .clientset ,
115+ Resources : m .driverResources ,
116+ }
117+
128118 klog .Info ("Start publishing IMEX channels to ResourceSlices..." )
129- controller , err := resourceslice .StartController (ctx , m . clientset , m . driverName , m . owner , m . driverResources )
119+ controller , err := resourceslice .StartController (ctx , options )
130120 if err != nil {
131121 return fmt .Errorf ("error starting resource slice controller: %w" , err )
132122 }
@@ -310,13 +300,13 @@ func (m *ImexManager) cleanupResourceSlices() error {
310300 ops := metav1.ListOptions {
311301 FieldSelector : fmt .Sprintf ("%s=%s" , resourceapi .ResourceSliceSelectorDriver , DriverName ),
312302 }
313- l , err := m .clientset .ResourceV1alpha3 ().ResourceSlices ().List (context .Background (), ops )
303+ l , err := m .clientset .ResourceV1beta1 ().ResourceSlices ().List (context .Background (), ops )
314304 if err != nil {
315305 return fmt .Errorf ("error listing resource slices: %w" , err )
316306 }
317307
318308 for _ , rs := range l .Items {
319- err := m .clientset .ResourceV1alpha3 ().ResourceSlices ().Delete (context .Background (), rs .Name , metav1.DeleteOptions {})
309+ err := m .clientset .ResourceV1beta1 ().ResourceSlices ().Delete (context .Background (), rs .Name , metav1.DeleteOptions {})
320310 if err != nil {
321311 return fmt .Errorf ("error deleting resource slice %s: %w" , rs .Name , err )
322312 }
@@ -415,7 +405,11 @@ func generateImexChannelPool(imexDomain string, startChannel int, numChannels in
415405 },
416406 },
417407 },
418- Devices : devices ,
408+ Slices : []resourceslice.Slice {
409+ {
410+ Devices : devices ,
411+ },
412+ },
419413 }
420414
421415 return pool
0 commit comments