Skip to content
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

platforms: document how to run jobs on a homeless platform. #344

Merged
merged 1 commit into from
Dec 15, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions src/reference/config/writing-platform-configs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -289,3 +289,44 @@ platform. Job files can be installed on the workflow host.
Therefore the same names **cannot** be used for platforms and platform
groups. The ``global.cylc`` file will fail validation if the same name is
used in both.

Platform with no ``$HOME`` directory
------------------------------------

.. admonition:: Scenario

You are trying to run jobs on a platform where the compute nodes don't
have a configured ``HOME`` directory.

So long as the login and compute nodes share a filesystem the workflow can be
installed on the shared filesystem using
:cylc:conf:`global.cylc[install][symlink dirs]`.

The ``$CYLC_RUN_DIR`` variable can then be set on the compute node to point
at the ``cylc-run`` directory on the shared filesystem using
:cylc:conf:`global.cylc[platforms][<platform name>]global init-script`.

.. code-block:: cylc
:caption: part of a ``global.cylc`` config file

[platforms]
[[homeless-hpc]]
job runner = my-job-runner
install target = homeless-hpc
global init-script = """
export CYLC_RUN_DIR=/shared/filesystem/cylc-run
"""

[install]
[[symlink dirs]]
[[[homeless-hpc]]]
run = /shared/filesystem/

In this example Cylc will install workflows into
``/shared/filesystem/cylc-run``.

.. note::

If you are running :term:`schedulers <scheduler>` directly on the login node
and submitting jobs locally then the platform name and install target should
be ``localhost``.