@@ -23,9 +23,7 @@ import (
2323 fmav1alpha1 "github.com/llm-d-incubation/llm-d-fast-model-actuation/api/fma/v1alpha1"
2424 apierrors "k8s.io/apimachinery/pkg/api/errors"
2525 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
26- "k8s.io/apimachinery/pkg/runtime"
27- ctrl "sigs.k8s.io/controller-runtime"
28-
26+ "k8s.io/utils/ptr"
2927 //apierrors "k8s.io/apimachinery/pkg/api/errors"
3028 //metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3129 "k8s.io/apimachinery/pkg/labels"
@@ -330,19 +328,18 @@ func (ctl *controller) createLaunchers(ctx context.Context, node corev1.Node, ke
330328 if err != nil {
331329 return fmt .Errorf ("failed to get LauncherConfig %s/%s: %+v" , ctl .namespace , launcherConfigName , err )
332330 }
333- // Create runtime.Scheme instance
334- scheme := runtime .NewScheme ()
335- // Register required types to scheme
336- _ = fmav1alpha1 .AddToScheme (scheme )
337- _ = corev1 .AddToScheme (scheme )
331+
338332 // Create the specified number of launcher pods
339333 for i := 0 ; i < count ; i ++ {
340334 pod := ctl .buildPodFromTemplate (launcherConfig .Spec .PodTemplate , key )
341335 pod .GenerateName = fmt .Sprintf ("launcher-%s-" , launcherConfig .Name )
342- // Set owner reference so pods get cleaned up when LauncherConfig is deleted
343- if err := ctrl .SetControllerReference (launcherConfig , pod , scheme ); err != nil {
344- return fmt .Errorf ("failed to set controller reference: %w" , err )
336+ // Set owner reference pointing to LauncherConfig
337+ ownerRef := * metav1 .NewControllerRef (launcherConfig , fmav1alpha1 .SchemeGroupVersion .WithKind ("LauncherConfig" ))
338+ ownerRef .BlockOwnerDeletion = ptr .To (false )
339+ pod .OwnerReferences = []metav1.OwnerReference {
340+ ownerRef ,
345341 }
342+
346343 if _ , err := ctl .coreclient .Pods (pod .Namespace ).Create (ctx , pod , metav1.CreateOptions {}); err != nil {
347344 return fmt .Errorf ("failed to create launcher pod: %w" , err )
348345 }
0 commit comments