kapp-controller icon indicating copy to clipboard operation
kapp-controller copied to clipboard

Improve kapp-controller standard error message

Open danielhelfand opened this issue 3 years ago • 1 comments

Describe the problem/challenge you have

When users encounter an error like below, a common question has been how to access the usefulErrorMessage, which will contain the most relevant error for users to focus on:

resource reconciliation failed: kapp: Error: waiting on reconcile packageinstall/grype (packaging.carvel.dev/v1alpha1) namespace: tap-install: Finished unsuccessfully (Reconcile failed: (message: Error (see .status.usefulErrorMessage for details))). Reconcile failed: Error (see .status.usefulErrorMessage for details) Error: exit status 1

The error above is the output of kapp after failing to install a PackageInstall.

The original error message was meant to replace a user simply seeing a error message of exit status 1 as shown here.

What are ways that we can make it easier for users to find the error? .status.usefulErrorMessage probably does not immediately resonate with a lot of users of kapp-controller to mean the status of the CRD.

Describe the solution you'd like

An error message that does not require a user to follow up with a question afterwards of how to access the error message. Users should be able to very clearly identify what actions to take next after running into problems with kapp-controller.

Anything else you would like to add:

We should more broadly consider how any change will affect how the error appears in a kubectl get pkgi. Also, how will this affect the tanzu cli and other clients.


Vote on this request

This is an invitation to the community to vote on issues, to help us prioritize our backlog. Use the "smiley face" up to the right of this comment to vote.

👍 "I would like to see this addressed as soon as possible" 👎 "There are other more important things to focus on right now"

We are also happy to receive and review Pull Requests if you want to help working on this issue.

danielhelfand avatar Jan 21 '22 17:01 danielhelfand

It's a shame that the logs subresource isn't implementable, or else kubectl logs packageinstall foo would seem like the natural choice.

Relying on #412 seems like the next best thing.

benmoss avatar Jan 21 '22 17:01 benmoss

This has been since implemented as part of kctrl. Closing this one out, thanks everyone!

neil-hickey avatar Feb 22 '23 20:02 neil-hickey