-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
deleteDelayDuration
JSON schema and validation mismatch
#12631
Comments
Yea I mentioned this exact thing ask in my "Notes to Reviewers" in the PR as well as in-line comment and didn't get a response. Re-reading that 6 months old PR of mine, it's supposed to marshal to a string, but the internal representation of it is what the JSON schema shows (what it unmarshals to). Unfortunately I did not know how to resolve that.
The schemas, validation, and "Field Reference" page in the docs are all generated from the Go types. Notably the CRD is just a plain string -- yet similarly generated from the same place. |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
We use durations in a few places already, and this was a duration as an env var before it became part of the spec (with the exact same name), but I learned recently that apparently it's k8s convention to not expose them in fields since they are Go specific: https://github.com/kubernetes/community/blob/fb55d44/contributors/devel/sig-architecture/api-conventions.md#units Changing this (and other fields) to |
This got reported on Slack as well. Now that it's been reported twice (and unstale), I'm thinking of applying a workaround for this. The codebase has a helper
This would be a breaking change, so while I'd like to do that with many of the durations in the codebase as well, we should fix this issue in the meantime |
deleteDelayDuration
JSON schema and validation mismatch
Pre-requisites
:latest
What happened/what did you expect to happen?
I'm really not understanding the syntax for
deleteDelayDuration
implemented in 3.5 #11325.The examples use
But the schema (https://github.com/argoproj/argo-workflows/blob/v3.5.4/api/openapi-spec/swagger.json#L14403) says it should be
The schema-correct option fails with a validation error in the UI.
Is the schema wrong, the docs wrong or the code wrong? I cannot determine what is correct, although only the schema-incorrect version is submittable.
Version
3.5.4
Paste a small workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images.
Logs from the workflow
controllerserverNo logs from the controller, the workflow cannot be submitted from the UI as a 400 error is returned from the Server.
Logs from in your workflow's wait container
No logs, no workflow is created.
The text was updated successfully, but these errors were encountered: