-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RFE] - Error Reporting and Normalization #126
Comments
Related to #123 |
Can you elaborate on this? |
@jortel if an analysis run happens, and the thing is fatal, then nothing will be reported back right, and therefore nothing meaningful in terms of analysis was my thought process. does that help or are we still missing something? |
@shawn-hurley There are 3 levels of fatal.
Though 2 & 3 are kind of the same thing. All errors/warnings currently are (or can be) reported in Task.Error (with further details in Task.Activity). Related:
Seems the UI can simply enable an icon and show the Task.Errors when not empty. (Crude) Example of TaskReport (addon) errors:
(Crude) Example of Task errors:
|
I agree this makes sense for the fatal errors, and if we can just show that error, along with some text, "Cluster was unable to pull the image " or "git credentials were unauthorized" or "git repository not found" the more we can bucket it and give user exact statements of what wrong the better, especially for the fatal errors. Starting with the fatal errors, my goals are twofold:
I would imagine the data we would want is something like this:
Note: we may only have a few buckets right now, but I think this is ok. With the extra escape hatches, users can still get to the hard debugging answers, while hopefully the easy issues are immediately diagonsable. Adding lots of folks that also had to do this exercise with MTC, please tell me if I am missing a huge step that y'all had to take, or if this is over kill. @jortel @jwmatthews @pranavgaikwad @fabianvf @mansam @djzager @jmontleon @JustinXHale |
What currently happens when a user runs into an error? |
@JustinXHale I might be the worst person to ask, but my understanding as of today is there is a log of actions that a task took and that if the task fails, there is an |
Correct.
There is an open issue to propagate k8s errors in There is another issue aligned to addon-analyzer to propagate soft errors reported (not sure how) by the analyzer as non-fatal severity errors in Task.Error. |
Another thing to keep in mind is the quality of error information surfaced to the user depends on the quality of the the information reported by the error origin. For example: for credentials, (in many cases) both Git and Subversion (and SSH) can report almost nothing useful. |
Hmm, looking for a string like "Authentication Failed" when using git doesn't seem overly burdensome or brittle to me. Am I missing something? There are two things that I can think of to be worried about:
for 2, I think it is reasonable to assume this will happen, and that is why we do have the escape hatches. for 1, I think that we need to be careful here, but if it is a simple check like above, I have a tough time seeing how this could be overly brittle. What I worry about is that because the user has no direct access to debug things, we control the way that all of these tools are called, that if we don't have actual steps for them to take, it could be very frustrating for users. I think it is reasonable to not try and boil the ocean, but I do think we can take some steps for common situations to try and make this better for users. @jortel I agree on a fallback to just show the information to the user FYI. I just think that we can try and provide a better experience for certain cases, especially for things that we are putting together. (setting up git/svn creds that are stored in some other place in the hub) or for the rules that are coming for X place. |
So far, I have not read any comments that indicate opposition to the iteration proposed in the linked, hub, ui and addon issues. This would be an low investment evolution of how/what is reported currently and does not seem to paint us into a corner. |
As a user, understanding what high-level errors mean can help you quickly debug and solve issues. While there will always be a need for deep dive debugging, expecting users to search through hundreds of log lines that are not for their application, I believe, is an unrealistic expectation.
We need a cascading set of error/warning information to display to users to give them a complete picture of the unhappy path scenarios.
Full Stop Errors (sometimes referred to as "fatal")
The most apparent set of errors is when one of the following occurs:
For this set of errors, we want to consider that:
Fall Through Errors or "Soft Errors"
There is a second set of Errors that can occur. These errors will mostly happen when running the code the addon will call. The following are examples.
The clear case for this is:
These particular scenarios should be captured and displayed. They basically say that some information may be useful, but you can not say all the data that is returned is correct.
Warnings
We have the concept of warnings here that we should consider and categorize. I see this happening when something like the following occurs.
Another concern in this vein is that it would be nice, to have some way to show the skipped and unmatched rules. This information will be vital for a user with " new-custom-rule-x " not being matched. If the only option is assuming this is the case because it is not in the issues screen, it seems like it would be a less desirable UX/UI. We need some way to note this information.
Skipped rules are filtered out by the user in the input. These should fall into the above category of Unmatched.
Because the searching for violations is not, AFAIK, tied to a specific analysis but rather to the latest run, we need to have a way for users to see why maybe specific violations/rules are disappeared. This could be our most significant source of customer cases.
The text was updated successfully, but these errors were encountered: