From 29dee17f9cdae837cb1b92cdbe4c006efa80f351 Mon Sep 17 00:00:00 2001 From: nachocano Date: Wed, 4 Sep 2019 15:59:26 -0700 Subject: [PATCH 1/2] setting broker label to triggers in the webhook --- .../eventing/v1alpha1/trigger_defaults.go | 12 +++++++ .../v1alpha1/trigger_defaults_test.go | 34 ++++++++++++++++--- pkg/broker/filter/filter_handler.go | 2 +- 3 files changed, 43 insertions(+), 5 deletions(-) diff --git a/pkg/apis/eventing/v1alpha1/trigger_defaults.go b/pkg/apis/eventing/v1alpha1/trigger_defaults.go index ed19263008e..9e0b2eef932 100644 --- a/pkg/apis/eventing/v1alpha1/trigger_defaults.go +++ b/pkg/apis/eventing/v1alpha1/trigger_defaults.go @@ -20,9 +20,14 @@ import ( "context" ) +const ( + BrokerLabel = "eventing.knative.dev/broker" +) + func (t *Trigger) SetDefaults(ctx context.Context) { t.Spec.SetDefaults(ctx) setUserInfoAnnotations(ctx, t) + setLabels(t) } func (ts *TriggerSpec) SetDefaults(ctx context.Context) { @@ -34,3 +39,10 @@ func (ts *TriggerSpec) SetDefaults(ctx context.Context) { ts.Filter = &TriggerFilter{} } } + +func setLabels(t *Trigger) { + if len(t.Labels) == 0 { + t.Labels = map[string]string{} + } + t.Labels[BrokerLabel] = t.Spec.Broker +} diff --git a/pkg/apis/eventing/v1alpha1/trigger_defaults_test.go b/pkg/apis/eventing/v1alpha1/trigger_defaults_test.go index e6ab361ec85..1cd873c13ec 100644 --- a/pkg/apis/eventing/v1alpha1/trigger_defaults_test.go +++ b/pkg/apis/eventing/v1alpha1/trigger_defaults_test.go @@ -18,6 +18,7 @@ package v1alpha1 import ( "context" + "k8s.io/apimachinery/pkg/apis/meta/v1" "testing" "github.com/google/go-cmp/cmp" @@ -34,6 +35,9 @@ var ( } defaultTrigger = Trigger{ + ObjectMeta: v1.ObjectMeta{ + Labels: map[string]string{BrokerLabel: defaultBroker}, + }, Spec: TriggerSpec{ Broker: defaultBroker, Filter: defaultTriggerFilter, @@ -47,17 +51,39 @@ func TestTriggerDefaults(t *testing.T) { expected Trigger }{ "nil broker": { - initial: Trigger{Spec: TriggerSpec{Filter: otherTriggerFilter}}, - expected: Trigger{Spec: TriggerSpec{Broker: defaultBroker, Filter: otherTriggerFilter}}, + initial: Trigger{Spec: TriggerSpec{Filter: otherTriggerFilter}}, + expected: Trigger{ + ObjectMeta: v1.ObjectMeta{ + Labels: map[string]string{BrokerLabel: defaultBroker}, + }, + Spec: TriggerSpec{Broker: defaultBroker, Filter: otherTriggerFilter}}, }, "nil filter": { - initial: Trigger{Spec: TriggerSpec{Broker: otherBroker}}, - expected: Trigger{Spec: TriggerSpec{Broker: otherBroker, Filter: defaultTriggerFilter}}, + initial: Trigger{Spec: TriggerSpec{Broker: otherBroker}}, + expected: Trigger{ + ObjectMeta: v1.ObjectMeta{ + Labels: map[string]string{BrokerLabel: otherBroker}, + }, + Spec: TriggerSpec{Broker: otherBroker, Filter: defaultTriggerFilter}}, }, "nil broker and nil filter": { initial: Trigger{}, expected: defaultTrigger, }, + "with broker and label": { + initial: Trigger{ + ObjectMeta: v1.ObjectMeta{ + Labels: map[string]string{"otherLabel": "my-other-label"}, + }, + Spec: TriggerSpec{Broker: defaultBroker}}, + expected: Trigger{ + ObjectMeta: v1.ObjectMeta{ + Labels: map[string]string{ + "otherLabel": "my-other-label", + BrokerLabel: defaultBroker}, + }, + Spec: TriggerSpec{Broker: defaultBroker, Filter: defaultTriggerFilter}}, + }, } for n, tc := range testCases { t.Run(n, func(t *testing.T) { diff --git a/pkg/broker/filter/filter_handler.go b/pkg/broker/filter/filter_handler.go index 397620b61a3..1a6e2380a75 100644 --- a/pkg/broker/filter/filter_handler.go +++ b/pkg/broker/filter/filter_handler.go @@ -241,7 +241,7 @@ func (r *Handler) sendEvent(ctx context.Context, tctx cloudevents.HTTPTransportC var arrivalTimeStr string if extErr := event.ExtensionAs(broker.EventArrivalTime, &arrivalTimeStr); extErr == nil { arrivalTime, err := time.Parse(time.RFC3339, arrivalTimeStr) - if err != nil { + if err == nil { r.reporter.ReportEventProcessingTime(reportArgs, time.Since(arrivalTime)) } } From 837087ef3af7855b8969b965cdb9704bda7f8ad9 Mon Sep 17 00:00:00 2001 From: nachocano Date: Wed, 4 Sep 2019 16:08:10 -0700 Subject: [PATCH 2/2] private --- pkg/apis/eventing/v1alpha1/trigger_defaults.go | 4 ++-- pkg/apis/eventing/v1alpha1/trigger_defaults_test.go | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkg/apis/eventing/v1alpha1/trigger_defaults.go b/pkg/apis/eventing/v1alpha1/trigger_defaults.go index 9e0b2eef932..f8e02270626 100644 --- a/pkg/apis/eventing/v1alpha1/trigger_defaults.go +++ b/pkg/apis/eventing/v1alpha1/trigger_defaults.go @@ -21,7 +21,7 @@ import ( ) const ( - BrokerLabel = "eventing.knative.dev/broker" + brokerLabel = "eventing.knative.dev/broker" ) func (t *Trigger) SetDefaults(ctx context.Context) { @@ -44,5 +44,5 @@ func setLabels(t *Trigger) { if len(t.Labels) == 0 { t.Labels = map[string]string{} } - t.Labels[BrokerLabel] = t.Spec.Broker + t.Labels[brokerLabel] = t.Spec.Broker } diff --git a/pkg/apis/eventing/v1alpha1/trigger_defaults_test.go b/pkg/apis/eventing/v1alpha1/trigger_defaults_test.go index 1cd873c13ec..6eddfd83c95 100644 --- a/pkg/apis/eventing/v1alpha1/trigger_defaults_test.go +++ b/pkg/apis/eventing/v1alpha1/trigger_defaults_test.go @@ -36,7 +36,7 @@ var ( defaultTrigger = Trigger{ ObjectMeta: v1.ObjectMeta{ - Labels: map[string]string{BrokerLabel: defaultBroker}, + Labels: map[string]string{brokerLabel: defaultBroker}, }, Spec: TriggerSpec{ Broker: defaultBroker, @@ -54,7 +54,7 @@ func TestTriggerDefaults(t *testing.T) { initial: Trigger{Spec: TriggerSpec{Filter: otherTriggerFilter}}, expected: Trigger{ ObjectMeta: v1.ObjectMeta{ - Labels: map[string]string{BrokerLabel: defaultBroker}, + Labels: map[string]string{brokerLabel: defaultBroker}, }, Spec: TriggerSpec{Broker: defaultBroker, Filter: otherTriggerFilter}}, }, @@ -62,7 +62,7 @@ func TestTriggerDefaults(t *testing.T) { initial: Trigger{Spec: TriggerSpec{Broker: otherBroker}}, expected: Trigger{ ObjectMeta: v1.ObjectMeta{ - Labels: map[string]string{BrokerLabel: otherBroker}, + Labels: map[string]string{brokerLabel: otherBroker}, }, Spec: TriggerSpec{Broker: otherBroker, Filter: defaultTriggerFilter}}, }, @@ -80,7 +80,7 @@ func TestTriggerDefaults(t *testing.T) { ObjectMeta: v1.ObjectMeta{ Labels: map[string]string{ "otherLabel": "my-other-label", - BrokerLabel: defaultBroker}, + brokerLabel: defaultBroker}, }, Spec: TriggerSpec{Broker: defaultBroker, Filter: defaultTriggerFilter}}, },