Commit Graph
7455 Commits
Author SHA1 Message Date
John Chilton 8f52bfffa2 Allow Docker destinations to use --volumes-from option.
Enables certain kind of Docker-to-Docker job executions. Thanks to Andrew Stewart.
2014-07-01 07:07:09 -05:00
John Chilton 9ba766eb26 Bugfix: Value error when specifying empty docker_volume param.
Thanks Andrew Stewart!
2014-07-01 07:07:09 -05:00
John Chilton 3020dcd037 Allow discovered datasets to use input data format in 'ext' definition. 2014-06-29 13:31:33 -05:00
John Chilton 3982a6ae54 Spelling fix in method name. 2014-06-29 13:31:33 -05:00
Björn Grüning 027552edd9 Fix some spelling mistake and hopefully all of the install_*_environments. 2014-06-29 14:28:13 +00:00
Björn Grüning 03bd87adbf Fix some spelling mistake and hopefully all of the install_*_environments. 2014-06-29 14:25:44 +00:00
Ilya Sytchev d2f3ee46f4 Enable stopping jobs when history is deleted via the API. 2014-06-28 17:57:06 -04:00
Greg Von Kuster 3e01352f44 Make sure a repository exists before checking its status - thanks to Nicola Soranzo for finding this issue. 2014-06-27 07:06:48 -04:00
Greg Von Kuster 333ce3a71e Handle <action> tags inside <actions> tags within an <actions_group> tag set when setting metadata for tool dependency packages. 2014-06-26 13:57:20 -04:00
Greg Von Kuster 02c71550da Add a confirmation page when purging installed repositories and include a fix for purging an installed repository that has a tool version lineage chain. 2014-06-26 13:54:51 -04:00
Greg Von Kuster bc460f36a7 Add the ability to uninstall a Tool Shed repository installed into Galaxy but in an error state. 2014-06-26 11:52:42 -04:00
Greg Von Kuster 0dd09dd6a5 Fix for purging a repository in Galaxy installed from the Tool Shed. 2014-06-26 10:59:47 -04:00
Nate Coraor 9fcade80ea Fix Ctrl+C (make the UpdateRepositoryManager's updater thread a daemon). 2014-06-25 20:07:58 -04:00
Dave Bouvier 296b499bc5 Enhance the tool shed repository API controller to allow filtering by owner's username or repository name. 2014-06-25 15:07:43 -04:00
John Chilton f0d018ae31 Merged in jmchilton/galaxy-central-fork-1 (pull request #423)
Allow tool conf `tool_path` resolution relative to conf file.
2014-06-24 18:54:52 -05:00
Greg Von Kuster bba63a24b0 Handle exporting and importing repository capsules with new ExportRepositoryManager and ImportRepositoryMnager classes respectively. 2014-06-24 13:11:24 -04:00
John Chilton 808b12000e Make galaxy.util.in_directory slightly more generic to match Pulsar's variant.
Fixes failing unit test in just added code.
2014-06-23 21:55:11 -05:00
John Chilton 237205a899 Merged in jmchilton/galaxy-central-fork-1 (pull request #422)
Implement Pulsar job runners.
2014-06-23 21:27:51 -05:00
John Chilton add2c634ed Merged in jmchilton/galaxy-central-fork-1 (pull request #411)
Allow dynamic job destinations rules to throw `galaxy.jobs.mapper.JobNotReadyException` indicating job not ready.
2014-06-23 21:15:44 -05:00
John Chilton 3d9da261d1 Allow tool conf 'tool_path' resolution relative to conf file.
Relative 'tool_path' directories are resolved relative to GALAXY_ROOT (or really working directory). This is probably the expected behavior - but I think it is advantageous to be able to find tools relative to the tool_conf file also. This can now be done using string.Template resolution of ${tool_conf_dir}.
2014-06-23 16:32:24 -05:00
Greg Von Kuster ee3925e2f7 Missed committing a new __init__.py file for Tool Shed dependencies. 2014-06-23 08:58:25 -04:00
Greg Von Kuster 506edbc688 A bit of repository dependency function re-factoring for Galaxy installs. 2014-06-22 20:31:19 -04:00
Greg Von Kuster 814dab65ad Eliminate the use of trans when exporting repository capsules from the Tool SHed and move the new tag_attribute_haldler.py module where it was meant to be located. 2014-06-22 18:25:22 -04:00
Greg Von Kuster 38c0d78979 Move 2 Tool Shed utility functions into the middleware hg class. 2014-06-22 08:00:57 -04:00
Greg Von Kuster 88d6c68201 Add a dependency manager with tag attribute handler classes to manage the process of populating and unpopulating the toolshed and changeset_revision attributes for <repository> tag sets when uploading and importing / exporting repositories from the tool shed. 2014-06-21 14:15:20 -04:00
John Chilton ee14d3fad8 Fix for interpreter on version commands (when different from command interpreter).
Thanks to Will Holtz for tracking down the problem and Peter Cock for submitting the patch.
2014-06-20 16:00:38 -05:00
John Chilton d1f6ecb525 Implement Pulsar job runners.
LWR runner and client remains in Galaxy as is and can continue to target old LWR server. But these should be considered deprecated and will likely be dropped at some point. The LWR documentaiton in job_conf.xml.sample_advanced has been replaced with Pulsar documentation to reflect this.

Pulsar runners will need to target a Pulsar server (now with a RESTful web interface - MQ option also available). Information on upgrading an LWR instance to pulsar can be found in the [Pulsar docs](http://pulsar.readthedocs.org/en/latest/#upgrading-from-the-lwr).

Three new job runners have been added to replace the LWR runner. The `PulsarLegacyJobRunner` more or less has all of the old defaults that the LWR runner had and this one should be easiest to get working for people who are porting over old LWR servers (and will likely be most compatible with remote Windows hosts).

The `PulsarRESTJobRunner` targets a remote Pulsar server over HTTP(S) but has newer standard configuration options such as rewriting parameters at tool stage by default, remote dependency evaluation by default, etc....

The `PulsarMQJobRunner` targets a remote Pulsar server via AMQP - and has the newer defaults of the RESTful runner as well as targetting the Galaxy job files API by default. The `url` runner parameter has been renamed `amqp_url` for clarity.

These newer runners improve parameter handling in other ways such as warning deployers when ignored parameters are supplied.
2014-06-20 00:28:36 -05:00
John Chilton c080f8e441 Add a few more comments about dataset path rewriting in the dataset wrapper. 2014-06-19 23:21:42 -05:00
John Chilton 5a7a13b48e Improved (different at least) extra_files_path handling for dataset outputs.
$output.extra_files_path will now mimic $output.files_path behavior - writing these files to the working directory to have them copied over later. This is more correct when using outputs_to_working_directory, running jobs as the real user, running jobs through LWR/Pulsar, or when using the NestedObjectStore. This is less efficient the 90% of the time when none of these conditions hold.

There is still an open issue that for inputs -  $input.extra_files_path returns a non-exist path for DiskObjectStores but throws an error for NestedObjectStores. This behavior could be synchronized by this patch (https://gist.github.com/jmchilton/d05bcf02874762cdb829) - though I do not know if this is the intended behavior of NestedObjectStores.
2014-06-19 23:07:21 -05:00
Greg Von Kuster e17ad656ac Fix for handling complex repository dependency definitions that contain recipes that include <package> tag sets that define dependencies needed only for compiling the dependent package. 2014-06-19 17:46:04 -04:00
John Chilton 42fd8abddc Another LWR client update - improved exception logging. 2014-06-19 13:11:55 -05:00
John Chilton c549cee921 LWR client updates - mostly MQ improvements.
Updated LWR runner with spec parsing for new connection "ensure" parameters.
2014-06-19 12:36:15 -05:00
Nate Coraor a2a155b04a Fix the output_size and runtime job limits. Heads up to pbs runner users: I did not test this change with the PBS runner. 2014-06-19 13:22:26 -04:00
Greg Von Kuster 30627da97d Introduce a RepositoryDependencyManager class into the Galaxy install process from the Tool Shed. 2014-06-19 12:21:48 -04:00
Nate Coraor c5a280f704 Use the destination params from the job record when creating a job wrapper for LWR status updates. 2014-06-19 10:18:55 -04:00
Nate Coraor ac2c5a070f Avoid a race condition in handling LWR status updates received via AMQP at startup. 2014-06-19 07:46:21 -05:00
Greg Von Kuster 37eabda30b Eliminate the use of the common_install_util module for Galaxy installs from the Tool Shed. 2014-06-18 22:08:00 -04:00
Nate Coraor f76bf9a9b1 Don't duplicate util.submodules in runner state handler factory. 2014-06-18 16:41:53 -04:00
Nate Coraor 5539a083e2 Add some new features to job execution:
- Runner states - Allow runner plugins to provide job finish/failure
    conditions back to Galaxy so that actions can be taken on specific actions.
    Currently only the WALLTIME_REACHED state is defined. This can be set on
    the (Asynchronous)JobState's `runner_state` attribute. Only the slurm
    runner currently does this.

  - Runner state handlers - Pluggable interface for defining actions to take
    when runner state actions occur. Any (non _) python file in
    galaxy.jobs.runners.state_handlers will be loaded, but handler function
    names should match the step in the job lifecycle where they should be used.
    Only the 'failure' method is currently implemented, but adding more would
    be trivial. Clever parameterization a la the dynamic runner would be a nice
    improvement here.

  - Destination resubmission - Destinations in the job config can specify a new
    destination that jobs should be resubmitted to under certain conditions
    (currently the only condition implemented is walltime_reached on the
    original destination...)

  - Resubmit on walltime reached state handler plugin - The actual resubmission
    implementation.

  - RESUBMITTED Job state - Allows resubmitted jobs to bypass the normal ready
    to run checks and begin execution immediately.

  - RESUBMITTED DatasetInstance state - This was the best method Carl and I
    could come up with for persisting the resubmitted state so that it would be
    visible in the UI. It's not perfect but I didn't want to alter the schema
    and the only place it could go (job table) is not eagerloaded on history
    status updates. The resubmission code will not actully set this state yet
    (it is commented out) until the UI can cope with it. Bonus: once this is
    done we can pretty easily add a "job concurrency limit reached" to give
    users a visual cue on jobs waiting for that reason.

This has been tested pretty extensively with job recovery, concurrency limits
and multiprocess setups, which is to say that it will surely fail miserably in
production.
2014-06-18 15:55:32 -04:00
Greg Von Kuster 4297b7054a Eliminate the use of the Galaxy web transaction object in Tool Shed utility functions related to importing a repository capsule into a Tool Shed and move som hg related functions from the commit_util module to the hg_util module. 2014-06-18 15:28:20 -04:00
John Chilton a1d0241e4e Fix typo in b267ce103960. 2014-06-17 17:22:55 -05:00
John Chilton a0188cf2a9 Fix PBS GALAXY_SLOTS configuration for torque environments explicitly defining num slots. 2014-06-17 15:10:58 -05:00
Greg Von Kuster 18c3333f20 Eliminate the use of the repository_util.py module for Galaxy installs from the Tool Shed. 2014-06-17 14:38:02 -04:00
Greg Von Kuster aa818937e4 For standardization and clarity, rename Galaxy's UpdateManager to be UpdateRepositoryManager. 2014-06-17 11:24:33 -04:00
Greg Von Kuster 00ffbf3127 Instantiate the Tool Shed's various tool dependency recipe classes with app so it doesn't have to be passed to functions. 2014-06-17 11:00:49 -04:00
John Chilton 3a594b2f19 Update LWR client and synchronized modules through LWR changeset 148132f.
Mostly style fixes but also adds ability to configure LWR file staging actions with YAML instead of JSON.
2014-06-16 23:14:59 -05:00
Greg Von Kuster 096a74958b Rename install_manage.IntallManager to be install_manager.InstallToolDependencyManager and add a new class to the same module named InstallRepositoryManager and move appropriate utility functions into it. Add a new repair_repository_manager.RepairRepositoryManager class and move appropriate utility functions into it. Change a log of utility functions that took trans to now take app. 2014-06-16 16:57:24 -04:00
Dave Bouvier 9d0b75d015 Fix server error when getting updates to an installed repository. 2014-06-16 10:52:03 -04:00
John Chilton 2d616b988e Finish thought started with 97b2942.
That commit did at least fix this documentation, with this commit I have actually verified the underlying problem is also fixed.
2014-06-15 22:36:50 -05:00
John Chilton 65a4d2218b LWR bugfix - cannot have trailing / for galaxy_url runner arg. 2014-06-15 22:29:05 -05:00