You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now, simple YAML errors like missing an indent result in nonexistent analyzer errors.
Describe the feature
I picked up some code and ran support-bundle, only to find that It output nonexistent analyzer
The code in the file is
- distribution:
outcomes:
- pass:
when: "== kurl"message: kurl is a supported platform
- pass:
when: "== gke"message: GKE is a supported platform
but should be
- distribution:
outcomes:
- pass:
when: "== kurl"message: kurl is a supported platform
- pass:
when: "== gke"message: GKE is a supported platform
Proposal: Detect likely format errors To whatever extent we can, which may be "not much", try to hint that this may be a yaml/parse error when the body of an analyzer evaluates to null.
A proposed error message might look like
Could not parse an analyzer at index $N. Please ensure the object key is a valid analyzer type and parameters are indented as children of the analyzer type name. See $DOCS_LINK for more information.
Proposal: Strict format requirements it seems like the YAML parser that consumes the list element evaluates to distribution = nil and then just drops the outcomes block on the floor since it can't be unmarshalled onto any known struct field of type Analyze. Y'all could consider failing or warning whenever unrecognized fields are provided, but this has some backwards-compatibility issues and probably needs some kind of strict-parsing opt-in. For example in the actual failed analyzer UI, could show something like
Parse error at index $N (or line: $N) -- one or more unknown object fields will be ignored: [outcomes].
Describe alternatives you've considered
I suppose I could make fewer yaml mistakes 😅
Additional context
The text was updated successfully, but these errors were encountered:
Analysis will fail if the analyser given is deemed non-existent, say it has been misspelled, or the binary executing the analysis is old and does not include the implementation of the given analyser
Describe the rationale for the suggested feature.
Right now, simple YAML errors like missing an indent result in
nonexistent analyzer
errors.Describe the feature
I picked up some code and ran support-bundle, only to find that It output
nonexistent analyzer
The code in the file is
but should be
Proposal: Detect likely format errors To whatever extent we can, which may be "not much", try to hint that this may be a yaml/parse error when the body of an analyzer evaluates to
null
.A proposed error message might look like
Proposal: Strict format requirements it seems like the YAML parser that consumes the list element evaluates to
distribution = nil
and then just drops theoutcomes
block on the floor since it can't be unmarshalled onto any known struct field of type Analyze. Y'all could consider failing or warning whenever unrecognized fields are provided, but this has some backwards-compatibility issues and probably needs some kind ofstrict-parsing
opt-in. For example in the actual failed analyzer UI, could show something likeDescribe alternatives you've considered
I suppose I could make fewer yaml mistakes 😅
Additional context
The text was updated successfully, but these errors were encountered: