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
This can be executed fine when compiled with 0.1.19 (latest version in PyPI), but fails with the latest master (which uses cloudpickle). The error message is one of the following:
in case only {{workflow.uid}} is used:
Traceback (most recent call last):
File "<string>", line 9, in <module>
AttributeError: 'dict' object has no attribute 'append'
in case {{pod.name}} is used:
Traceback (most recent call last):
File "<string>", line 9, in <module>
_pickle.UnpicklingError: invalid load key, '5'.
Using a default value without brackets resolves the issue.
The text was updated successfully, but these errors were encountered:
Unfortunately this is probably "Won't fix" for now.
Argo's templating language is text-based and it brings all sorts of problems in many scenarios.
For example this command-line fails in Argo:
You probably imaging what's happening in your case: Argo is replacing some text snipped inside binary data which breaks the binary format.
In your case the workaround is easy and better for future-proofing:
Don't use Argo templates inside the program code
Don't use Argo templates in component.yaml
You should only pass the templated strings as arguments when you call the component.
Argo templates are implementation detail. You should not expect them to always work.
Artifacts in Minio is an implementation detail. You should not expect them to always be there (e.g. in future we can decide to store artifacts in mounted volumes).
P.S. Why do you want to access the artifacts that would be written by your own task after it ends? They'll never be there until your code finishes...
Deserializing a python function during runtime fails in case the function has a default parameter, which uses an argo variable.
Here is a simple example:
This can be executed fine when compiled with 0.1.19 (latest version in PyPI), but fails with the latest master (which uses cloudpickle). The error message is one of the following:
{{workflow.uid}}
is used:{{pod.name}}
is used:Using a default value without brackets resolves the issue.
The text was updated successfully, but these errors were encountered: