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

Overhaul of Tools and Jobs for 16.04 #1688

Merged
merged 18 commits into from
Feb 27, 2016
Merged

Conversation

jmchilton
Copy link
Member

This is a fairly substantial cleanup of tool and job handling.

@@ -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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

brackets can be removed

Copy link
Member Author

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.
@bgruening
Copy link
Member

👍

@guerler
Copy link
Contributor

guerler commented Feb 27, 2016

Looks good to me (:

@guerler guerler changed the title [WIP] Overhaul of Tools and Jobs for 16.04 Overhaul of Tools and Jobs for 16.04 Feb 27, 2016
bgruening added a commit that referenced this pull request Feb 27, 2016
Overhaul of Tools and Jobs for 16.04
@bgruening bgruening merged commit db59b9b into galaxyproject:dev Feb 27, 2016
@bgruening
Copy link
Member

Thanks @jmchilton and @guerler!

@yhoogstrate
Copy link
Member

@jmchilton @guerler Do you mind to give an example of Introduce profile="16.04" at the wiki: https://wiki.galaxyproject.org/Admin/Tools/ToolConfigSyntax

jmchilton added a commit to jmchilton/galaxy that referenced this pull request Mar 22, 2016
Thanks for @kellrott for the bug report.

\#minor
jmchilton added a commit to jmchilton/galaxy that referenced this pull request Mar 22, 2016
Thanks for @kellrott for the bug report.

\#minor
dannon added a commit that referenced this pull request Mar 22, 2016
jmchilton added a commit to jmchilton/galaxy that referenced this pull request Mar 31, 2016
jmchilton added a commit to jmchilton/galaxy that referenced this pull request Mar 31, 2016
jmchilton added a commit to jmchilton/galaxy that referenced this pull request Apr 1, 2016
jmchilton added a commit to jmchilton/galaxy that referenced this pull request Apr 5, 2016
Broken in 16.04 with 81b5ca5 in PR galaxyproject#1688.

Minor.
dannon pushed a commit that referenced this pull request May 20, 2016
manabuishii added a commit to manabuishii/galaxy that referenced this pull request Aug 5, 2016
When docker jobs is run, it try to execute script in working directory.
I think this related galaxyproject#1688 and 975937e
jmchilton added a commit to jmchilton/galaxy that referenced this pull request Aug 5, 2016
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.
jmchilton added a commit to jmchilton/galaxy that referenced this pull request Aug 5, 2016
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.
martenson added a commit that referenced this pull request Aug 8, 2016
…y_default

[16.04] Fix to mount job directory in Docker for #1688.
@nsoranzo nsoranzo deleted the 16.04_jobs branch September 25, 2019 22:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants