Open ChristopherFry opened 2 years ago
cc @droot
Inconsistent field casing The casing of the fields in FunctionResultList is inconsistent with Porch and kpt fn render. The fields in kpt fn render are camelCase whereas the same fields in Porch are mostly PascalCase.
This is resolved with #3638.
Creating an umbrella issue to track requested improvements and issues with the Porch render status.
Porch does not set Exit Code field on render status
When kpt functions are executed through Porch, the ExitCode field in
renderStatus.result
andrenderStatus.result.Items[]
are always set to zero regardless if a function errors.This can be reproduced by adding set-namespace mutator to the Kptfile, and setting configPath input to an non-ConfigMap and non-SetNamespace resource.
In Porch, the following is retuned:
whereas with
kpt fn render
the exit code field is set:The impact of this is that clients of Porch will not be able to use the ErrorCode field to determine if a function failed.
Porch does not set Stderr field on render status
Similar to the exit code field, Porch also does not set the Stderr field.
This can be reproduced by adding an invalid function to the Kptfile.
In Porch, the following is returned:
Whereas with
kpt fn render
the stderr field is set:The impact of this is that clients of Porch cannot always iterate through the Items list to determine which function failed. Fortunately the error is returned on the top level error field however it's not associated with a function.
Exclude the Exec Path field from render results
Since functions are executed server side in Porch, this field will likely not be valuable to Porch clients and may leak internal implementation details.
Inconsistent field casing
The casing of the fields in FunctionResultList is inconsistent with Porch and
kpt fn render
. The fields inkpt fn render
are camelCase whereas the same fields in Porch are mostly PascalCase.This can be seen in the examples above.
Requesting FunctionResultList always includes all functions, including those not executed
This is a feature request for the FunctionResultList (for both Porch and kpt) to include all functions, including any functions that were not executed and/or skipped. Today you only know if a function is skipped by comparing the functions in the FunctionResultList to those in the Kptfile.
Requesting rendering does not stop if a validation function fails
This is a feature request to execute all Kptfile validation functions, even if one of the validation functions fails. An advantage of this is that this will allow us to show the user all validation failures at one time, not just the first validation failure.