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

cylc install #3889

Closed
oliver-sanders opened this issue Oct 26, 2020 · 0 comments · Fixed by #4000
Closed

cylc install #3889

oliver-sanders opened this issue Oct 26, 2020 · 0 comments · Fixed by #4000
Assignees
Milestone

Comments

@oliver-sanders
Copy link
Member

oliver-sanders commented Oct 26, 2020

New command for installing and registering workflows from arbitrary locations into the cylc-run directory.

As per the rose suite-run migration proposal.

Overview Of The New Command

  • Check for the existence of a flow.cylc file else fail.
  • Configure the run directory as per symlink configuration in globalrc installing the workflow into
    ~/cylc-run/<flow_name>/<run_name> where run_name defaults to run_<n + 1>.
  • rsync the directory (applying some pre-defined exclusions) into the run directory.
  • Register the workflow.

Out Of Scope

Inexhaustive list of related topics which aren't expected to be resolved as part of this issue:

  • Support for recording any cylc play command line arguments for use with future commands.
  • Combined actions (e.g. install-play).
  • cylc run -> cylc play and related CLI changes.
  • Re-installation (cylc reinstall #3890).
  • Recording of version control information (install: record version control information #3849).
  • Inference of run number by cylc commands when partial registration is provided.
  • Support for running other commands against the workflow source (e.g. cylc get-config).

Registration

Registration (or at least much of its functionality) isn't actually going anywhere but we will retire it as a user-facing concept.

Registration (defined in cylc.flow.suite_files.register) currently does the following:

  1. Validates workflow name.
  2. Validates run directory structure (Disallow nested run directories #3835).
  3. Installs workflow definition from specified source.
  4. Symlinks flow.cylc -> suite.rc.
  5. Creates the .service directory.
  6. Creates the .service/source symlink.
  7. Allows updating the source with --redirect.

As part of this work the following changes should be made:

  • Remove (3) - registration from arbitrary locations no longer supported, use cylc install.
  • Remove (6) - source location now specified by cylc install.
  • Remove (7) - users can manually update the new _cylc-install/source symlink for now.
  • Remove the cylc register command - use cylc install or cylc play for in-place workflows.

Note that that cylc play should still register if not already done as it should still be possible to write a workflow directly in the run directory and run it without using cylc install.

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

Successfully merging a pull request may close this issue.

2 participants