-
Notifications
You must be signed in to change notification settings - Fork 24
feat: experimental podman support #227
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
base: main
Are you sure you want to change the base?
Conversation
@@ -5,9 +5,10 @@ hash_length: 7 | |||
|
|||
# Specify the container framework used by each PRM wrapper. Valid options include: | |||
# - docker (default if not specified) | |||
# - podman - rootless version of docker, which should be a simple swap - if any algorithm doesn't work with podman, that is a bug. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is it a bug with SPRAS or with the algorithm itself?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(Honestly, I don't expect that error to ever pop up, as the compatibility layer that Podman supplies is really robust)
This would usually be a problem with the algorithm, if it does use some weird quirk only available on docker, but I am unaware of any existing.
# - singularity -- Also known as apptainer, useful in HPC/HTC environments where docker isn't allowed | ||
# - dsub -- experimental with limited support, used for running on Google Cloud | ||
container_framework: docker |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
change back to docker
@@ -5,6 +5,7 @@ dependencies: | |||
- adjusttext=0.7.3.1 | |||
- bioconda::snakemake-minimal=8.17.0 | |||
- docker-py=5.0 | |||
- podman=5.4.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should this also be 5.4.0.1?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I ran into an issue when I pinned it to 5.4.0.1 and ignored it - I could look more into it, though I'll circle back to this PR since I figured out what was blocking me in the NetMix2 integration.
@@ -239,6 +242,40 @@ def run_container_docker(container: str, command: List[str], volumes: List[Tuple | |||
# finally: | |||
return out | |||
|
|||
# TODO any issue with creating a new client each time inside this function? | |||
def run_container_podman(container: str, command: List[str], volumes: List[Tuple[PurePath, PurePath]], working_dir: str, environment: str = 'SPRAS=True'): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To test the Podman functionality, a test case should be added to each algorithm test (similar to the singularity test cases).
no formal test cases yet.
Closes #124