From 37f0e4a2ecab8ace798bcafd4876cda9ffde0c76 Mon Sep 17 00:00:00 2001 From: Adam Harwayne Date: Mon, 18 Mar 2019 09:57:14 -0700 Subject: [PATCH] Mark the Broker's Ingress and Filter status condidionts failed when they have failed. --- pkg/apis/eventing/v1alpha1/broker_types.go | 4 ++++ pkg/reconciler/v1alpha1/broker/broker.go | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/pkg/apis/eventing/v1alpha1/broker_types.go b/pkg/apis/eventing/v1alpha1/broker_types.go index 7e0c5a1c9be..ecdf36cf841 100644 --- a/pkg/apis/eventing/v1alpha1/broker_types.go +++ b/pkg/apis/eventing/v1alpha1/broker_types.go @@ -139,6 +139,10 @@ func (bs *BrokerStatus) MarkFilterReady() { brokerCondSet.Manage(bs).MarkTrue(BrokerConditionFilter) } +func (bs *BrokerStatus) MarkFilterFailed(err error) { + brokerCondSet.Manage(bs).MarkFalse(BrokerConditionFilter, "failed", "%v", err) +} + // SetAddress makes this Broker addressable by setting the hostname. It also // sets the BrokerConditionAddressable to true. func (bs *BrokerStatus) SetAddress(hostname string) { diff --git a/pkg/reconciler/v1alpha1/broker/broker.go b/pkg/reconciler/v1alpha1/broker/broker.go index dda117d34de..225e65a139e 100644 --- a/pkg/reconciler/v1alpha1/broker/broker.go +++ b/pkg/reconciler/v1alpha1/broker/broker.go @@ -189,11 +189,13 @@ func (r *reconciler) reconcile(ctx context.Context, b *v1alpha1.Broker) (reconci _, err = r.reconcileFilterDeployment(ctx, b) if err != nil { logging.FromContext(ctx).Error("Problem reconciling filter Deployment", zap.Error(err)) + b.Status.MarkFilterFailed(err) return reconcile.Result{}, err } _, err = r.reconcileFilterService(ctx, b) if err != nil { logging.FromContext(ctx).Error("Problem reconciling filter Service", zap.Error(err)) + b.Status.MarkFilterFailed(err) return reconcile.Result{}, err } b.Status.MarkFilterReady() @@ -201,12 +203,14 @@ func (r *reconciler) reconcile(ctx context.Context, b *v1alpha1.Broker) (reconci _, err = r.reconcileIngressDeployment(ctx, b, c) if err != nil { logging.FromContext(ctx).Error("Problem reconciling ingress Deployment", zap.Error(err)) + b.Status.MarkIngressFailed(err) return reconcile.Result{}, err } svc, err := r.reconcileIngressService(ctx, b) if err != nil { logging.FromContext(ctx).Error("Problem reconciling ingress Service", zap.Error(err)) + b.Status.MarkIngressFailed(err) return reconcile.Result{}, err } b.Status.MarkIngressReady()