else
'Failed'
end
+ when 'Running'
+ if runtime_status[:error]
+ 'Failing'
+ else
+ state
+ end
else
- # Cancelled, Running, or Uncommitted (no container assigned)
+ # Cancelled, or Uncommitted (no container assigned)
state
end
end
+ def runtime_status
+ return get(:runtime_status, @container) || get(:runtime_status, @proxied)
+ end
+
+ def state_bootstrap_class
+ case state_label
+ when 'Failing'
+ 'danger'
+ else
+ super
+ end
+ end
+
def exit_code
get_combined(:exit_code)
end
end
if is_failed?
- resp << " Check the Log tab for more detail about why it failed."
+ if runtime_status.andand[:error]
+ resp << " Check the error information below."
+ else
+ resp << " Check the Log tab for more detail about why it failed."
+ end
end
resp << "</p>"
<% end %>
</div>
+<%# Display runtime error information %>
+<% if wu.runtime_status.andand[:error] %>
+<div class="container">
+ <div class="col-md-12">
+ <div class="panel panel-danger">
+ <div class="panel-heading">Error Information</div>
+ <div class="panel-body">
+ <%= wu.runtime_status[:error] %>
+ <%# Show collapsable detailed error information, if any %>
+ <% if wu.runtime_status[:errorDetail] %>
+ <a class="btn btn-sm btn-primary pull-right" data-toggle="collapse" data-target="#errorDetail">Toggle details</a>
+ <div class="clearfix"></div>
+ <div id="errorDetail" class="collapse">
+ <pre><%= wu.runtime_status[:errorDetail] %></pre>
+ </div>
+ <% end %>
+ </div>
+ </div>
+ </div>
+</div>
+<% end %>
+
<p>
<%= render(partial: 'work_units/component_detail', locals: {current_obj: wu}) %>
</p>