mlcube: Singularity fails in 0.0.10rc0
The output of singularity --version for singularity >=3.8 is as follows:
singularity-ce version 3.x.x
The MLCube singularity runner currently doesn’t expect a version prefix as singularity-ce. It fails and exists when parsing the version.
Additional Context
-
Here is the official documentation stating that
singularity-ceis used in version output of singularity>=3.8 -
This behavior is not present in
mlcube==0.0.9. The version parsing error was being ignored. But now after implementing thesingularity_clientin0.0.10rc0, the version parsing leads to havingsemver.VersionInfo.parseraise errors. https://github.com/mlcommons/mlcube/blob/b92f54078434d3926884109bde8e102162be3262/runners/mlcube_singularity/mlcube_singularity/singularity_client.py#L151-L157 -
Example of traceback:
(medperf) hasan@hasan-HP-ZBook-15-G3:~/work/medperf_ws/tmp$ mlcube configure --platform singularity --mlcube mlcube.yaml
2023-08-02 06:50:32 hasan-HP-ZBook-15-G3 mlcube_singularity.singularity_run[69189] WARNING Config.merge singularity configuration not found in MLCube file (singularity={}).
2023-08-02 06:50:32 hasan-HP-ZBook-15-G3 mlcube_singularity.singularity_client[69189] WARNING Client.init unrecognized container runtime (version_string: singularity-ce version 3.10.0)
Traceback (most recent call last):
File "/home/hasan/anaconda3/envs/medperf/bin/mlcube", line 8, in <module>
sys.exit(cli())
File "/home/hasan/anaconda3/envs/medperf/lib/python3.9/site-packages/click/core.py", line 1157, in __call__
return self.main(*args, **kwargs)
File "/home/hasan/anaconda3/envs/medperf/lib/python3.9/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
File "/home/hasan/anaconda3/envs/medperf/lib/python3.9/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/hasan/anaconda3/envs/medperf/lib/python3.9/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/hasan/anaconda3/envs/medperf/lib/python3.9/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
File "/home/hasan/anaconda3/envs/medperf/lib/python3.9/site-packages/mlcube/__main__.py", line 242, in configure
runner_cls, mlcube_config = parse_cli_args(
File "/home/hasan/anaconda3/envs/medperf/lib/python3.9/site-packages/mlcube/cli.py", line 72, in parse_cli_args
mlcube_config = MLCubeConfig.create_mlcube_config(
File "/home/hasan/anaconda3/envs/medperf/lib/python3.9/site-packages/mlcube/config.py", line 154, in create_mlcube_config
runner_cls.CONFIG.merge(mlcube_config)
File "/home/hasan/anaconda3/envs/medperf/lib/python3.9/site-packages/mlcube_singularity/singularity_run.py", line 84, in merge
client = Client.from_env()
File "/home/hasan/anaconda3/envs/medperf/lib/python3.9/site-packages/mlcube_singularity/singularity_client.py", line 87, in from_env
client = Client(executable)
File "/home/hasan/anaconda3/envs/medperf/lib/python3.9/site-packages/mlcube_singularity/singularity_client.py", line 117, in __init__
self.init()
File "/home/hasan/anaconda3/envs/medperf/lib/python3.9/site-packages/mlcube_singularity/singularity_client.py", line 156, in init
self.version = Version(runtime, semver.VersionInfo.parse(version_string))
File "/home/hasan/anaconda3/envs/medperf/lib/python3.9/site-packages/semver/version.py", line 646, in parse
raise ValueError(f"{version} is not valid SemVer string")
ValueError: singularity-ce version 3.10.0 is not valid SemVer string
About this issue
- Original URL
- State: closed
- Created a year ago
- Comments: 15 (15 by maintainers)
sure!