mirror of
https://github.com/ansible/awx.git
synced 2026-03-28 14:25:05 -02:30
added play and task count support
This commit is contained in:
committed by
jaredevantabor
parent
bb82bfe95a
commit
7b8b83a6ab
@@ -8,7 +8,17 @@ export default ['jobResultsService', '$q', function(jobResultsService, $q){
|
|||||||
var val = {};
|
var val = {};
|
||||||
|
|
||||||
// Get the count of the last event
|
// Get the count of the last event
|
||||||
var getPreviousCount = function(counter) {
|
var getPreviousCount = function(counter, type) {
|
||||||
|
var countAttr;
|
||||||
|
|
||||||
|
if (type === 'play') {
|
||||||
|
countAttr = 'playCount';
|
||||||
|
} else if (type === 'task') {
|
||||||
|
countAttr = 'taskCount';
|
||||||
|
} else {
|
||||||
|
countAttr = 'count';
|
||||||
|
}
|
||||||
|
|
||||||
var previousCount = $q.defer();
|
var previousCount = $q.defer();
|
||||||
|
|
||||||
// iteratively find the last count
|
// iteratively find the last count
|
||||||
@@ -16,16 +26,22 @@ export default ['jobResultsService', '$q', function(jobResultsService, $q){
|
|||||||
if (counter === 0) {
|
if (counter === 0) {
|
||||||
// if counter is 0, no count has been initialized
|
// if counter is 0, no count has been initialized
|
||||||
// initialize one!
|
// initialize one!
|
||||||
previousCount.resolve({
|
|
||||||
ok: 0,
|
if (countAttr === 'count') {
|
||||||
skipped: 0,
|
previousCount.resolve({
|
||||||
unreachable: 0,
|
ok: 0,
|
||||||
failures: 0,
|
skipped: 0,
|
||||||
changed: 0
|
unreachable: 0,
|
||||||
});
|
failures: 0,
|
||||||
} else if (val.queue[counter] && val.queue[counter].count) {
|
changed: 0
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
previousCount.resolve(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
} else if (val.queue[counter] && val.queue[counter][countAttr] !== undefined) {
|
||||||
// this event has a count, resolve!
|
// this event has a count, resolve!
|
||||||
previousCount.resolve(_.clone(val.queue[counter].count));
|
previousCount.resolve(_.clone(val.queue[counter][countAttr]));
|
||||||
} else {
|
} else {
|
||||||
// this event doesn't have a count, decrement to the
|
// this event doesn't have a count, decrement to the
|
||||||
// previous event and check it
|
// previous event and check it
|
||||||
@@ -70,7 +86,18 @@ export default ['jobResultsService', '$q', function(jobResultsService, $q){
|
|||||||
changed: 0
|
changed: 0
|
||||||
};
|
};
|
||||||
mungedEvent.changes = ['count'];
|
mungedEvent.changes = ['count'];
|
||||||
mungedEventDefer.resolve(mungedEvent);
|
} else if (event.event_name === 'playbook_on_play_start') {
|
||||||
|
getPreviousCount(mungedEvent.counter, "play")
|
||||||
|
.then(count => {
|
||||||
|
mungedEvent.playCount = count + 1;
|
||||||
|
mungedEvent.changes = ['playCount'];
|
||||||
|
});
|
||||||
|
} else if (event.event_name === 'playbook_on_task_start') {
|
||||||
|
getPreviousCount(mungedEvent.counter, "task")
|
||||||
|
.then(count => {
|
||||||
|
mungedEvent.taskCount = count + 1;
|
||||||
|
mungedEvent.changes = ['taskCount'];
|
||||||
|
});
|
||||||
} else if (event.event_name === 'runner_on_ok' ||
|
} else if (event.event_name === 'runner_on_ok' ||
|
||||||
event.event_name === 'runner_on_async_ok') {
|
event.event_name === 'runner_on_async_ok') {
|
||||||
getPreviousCount(mungedEvent.counter)
|
getPreviousCount(mungedEvent.counter)
|
||||||
@@ -78,7 +105,6 @@ export default ['jobResultsService', '$q', function(jobResultsService, $q){
|
|||||||
mungedEvent.count = count;
|
mungedEvent.count = count;
|
||||||
mungedEvent.count.ok++;
|
mungedEvent.count.ok++;
|
||||||
mungedEvent.changes = ['count'];
|
mungedEvent.changes = ['count'];
|
||||||
mungedEventDefer.resolve(mungedEvent);
|
|
||||||
});
|
});
|
||||||
} else if (event.event_name === 'runner_on_skipped') {
|
} else if (event.event_name === 'runner_on_skipped') {
|
||||||
getPreviousCount(mungedEvent.counter)
|
getPreviousCount(mungedEvent.counter)
|
||||||
@@ -86,7 +112,6 @@ export default ['jobResultsService', '$q', function(jobResultsService, $q){
|
|||||||
mungedEvent.count = count;
|
mungedEvent.count = count;
|
||||||
mungedEvent.count.skipped++;
|
mungedEvent.count.skipped++;
|
||||||
mungedEvent.changes = ['count'];
|
mungedEvent.changes = ['count'];
|
||||||
mungedEventDefer.resolve(mungedEvent);
|
|
||||||
});
|
});
|
||||||
} else if (event.event_name === 'runner_on_unreachable') {
|
} else if (event.event_name === 'runner_on_unreachable') {
|
||||||
getPreviousCount(mungedEvent.counter)
|
getPreviousCount(mungedEvent.counter)
|
||||||
@@ -94,7 +119,6 @@ export default ['jobResultsService', '$q', function(jobResultsService, $q){
|
|||||||
mungedEvent.count = count;
|
mungedEvent.count = count;
|
||||||
mungedEvent.count.unrecahble++;
|
mungedEvent.count.unrecahble++;
|
||||||
mungedEvent.changes = ['count'];
|
mungedEvent.changes = ['count'];
|
||||||
mungedEventDefer.resolve(mungedEvent);
|
|
||||||
});
|
});
|
||||||
} else if (event.event_name === 'runner_on_error' ||
|
} else if (event.event_name === 'runner_on_error' ||
|
||||||
event.event_name === 'runner_on_async_failed') {
|
event.event_name === 'runner_on_async_failed') {
|
||||||
@@ -103,18 +127,17 @@ export default ['jobResultsService', '$q', function(jobResultsService, $q){
|
|||||||
mungedEvent.count = count;
|
mungedEvent.count = count;
|
||||||
mungedEvent.count.failed++;
|
mungedEvent.count.failed++;
|
||||||
mungedEvent.changes = ['count'];
|
mungedEvent.changes = ['count'];
|
||||||
mungedEventDefer.resolve(mungedEvent);
|
|
||||||
});
|
});
|
||||||
} else if (event.event_name === 'playbook_on_stats') {
|
} else if (event.event_name === 'playbook_on_stats') {
|
||||||
// get the data for populating the host status bar
|
// get the data for populating the host status bar
|
||||||
mungedEvent.count = jobResultsService
|
mungedEvent.count = jobResultsService
|
||||||
.getCountsFromStatsEvent(event.event_data);
|
.getCountsFromStatsEvent(event.event_data);
|
||||||
mungedEvent.changes = ['count', 'countFinished'];
|
mungedEvent.changes = ['count', 'countFinished'];
|
||||||
mungedEventDefer.resolve(mungedEvent);
|
|
||||||
} else {
|
} else {
|
||||||
mungedEventDefer.resolve(mungedEvent);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mungedEventDefer.resolve(mungedEvent);
|
||||||
|
|
||||||
return mungedEventDefer.promise;
|
return mungedEventDefer.promise;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -150,7 +173,7 @@ export default ['jobResultsService', '$q', function(jobResultsService, $q){
|
|||||||
// where you put in local storage
|
// where you put in local storage
|
||||||
val.queue[event.counter] = event;
|
val.queue[event.counter] = event;
|
||||||
val.populateDefers[event.counter].resolve(event);
|
val.populateDefers[event.counter].resolve(event);
|
||||||
}
|
};
|
||||||
|
|
||||||
if (event.counter === 1) {
|
if (event.counter === 1) {
|
||||||
// for the first event, go ahead and munge and
|
// for the first event, go ahead and munge and
|
||||||
|
|||||||
@@ -109,6 +109,14 @@ export default ['jobData', 'jobDataOptions', 'jobLabels', 'count', '$scope', 'Pa
|
|||||||
.count);
|
.count);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (change === 'playCount') {
|
||||||
|
$scope.playCount = mungedEvent.playCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (change === 'taskCount') {
|
||||||
|
$scope.taskCount = mungedEvent.taskCount;
|
||||||
|
}
|
||||||
|
|
||||||
if (change === 'countFinished') {
|
if (change === 'countFinished') {
|
||||||
// the playbook_on_stats event actually lets
|
// the playbook_on_stats event actually lets
|
||||||
// us know that we don't need to iteratively
|
// us know that we don't need to iteratively
|
||||||
|
|||||||
Reference in New Issue
Block a user