All job configuration parameters can be set using environment variables but currently the actual loading of the plugin cannot. This is problematic for setting up single job confs for multiple environemnts (like done with docker-galaxy-stable) when using plugins that may hang waiting for resources (such as Kubernetes for the K8 runner or a MQ for Pulsar for instance) or may require library dependencies not be setup in every environment the job configuration is deployed in.
xref https://github.com/bgruening/docker-galaxy-stable/pull/328
Rebased with advice from @bgruening.
The job_name sanitation can fail if the locale specific
string.letters contains unexpected characters. e.g.
Saravanaraj Ayyampalayam reported getting the following
under locale en_US.iso885915
Traceback (most recent call last):
File /.../galaxy-dist/lib/galaxy/jobs/runners/drmaa.py, line 397, in <genexpr>
job_name = ''.join( x if x in ( string.letters + string.digits + '_' ) else '_' for x in job_name )
UnicodeDecodeError: 'ascii' codec can't decode byte 0xa6 in position 52: ordinal not in range(128)
See http://dev.list.galaxyproject.org/Issue-with-job-name-UnicodeDecodeError-in-drmaa-td4670784.html
or https://lists.galaxyproject.org/pipermail/galaxy-dev/2017-May/025687.html
The downside of this proposed change would be to mask
reasonable non ASCII letters from the job name on a
well defined system with consistent locale settings
for both Galaxy and the Cluster. But ASCII only seems
safer.
Presently trying to install a ToolShed tool dependency defined as
<tool_dependency>
<set_environment version="1.0">
<environment_variable name="MYVAR" action="set_to"></environment_variable>
</set_environment>
</tool_dependency>
results in EnvManager.create_env_var_dict() returning None, which in turn
causes the dependency silently not being installed with this error in the
logs:
tool_shed.galaxy_install.tool_dependencies.recipe.tag_handler DEBUG 2017-05-23 10:08:23,798 Error setting environment for tool dependency: local variable 'tool_dependency' referenced before assignment
Entire collections can now be downloaded as tarballs. I have used the
StreamBall class from galaxy.utils, so archives start downloading
immediately.
The collection structure is mapped onto a directory struture, where each
level of a collection is a directory in the archive. Collections of BAM
files are included alongside their .bai indices, and composite datatype
are supported as well.
API tests for downloading list, paired and list:paired collections are
included.
Currently collection elements that are not in the OK status will be
skipped, so we should probably hide the download button if not all
collection elements are in a final state.