Skip to content

CI: Clean up inconsistencies in the directory where the tests are run from #374

Description

@lesteve

Left-over from #307. From #307 (comment):

it would be great if we could find a way not to have to cd in a different folder (jobqueue scheduler-specific, mostly PBS and SLURM). In an ideal world the /dask-jobqueue volumes would be mounted on the worker images I think but also pbsuser would have the right to write into /dask-jobqueue. Not sure how easy it is to do the second part in docker

❯ ag 'docker.+pytest' ci/
ci/slurm.sh
21:    docker exec -it slurmctld /bin/bash -c "pytest /dask-jobqueue/dask_jobqueue --verbose -E slurm -s"

ci/pbs.sh
22:    docker exec -it -u pbsuser pbs_master /bin/bash -c "cd; pytest /dask-jobqueue/dask_jobqueue --verbose -s -E pbs"

ci/sge.sh
20:    docker exec -it sge_master /bin/bash -c "cd /dask-jobqueue; pytest dask_jobqueue --verbose -s -E sge"

if you run sbatch /tmp/test.sh from a folder that does not exist in the worker node (e.g. /dask-jobqueue), the job terminates instantly. Somehow this seems related to the SLURM logging mechanism because if I set -e and -o to a folder that exists on the worker node the job runs fine. Maybe fixable in the docker images of the SLURM slaves.

  • PBS: we run as pbsuser so we have to cd somewhere where we can write (logs + local dask files). Here we cd into the pbsuser HOME directory. Reminder: you need to be root to write in /dask-jobqueue. Maybe fixable inside docker.
  • SGE: this was the default way of running the tests before Rewrite dask-jobqueue with SpecCluster #307.

Metadata

Metadata

Assignees

No one assigned

    Labels

    CIContinuous Integration tools

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions