acoustic-carpenter-78188
03/16/2023, 8:35 PMn, y, no, yes, etc. flytectl fails to unmarshal the spec correctly. As an example:
inputs:
n: 42
flytectl wil fail with
Error: no matching type for [false]
{"json":{},"level":"error","msg":"no matching type for [false]","ts":"2023-03-14T10:48:56-04:00"}
After a quick investigation, this is because of using sigs.k8s.io/yaml in flytectl: https://github.com/flyteorg/flytectl/blob/cea39d9bdf2476f9a5313d1bf19bf08b3923237a/cmd/create/execution_util.go#L13. This yaml library depends on go-yaml v2, which does not support YAML 1.2 specification, see go-yaml/yaml#214. If an input argument is named as n, when creating an execution via a execution spec file, that argument must be quoted as "n", otherwise flytectl would fail because when unmarshalling n is parsed as false as the input parameter name.
Expected behavior
flytectl should correctly unmarshal the execution spec that is compliant with YAML 1.2 specification.
Additional context to reproduce
No response
Screenshots
No response
Are you sure this issue hasn't been raised already?
☑︎ Yes
Have you read the Code of Conduct?
☑︎ Yes
flyteorg/flyte