mirror of
https://github.com/ansible/awx.git
synced 2026-01-23 07:28:02 -03:30
Job detail page refactor
Re-enabling a count of the possible hosts that should report status on each task. As live events happen increment a count stored on the play. Only increment when hosts are reporting for the first task of the play, and only increment if the host status is in: successful, changed, skipped or failed. Added the total to the plays list as 'Reporting Hosts'.
This commit is contained in:
parent
8c502478a0
commit
3516ad4b98
@ -308,7 +308,7 @@ function JobDetailController ($rootScope, $scope, $compile, $routeParams, $log,
|
||||
scope.activePlay = data.results[0].id;
|
||||
}
|
||||
data.results.forEach(function(event, idx) {
|
||||
var status, start, end, elapsed;
|
||||
var status, start, end, elapsed, ok, changed, failed, skipped;
|
||||
|
||||
status = (event.failed) ? 'failed' : (event.changed) ? 'changed' : 'successful';
|
||||
start = event.started;
|
||||
@ -344,12 +344,19 @@ function JobDetailController ($rootScope, $scope, $compile, $routeParams, $log,
|
||||
tasks: {}
|
||||
};
|
||||
|
||||
scope.host_summary.ok += (data.ok_count) ? data.ok_count : 0;
|
||||
scope.host_summary.changed += (data.changed_count) ? data.changed_count : 0;
|
||||
ok = (data.ok_count) ? data.ok_count : 0;
|
||||
changed = (data.changed_count) ? data.changed_count : 0;
|
||||
failed = (data.failed_count) ? data.failed_count : 0;
|
||||
skipped = (data.skipped_count) ? data.skipped_count : 0;
|
||||
|
||||
scope.jobData.plays[event.id].hostCount = ok + changed + failed + skipped;
|
||||
|
||||
scope.host_summary.ok += ok;
|
||||
scope.host_summary.changed += changed;
|
||||
scope.host_summary.unreachable += (data.unreachable_count) ? data.unreachable_count : 0;
|
||||
scope.host_summary.failed += (data.failed_count) ? data.failed_count : 0;
|
||||
scope.host_summary.total = scope.host_summary.ok + scope.host_summary.changed +
|
||||
scope.host_summary.unreachable + scope.host_summary.failed;
|
||||
scope.host_summary.failed += failed;
|
||||
scope.host_summary.total = scope.host_summary.ok + scope.host_summary.changed + scope.host_summary.unreachable +
|
||||
scope.host_summary.failed;
|
||||
});
|
||||
if (scope.activePlay) {
|
||||
scope.jobData.plays[scope.activePlay].playActiveClass = 'active';
|
||||
@ -523,6 +530,9 @@ function JobDetailController ($rootScope, $scope, $compile, $routeParams, $log,
|
||||
setTimeout(function() { $('#job-summary-container .job_well').height($('#job-detail-container').height() - 18); }, 500);
|
||||
$('#job-summary-container').show();
|
||||
}
|
||||
|
||||
scope.lessStatus = true; // close the view more status option
|
||||
|
||||
// Detail table height adjusting. First, put page height back to 'normal'.
|
||||
$('#plays-table-detail').height(80);
|
||||
$('#plays-table-detail').mCustomScrollbar("update");
|
||||
|
||||
@ -239,7 +239,7 @@ function($rootScope, $log, UpdatePlayStatus, UpdateHostStatus, AddHostResult, Ge
|
||||
hostResults: {}
|
||||
};
|
||||
|
||||
if (!scope.jobData.plays[scope.activePlay].firstTask) {
|
||||
if (scope.jobData.plays[scope.activePlay].firstTask === undefined || scope.jobData.plays[scope.activePlay].firstTask === null) {
|
||||
scope.jobData.plays[scope.activePlay].firstTask = event.id;
|
||||
}
|
||||
|
||||
@ -458,10 +458,10 @@ function($rootScope, $log, UpdatePlayStatus, UpdateHostStatus, AddHostResult, Ge
|
||||
if (scope.jobData.plays[scope.activePlay].tasks[task_id] !== undefined) {
|
||||
task = scope.jobData.plays[scope.activePlay].tasks[task_id];
|
||||
|
||||
//if (task_id === scope.jobData.plays[scope.activePlay].firstTask) {
|
||||
// scope.jobData.plays[scope.activePlay].hostCount++;
|
||||
// task.hostCount++;
|
||||
//}
|
||||
if (task_id === scope.jobData.plays[scope.activePlay].firstTask && status !== 'unreachable') {
|
||||
scope.jobData.plays[scope.activePlay].hostCount++;
|
||||
task.hostCount++;
|
||||
}
|
||||
|
||||
task.reportedHosts += 1;
|
||||
task.failedCount += (status === 'failed' || status === 'unreachable') ? 1 : 0;
|
||||
@ -481,7 +481,7 @@ function($rootScope, $log, UpdatePlayStatus, UpdateHostStatus, AddHostResult, Ge
|
||||
diff;
|
||||
|
||||
//task = scope.jobData.plays[scope.activePlay].tasks[task_id];
|
||||
task.hostCount = task.failedCount + task.changedCount + task.skippedCount + task.successfulCount;
|
||||
//task.hostCount = task.failedCount + task.changedCount + task.skippedCount + task.successfulCount;
|
||||
task.failedPct = (task.hostCount > 0) ? Math.ceil((100 * (task.failedCount / task.hostCount))) : 0;
|
||||
task.changedPct = (task.hostCount > 0) ? Math.ceil((100 * (task.changedCount / task.hostCount))) : 0;
|
||||
task.skippedPct = (task.hostCount > 0) ? Math.ceil((100 * (task.skippedCount / task.hostCount))) : 0;
|
||||
|
||||
@ -60,6 +60,7 @@ body {
|
||||
#account-submenu {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
@media (max-width: 1075px) {
|
||||
|
||||
#main-menu-container {
|
||||
|
||||
@ -23,15 +23,15 @@
|
||||
<div class="form-horizontal" role="form" id="job-status-form">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 col-sm-2 col-xs-3 control-label">Status</label>
|
||||
<div class="col-md-10 col-sm-10 col-xs-9">
|
||||
<label class="col-lg-1 col-md-2 col-sm-2 col-xs-3 control-label">Status</label>
|
||||
<div class="col-lg-11 col-md-10 col-sm-10 col-xs-9">
|
||||
<i class="fa icon-job-{{ job_status.status }}"></i> {{ job_status.status }} {{ job_status.explanation }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 col-sm-2 col-xs-3 control-label">Started</label>
|
||||
<div class="col-md-10 col-sm-10 col-xs-9">
|
||||
<label class="col-lg-1 col-md-2 col-sm-2 col-xs-3 control-label">Started</label>
|
||||
<div class="col-lg-11 col-md-10 col-sm-10 col-xs-9">
|
||||
<div ng-show="job_status.started" id="started-time">{{ job_status.started | date:'MM/dd/yy HH:mm:ss' }}</div>
|
||||
<div ng-show="job_status.finished" id="finished-time">Finished {{ job_status.finished | date:'MM/dd/yy HH:mm:ss' }}</div>
|
||||
<div ng-show="job_status.finished" id="elapsed-time">Elapsed {{ job_status.elapsed }}</div>
|
||||
@ -39,22 +39,22 @@
|
||||
</div>
|
||||
|
||||
<div class="form-group" ng-show="!lessStatus">
|
||||
<label class="col-md-2 col-sm-2 col-xs-3 control-label">Template</label>
|
||||
<div class="col-md-10 col-sm-10 col-xs-9">
|
||||
<label class="col-lg-1 col-md-2 col-sm-2 col-xs-3 control-label">Template</label>
|
||||
<div class="col-lg-11 col-md-10 col-sm-10 col-xs-9">
|
||||
<a href="{{ job_template_url }}" aw-tool-tip="Edit the job template" data-placement="top">{{ job_template_name }}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" ng-show="!lessStatus">
|
||||
<label class="col-md-2 col-sm-2 col-xs-3 control-label">Project</label>
|
||||
<div class="col-md-10 col-sm-10 col-xs-9">
|
||||
<label class="col-lg-1 col-md-2 col-sm-2 col-xs-3 control-label">Project</label>
|
||||
<div class="col-lg-11 col-md-10 col-sm-10 col-xs-9">
|
||||
<a href="{{ project_url }}" aw-tool-tip="Edit the project" data-placement="top">{{ project_name }}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" ng-show="!lessStatus">
|
||||
<label class="col-md-2 col-sm-2 col-xs-3 control-label">Inventory</label>
|
||||
<div class="col-md-10 col-sm-10 col-xs-9">
|
||||
<label class="col-lg-1 col-md-2 col-sm-2 col-xs-3 control-label">Inventory</label>
|
||||
<div class="col-lg-11 col-md-10 col-sm-10 col-xs-9">
|
||||
<a href="{{ inventory_url }}" aw-tool-tip="Edit the inventory" data-placement="top">{{ inventory_name }}</a>
|
||||
</div>
|
||||
</div>
|
||||
@ -77,7 +77,8 @@
|
||||
<div class="row">
|
||||
<div class="col-lg-1 col-md-1 col-sm-2 hidden-xs">Started</div>
|
||||
<div class="col-lg-1 col-md-1 hidden-sm hidden-xs">Elapsed</div>
|
||||
<div class="col-lg-10 col-md-10 col-sm-10 col-xs-12">Name</div>
|
||||
<div class="col-lg-8 col-md-8 col-sm-10 col-xs-12">Name</div>
|
||||
<div class="col-lg-2 col-md-2 hidden-sm hidden-xs text-right">Reporting Hosts</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="plays-table-detail" aw-custom-scroll class="table-detail">
|
||||
@ -87,10 +88,11 @@
|
||||
<div class="col-lg-1 col-md-1 hidden-sm hidden-xs" aw-tool-tip="Completed at {{ play.finished | date:'HH:mm:ss' }}"
|
||||
data-placement="top">{{ play.elapsed }}
|
||||
</div>
|
||||
<div class="col-lg-10 col-md-10 col-sm-10 col-xs-12 status-column" aw-tool-tip="Event Id: {{ play.id }}<br />Status: {{ play.status_text }}"
|
||||
data-placement="top">
|
||||
<div class="col-lg-8 col-md-8 col-sm-10 col-xs-12 status-column"
|
||||
aw-tool-tip="Event Id: {{ play.id }}<br />Status: {{ play.status }}" data-placement="top">
|
||||
<i class="fa icon-job-{{ play.status }}"></i> {{ play.name }}</span>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-2 hidden-sm hidden-xs text-right">{{ play.hostCount }}</div>
|
||||
</div>
|
||||
<div class="row" ng-show="playList.length == 0">
|
||||
<div class="col-lg-12">
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user