Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 33 additions & 33 deletions operator/internal/controller/redpanda/redpanda_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ func (r *RedpandaReconciler) Reconcile(c context.Context, req ctrl.Request) (ctr
// if no longer managed by us, attempt to remove the finalizer
controllerutil.RemoveFinalizer(rp, FinalizerKey)
if err := r.Client.Update(ctx, rp); err != nil {
return ctrl.Result{}, err
return ctrl.Result{}, errors.WithStack(err)
}
}

Expand All @@ -186,7 +186,7 @@ func (r *RedpandaReconciler) Reconcile(c context.Context, req ctrl.Request) (ctr
controllerutil.AddFinalizer(rp, FinalizerKey)
if err := r.Client.Patch(ctx, rp, patch); err != nil {
log.Error(err, "unable to register finalizer")
return ctrl.Result{}, err
return ctrl.Result{}, errors.WithStack(err)
}
}

Expand All @@ -204,19 +204,19 @@ func (r *RedpandaReconciler) Reconcile(c context.Context, req ctrl.Request) (ctr
}

if err := r.reconcileResources(ctx, rp); err != nil {
return ctrl.Result{}, err
return ctrl.Result{}, errors.WithStack(err)
}

if err := r.reconcileStatus(ctx, rp); err != nil {
return ctrl.Result{}, err
return ctrl.Result{}, errors.WithStack(err)
}

if err := r.reconcileLicense(ctx, rp); err != nil {
return ctrl.Result{}, err
return ctrl.Result{}, errors.WithStack(err)
}

if err := r.reconcileClusterConfig(ctx, rp); err != nil {
return ctrl.Result{}, err
return ctrl.Result{}, errors.WithStack(err)
}

// Reconciliation has completed without any errors, therefore we observe our
Expand All @@ -236,17 +236,17 @@ func (r *RedpandaReconciler) reconcileStatus(ctx context.Context, rp *redpandav1
// pull our deployments and stateful sets
redpandaStatefulSets, err := redpandaStatefulSetsForCluster(ctx, r.Client, rp)
if err != nil {
return err
return errors.WithStack(err)
}

consoleDeployments, err := consoleDeploymentsForCluster(ctx, r.Client, rp)
if err != nil {
return err
return errors.WithStack(err)
}

connectorsDeployments, err := connectorsDeploymentsForCluster(ctx, r.Client, rp)
if err != nil {
return err
return errors.WithStack(err)
}

deployments := append(consoleDeployments, connectorsDeployments...)
Expand All @@ -272,7 +272,7 @@ func (r *RedpandaReconciler) reconcileStatus(ctx context.Context, rp *redpandav1
// need to perform a decommission.
needsDecommission, err := r.needsDecommission(ctx, rp, redpandaStatefulSets)
if err != nil {
return err
return errors.WithStack(err)
}

if needsDecommission {
Expand All @@ -298,7 +298,7 @@ func (r *RedpandaReconciler) reconcileResources(ctx context.Context, rp *redpand
IsUpgrade: true,
}, values)
if err != nil {
return err
return errors.WithStack(err)
}

// set for tracking which objects are expected to exist in this reconciliation run.
Expand Down Expand Up @@ -360,7 +360,7 @@ func (r *RedpandaReconciler) reconcileResources(ctx context.Context, rp *redpand

// Garbage collect any objects that are no longer needed.
if err := r.reconcileGC(ctx, rp, created); err != nil {
return err
return errors.WithStack(err)
}

return nil
Expand Down Expand Up @@ -410,7 +410,7 @@ func (r *RedpandaReconciler) reconcileLicense(ctx context.Context, rp *redpandav

client, err := r.ClientFactory.RedpandaAdminClient(ctx, rp)
if err != nil {
return err
return errors.WithStack(err)
}
defer client.Close()

Expand All @@ -427,7 +427,7 @@ func (r *RedpandaReconciler) reconcileLicense(ctx context.Context, rp *redpandav

return nil
}
return err
return errors.WithStack(err)
}

licenseInfo, err := client.GetLicenseInfo(ctx)
Expand All @@ -443,7 +443,7 @@ func (r *RedpandaReconciler) reconcileLicense(ctx context.Context, rp *redpandav

return nil
}
return err
return errors.WithStack(err)
}

var message string
Expand Down Expand Up @@ -518,24 +518,24 @@ func (r *RedpandaReconciler) reconcileClusterConfig(ctx context.Context, rp *red

client, err := r.ClientFactory.RedpandaAdminClient(ctx, rp)
if err != nil {
return err
return errors.WithStack(err)
}
defer client.Close()

config, err := r.clusterConfigFor(ctx, rp)
if err != nil {
return err
return errors.WithStack(err)
}

usersTXT, err := r.usersTXTFor(ctx, rp)
if err != nil {
return err
return errors.WithStack(err)
}

syncer := syncclusterconfig.Syncer{Client: client, Mode: syncclusterconfig.SyncerModeAdditive}

if err := syncer.Sync(ctx, config, usersTXT); err != nil {
return err
return errors.WithStack(err)
}

apimeta.SetStatusCondition(rp.GetConditions(), metav1.Condition{
Expand All @@ -551,7 +551,7 @@ func (r *RedpandaReconciler) reconcileClusterConfig(ctx context.Context, rp *red
func (r *RedpandaReconciler) usersTXTFor(ctx context.Context, rp *redpandav1alpha2.Redpanda) (map[string][]byte, error) {
values, err := rp.GetValues()
if err != nil {
return nil, err
return nil, errors.WithStack(err)
}

if !values.Auth.SASL.Enabled {
Expand All @@ -565,7 +565,7 @@ func (r *RedpandaReconciler) usersTXTFor(ctx context.Context, rp *redpandav1alph
if apierrors.IsNotFound(err) {
return map[string][]byte{}, nil
}
return nil, err
return nil, errors.WithStack(err)
}

return users.Data, nil
Expand All @@ -581,7 +581,7 @@ func (r *RedpandaReconciler) clusterConfigFor(ctx context.Context, rp *redpandav

dot, err := rp.GetDot(&rest.Config{})
if err != nil {
return nil, err
return nil, errors.WithStack(err)
}

// The most reliable way to get the correct and full cluster config is to
Expand All @@ -600,12 +600,12 @@ func (r *RedpandaReconciler) clusterConfigFor(ctx context.Context, rp *redpandav

expanded, err := expander.Expand(ctx, clusterConfigTemplate)
if err != nil {
return nil, err
return nil, errors.WithStack(err)
}

var desired map[string]any
if err := yaml.Unmarshal([]byte(expanded), &desired); err != nil {
return nil, err
return nil, errors.WithStack(err)
}

return desired, nil
Expand All @@ -616,7 +616,7 @@ func (r *RedpandaReconciler) reconcileGC(ctx context.Context, rp *redpandav1alph

types, err := allListTypes(r.Client)
if err != nil {
return err
return errors.WithStack(err)
}

// For all types in the redpanda helm chart,
Expand All @@ -633,7 +633,7 @@ func (r *RedpandaReconciler) reconcileGC(ctx context.Context, rp *redpandav1alph
log.Info("Skipping unknown GVK", "gvk", fmt.Sprintf("%T", typ))
continue
}
return err
return errors.WithStack(err)
}

if err := apimeta.EachListItem(typ, func(o runtime.Object) error {
Expand Down Expand Up @@ -666,7 +666,7 @@ func (r *RedpandaReconciler) reconcileGC(ctx context.Context, rp *redpandav1alph

return nil
}); err != nil {
return err
return errors.WithStack(err)
}
}

Expand All @@ -685,7 +685,7 @@ func (r *RedpandaReconciler) reconcileGC(ctx context.Context, rp *redpandav1alph
func (r *RedpandaReconciler) needsDecommission(ctx context.Context, rp *redpandav1alpha2.Redpanda, stses []*appsv1.StatefulSet) (bool, error) {
client, err := r.ClientFactory.RedpandaAdminClient(ctx, rp)
if err != nil {
return false, err
return false, errors.WithStack(err)
}
defer client.Close()

Expand All @@ -710,7 +710,7 @@ func (r *RedpandaReconciler) reconcileDelete(ctx context.Context, rp *redpandav1
if controllerutil.ContainsFinalizer(rp, FinalizerKey) {
controllerutil.RemoveFinalizer(rp, FinalizerKey)
if err := r.Client.Update(ctx, rp); err != nil {
return err
return errors.WithStack(err)
}
}
return nil
Expand All @@ -720,7 +720,7 @@ func (r *RedpandaReconciler) patchRedpandaStatus(ctx context.Context, rp *redpan
key := client.ObjectKeyFromObject(rp)
latest := &redpandav1alpha2.Redpanda{}
if err := r.Client.Get(ctx, key, latest); err != nil {
return err
return errors.WithStack(err)
}
// HACK: Disable optimistic locking. Technically, the correct way to do
// this is to set both objects' ResourceVersion to "". It's a waste of
Expand All @@ -732,7 +732,7 @@ func (r *RedpandaReconciler) patchRedpandaStatus(ctx context.Context, rp *redpan
func (r *RedpandaReconciler) apply(ctx context.Context, obj client.Object) error {
gvk, err := r.Client.GroupVersionKindFor(obj)
if err != nil {
return err
return errors.WithStack(err)
}

obj.SetManagedFields(nil)
Expand Down Expand Up @@ -791,14 +791,14 @@ func allListTypes(c client.Client) ([]client.ObjectList, error) {
for _, t := range redpanda.Types() {
gvk, err := c.GroupVersionKindFor(t)
if err != nil {
return nil, err
return nil, errors.WithStack(err)
}

gvk.Kind += "List"

list, err := c.Scheme().New(gvk)
if err != nil {
return nil, err
return nil, errors.WithStack(err)
}

types = append(types, list.(client.ObjectList))
Expand Down
Loading