-
Notifications
You must be signed in to change notification settings - Fork 4
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
Singularity, apptainer regression with envfile and shell evaluation #48
Comments
@antoinetran is this something that you see like a time to time annotation to pass to the pod, or would you use no eval as the default? can this hurt anything? |
I think we should put that as default. We want the env values specified in YAML to be copied to singularity exactly as they were in YAML. Because the example of ARGO_TEMPLATE is probably the most complex one, I am confident any other env var will also works with the flag. There can be some impact in CMD / ENTRYPOINT, but the way I see it, I think the no eval is more clean. If this is an issue, we can revert and go back to adding this flag manually, or exclude the flag thanks to an annotations later. |
I would like to add in documentation at https://github.com/interTwin-eu/interlink-slurm-plugin?tab=readme-ov-file#warning-pods-requirements-warning : another section like
Also, I would like to remove
This is simply not true anymore, thanks to #32 |
+1 |
adding singularity noeval by default needed for complex env var with JSON value (eg ARGO_TEMPLATE)
Issue:
Currently, when running an Argo POD to Slurm, which adds the whole Kubernetes YAML inside one environment variable named ARGO_TEMPLATE, the singularity cannot run the container because it tries to evaluate the environment variable as if in a shell.
Fix:
Singularity >= 3.10.0 (https://github.com/sylabs/singularity/blob/main/CHANGELOG.md#3100-2022-05-17) and Apptainer >= 1.1.0 (https://github.com/apptainer/apptainer/releases/tag/v1.1.0) brings an
--no-eval
. The purpose is:More detail about this in sylabs/singularity#487
I tested adding
--no-eval
and now the singularity is running fine with the complex env. This is an example I cut (too long):The text was updated successfully, but these errors were encountered: