Skip to content

[WIP] Pulsar client for ARC #401

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

Draft
wants to merge 11 commits into
base: master
Choose a base branch
from
Draft

Conversation

kysrpex
Copy link

@kysrpex kysrpex commented Jul 3, 2025

Implement a Pulsar client that runs jobs on computing infrastructure using the Advanced Resource Connector (ARC) middleware.

Requires #399.

mvdbeek and others added 10 commits February 3, 2025 15:09
This should be the general strategy for collecting input and output
files for ARC, DIRAC, AWS batch etc.
Change base image from `conda/miniconda3` (based off Debian Stretch) to `python:3.12-bookworm`. Miniconda is not required in the base image.

Add the Galaxy Depot repository, which provides SLURM DRMAA packages for Debian Buster and newer releases.

Do not install the package `apt-transport-https`, it is now a dummy package, see https://packages.debian.org/en/bookworm/apt-transport-https. Install the package `slurm` instead of `slurm-llnl`.

Newer versions of the `munge` package include the binary `/usr/sbin/mungekey` instead of `/usr/sbin/create-munge-key`. Nevertheless, the key seems to be created automatically when installing the package, as running `mungekey` yields 'mungekey: Error: Failed to create "/etc/munge/munge.key": File exists'.
Build wheel automatically when building the Docker image. Exclude the source code from the output image through a multistage build.
…oexecutionLaunchMixin` to `BaseRemoteConfiguredJobClient`
Implement a Pulsar client that runs jobs on computing infrastructure using the Advanced Resource Connector (ARC) middleware.
{pulsar_manifest_command.command} {" ".join(pulsar_manifest_command.args)}

cat job_directory/{output_manifest_path} | jq -r '.[] | "\(.from_path | sub("^{job_directory}/"; "job_directory/")) \(.url | capture("^(?<protocolurlhostport>[^:]+://[^/]+)(?<fileandmetadataoptions>/.*)") | "\(.protocolurlhostport);overwrite=yes\(.fileandmetadataoptions)" )"' > output.files
sed -i 's|https://galaxy-3923.local|http://b3bb955b30f267.lhr.life|g' output.files
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs a comment I think.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for spotting it. That whole commit should be dropped, but arguably that line should never have made it there :).

@kysrpex
Copy link
Author

kysrpex commented Jul 3, 2025

This PR is definitely not fully ready yet, but of course I really appreciate your comments. Please focus on 4755525 and subsequent commits, previous commits belong to #399.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants