Skip to content

Error passing endpoint_setup to compute endpoint from metadata #91

@hholb

Description

@hholb

I am trying to pass an endpoint_setup arg to the MEP on edith, here is the config I am working with:

# /// script
# requires-python = "==3.12.*"
# dependencies = [
#     "ase",
#     "torch==2.4.0",
#     "torch-geometric",
#     "cuequivariance",
#     "cuequivariance-torch",
#     "cuequivariance-ops-torch-cu12",
#     "torch-sim-atomistic[mace] @ git+https://github.com/TorchSim/torch-sim.git",
#     "mace-torch[queq-cuda-12]",
#     "parsl",
#     "pymatgen",
#     "pandas",
#     "numpy",
#     "pyarrow",
#     "globus-compute-endpoint",
# ]
#
# [tool.hog.edith]
# endpoint = "a01b9350-e57d-4c8e-ad95-b4cb3c4cd1bb"
# worker_init = """
# set -eux;
# module load openmpi/5.0.3;
# """
# endpoint_setup = """
# conda create -y -n test-env
# conda activate test-env
# pip install uv
# """

Here is the error I am seeing:

 ❯ uv run hog run mace_batch_relax.py test_edith
Relaxing on edith...
| mace_batch_relax | task pending | status pending | 3.7s | ☁️🦫
Error: ('POST', 'https://compute.api.globus.org/v3/endpoints/a01b9350-e57d-4c8e-ad95-b4cb3c4cd1bb/submit', 'Bearer', 422, 'SEMANTICALLY_INVALID', 'Request payload failed validation: Failed to start or unexpected error:\n  (SystemExit) 78')

I don't see the same error if I pass the endpoint_setup as a kwarg to the remote call:

@hog.harness()
def test_edith():
    with open("./test_structures.xyz", "r") as f:
        xyz_content = f.read()

    endpoint_setup = """
    conda create -y -n test-env
    conda activate test-env
    pip install uv
    """
    print("Relaxing on edith...")
    contents = mace_batch_relax.remote(
        xyz_content,
        endpoint="edith",
        endpoint_setup=endpoint_setup,
    )
    print("Edith result:\n", contents)

The job at least starts (still having issues on edith, but that's a different issue):

 ❯ uv run hog run mace_batch_relax.py test_edith
Relaxing on edith...
| mace_batch_relax | ea4fb4fb-5693-4ffb-816b-4dd11da22ad4 | waiting-for-ep | 4m 11s | ☀️🦫️

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions