-
Notifications
You must be signed in to change notification settings - Fork 982
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
Overhaul of Tools and Jobs for 16.04 #1688
Conversation
a362f94
to
c4eadc6
Compare
9d99e85
to
fe0c6bb
Compare
@@ -1200,7 +1231,8 @@ def finish( self, stdout, stderr, tool_exit_code=None, remote_working_directory= | |||
# either use the metadata from originating output dataset, or call set_meta on the copies | |||
# it would be quicker to just copy the metadata from the originating output dataset, | |||
# but somewhat trickier (need to recurse up the copied_from tree), for now we'll call set_meta() | |||
if ( self.app.config.retry_metadata_internally and | |||
retry_internally = util.asbool(self.get_destination_configuration("retry_metadata_internally", True)) | |||
if ( retry_internally and |
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.
brackets can be removed
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.
Will rebase with this change, thanks.
This reverts commit 602dc7f. 16.04 will use bash as the default.
Newer tool formats (CWL and YAML just enable this by default), but XML tools can add a strict="true" to the command block to force "set -e" handling on the shell part of tool execution. Run the framework tests verifying the new and older default behavior using the following commands: ``` ./run_tests.sh -framework -id strict_shell_default_off ./run_tests.sh -framework -id strict_shell ```
- set -e in tool command scripts. - Disable implicit extra file collection. All dynamic extra file collection requires a <discover_datasets tag. - Disable format="input" - require explicit metadata targets (metadata_source, format_source). - Disable interpreter= - hacky and doesn't work as expected in too many circumstances. Use $__tool_directory__. - Disable $param_file - grepping the command for the string is impercise. If useful we can add flag to match the flag used to produce inputs as a JSON file. - Disable default version of 1.0.0, the IUC has made it clear they prefer all tools have an explicit version. Fixes galaxyproject#1609.
👍 |
Looks good to me (: |
Overhaul of Tools and Jobs for 16.04
Thanks @jmchilton and @guerler! |
@jmchilton @guerler Do you mind to give an example of |
Thanks for @kellrott for the bug report. \#minor
Thanks for @kellrott for the bug report. \#minor
Fix docker tool execution for #1688.
Broken in 16.04 with 81b5ca5 in PR galaxyproject#1688. Minor.
When docker jobs is run, it try to execute script in working directory. I think this related galaxyproject#1688 and 975937e
The default for this was including GALAXY_ROOT so in testing (and many deployments) the job directory would have been picked up anyway because it is in `database/` but if job directory was outside of `$GALAXY_ROOT/database/` one needed to add it to the volumes mounted by Docker. This fix mounts just that directory - so no need for instance to mount all job directories which one could have done.
The default for this was including GALAXY_ROOT so in testing (and many deployments) the job directory would have been picked up anyway because it is in `database/` but if job directory was outside of `$GALAXY_ROOT/database/` one needed to add it to the volumes mounted by Docker. This fix mounts just that directory - so no need for instance to mount all job directories which one could have done.
…y_default [16.04] Fix to mount job directory in Docker for #1688.
This is a fairly substantial cleanup of tool and job handling.
profile="16.04"
attribute tools, the resulting tools have all new defaults that should really simplify tool development. Schema Version 2 Tools #1609#set -e
on tool executions.interpreter
attribute for instance.