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

Replace suite.rc & global.rc with cylc-flow.rc #3260

Closed
wxtim opened this issue Jul 31, 2019 · 1 comment
Closed

Replace suite.rc & global.rc with cylc-flow.rc #3260

wxtim opened this issue Jul 31, 2019 · 1 comment
Assignees
Labels
duplicate This is a duplicate of something else

Comments

@wxtim
Copy link
Member

wxtim commented Jul 31, 2019

Depends on cylc-admin issue.

Before to #2199 (redefining how Cylc submits jobs to compute resources/clusters) we should consider the design of the .rc settings files.

The most logical way to support installation of suites on suite clusters and
job hosts is to migrate our host-based configuration logic to a cluster-based
configuration logic. Some points to consider:

  • Deprecate global.rc [hosts] section in favour of a [job platforms]
    section. The new section should allow us to configure:
    • Login hosts.
    • Batch system or workload manager, and related settings.
    • Directory locations for various usages by suites.
    • Communication protocols:
      • Forward (install, submit, poll, kill, view log, log retrieval, etc).
      • Backward (message and manipulation commands).
  • Deprecate suite.rc relevant settings under [runtime][__MANY__], but have
    a top level [job platforms] section that simply mirrors that of global.rc to allow individual suites to override the site/user settings.
  • Users will configure tasks to run on clusters instead of hosts/batch systems.
  • If relevant, improve alignment with DRMAA Open Grid Forum API?

So, for example, a suite flow.rc might look like this:

[cylc]
    ...

[scheduling]
    ...

[job platforms]
    [[spice]]
        [[[batch system]]]
            class = slurm
            before command = sshare -u %(user_id)           # Blue Sky thinking
            after command = sacct -j %(jobid)s --format=""
    [[xcs]]
        login hosts = xcslr0, xcslr1
        retrieve job logs = True
        [[[batch system]]]
            class = pbs
        [[[default directives]]]
            --some-directive="directive here!"
    [[desktop]]
        login hosts = vld392

[runtime]
    [[Alice]]
        ...

    [[Bob]]
        ...
        [[[job platform]]]
            platform = desktop

    [[Charlie]]
        ...
        [[[job platform]]]
            platform = spice
        [[[directives]]]
            --mem=5
            --ntasks=1

    [[Dai]]
        ...
        [[[job platform]]]
            platform = cray

Ideally the suite.rc and the global.rc should be replaced by a single configuration, probably called cylc-flow.rc. It is envisaged that some of it's settings are more likely to be set in a global context, and some in a suite context, but the same settings should be available in both cases.

@dpmatthews
Copy link
Contributor

Superseded by #3419 and #3421

@dpmatthews dpmatthews removed this from the cylc-8.0.0 milestone Nov 8, 2019
@dpmatthews dpmatthews added the duplicate This is a duplicate of something else label Nov 8, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate This is a duplicate of something else
Projects
None yet
Development

No branches or pull requests

3 participants