From e0ad178f7109920b6106d45df51131c41fca1807 Mon Sep 17 00:00:00 2001 From: Sean Malloy Date: Fri, 20 Sep 2019 15:26:40 -0500 Subject: [PATCH] WIP: add k8s events support This code does not compile yet. Fixes #166. --- pkg/descheduler/evictions/evictions.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkg/descheduler/evictions/evictions.go b/pkg/descheduler/evictions/evictions.go index acc1fc4e7d..300b24a5aa 100644 --- a/pkg/descheduler/evictions/evictions.go +++ b/pkg/descheduler/evictions/evictions.go @@ -18,10 +18,13 @@ package evictions import ( "fmt" + "time" - "k8s.io/api/core/v1" + v1 "k8s.io/api/core/v1" + "k8s.io/api/events/v1beta1" policy "k8s.io/api/policy/v1beta1" apierrors "k8s.io/apimachinery/pkg/api/errors" + apimachinery "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" clientset "k8s.io/client-go/kubernetes" @@ -47,7 +50,10 @@ func EvictPod(client clientset.Interface, pod *v1.Pod, policyGroupVersion string } err := client.Policy().Evictions(eviction.Namespace).Evict(eviction) + event := v1beta1.Event{EventTime: apimachinery.NewMicroTime(time.Now()), Reason: "good bye pod"} + if err == nil { + client.Events().Events(pod.Namespace).Create(event) return true, nil } else if apierrors.IsTooManyRequests(err) { return false, fmt.Errorf("error when evicting pod (ignoring) %q: %v", pod.Name, err)