Commit Graph
7415 Commits
Author SHA1 Message Date
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
Daniel Blankenberg 82078e6a4d Add set methods to ToolDataTableManager. 2014-06-13 16:31:25 -04:00
Daniel Blankenberg d062d52638 In TabularToolDataTable use .get_fields() instead of .data directly. 2014-06-13 16:09:53 -04:00
John Chilton b513c3cc1d Modifications to history_contents API and client consumption...
... to reflect the fact that history can now contain two kinds of objects with potentially overlapping ids.
2014-06-13 14:25:36 -05:00
Daniel Blankenberg e096ba008b Handle update_state for Conditional tool parameters when a currently valid current_case value has not been provided. 2014-06-13 13:30:23 -04:00
John Chilton 57b7958c16 Small clarification in previous doc addition. 2014-06-13 09:14:38 -05:00
John Chilton e51c994467 Add some quick docs for creating dataset collections through API.
For full worked examples see bioblend and API tests.
2014-06-13 09:08:56 -05:00
John Chilton 7c0026a6df Fix failing unit tests for 60d8de4. 2014-06-13 00:58:23 -05:00
Dannon Baker 5a4ed15a84 Re-enable flexible default_bucket for cloudlaunch. 2014-06-12 18:26:24 -04:00
Greg Von Kuster f34f8877de Eliminate the use of trans in most functions in the Tool Shed's shed_util_common utility module. 2014-06-12 15:43:38 -04:00
Greg Von Kuster c21482eeeb Add the ability to purge a "white ghost" tool shed repository from Galaxy. 2014-06-12 14:16:00 -04:00
Dannon Baker dfe5954e5e Merged in jmchilton/galaxy-central-fork-1 (pull request #401)
Allow tools and deployers to specify optional Docker-based dependency resolution.
2014-06-12 11:09:04 -04:00
Nate Coraor e2ee4c2bc5 Merge stable. 2014-06-12 10:00:39 -04:00
Nate Coraor c2e93aaf30 Daemonize threads so that SIGINT (Ctrl-C) works again. 2014-06-12 09:53:37 -04:00
Nate Coraor 4768c9de15 Drop threadframe for heartbeat (its functionality was integrated in sys in Python 2.5...) 2014-06-12 09:51:45 -04:00
Nate Coraor 48fc6114ad Merged in jmchilton/galaxy-central-fork-1/stable (pull request #415)
[stable] API bug fixes for stable
2014-06-12 08:50:00 -04:00
Dave Bouvier ddc26b6938 Merge stable. 2014-06-11 17:00:56 -04:00
Dave Bouvier fef3980f75 Fix call to get_repository_metadata_by_changeset_revision. 2014-06-11 16:50:43 -04:00
Dave Bouvier 8fa6a8ac89 Fix server error when importing a capsule. 2014-06-11 16:30:07 -04:00
John Chilton 0e585cc360 Rework type-differentiated history contents routes.
url_for now can produce the routes I build by hand in say bioblend and the GUI.
2014-06-11 15:16:05 -05:00
John Chilton 7382944df0 Introduce unit(-ish) tests for routes.
Allows testing both how URLs are going to map to controllers and actions as well as testing what paths will be produced by url_for.

Requires some refactoring of Galaxy framework classes and buildapp to allow stubbing out actual instantiation of controllers, etc....
2014-06-11 15:16:05 -05:00
Dave Bouvier 64c1bc95c9 Fix the 3xx redirect handler in the tool shed's API methods to correctly handle PUT requests. 2014-06-11 16:05:46 -04:00
John Chilton 65e5c8e825 Modify url_for in history_contents.py.
No clue why - but this randomly fails on main. Will keep looking into it - but it wasn't really giving the pretty URL I wanted anyway (though it was working and this still works due to backward compatbility on this route).
2014-06-11 12:37:24 -05:00
Dannon Baker a4550e1786 History Contents API: Import url_for from galaxy.web like the other controllers, instead of galaxy.web.base.controller. 2014-06-11 12:24:05 -04:00
Dannon Baker a8c2a879f0 Correct tools handling of tool.handle_input -- this doesn't always return a successful job. 2014-06-11 11:39:21 -04:00
John Chilton fd226aad07 Modify url_for in history_contents.py.
No clue why - but this randomly fails on main. Will keep looking into it - but it wasn't really giving the pretty URL I wanted anyway (though it was working and this still works due to backward compatbility on this route).
2014-06-11 12:37:24 -05:00
Dannon Baker 905bd92cdc Correct tools handling of tool.handle_input -- this doesn't always return a successful job. 2014-06-11 11:39:21 -04:00
Dannon Baker e3b635cd2e Set tabular CHUNK_SIZE to ~10kb 2014-06-10 19:24:00 -04:00
Dannon Baker a71add8ea1 Pack scripts. 2014-06-10 16:41:53 -04:00
John Chilton f74142688b Allow injection of high-level helper utility into dynamic destination rules.
Helper currently has methods methods for determining users recent usage - job count and sum of job runtime - filterable by user_email, job creation and update time, destination id, job states (only 'ok' job state would make sense for runtime - only way Galaxy has that data). Goal here is to allow dynamic destination to assign higher priorities to users who have not used Galaxy recently.

Example usage here : https://gist.github.com/jmchilton/a1b4f0bd3ce7189c0caf.
2014-06-10 15:01:38 -05:00
Dave Bouvier dd82de6cd1 Additional fixes for urllib2's 3xx redirects not handling POST requests. This changeset handles httpd proxies that redirect to a secure port before delivering the request to Paste. 2014-06-10 11:11:32 -04:00
Greg Von Kuster 08702be139 Fixes for the Tool Shed API POST and PUT requests that were broken when attempting to handle urllib2 not handling 307 redirects. The initial attempt at handling the urllib2 weakness made a call to urllib2.get_url() which turns POST requests into GET requests as a side-effect. 2014-06-10 10:33:48 -04:00
Nate Coraor fcb51a3fb7 Merged in dannon/galaxy-central-prmaker/stable (pull request #404)
Fix impersonation when using external authentication -- #stable
2014-06-10 09:04:33 -04:00
John Chilton d35562df06 Merged in jmchilton/galaxy-central-fork-1 (pull request #407)
Hide concept of job resources in workflows interface, scrub tool state when extracting workflows.
2014-06-09 20:15:37 -05:00
John Chilton b8edfb8274 More verbose and defensive exception handling when responding to LWR job updates.
Handler becoming non-responsive in some cases - this may fix it or there may be a race condition somewhere when caching status messages.
2014-06-09 16:58:10 -05:00
Dannon Baker ed94d528d8 Detail why the 307 redirect tracking attempt in tool_shed/scripts/api/common.py does not work. 2014-06-09 17:02:27 -04:00
Dave Bouvier e547936b70 Use the same capitalization for eggs.require as is present in the egg's name. This resolves the install and test buildbot's failure on step 4, delete empty directories. 2014-06-09 14:37:36 -04:00