Skip to content

Commit 46113be

Browse files
authored
feat: record events for workload
1 parent 057827b commit 46113be

File tree

3 files changed

+6
-0
lines changed

3 files changed

+6
-0
lines changed

cmd/main.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,7 @@ func main() {
258258
Client: mgr.GetClient(),
259259
Scheme: mgr.GetScheme(),
260260
Scheduler: scheduler,
261+
Recorder: mgr.GetEventRecorderFor("tensorfusionworkload"),
261262
}).SetupWithManager(mgr); err != nil {
262263
setupLog.Error(err, "unable to create controller", "controller", "TensorFusionWorkload")
263264
os.Exit(1)

internal/controller/tensorfusionworkload_controller.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525
"k8s.io/apimachinery/pkg/api/errors"
2626
"k8s.io/apimachinery/pkg/runtime"
2727
"k8s.io/apimachinery/pkg/types"
28+
"k8s.io/client-go/tools/record"
2829
ctrl "sigs.k8s.io/controller-runtime"
2930
"sigs.k8s.io/controller-runtime/pkg/client"
3031
"sigs.k8s.io/controller-runtime/pkg/log"
@@ -46,6 +47,7 @@ type TensorFusionWorkloadReconciler struct {
4647
client.Client
4748
Scheme *runtime.Scheme
4849
Scheduler scheduler.Scheduler
50+
Recorder record.EventRecorder
4951
}
5052

5153
// +kubebuilder:rbac:groups=tensor-fusion.ai,resources=tensorfusionworkloads,verbs=get;list;watch;create;update;patch;delete
@@ -277,6 +279,7 @@ func (r *TensorFusionWorkloadReconciler) scaleUpWorkers(ctx context.Context, wor
277279
// Schedule GPU for the worker
278280
gpu, err := r.Scheduler.Schedule(ctx, workload.Spec.PoolName, workload.Spec.Resources.Requests)
279281
if err != nil {
282+
r.Recorder.Eventf(workload, corev1.EventTypeWarning, "ScheduleGPUFailed", "Failed to schedule GPU: %v", err)
280283
return fmt.Errorf("schedule GPU: %w", err)
281284
}
282285

internal/controller/tensorfusionworkload_controller_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import (
2727
"k8s.io/apimachinery/pkg/api/resource"
2828
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2929
"k8s.io/apimachinery/pkg/types"
30+
"k8s.io/client-go/tools/record"
3031
"sigs.k8s.io/controller-runtime/pkg/client"
3132
"sigs.k8s.io/controller-runtime/pkg/reconcile"
3233

@@ -90,6 +91,7 @@ var _ = Describe("TensorFusionWorkload Controller", func() {
9091
Client: k8sClient,
9192
Scheme: k8sClient.Scheme(),
9293
Scheduler: scheduler.NewScheduler(k8sClient),
94+
Recorder: record.NewFakeRecorder(3),
9395
}
9496

9597
// Clean up any pods from previous tests

0 commit comments

Comments
 (0)