-
Notifications
You must be signed in to change notification settings - Fork 93
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
Consolidate service files #2067
Conversation
998e04c
to
4ce0e92
Compare
4ce0e92
to
103f3c3
Compare
@matthewrmshin - I'm hoping to have a good look at this before the end of the week. |
103f3c3
to
99ea707
Compare
Branch re-based and conflicts resolved. |
99ea707
to
6b804e9
Compare
@matthewrmshin - this is on my to-do list - haven't forgotten just need space to examine and consider. |
00f38f5
to
46f023f
Compare
Very nice change. A couple of minor questions on file naming:
|
Removing the old |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good; approved regardless of potential file name changes as per my question above.
Hi @hjoliver:
|
4b1a1be
to
5a18552
Compare
Remove redundant items. Support `/` in suite names.
Remove redundant items. Support `/` in suite names.
5a18552
to
9731e85
Compare
Remove redundant items. Support `/` in suite names.
Remove redundant items. Support `/` in suite names. [skip ci]
1. Create service files under ~/cylc-run/SUITE/.cylc-var/. * source - symbolic link to suite source (can be `..`) * ssl.pem - SSL private key file * ssl.cert - SSL certificate file * passphrase - passphrase file * contact - suite contact file * db - private suite run SQLite database file 2. Suite contact file absorbs the port file. * On suite stop, remove suite contact files, local + remotes. * Task message will no longer retry if suite contact file not found, as suite is unlikely to be running, and restart will poll any way. 3. Hierarchical suite name delimiter is now the path separator "/". 4. Remove subcommands: copy, unregister, rereregister, refresh. 5. cylc run|restart: automatic register, if necessary. * New `--source=SOURCE` option to specify alternate suite source. 6. Generate `suite.rc.processed` only on demand: * cylc validate: new `--output=FILENAME` option to specify location to dump processed `suite.rc` file. * cylc run: dump `suite.rc.processed` under suite run directory. 7. Public suite run SQLite database file relocated to `log/cylc-suite.db`, but will continue to have a symbolic link from top of suite run directory.
Now that suites are easily identifiable under `~/cylc-run/`, it makes sense to group suites of each test battery run under `~/cylc-run/cylctb-TIMESTAMP/` where TIMESTAMP is the start time of the test battery run. The hierarchy under which would also roughly reflect the hierarchy under `$CYLC_DIR/tests/`.
On suite start up, if an old contact file is found, read host and process string from the contact file and run a (ssh+)ps command to determine if an old suite is still running or not. If it can confirm that the old suite process does not exist, it will remove the old contact file and continue with starting up the suite. Otherwise, it will print the old error message.
If `task communication method=poll`, don't bother installing the contact file on the job host. Also remove old back-compat for "remote shell template".
Detect presence of contact file before attempt to register suite.
* `.service/` <= `.cylc-var/` * `log/db` <= `log/cylc-suite.db`
Don't sync service files if remote job host has shared file system with suite host.
9731e85
to
dab95e6
Compare
Can't spot anything obviously wrong or missing. Think I preferred the old |
Remove redundant items. Support `/` in suite names.
Remove redundant items. Support `/` in suite names.
Changes related to cylc/cylc-flow#2067
~/cylc-run/SUITE/.service/
.source
- symbolic link to suite source (can be..
)path=SOURCE
in~/.cylc/REGDB/SUITE
.suite.rc
is very fast.ssl.pem
- SSL private key fileSOURCE/
ssl.cert
- SSL certificate fileSOURCE/
passphrase
- passphrase fileSOURCE/
contact
- suite contact file~/cylc-run/SUITE/cylc-suite-env
and~/.cylc/ports/SUITE
.db
- private suite run SQLite database file~/cylc-run/SUITE/cylc-suite-private.db
/
..
~/cylc-run/
copy
,unregister
,rereregister
,refresh
.--source=SOURCE
option to specify alternate suite source.suite.rc.processed
generation:suite.rc.processed
by default. New--output=FILENAME
option to specify location to dump processedsuite.rc
file.suite.rc.processed
under suite run directory, instead of the suite source directory.log/db
, but will continue to have a symbolic link from top of suite run directory ascylc-suite.db
.~/cylc-run/cylctb-TIMESTAMP/
whereTIMESTAMP
is the start time of the test battery run. The hierarchy under which would also roughly reflect the hierarchy under$CYLC_DIR/tests/
.Close #2054. (Note: There are some minor changes from the original proposal.)
@cylc/core Change should be in a good state for review, but please discuss any concerns you may have.
I expect #2063 to conflict with this change, so I think #2063 should probably go in before this.