Merge branch 'release_18.05' into dev

This commit is contained in:
Nicola Soranzo
2018-06-11 14:14:20 +01:00
8 changed files with 56 additions and 33 deletions
@@ -6,7 +6,7 @@
<span v-if="historyData.user_is_owner == false" >
<button id="import" class="btn btn-secondary">Import and start using history</button>
</span>
<span v-if="historyData.history_is_current == false">
<span v-if="historyData.user_is_owner && historyData.history_is_current == false">
<button id="switch-history" class="btn btn-secondary" v-on:click="switchHistory">Switch to this history</button>
</span>
<button id="show-structure" class="btn btn-secondary" v-on:click="showStructure">Show structure</button>
@@ -35,9 +35,6 @@ var HistoryContents = _super.extend(BASE_MVC.LoggableMixin).extend({
/** @type {String} order used here and when fetching from server */
order: "hid",
/** root api url */
urlRoot: `${Galaxy.root}api/histories`,
/** complete api url */
url: function() {
return `${this.urlRoot}/${this.historyId}/contents`;
@@ -50,6 +47,7 @@ var HistoryContents = _super.extend(BASE_MVC.LoggableMixin).extend({
});
options = options || {};
this.urlRoot = `${Galaxy.root}api/histories`;
_super.prototype.initialize.call(this, models, options);
this.history = options.history || null;
+1 -1
View File
@@ -47,7 +47,7 @@ const TOURPAGE_TEMPLATE = `
</a>
- <%- tour.attributes.description || "No description given." %>
<% _.each(tour.attributes.tags, function(tag) { %>
<span class="label label-primary sm-label-pad">
<span class="badge badge-primary">
<%- tag.charAt(0).toUpperCase() + tag.slice(1) %>
</span>
<% }); %>
+15 -6
View File
@@ -1127,18 +1127,14 @@ div.odd_row {
// Tool panel stuff
// Extra label colors
.label-beta {
.badge-beta {
@extend .badge-warning;
}
.label-new {
.badge-new {
@extend .badge-info;
}
.sm-label-pad {
margin-right: 2px;
}
span.toolParameterExpandableCollapsable {
font-weight: bold;
cursor: pointer;
@@ -1289,6 +1285,19 @@ a.action-button {
vertical-align: middle;
}
.btn-xs {
// The 'new' bootstrap 4 btn-sm is about the same size as the old btn-xs,
// should serve as a replacement for anything expecting this.
@extend .btn-sm;
}
.btn-default {
// A hopefully temporary alias (as with above) to provide backwards
// compatibility for external stuff using .btn-default, which is now
// .btn-secondary.
@extend .btn-secondary;
}
//.action-button > * {
// vertical-align: middle;
//}
+3
View File
@@ -214,6 +214,9 @@ class JobHandlerQueue(Monitors):
self.__monitor_step()
except Exception:
log.exception("Exception in monitor_step")
# With sqlite backends we can run into locked databases occasionally
# To avoid that the monitor step locks again we backoff a little longer.
self._monitor_sleep(5)
self._monitor_sleep(1)
def __monitor_step(self):
+12
View File
@@ -3,7 +3,10 @@ SLURM job control via the DRMAA API.
"""
import logging
import os
import re
import shutil
import subprocess
import tempfile
import time
from galaxy import model
@@ -25,6 +28,7 @@ SLURM_MEMORY_LIMIT_EXCEEDED_MSG = 'slurmstepd: error: Exceeded job memory limit'
SLURM_MEMORY_LIMIT_EXCEEDED_PARTIAL_WARNINGS = [': Exceeded job memory limit at some point.',
': Exceeded step memory limit at some point.']
SLURM_MEMORY_LIMIT_SCAN_SIZE = 16 * 1024 * 1024 # 16MB
SLURM_UNABLE_TO_ADD_TASK_TO_MEMORY_CG_MSG_RE = re.compile(r"""slurmstepd: error: task/cgroup: unable to add task\[pid=\d+\] to memory cg '\(null\)'$""")
# These messages are returned to the user
OUT_OF_MEMORY_MSG = 'This job was terminated because it used more memory than it was allocated.'
@@ -149,6 +153,14 @@ class SlurmJobRunner(DRMAAJobRunner):
self.work_queue.put((self.fail_job, ajs))
return
if drmaa_state == self.drmaa_job_states.DONE:
with open(ajs.error_file, 'r') as rfh:
first_line = rfh.readline()
if SLURM_UNABLE_TO_ADD_TASK_TO_MEMORY_CG_MSG_RE.match(first_line):
with tempfile.NamedTemporaryFile('w', delete=False) as wfh:
shutil.copyfileobj(rfh, wfh)
wf_name = wfh.name
shutil.move(wf_name, ajs.error_file)
log.debug('(%s/%s) Job completed, removing SLURM spurious warning: "%s"', ajs.job_wrapper.get_id_tag(), ajs.job_id, first_line)
with open(ajs.error_file, 'r+') as f:
if os.path.getsize(ajs.error_file) > SLURM_MEMORY_LIMIT_SCAN_SIZE:
f.seek(-SLURM_MEMORY_LIMIT_SCAN_SIZE, os.SEEK_END)
+4 -2
View File
@@ -1,11 +1,13 @@
grt:
# Go to https://telescope.galaxyproject.org to obtain an Instance ID and API key
# Register at https://telescope.galaxyproject.org to obtain an Instance ID and API key
instance_id:
api_key:
# Galaxy Project offers a public galactic-radio-telescope instance, however
# you are free to run your own if you need. We would love it if you were
# willing and able to contribute your data publicly.
url: http://localhost:8080
url: https://telescope.galaxyproject.org/grt-admin/
# Are you willing to share your toolbox? I.e. what tools are installed.
# If your instance is public, this can help us direct users to your
# instance. If you elect to not send your entire toolbox, we will still
+19 -20
View File
@@ -1736,45 +1736,47 @@ button.btn-primary {
box-shadow: 0 0 0 0.2rem rgba(37, 83, 123, 0.5); }
.btn-secondary, input[type="submit"],
button, .action-button, .menubutton {
button, .action-button, .btn-default, .menubutton {
color: #212529;
background-color: #dee2e6;
border-color: #dee2e6; }
.btn-secondary:hover, input[type="submit"]:hover,
button:hover, .action-button:hover, .menubutton:hover {
button:hover, .action-button:hover, .btn-default:hover, .menubutton:hover {
color: #212529;
background-color: #c8cfd6;
border-color: #c1c9d0; }
.btn-secondary:focus, input[type="submit"]:focus,
button:focus, .action-button:focus, .menubutton:focus, .btn-secondary.focus, input.focus[type="submit"],
button.focus, .focus.action-button, .focus.menubutton {
button:focus, .action-button:focus, .btn-default:focus, .menubutton:focus, .btn-secondary.focus, input.focus[type="submit"],
button.focus, .focus.action-button, .focus.btn-default, .focus.menubutton {
box-shadow: 0 0 0 0.2rem rgba(222, 226, 230, 0.5); }
.btn-secondary.disabled, input.disabled[type="submit"],
button.disabled, .disabled.action-button, .disabled.menubutton, .btn-secondary:disabled, input[type="submit"]:disabled,
button:disabled, .action-button:disabled, .menubutton:disabled {
button.disabled, .disabled.action-button, .disabled.btn-default, .disabled.menubutton, .btn-secondary:disabled, input[type="submit"]:disabled,
button:disabled, .action-button:disabled, .btn-default:disabled, .menubutton:disabled {
color: #212529;
background-color: #dee2e6;
border-color: #dee2e6; }
.btn-secondary:not(:disabled):not(.disabled):active, input[type="submit"]:not(:disabled):not(.disabled):active,
button:not(:disabled):not(.disabled):active, .action-button:not(:disabled):not(.disabled):active, .menubutton:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, input[type="submit"]:not(:disabled):not(.disabled).active,
button:not(:disabled):not(.disabled).active, .action-button:not(:disabled):not(.disabled).active, .menubutton:not(:disabled):not(.disabled).active,
button:not(:disabled):not(.disabled):active, .action-button:not(:disabled):not(.disabled):active, .btn-default:not(:disabled):not(.disabled):active, .menubutton:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, input[type="submit"]:not(:disabled):not(.disabled).active,
button:not(:disabled):not(.disabled).active, .action-button:not(:disabled):not(.disabled).active, .btn-default:not(:disabled):not(.disabled).active, .menubutton:not(:disabled):not(.disabled).active,
.show > .btn-secondary.dropdown-toggle,
.show > input.dropdown-toggle[type="submit"],
.show >
button.dropdown-toggle,
.show > .dropdown-toggle.action-button,
.show > .dropdown-toggle.btn-default,
.show > .dropdown-toggle.menubutton {
color: #212529;
background-color: #c1c9d0;
border-color: #bac2cb; }
.btn-secondary:not(:disabled):not(.disabled):active:focus, input[type="submit"]:not(:disabled):not(.disabled):active:focus,
button:not(:disabled):not(.disabled):active:focus, .action-button:not(:disabled):not(.disabled):active:focus, .menubutton:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, input[type="submit"]:not(:disabled):not(.disabled).active:focus,
button:not(:disabled):not(.disabled).active:focus, .action-button:not(:disabled):not(.disabled).active:focus, .menubutton:not(:disabled):not(.disabled).active:focus,
button:not(:disabled):not(.disabled):active:focus, .action-button:not(:disabled):not(.disabled):active:focus, .btn-default:not(:disabled):not(.disabled):active:focus, .menubutton:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, input[type="submit"]:not(:disabled):not(.disabled).active:focus,
button:not(:disabled):not(.disabled).active:focus, .action-button:not(:disabled):not(.disabled).active:focus, .btn-default:not(:disabled):not(.disabled).active:focus, .menubutton:not(:disabled):not(.disabled).active:focus,
.show > .btn-secondary.dropdown-toggle:focus,
.show > input.dropdown-toggle[type="submit"]:focus,
.show >
button.dropdown-toggle:focus,
.show > .dropdown-toggle.action-button:focus,
.show > .dropdown-toggle.btn-default:focus,
.show > .dropdown-toggle.menubutton:focus {
box-shadow: 0 0 0 0.2rem rgba(222, 226, 230, 0.5); }
@@ -2125,7 +2127,7 @@ button, .btn-group-lg > .action-button, .btn-group-lg > .menubutton {
border-radius: 0.3rem; }
.btn-sm, .btn-group-sm > .btn, .btn-group-sm > input[type="submit"], .btn-group-sm >
button, .btn-group-sm > .action-button, .btn-group-sm > .menubutton, .multi-panel-history .control-column .btn, .multi-panel-history .control-column input[type="submit"], .multi-panel-history .control-column
button, .btn-group-sm > .action-button, .btn-group-sm > .menubutton, .btn-xs, .multi-panel-history .control-column .btn, .multi-panel-history .control-column input[type="submit"], .multi-panel-history .control-column
button, .multi-panel-history .control-column .action-button, .multi-panel-history .control-column .menubutton, .multi-panel-history .history-column .panel-controls .btn, .multi-panel-history .history-column .panel-controls input[type="submit"], .multi-panel-history .history-column .panel-controls
button, .multi-panel-history .history-column .panel-controls .action-button, .multi-panel-history .history-column .panel-controls .menubutton {
padding: 0.25rem 0.5rem;
@@ -2505,7 +2507,7 @@ button,
margin-right: 0; }
.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split, .btn-group-sm > input[type="submit"] + .dropdown-toggle-split, .btn-group-sm >
button + .dropdown-toggle-split, .btn-group-sm > .action-button + .dropdown-toggle-split, .btn-group-sm > .menubutton + .dropdown-toggle-split, .multi-panel-history .control-column .btn + .dropdown-toggle-split, .multi-panel-history .control-column input[type="submit"] + .dropdown-toggle-split, .multi-panel-history .control-column
button + .dropdown-toggle-split, .btn-group-sm > .action-button + .dropdown-toggle-split, .btn-group-sm > .menubutton + .dropdown-toggle-split, .btn-xs + .dropdown-toggle-split, .multi-panel-history .control-column .btn + .dropdown-toggle-split, .multi-panel-history .control-column input[type="submit"] + .dropdown-toggle-split, .multi-panel-history .control-column
button + .dropdown-toggle-split, .multi-panel-history .control-column .action-button + .dropdown-toggle-split, .multi-panel-history .control-column .menubutton + .dropdown-toggle-split, .multi-panel-history .history-column .panel-controls .btn + .dropdown-toggle-split, .multi-panel-history .history-column .panel-controls input[type="submit"] + .dropdown-toggle-split, .multi-panel-history .history-column .panel-controls
button + .dropdown-toggle-split, .multi-panel-history .history-column .panel-controls .action-button + .dropdown-toggle-split, .multi-panel-history .history-column .panel-controls .menubutton + .dropdown-toggle-split {
padding-right: 0.375rem;
@@ -3715,18 +3717,18 @@ button .badge, .action-button .badge, .menubutton .badge {
text-decoration: none;
background-color: #198e19; }
.badge-info, .label-new {
.badge-info, .badge-new {
color: #fff;
background-color: #1cbceb; }
.badge-info[href]:hover, [href].label-new:hover, .badge-info[href]:focus, [href].label-new:focus {
.badge-info[href]:hover, [href].badge-new:hover, .badge-info[href]:focus, [href].badge-new:focus {
color: #fff;
text-decoration: none;
background-color: #119ac3; }
.badge-warning, .label-beta {
.badge-warning, .badge-beta {
color: #212529;
background-color: #f69713; }
.badge-warning[href]:hover, [href].label-beta:hover, .badge-warning[href]:focus, [href].label-beta:focus {
.badge-warning[href]:hover, [href].badge-beta:hover, .badge-warning[href]:focus, [href].badge-beta:focus {
color: #212529;
text-decoration: none;
background-color: #ce7b08; }
@@ -9003,7 +9005,7 @@ button, .action-button, .menubutton {
white-space: normal; }
.btn-secondary, input[type="submit"],
button, .action-button, .menubutton {
button, .action-button, .btn-default, .menubutton {
border: 1px solid #bfbfbf; }
.dropdown-menu {
@@ -13351,9 +13353,6 @@ div.odd_row {
#footer {
display: none; }
.sm-label-pad {
margin-right: 2px; }
span.toolParameterExpandableCollapsable {
font-weight: bold;
cursor: pointer; }