From 952e88e0a0a3ff3d1f3915e3d5da5252fba7c6eb Mon Sep 17 00:00:00 2001 From: j <31185072+jhychan@users.noreply.github.com> Date: Thu, 21 Aug 2025 23:21:10 +1000 Subject: [PATCH] add ownerReferences to AutoScalingListener when creating in same as controller --- controllers/actions.github.com/resourcebuilder.go | 13 +++++++++++++ .../actions.github.com/resourcebuilder_test.go | 15 +++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/controllers/actions.github.com/resourcebuilder.go b/controllers/actions.github.com/resourcebuilder.go index 39e17350..0614085f 100644 --- a/controllers/actions.github.com/resourcebuilder.go +++ b/controllers/actions.github.com/resourcebuilder.go @@ -140,6 +140,19 @@ func (b *ResourceBuilder) newAutoScalingListener(autoscalingRunnerSet *v1alpha1. }, } + if namespace == autoscalingRunnerSet.Namespace { + autoscalingListener.ObjectMeta.OwnerReferences = []metav1.OwnerReference{ + { + APIVersion: autoscalingRunnerSet.GetObjectKind().GroupVersionKind().GroupVersion().String(), + Kind: autoscalingRunnerSet.GetObjectKind().GroupVersionKind().Kind, + UID: autoscalingRunnerSet.GetUID(), + Name: autoscalingRunnerSet.GetName(), + Controller: boolPtr(true), + BlockOwnerDeletion: boolPtr(true), + }, + } + } + return autoscalingListener, nil } diff --git a/controllers/actions.github.com/resourcebuilder_test.go b/controllers/actions.github.com/resourcebuilder_test.go index 12e50533..87659c9c 100644 --- a/controllers/actions.github.com/resourcebuilder_test.go +++ b/controllers/actions.github.com/resourcebuilder_test.go @@ -242,4 +242,19 @@ func TestOwnershipRelationships(t *testing.T) { assert.Equal(t, ephemeralRunner.GetUID(), ownerRef.UID, "Owner reference UID should match EphemeralRunner UID") assert.Equal(t, true, *ownerRef.Controller, "Controller flag should be true") assert.Equal(t, true, *ownerRef.BlockOwnerDeletion, "BlockOwnerDeletion flag should be true") + + // Create AutoScalingListener in AutoScalingRunnerSet namespace + autoscalingListener, err := b.newAutoScalingListener(&autoscalingRunnerSet, ephemeralRunnerSet, autoscalingRunnerSet.Namespace, "test:latest", nil) + require.NoError(t, err) + require.Len(t, autoscalingListener.OwnerReferences, 1, "AutoScalingListener should have exactly one owner reference") + ownerRef = autoscalingListener.OwnerReferences[0] + assert.Equal(t, autoscalingRunnerSet.GetName(), ownerRef.Name, "Owner reference name should match AutoscalingRunnerSet name") + assert.Equal(t, autoscalingRunnerSet.GetUID(), ownerRef.UID, "Owner reference UID should match AutoscalingRunnerSet UID") + assert.Equal(t, true, *ownerRef.Controller, "Controller flag should be true") + assert.Equal(t, true, *ownerRef.BlockOwnerDeletion, "BlockOwnerDeletion flag should be true") + + // Create AutoScalingListener in external controller namespace + autoscalingListener, err = b.newAutoScalingListener(&autoscalingRunnerSet, ephemeralRunnerSet, "controller-ns", "test:latest", nil) + require.NoError(t, err) + require.Len(t, autoscalingListener.OwnerReferences, 0, "AutoScalingListener should not have any owner references") }