mirror of
https://github.com/ansible/awx.git
synced 2026-02-17 03:00:04 -03:30
Continuing work on new Jobs page. Increased pop-over width. Added a footer explaning how to close. Added close-on-click behavior in addition to esc key.
This commit is contained in:
@@ -10,11 +10,12 @@
|
|||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
function JobsList($scope, $compile, ClearScope, Breadcrumbs, LoadScope, RunningJobsList, CompletedJobsList, QueuedJobsList) {
|
function JobsList($scope, $compile, ClearScope, Breadcrumbs, LoadScope, RunningJobsList, CompletedJobsList, QueuedJobsList,
|
||||||
|
GetChoices, GetBasePath, Wait) {
|
||||||
|
|
||||||
ClearScope();
|
ClearScope();
|
||||||
|
|
||||||
var e, completed_scope, running_scope, queued_scope;
|
var e, completed_scope, running_scope, queued_scope, choicesCount = 0, listsCount = 0;
|
||||||
// schedule_scope;
|
// schedule_scope;
|
||||||
|
|
||||||
// Add breadcrumbs
|
// Add breadcrumbs
|
||||||
@@ -22,33 +23,96 @@ function JobsList($scope, $compile, ClearScope, Breadcrumbs, LoadScope, RunningJ
|
|||||||
e.html(Breadcrumbs({ list: { editTitle: 'Jobs' } , mode: 'edit' }));
|
e.html(Breadcrumbs({ list: { editTitle: 'Jobs' } , mode: 'edit' }));
|
||||||
$compile(e)($scope);
|
$compile(e)($scope);
|
||||||
|
|
||||||
completed_scope = $scope.$new();
|
// After all the lists are loaded
|
||||||
LoadScope({
|
if ($scope.removeListLoaded) {
|
||||||
scope: completed_scope,
|
$scope.removeListLoaded();
|
||||||
list: CompletedJobsList,
|
}
|
||||||
id: 'completed-jobs',
|
$scope.removeListLoaded = $scope.$on('listLoaded', function() {
|
||||||
url: '/static/sample/data/jobs/completed/data.json'
|
listsCount++;
|
||||||
|
if (listsCount === 3) {
|
||||||
|
Wait('stop');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// After all choices are ready, load up the lists and populate the page
|
||||||
|
if ($scope.removeBuildJobsList) {
|
||||||
|
$scope.removeBuildJobsList();
|
||||||
|
}
|
||||||
|
$scope.removeBuildJobsList = $scope.$on('buildJobsList', function() {
|
||||||
|
completed_scope = $scope.$new();
|
||||||
|
LoadScope({
|
||||||
|
parent_scope: $scope,
|
||||||
|
scope: completed_scope,
|
||||||
|
list: CompletedJobsList,
|
||||||
|
id: 'completed-jobs',
|
||||||
|
url: '/static/sample/data/jobs/completed/data.json'
|
||||||
|
});
|
||||||
|
running_scope = $scope.$new();
|
||||||
|
LoadScope({
|
||||||
|
parent_scope: $scope,
|
||||||
|
scope: running_scope,
|
||||||
|
list: RunningJobsList,
|
||||||
|
id: 'active-jobs',
|
||||||
|
url: '/static/sample/data/jobs/running/data.json'
|
||||||
|
});
|
||||||
|
queued_scope = $scope.$new();
|
||||||
|
LoadScope({
|
||||||
|
parent_scope: $scope,
|
||||||
|
scope: queued_scope,
|
||||||
|
list: QueuedJobsList,
|
||||||
|
id: 'queued-jobs',
|
||||||
|
url: '/static/sample/data/jobs/queued/data.json'
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
running_scope = $scope.$new();
|
if ($scope.removeChoicesReady) {
|
||||||
LoadScope({
|
$scope.removeChoicesReady();
|
||||||
scope: running_scope,
|
}
|
||||||
list: RunningJobsList,
|
$scope.removeChoicesReady = $scope.$on('choicesReady', function() {
|
||||||
id: 'active-jobs',
|
choicesCount++;
|
||||||
url: '/static/sample/data/jobs/running/data.json'
|
if (choicesCount === 2) {
|
||||||
|
$scope.$emit('buildJobsList');
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
queued_scope = $scope.$new();
|
Wait('start');
|
||||||
LoadScope({
|
|
||||||
scope: queued_scope,
|
|
||||||
list: QueuedJobsList,
|
|
||||||
id: 'queued-jobs',
|
|
||||||
url: '/static/sample/data/jobs/queued/data.json'
|
|
||||||
});
|
|
||||||
|
|
||||||
|
GetChoices({
|
||||||
|
scope: $scope,
|
||||||
|
url: GetBasePath('jobs'),
|
||||||
|
field: 'status',
|
||||||
|
variable: 'status_choices',
|
||||||
|
callback: 'choicesReady'
|
||||||
|
});
|
||||||
|
|
||||||
|
/* Use for types later
|
||||||
|
GetChoices({
|
||||||
|
scope: $scope,
|
||||||
|
url: GetBasePath('jobs'),
|
||||||
|
field: 'type',
|
||||||
|
variable: 'types',
|
||||||
|
callback: ''
|
||||||
|
});
|
||||||
|
*/
|
||||||
|
|
||||||
|
$scope.type_choices = [{
|
||||||
|
label: 'Inventory sync',
|
||||||
|
value: 'inventory_sync',
|
||||||
|
name: 'inventory_sync'
|
||||||
|
},{
|
||||||
|
label: 'Project sync',
|
||||||
|
value: 'scm_sync',
|
||||||
|
name: 'scm_sync'
|
||||||
|
},{
|
||||||
|
label: 'Playbook run',
|
||||||
|
value: 'playbook_run',
|
||||||
|
name: 'playbook_run'
|
||||||
|
}];
|
||||||
|
$scope.$emit('choicesReady');
|
||||||
}
|
}
|
||||||
|
|
||||||
JobsList.$inject = ['$scope', '$compile', 'ClearScope', 'Breadcrumbs', 'LoadScope', 'RunningJobsList', 'CompletedJobsList', 'QueuedJobsList'];
|
JobsList.$inject = ['$scope', '$compile', 'ClearScope', 'Breadcrumbs', 'LoadScope', 'RunningJobsList', 'CompletedJobsList',
|
||||||
|
'QueuedJobsList', 'GetChoices', 'GetBasePath', 'Wait'];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -165,10 +165,11 @@ angular.module('JobsHelper', ['Utilities', 'FormGenerator', 'JobSummaryDefinitio
|
|||||||
* Called from JobsList controller to load each section or list on the page
|
* Called from JobsList controller to load each section or list on the page
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
.factory('LoadScope', ['SearchInit', 'PaginateInit', 'GenerateList', 'PageRangeSetup', 'Wait', 'ProcessErrors', 'Rest',
|
.factory('LoadScope', ['SearchInit', 'PaginateInit', 'GenerateList', 'PageRangeSetup', 'ProcessErrors', 'Rest',
|
||||||
function(SearchInit, PaginateInit, GenerateList, PageRangeSetup, Wait, ProcessErrors, Rest) {
|
function(SearchInit, PaginateInit, GenerateList, PageRangeSetup, ProcessErrors, Rest) {
|
||||||
return function(params) {
|
return function(params) {
|
||||||
var scope = params.scope,
|
var parent_scope = params.parent_scope,
|
||||||
|
scope = params.scope,
|
||||||
list = params.list,
|
list = params.list,
|
||||||
id = params.id,
|
id = params.id,
|
||||||
url = params.url;
|
url = params.url;
|
||||||
@@ -218,7 +219,19 @@ angular.module('JobsHelper', ['Utilities', 'FormGenerator', 'JobSummaryDefinitio
|
|||||||
}
|
}
|
||||||
scope[list.name] = data.results;
|
scope[list.name] = data.results;
|
||||||
window.scrollTo(0, 0);
|
window.scrollTo(0, 0);
|
||||||
Wait('stop');
|
|
||||||
|
if (list.fields.type) {
|
||||||
|
scope[list.name].forEach(function(item, item_idx) {
|
||||||
|
parent_scope.type_choices.every(function(choice) {
|
||||||
|
if (choice.value === item.type) {
|
||||||
|
scope[list.name][item_idx].type = choice.label;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
parent_scope.$emit('listLoaded');
|
||||||
});
|
});
|
||||||
|
|
||||||
Rest.setUrl(url);
|
Rest.setUrl(url);
|
||||||
|
|||||||
@@ -21,31 +21,28 @@ angular.module('CompletedJobsDefinition', [])
|
|||||||
fields: {
|
fields: {
|
||||||
id: {
|
id: {
|
||||||
label: 'Job ID',
|
label: 'Job ID',
|
||||||
|
linkTo: '/#/jobs/{{ completed_job.id }}',
|
||||||
key: true,
|
key: true,
|
||||||
desc: true,
|
desc: true,
|
||||||
searchType: 'int',
|
searchType: 'int',
|
||||||
columnClass: 'col-lg-1 col-md-2 col-sm-2 col-xs-2'
|
columnClass: 'col-lg-1 col-md-2 col-sm-2 col-xs-2'
|
||||||
},
|
},
|
||||||
inventory: {
|
modified: {
|
||||||
label: 'Inventory ID',
|
label: 'Completed On',
|
||||||
searchType: 'int',
|
|
||||||
searchOnly: true
|
|
||||||
},
|
|
||||||
created: {
|
|
||||||
label: 'Create On',
|
|
||||||
link: false,
|
link: false,
|
||||||
searchable: false,
|
searchable: false,
|
||||||
filter: "date:'MM/dd/yy HH:mm:ss'",
|
filter: "date:'MM/dd/yy HH:mm:ss'",
|
||||||
columnClass: "hidden-sm hidden-xs"
|
columnClass: "col-md-2 hidden-xs"
|
||||||
},
|
},
|
||||||
job_template: {
|
type: {
|
||||||
label: 'Job Template',
|
label: 'Type',
|
||||||
ngBind: 'completed_job.summary_fields.job_template.name',
|
link: false,
|
||||||
//ngHref: "{{ '/#/job_templates/?name=' + completed_job.summary_fields.job_template.name }}",
|
columnClass: "col-md-2 hidden-sm hidden-xs"
|
||||||
ngHref:"{{ '/#/job_templates/' + completed_job.job_template }}",
|
},
|
||||||
sourceModel: 'job_template',
|
name: {
|
||||||
sourceField: 'name',
|
label: 'Name',
|
||||||
columnClass: 'col-lg-4 col-md-4 col-sm-4 col-xs-3'
|
columnClass: 'col-sm-4 col-xs-5',
|
||||||
|
ngHref: 'nameHref'
|
||||||
},
|
},
|
||||||
failed: {
|
failed: {
|
||||||
label: 'Job failed?',
|
label: 'Job failed?',
|
||||||
@@ -54,29 +51,6 @@ angular.module('CompletedJobsDefinition', [])
|
|||||||
searchValue: 'true',
|
searchValue: 'true',
|
||||||
searchOnly: true,
|
searchOnly: true,
|
||||||
nosort: true
|
nosort: true
|
||||||
},
|
|
||||||
status: {
|
|
||||||
label: 'Status',
|
|
||||||
"class": 'job-{{ completed_job.status }}',
|
|
||||||
searchType: 'select',
|
|
||||||
linkTo: "{{ completed_job.statusLinkTo }}",
|
|
||||||
searchOptions: [
|
|
||||||
{ name: "new", value: "new" },
|
|
||||||
{ name: "waiting", value: "waiting" },
|
|
||||||
{ name: "pending", value: "pending" },
|
|
||||||
{ name: "running", value: "running" },
|
|
||||||
{ name: "successful", value: "successful" },
|
|
||||||
{ name: "error", value: "error" },
|
|
||||||
{ name: "failed", value: "failed" },
|
|
||||||
{ name: "canceled", value: "canceled" }
|
|
||||||
],
|
|
||||||
badgeIcon: 'fa icon-job-{{ completed_job.status }}',
|
|
||||||
badgePlacement: 'left',
|
|
||||||
badgeToolTip: "{{ completed_job.statusBadgeToolTip }}",
|
|
||||||
badgeTipPlacement: 'top',
|
|
||||||
badgeNgHref: "{{ completed_job.statusLinkTo }}",
|
|
||||||
awToolTip: "{{ completed_job.statusBadgeToolTip }}",
|
|
||||||
dataPlacement: 'top'
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -89,16 +63,40 @@ angular.module('CompletedJobsDefinition', [])
|
|||||||
},
|
},
|
||||||
|
|
||||||
fieldActions: {
|
fieldActions: {
|
||||||
|
status: {
|
||||||
|
mode: 'all',
|
||||||
|
//"class": 'job-{{ completed_job.status }}',
|
||||||
|
//searchType: 'select',
|
||||||
|
//linkTo: "{{ completed_job.statusLinkTo }}",
|
||||||
|
//searchOptions: [
|
||||||
|
// { name: "new", value: "new" },
|
||||||
|
// { name: "waiting", value: "waiting" },
|
||||||
|
// { name: "pending", value: "pending" },
|
||||||
|
// { name: "running", value: "running" },
|
||||||
|
// { name: "successful", value: "successful" },
|
||||||
|
// { name: "error", value: "error" },
|
||||||
|
// { name: "failed", value: "failed" },
|
||||||
|
// { name: "canceled", value: "canceled" }
|
||||||
|
//],
|
||||||
|
iconClass: 'fa icon-job-{{ completed_job.status }}',
|
||||||
|
awToolTip: "{{ completed_job.statusToolTip }}",
|
||||||
|
dataPlacement: 'top'
|
||||||
|
//badgeIcon: 'fa icon-job-{{ completed_job.status }}',
|
||||||
|
//badgePlacement: 'left',
|
||||||
|
//badgeToolTip: "{{ completed_job.statusBadgeToolTip }}",
|
||||||
|
//badgeTipPlacement: 'top',
|
||||||
|
//badgeNgHref: "{{ completed_job.statusLinkTo }}",
|
||||||
|
//awToolTip: "{{ completed_job.statusBadgeToolTip }}",
|
||||||
|
//dataPlacement: 'top'
|
||||||
|
},
|
||||||
submit: {
|
submit: {
|
||||||
label: 'Relaunch',
|
|
||||||
icon: 'icon-rocket',
|
icon: 'icon-rocket',
|
||||||
mode: 'all',
|
mode: 'all',
|
||||||
ngClick: 'submitJob(completed_job.id, completed_job.summary_fields.job_template.name)',
|
ngClick: 'submitJob(completed_job.id, completed_job.summary_fields.job_template.name)',
|
||||||
awToolTip: 'Start the job',
|
awToolTip: 'Relaunch the job',
|
||||||
dataPlacement: 'top'
|
dataPlacement: 'top'
|
||||||
},
|
},
|
||||||
cancel: {
|
cancel: {
|
||||||
label: 'Stop',
|
|
||||||
mode: 'all',
|
mode: 'all',
|
||||||
ngClick: 'deleteJob(completed_job.id)',
|
ngClick: 'deleteJob(completed_job.id)',
|
||||||
awToolTip: 'Cancel a running or pending job',
|
awToolTip: 'Cancel a running or pending job',
|
||||||
@@ -106,7 +104,6 @@ angular.module('CompletedJobsDefinition', [])
|
|||||||
dataPlacement: 'top'
|
dataPlacement: 'top'
|
||||||
},
|
},
|
||||||
"delete": {
|
"delete": {
|
||||||
label: 'Delete',
|
|
||||||
mode: 'all',
|
mode: 'all',
|
||||||
ngClick: 'deleteJob(completed_job.id)',
|
ngClick: 'deleteJob(completed_job.id)',
|
||||||
awToolTip: 'Delete the job',
|
awToolTip: 'Delete the job',
|
||||||
|
|||||||
@@ -32,20 +32,21 @@ angular.module('QueuedJobsDefinition', [])
|
|||||||
searchOnly: true
|
searchOnly: true
|
||||||
},
|
},
|
||||||
created: {
|
created: {
|
||||||
label: 'Create On',
|
label: 'Created On',
|
||||||
link: false,
|
link: false,
|
||||||
searchable: false,
|
searchable: false,
|
||||||
filter: "date:'MM/dd/yy HH:mm:ss'",
|
filter: "date:'MM/dd/yy HH:mm:ss'",
|
||||||
columnClass: 'hidden-sm hidden-xs'
|
columnClass: 'col-md-2 hidden-xs'
|
||||||
},
|
},
|
||||||
job_template: {
|
type: {
|
||||||
label: 'Job Template',
|
label: 'Type',
|
||||||
ngBind: 'queued_job.summary_fields.job_template.name',
|
link: false,
|
||||||
//ngHref: "{{ '/#/job_templates/?name=' + queued_job.summary_fields.job_template.name }}",
|
columnClass: "col-md-2 hidden-sm hidden-xs"
|
||||||
ngHref:"{{ '/#/job_templates/' + queued_job.job_template }}",
|
},
|
||||||
sourceModel: 'job_template',
|
name: {
|
||||||
sourceField: 'name',
|
label: 'Name',
|
||||||
columnClass: 'col-lg-4 col-md-4 col-sm-4 col-xs-3'
|
columnClass: 'col-sm-4 col-xs-5',
|
||||||
|
ngHref: 'nameHref'
|
||||||
},
|
},
|
||||||
failed: {
|
failed: {
|
||||||
label: 'Job failed?',
|
label: 'Job failed?',
|
||||||
@@ -54,29 +55,6 @@ angular.module('QueuedJobsDefinition', [])
|
|||||||
searchValue: 'true',
|
searchValue: 'true',
|
||||||
searchOnly: true,
|
searchOnly: true,
|
||||||
nosort: true
|
nosort: true
|
||||||
},
|
|
||||||
status: {
|
|
||||||
label: 'Status',
|
|
||||||
"class": 'job-{{ queued_job.status }}',
|
|
||||||
searchType: 'select',
|
|
||||||
linkTo: "{{ queued_job.statusLinkTo }}",
|
|
||||||
searchOptions: [
|
|
||||||
{ name: "new", value: "new" },
|
|
||||||
{ name: "waiting", value: "waiting" },
|
|
||||||
{ name: "pending", value: "pending" },
|
|
||||||
{ name: "running", value: "running" },
|
|
||||||
{ name: "successful", value: "successful" },
|
|
||||||
{ name: "error", value: "error" },
|
|
||||||
{ name: "failed", value: "failed" },
|
|
||||||
{ name: "canceled", value: "canceled" }
|
|
||||||
],
|
|
||||||
badgeIcon: 'fa icon-job-{{ queued_job.status }}',
|
|
||||||
badgePlacement: 'left',
|
|
||||||
badgeToolTip: "{{ queued_job.statusBadgeToolTip }}",
|
|
||||||
badgeTipPlacement: 'top',
|
|
||||||
badgeNgHref: "{{ queued_job.statusLinkTo }}",
|
|
||||||
awToolTip: "{{ queued_job.statusBadgeToolTip }}",
|
|
||||||
dataPlacement: 'top'
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -89,42 +67,24 @@ angular.module('QueuedJobsDefinition', [])
|
|||||||
},
|
},
|
||||||
|
|
||||||
fieldActions: {
|
fieldActions: {
|
||||||
|
status: {
|
||||||
|
mode: 'all',
|
||||||
|
iconClass: 'fa icon-job-{{ queued_job.status }}',
|
||||||
|
awToolTip: "{{ queued_job.statusToolTip }}",
|
||||||
|
dataPlacement: 'top'
|
||||||
|
},
|
||||||
submit: {
|
submit: {
|
||||||
label: 'Relaunch',
|
|
||||||
icon: 'icon-rocket',
|
icon: 'icon-rocket',
|
||||||
mode: 'all',
|
mode: 'all',
|
||||||
ngClick: 'submitJob(queued_job.id, queued_job.summary_fields.job_template.name)',
|
ngClick: 'submitJob(queued_job.id, queued_job.summary_fields.job_template.name)',
|
||||||
awToolTip: 'Start the job',
|
awToolTip: 'Launch another instance of the job',
|
||||||
dataPlacement: 'top'
|
dataPlacement: 'top'
|
||||||
},
|
},
|
||||||
cancel: {
|
cancel: {
|
||||||
label: 'Stop',
|
|
||||||
mode: 'all',
|
mode: 'all',
|
||||||
ngClick: 'deleteJob(queued_job.id)',
|
ngClick: 'deleteJob(queued_job.id)',
|
||||||
awToolTip: 'Cancel a running or pending job',
|
awToolTip: 'Cancel the job',
|
||||||
ngShow: "queued_job.status == 'pending' || queued_job.status == 'running' || queued_job.status == 'waiting'",
|
|
||||||
dataPlacement: 'top'
|
dataPlacement: 'top'
|
||||||
},
|
|
||||||
"delete": {
|
|
||||||
label: 'Delete',
|
|
||||||
mode: 'all',
|
|
||||||
ngClick: 'deleteJob(queued_job.id)',
|
|
||||||
awToolTip: 'Delete the job',
|
|
||||||
ngShow: "queued_job.status != 'pending' && queued_job.status != 'running' && queued_job.status != 'waiting'",
|
|
||||||
dataPlacement: 'top'
|
|
||||||
},
|
|
||||||
dropdown: {
|
|
||||||
type: 'DropDown',
|
|
||||||
label: 'View',
|
|
||||||
icon: 'fa-search-plus',
|
|
||||||
'class': 'btn-default btn-xs',
|
|
||||||
options: [
|
|
||||||
{ ngClick: 'editJob(queued_job.id, queued_job.summary_fields.job_template.name)', label: 'Status' },
|
|
||||||
{ ngClick: 'viewEvents(queued_job.id, queued_job.summary_fields.job_template.name)', label: 'Events',
|
|
||||||
ngHide: "queued_job.status == 'new'" },
|
|
||||||
{ ngClick: 'viewSummary(queued_job.id, queued_job.summary_fields.job_template.name)', label: 'Host Summary',
|
|
||||||
ngHide: "queued_job.status == 'new'" }
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -31,21 +31,22 @@ angular.module('RunningJobsDefinition', [])
|
|||||||
searchType: 'int',
|
searchType: 'int',
|
||||||
searchOnly: true
|
searchOnly: true
|
||||||
},
|
},
|
||||||
created: {
|
modified: {
|
||||||
label: 'Create On',
|
label: 'Last Updated',
|
||||||
link: false,
|
link: false,
|
||||||
searchable: false,
|
searchable: false,
|
||||||
filter: "date:'MM/dd/yy HH:mm:ss'",
|
filter: "date:'MM/dd/yy HH:mm:ss'",
|
||||||
columnClass: 'hidden-sm hidden-xs'
|
columnClass: "col-md-2 hidden-xs"
|
||||||
},
|
},
|
||||||
job_template: {
|
type: {
|
||||||
label: 'Job Template',
|
label: 'Type',
|
||||||
ngBind: 'running_job.summary_fields.job_template.name',
|
link: false,
|
||||||
//ngHref: "{{ '/#/job_templates/?name=' + running_job.summary_fields.job_template.name }}",
|
columnClass: "col-md-2 hidden-sm hidden-xs"
|
||||||
ngHref:"{{ '/#/job_templates/' + running_job.job_template }}",
|
},
|
||||||
sourceModel: 'job_template',
|
name: {
|
||||||
sourceField: 'name',
|
label: 'Name',
|
||||||
columnClass: 'col-lg-4 col-md-4 col-sm-4 col-xs-3'
|
columnClass: 'col-sm-4 col-xs-5',
|
||||||
|
ngHref: 'nameHref'
|
||||||
},
|
},
|
||||||
failed: {
|
failed: {
|
||||||
label: 'Job failed?',
|
label: 'Job failed?',
|
||||||
@@ -54,29 +55,6 @@ angular.module('RunningJobsDefinition', [])
|
|||||||
searchValue: 'true',
|
searchValue: 'true',
|
||||||
searchOnly: true,
|
searchOnly: true,
|
||||||
nosort: true
|
nosort: true
|
||||||
},
|
|
||||||
status: {
|
|
||||||
label: 'Status',
|
|
||||||
"class": 'job-{{ running_job.status }}',
|
|
||||||
searchType: 'select',
|
|
||||||
linkTo: "{{ running_job.statusLinkTo }}",
|
|
||||||
searchOptions: [
|
|
||||||
{ name: "new", value: "new" },
|
|
||||||
{ name: "waiting", value: "waiting" },
|
|
||||||
{ name: "pending", value: "pending" },
|
|
||||||
{ name: "running", value: "running" },
|
|
||||||
{ name: "successful", value: "successful" },
|
|
||||||
{ name: "error", value: "error" },
|
|
||||||
{ name: "failed", value: "failed" },
|
|
||||||
{ name: "canceled", value: "canceled" }
|
|
||||||
],
|
|
||||||
badgeIcon: 'fa icon-job-{{ running_job.status }}',
|
|
||||||
badgePlacement: 'left',
|
|
||||||
badgeToolTip: "{{ running_job.statusBadgeToolTip }}",
|
|
||||||
badgeTipPlacement: 'top',
|
|
||||||
badgeNgHref: "{{ running_job.statusLinkTo }}",
|
|
||||||
awToolTip: "{{ running_job.statusBadgeToolTip }}",
|
|
||||||
dataPlacement: 'top'
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -89,24 +67,27 @@ angular.module('RunningJobsDefinition', [])
|
|||||||
},
|
},
|
||||||
|
|
||||||
fieldActions: {
|
fieldActions: {
|
||||||
|
status: {
|
||||||
|
mode: 'all',
|
||||||
|
iconClass: 'fa icon-job-{{ running_job.status }}',
|
||||||
|
awToolTip: "{{ running_job.statusToolTip }}",
|
||||||
|
dataPlacement: 'top'
|
||||||
|
},
|
||||||
submit: {
|
submit: {
|
||||||
label: 'Relaunch',
|
|
||||||
icon: 'icon-rocket',
|
icon: 'icon-rocket',
|
||||||
mode: 'all',
|
mode: 'all',
|
||||||
ngClick: 'submitJob(running_job.id, running_job.summary_fields.job_template.name)',
|
ngClick: 'submitJob(running_job.id, running_job.summary_fields.job_template.name)',
|
||||||
awToolTip: 'Start the job',
|
awToolTip: 'Launch another instance of the job',
|
||||||
dataPlacement: 'top'
|
dataPlacement: 'top'
|
||||||
},
|
},
|
||||||
cancel: {
|
cancel: {
|
||||||
label: 'Stop',
|
|
||||||
mode: 'all',
|
mode: 'all',
|
||||||
ngClick: 'deleteJob(running_job.id)',
|
ngClick: 'deleteJob(running_job.id)',
|
||||||
awToolTip: 'Cancel a running or pending job',
|
awToolTip: 'Cancel the job',
|
||||||
ngShow: "running_job.status == 'pending' || running_job.status == 'running' || running_job.status == 'waiting'",
|
ngShow: "running_job.status == 'pending' || running_job.status == 'running' || running_job.status == 'waiting'",
|
||||||
dataPlacement: 'top'
|
dataPlacement: 'top'
|
||||||
},
|
},
|
||||||
"delete": {
|
"delete": {
|
||||||
label: 'Delete',
|
|
||||||
mode: 'all',
|
mode: 'all',
|
||||||
ngClick: 'deleteJob(running_job.id)',
|
ngClick: 'deleteJob(running_job.id)',
|
||||||
awToolTip: 'Delete the job',
|
awToolTip: 'Delete the job',
|
||||||
|
|||||||
@@ -133,9 +133,6 @@ a:focus {
|
|||||||
a:hover {
|
a:hover {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
.cancel {
|
|
||||||
padding-right: 8px;
|
|
||||||
}
|
|
||||||
.dropdown .caret {
|
.dropdown .caret {
|
||||||
border-top-color: @blue;
|
border-top-color: @blue;
|
||||||
}
|
}
|
||||||
@@ -211,8 +208,20 @@ textarea {
|
|||||||
}
|
}
|
||||||
.popover {
|
.popover {
|
||||||
z-index: 2000;
|
z-index: 2000;
|
||||||
|
max-width: 325px;
|
||||||
|
}
|
||||||
|
.popover-footer {
|
||||||
|
font-size: 12px;
|
||||||
|
margin-top: 5px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
text-align: right;
|
||||||
|
.key {
|
||||||
|
color: @white;
|
||||||
|
background-color: @grey;
|
||||||
|
padding: 0 1px 1px 1px;
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.tooltip {
|
.tooltip {
|
||||||
z-index: 2050;
|
z-index: 2050;
|
||||||
opacity: 1.0;
|
opacity: 1.0;
|
||||||
@@ -1013,8 +1022,8 @@ input[type="checkbox"].checkbox-no-label {
|
|||||||
margin-bottom: 6px;
|
margin-bottom: 6px;
|
||||||
color: @black;
|
color: @black;
|
||||||
}
|
}
|
||||||
thead >tr >th, tbody >tr >td, .page-row {
|
thead >tr >th, .page-row {
|
||||||
font-size: 12.5px;
|
font-size: 12px;
|
||||||
color: #666;
|
color: #666;
|
||||||
}
|
}
|
||||||
.pagination li a {
|
.pagination li a {
|
||||||
|
|||||||
@@ -557,6 +557,14 @@ angular.module('Utilities', ['RestServices', 'Utilities'])
|
|||||||
/*
|
/*
|
||||||
* Make an Options call to the API and retrieve dropdown options
|
* Make an Options call to the API and retrieve dropdown options
|
||||||
*
|
*
|
||||||
|
* GetChoices({
|
||||||
|
* scope: Parent $scope
|
||||||
|
* url: API resource to access
|
||||||
|
* field: API element in the response object that contains the option list.
|
||||||
|
* variable: Scope variable that will receive the list.
|
||||||
|
* callback: Optional. Will issue scope.$emit(callback) on completion.
|
||||||
|
* choice_name: Optional. Used when list is found in a variable other than 'choices'.
|
||||||
|
* })
|
||||||
*/
|
*/
|
||||||
.factory('GetChoices', ['Rest', 'ProcessErrors',
|
.factory('GetChoices', ['Rest', 'ProcessErrors',
|
||||||
function (Rest, ProcessErrors) {
|
function (Rest, ProcessErrors) {
|
||||||
@@ -565,8 +573,8 @@ angular.module('Utilities', ['RestServices', 'Utilities'])
|
|||||||
url = params.url,
|
url = params.url,
|
||||||
field = params.field,
|
field = params.field,
|
||||||
variable = params.variable,
|
variable = params.variable,
|
||||||
callback = params.callback, // Optional. Provide if you want scop.$emit on completion.
|
callback = params.callback,
|
||||||
choice_name = params.choice_name; // Optional. Used when data is in something other than 'choices'
|
choice_name = params.choice_name;
|
||||||
|
|
||||||
if (scope[variable]) {
|
if (scope[variable]) {
|
||||||
scope[variable].length = 0;
|
scope[variable].length = 0;
|
||||||
@@ -577,16 +585,16 @@ angular.module('Utilities', ['RestServices', 'Utilities'])
|
|||||||
Rest.setUrl(url);
|
Rest.setUrl(url);
|
||||||
Rest.options()
|
Rest.options()
|
||||||
.success(function (data) {
|
.success(function (data) {
|
||||||
var choices, i;
|
var choices;
|
||||||
choices = (choice_name) ? data.actions.GET[field][choice_name] : data.actions.GET[field].choices;
|
choices = (choice_name) ? data.actions.GET[field][choice_name] : data.actions.GET[field].choices;
|
||||||
// including 'name' property so list can be used by search
|
// including 'name' property so list can be used by search
|
||||||
for (i = 0; i < choices.length; i++) {
|
choices.forEach(function(choice) {
|
||||||
scope[variable].push({
|
scope[variable].push({
|
||||||
label: choices[i][1],
|
label: choice[1],
|
||||||
value: choices[i][0],
|
value: choice[0],
|
||||||
name: choices[i][1]
|
name: choice[1]
|
||||||
});
|
});
|
||||||
}
|
});
|
||||||
if (callback) {
|
if (callback) {
|
||||||
scope.$emit(callback);
|
scope.$emit(callback);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -290,9 +290,9 @@ angular.module('AWDirectives', ['RestServices', 'Utilities', 'AuthService', 'Job
|
|||||||
$(element).popover({ placement: placement, delay: 0, title: title,
|
$(element).popover({ placement: placement, delay: 0, title: title,
|
||||||
content: attrs.awPopOver, trigger: 'manual', html: true, container: container });
|
content: attrs.awPopOver, trigger: 'manual', html: true, container: container });
|
||||||
$(element).click(function() {
|
$(element).click(function() {
|
||||||
var me = $(this).attr('id');
|
var self = $(this).attr('id');
|
||||||
$('.help-link, .help-link-white').each( function() {
|
$('.help-link, .help-link-white').each( function() {
|
||||||
if (me !== $(this).attr('id')) {
|
if (self !== $(this).attr('id')) {
|
||||||
$(this).popover('hide');
|
$(this).popover('hide');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -313,6 +313,10 @@ angular.module('AWDirectives', ['RestServices', 'Utilities', 'AuthService', 'Job
|
|||||||
$compile($(this))(scope); //make nested directives work!
|
$compile($(this))(scope); //make nested directives work!
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$('.popover-content, .popover-title').click(function() {
|
||||||
|
$('#' + self).popover('hide');
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).bind('keydown', function(e) {
|
$(document).bind('keydown', function(e) {
|
||||||
|
|||||||
@@ -38,9 +38,10 @@ angular.module('GeneratorHelpers', ['GeneratorHelpers'])
|
|||||||
break;
|
break;
|
||||||
case 'awPopOver':
|
case 'awPopOver':
|
||||||
// construct the entire help link
|
// construct the entire help link
|
||||||
result = "<a id=\"awp-" + fld + "\" href=\"\" aw-pop-over=\'" + value + "\' ";
|
result = "<a id=\"awp-" + fld + "\" href=\"\" aw-pop-over=\'" + value + "<div class=\"popover-footer\"><span class=\"key\">esc</span> or click to exit</div>\' ";
|
||||||
result += (obj.dataPlacement) ? "data-placement=\"" + obj.dataPlacement.replace(/[\'\"]/g, '"') + "\" " : "";
|
result += (obj.dataPlacement) ? "data-placement=\"" + obj.dataPlacement + "\" " : "";
|
||||||
result += (obj.dataContainer) ? "data-container=\"" + obj.dataContainer.replace(/[\'\"]/g, '"') + "\" " : "";
|
result += (obj.dataContainer) ? "data-container=\"" + obj.dataContainer + "\" " : "";
|
||||||
|
result += (obj.dataTitle) ? "data-title=\"" + obj.dataTitle + "\" " : "";
|
||||||
result += "class=\"help-link\" ";
|
result += "class=\"help-link\" ";
|
||||||
result += "><i class=\"fa fa-question-circle\"></i></a> ";
|
result += "><i class=\"fa fa-question-circle\"></i></a> ";
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"count": 15,
|
"count": 5,
|
||||||
"next": "/blah/blah/blah",
|
"next": "/blah/blah/blah",
|
||||||
"previous": null,
|
"previous": null,
|
||||||
"results": [
|
"results": [
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
"project": {
|
"project": {
|
||||||
"name": "Examples",
|
"name": "Examples",
|
||||||
"description": "Ansible example project",
|
"description": "Ansible example project",
|
||||||
"status": "successful"
|
"scm_type": "git"
|
||||||
},
|
},
|
||||||
"inventory": {
|
"inventory": {
|
||||||
"name": "Rackspace",
|
"name": "Rackspace",
|
||||||
@@ -49,8 +49,11 @@
|
|||||||
"created": "2014-03-06T16:51:04.557Z",
|
"created": "2014-03-06T16:51:04.557Z",
|
||||||
"modified": "2014-03-06T16:51:14.272Z",
|
"modified": "2014-03-06T16:51:14.272Z",
|
||||||
"job_template": 3,
|
"job_template": 3,
|
||||||
"job_type": "playbook_run",
|
"job_type": "run",
|
||||||
"inventory": 4,
|
"type": "playbook_run",
|
||||||
|
"name": "Hello World",
|
||||||
|
"job_explanation": "Completed successfully",
|
||||||
|
"inventory": 4,
|
||||||
"project": 1,
|
"project": 1,
|
||||||
"playbook": "lamp_simple/site.yml",
|
"playbook": "lamp_simple/site.yml",
|
||||||
"credential": 8,
|
"credential": 8,
|
||||||
@@ -161,10 +164,12 @@
|
|||||||
"created": "2014-03-07T23:28:06.999Z",
|
"created": "2014-03-07T23:28:06.999Z",
|
||||||
"modified": "2014-03-07T23:28:16.424Z",
|
"modified": "2014-03-07T23:28:16.424Z",
|
||||||
"job_template": 3,
|
"job_template": 3,
|
||||||
"job_type": "playbook_run",
|
"job_type": "run",
|
||||||
"inventory": 4,
|
"job_explanation": "AWS access error. Check your credentials.",
|
||||||
|
"type": "inventory_sync",
|
||||||
|
"name": "AWS Cloud",
|
||||||
|
"inventory": 4,
|
||||||
"project": 1,
|
"project": 1,
|
||||||
"playbook": "lamp_simple/site.yml",
|
|
||||||
"credential": 8,
|
"credential": 8,
|
||||||
"cloud_credential": null,
|
"cloud_credential": null,
|
||||||
"forks": 0,
|
"forks": 0,
|
||||||
@@ -273,8 +278,11 @@
|
|||||||
"created": "2014-03-07T23:28:06.999Z",
|
"created": "2014-03-07T23:28:06.999Z",
|
||||||
"modified": "2014-03-07T23:28:16.424Z",
|
"modified": "2014-03-07T23:28:16.424Z",
|
||||||
"job_template": 3,
|
"job_template": 3,
|
||||||
"job_type": "playbook_run",
|
"job_type": "run",
|
||||||
"inventory": 4,
|
"job_explanation": "Completed successfully",
|
||||||
|
"type": "inventory_sync",
|
||||||
|
"inventory": 4,
|
||||||
|
"name": "Rackspace",
|
||||||
"project": 1,
|
"project": 1,
|
||||||
"playbook": "lamp_simple/site.yml",
|
"playbook": "lamp_simple/site.yml",
|
||||||
"credential": 8,
|
"credential": 8,
|
||||||
@@ -285,8 +293,8 @@
|
|||||||
"extra_vars": "{\n\t\"variable1\": \"some value\",\n\t\"variable2\": \"another value\"\n}",
|
"extra_vars": "{\n\t\"variable1\": \"some value\",\n\t\"variable2\": \"another value\"\n}",
|
||||||
"job_tags": "",
|
"job_tags": "",
|
||||||
"launch_type": "manual",
|
"launch_type": "manual",
|
||||||
"status": "failed",
|
"status": "successful",
|
||||||
"failed": true,
|
"failed": false,
|
||||||
"result_traceback": "",
|
"result_traceback": "",
|
||||||
"passwords_needed_to_start": [],
|
"passwords_needed_to_start": [],
|
||||||
"job_args": "[\"ssh-agent\", \"sh\", \"-c\", \"ssh-add /tmp/tmpoeaDyc && ansible-playbook -i /vagrant/ansible-commander/awx/plugins/inventory/awxrest.py -u vagrant -e '{\\\"variable1\\\": \\\"some value\\\", \\\"variable2\\\": \\\"another value\\\"}' lamp_simple/site.yml\"]",
|
"job_args": "[\"ssh-agent\", \"sh\", \"-c\", \"ssh-add /tmp/tmpoeaDyc && ansible-playbook -i /vagrant/ansible-commander/awx/plugins/inventory/awxrest.py -u vagrant -e '{\\\"variable1\\\": \\\"some value\\\", \\\"variable2\\\": \\\"another value\\\"}' lamp_simple/site.yml\"]",
|
||||||
@@ -383,9 +391,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"created": "2014-03-07T23:28:06.999Z",
|
"created": "2014-03-07T23:28:06.999Z",
|
||||||
"modified": "2014-03-07T23:28:16.424Z",
|
"modified": "2014-03-07T23:28:16.424Z",
|
||||||
|
"job_explanation": "Completed successfully",
|
||||||
"job_template": 3,
|
"job_template": 3,
|
||||||
"job_type": "playbook_run",
|
"job_type": "run",
|
||||||
|
"type": "scm_sync",
|
||||||
|
"name": "Examples",
|
||||||
"inventory": 4,
|
"inventory": 4,
|
||||||
"project": 1,
|
"project": 1,
|
||||||
"playbook": "lamp_simple/site.yml",
|
"playbook": "lamp_simple/site.yml",
|
||||||
@@ -397,7 +408,7 @@
|
|||||||
"extra_vars": "{\n\t\"variable1\": \"some value\",\n\t\"variable2\": \"another value\"\n}",
|
"extra_vars": "{\n\t\"variable1\": \"some value\",\n\t\"variable2\": \"another value\"\n}",
|
||||||
"job_tags": "",
|
"job_tags": "",
|
||||||
"launch_type": "manual",
|
"launch_type": "manual",
|
||||||
"status": "failed",
|
"status": "successful",
|
||||||
"failed": true,
|
"failed": true,
|
||||||
"result_traceback": "",
|
"result_traceback": "",
|
||||||
"passwords_needed_to_start": [],
|
"passwords_needed_to_start": [],
|
||||||
@@ -497,567 +508,10 @@
|
|||||||
"created": "2014-03-07T23:28:06.999Z",
|
"created": "2014-03-07T23:28:06.999Z",
|
||||||
"modified": "2014-03-07T23:28:16.424Z",
|
"modified": "2014-03-07T23:28:16.424Z",
|
||||||
"job_template": 3,
|
"job_template": 3,
|
||||||
"job_type": "playbook_run",
|
"job_type": "run",
|
||||||
"inventory": 4,
|
"job_explanation": "Completed successfully",
|
||||||
"project": 1,
|
"type": "playbook_run",
|
||||||
"playbook": "lamp_simple/site.yml",
|
"name": "Web server restart",
|
||||||
"credential": 8,
|
|
||||||
"cloud_credential": null,
|
|
||||||
"forks": 0,
|
|
||||||
"limit": "",
|
|
||||||
"verbosity": 0,
|
|
||||||
"extra_vars": "{\n\t\"variable1\": \"some value\",\n\t\"variable2\": \"another value\"\n}",
|
|
||||||
"job_tags": "",
|
|
||||||
"launch_type": "manual",
|
|
||||||
"status": "failed",
|
|
||||||
"failed": true,
|
|
||||||
"result_traceback": "",
|
|
||||||
"passwords_needed_to_start": [],
|
|
||||||
"job_args": "[\"ssh-agent\", \"sh\", \"-c\", \"ssh-add /tmp/tmpoeaDyc && ansible-playbook -i /vagrant/ansible-commander/awx/plugins/inventory/awxrest.py -u vagrant -e '{\\\"variable1\\\": \\\"some value\\\", \\\"variable2\\\": \\\"another value\\\"}' lamp_simple/site.yml\"]",
|
|
||||||
"job_cwd": "/vagrant/ansible-commander/awx/projects/_1__examples",
|
|
||||||
"job_env": {
|
|
||||||
"CELERY_LOG_REDIRECT_LEVEL": "WARNING",
|
|
||||||
"ANSIBLE_PARAMIKO_RECORD_HOST_KEYS": "False",
|
|
||||||
"DJANGO_LIVE_TEST_SERVER_ADDRESS": "localhost:9013-9199",
|
|
||||||
"LESSOPEN": "|/usr/bin/lesspipe.sh %s",
|
|
||||||
"_MP_FORK_LOGFILE_": "",
|
|
||||||
"SSH_CLIENT": "10.0.2.2 61378 22",
|
|
||||||
"CVS_RSH": "ssh",
|
|
||||||
"LOGNAME": "vagrant",
|
|
||||||
"USER": "vagrant",
|
|
||||||
"HOME": "/home/vagrant",
|
|
||||||
"PATH": "/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/vagrant/bin",
|
|
||||||
"REST_API_TOKEN": "**********************************",
|
|
||||||
"CALLBACK_CONSUMER_PORT": "tcp://127.0.0.1:5557",
|
|
||||||
"ANSIBLE_CALLBACK_PLUGINS": "/vagrant/ansible-commander/awx/plugins/callback",
|
|
||||||
"LANG": "en_US.UTF-8",
|
|
||||||
"HISTCONTROL": "ignoredups",
|
|
||||||
"TERM": "xterm",
|
|
||||||
"SHELL": "/bin/bash",
|
|
||||||
"TZ": "America/New_York",
|
|
||||||
"_MP_FORK_LOGFORMAT_": "[%(asctime)s: %(levelname)s/%(processName)s] %(message)s",
|
|
||||||
"SHLVL": "1",
|
|
||||||
"G_BROKEN_FILENAMES": "1",
|
|
||||||
"HISTSIZE": "1000",
|
|
||||||
"CELERY_LOG_FILE": "",
|
|
||||||
"DJANGO_PROJECT_DIR": "/vagrant/ansible-commander",
|
|
||||||
"ANSIBLE_HOST_KEY_CHECKING": "False",
|
|
||||||
"JOB_ID": "2",
|
|
||||||
"PYTHONPATH": "/vagrant/ansible-commander/awx/lib/site-packages:",
|
|
||||||
"CELERY_LOADER": "djcelery.loaders.DjangoLoader",
|
|
||||||
"_MP_FORK_LOGLEVEL_": "10",
|
|
||||||
"ANSIBLE_NOCOLOR": "1",
|
|
||||||
"JOB_CALLBACK_DEBUG": "1",
|
|
||||||
"REST_API_URL": "http://127.0.0.1:8013",
|
|
||||||
"_": "/usr/bin/nohup",
|
|
||||||
"SSH_CONNECTION": "10.0.2.2 61378 10.0.2.15 22",
|
|
||||||
"INVENTORY_HOSTVARS": "True",
|
|
||||||
"SSH_TTY": "/dev/pts/0",
|
|
||||||
"CELERY_LOG_LEVEL": "10",
|
|
||||||
"HOSTNAME": "vagrant-centos64.vagrantup.com",
|
|
||||||
"INVENTORY_ID": "4",
|
|
||||||
"PWD": "/home/vagrant",
|
|
||||||
"CELERY_LOG_REDIRECT": "1",
|
|
||||||
"DJANGO_SETTINGS_MODULE": "awx.settings.development",
|
|
||||||
"MAIL": "/var/spool/mail/vagrant",
|
|
||||||
"LS_COLORS": "rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 6,
|
|
||||||
"url": "/api/v1/jobs/2/",
|
|
||||||
"related": {
|
|
||||||
"job_host_summaries": "/api/v1/jobs/2/job_host_summaries/",
|
|
||||||
"activity_stream": "/api/v1/jobs/2/activity_stream/",
|
|
||||||
"job_events": "/api/v1/jobs/2/job_events/",
|
|
||||||
"job_template": "/api/v1/job_templates/3/",
|
|
||||||
"inventory": "/api/v1/inventories/4/",
|
|
||||||
"project": "/api/v1/projects/1/",
|
|
||||||
"credential": "/api/v1/credentials/8/",
|
|
||||||
"start": "/api/v1/jobs/2/start/",
|
|
||||||
"cancel": "/api/v1/jobs/2/cancel/"
|
|
||||||
},
|
|
||||||
"summary_fields": {
|
|
||||||
"credential": {
|
|
||||||
"name": "ssh",
|
|
||||||
"description": "machine creds",
|
|
||||||
"kind": "ssh",
|
|
||||||
"cloud": false
|
|
||||||
},
|
|
||||||
"job_template": {
|
|
||||||
"name": "Hello World",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"project": {
|
|
||||||
"name": "Examples",
|
|
||||||
"description": "Ansible example project",
|
|
||||||
"status": "successful"
|
|
||||||
},
|
|
||||||
"inventory": {
|
|
||||||
"name": "Rackspace",
|
|
||||||
"description": "",
|
|
||||||
"has_active_failures": true,
|
|
||||||
"total_hosts": 20,
|
|
||||||
"hosts_with_active_failures": 20,
|
|
||||||
"total_groups": 3,
|
|
||||||
"groups_with_active_failures": 3,
|
|
||||||
"has_inventory_sources": true,
|
|
||||||
"total_inventory_sources": 1,
|
|
||||||
"inventory_sources_with_failures": 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"created": "2014-03-07T23:28:06.999Z",
|
|
||||||
"modified": "2014-03-07T23:28:16.424Z",
|
|
||||||
"job_template": 3,
|
|
||||||
"job_type": "playbook_run",
|
|
||||||
"inventory": 4,
|
|
||||||
"project": 1,
|
|
||||||
"playbook": "lamp_simple/site.yml",
|
|
||||||
"credential": 8,
|
|
||||||
"cloud_credential": null,
|
|
||||||
"forks": 0,
|
|
||||||
"limit": "",
|
|
||||||
"verbosity": 0,
|
|
||||||
"extra_vars": "{\n\t\"variable1\": \"some value\",\n\t\"variable2\": \"another value\"\n}",
|
|
||||||
"job_tags": "",
|
|
||||||
"launch_type": "manual",
|
|
||||||
"status": "failed",
|
|
||||||
"failed": true,
|
|
||||||
"result_traceback": "",
|
|
||||||
"passwords_needed_to_start": [],
|
|
||||||
"job_args": "[\"ssh-agent\", \"sh\", \"-c\", \"ssh-add /tmp/tmpoeaDyc && ansible-playbook -i /vagrant/ansible-commander/awx/plugins/inventory/awxrest.py -u vagrant -e '{\\\"variable1\\\": \\\"some value\\\", \\\"variable2\\\": \\\"another value\\\"}' lamp_simple/site.yml\"]",
|
|
||||||
"job_cwd": "/vagrant/ansible-commander/awx/projects/_1__examples",
|
|
||||||
"job_env": {
|
|
||||||
"CELERY_LOG_REDIRECT_LEVEL": "WARNING",
|
|
||||||
"ANSIBLE_PARAMIKO_RECORD_HOST_KEYS": "False",
|
|
||||||
"DJANGO_LIVE_TEST_SERVER_ADDRESS": "localhost:9013-9199",
|
|
||||||
"LESSOPEN": "|/usr/bin/lesspipe.sh %s",
|
|
||||||
"_MP_FORK_LOGFILE_": "",
|
|
||||||
"SSH_CLIENT": "10.0.2.2 61378 22",
|
|
||||||
"CVS_RSH": "ssh",
|
|
||||||
"LOGNAME": "vagrant",
|
|
||||||
"USER": "vagrant",
|
|
||||||
"HOME": "/home/vagrant",
|
|
||||||
"PATH": "/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/vagrant/bin",
|
|
||||||
"REST_API_TOKEN": "**********************************",
|
|
||||||
"CALLBACK_CONSUMER_PORT": "tcp://127.0.0.1:5557",
|
|
||||||
"ANSIBLE_CALLBACK_PLUGINS": "/vagrant/ansible-commander/awx/plugins/callback",
|
|
||||||
"LANG": "en_US.UTF-8",
|
|
||||||
"HISTCONTROL": "ignoredups",
|
|
||||||
"TERM": "xterm",
|
|
||||||
"SHELL": "/bin/bash",
|
|
||||||
"TZ": "America/New_York",
|
|
||||||
"_MP_FORK_LOGFORMAT_": "[%(asctime)s: %(levelname)s/%(processName)s] %(message)s",
|
|
||||||
"SHLVL": "1",
|
|
||||||
"G_BROKEN_FILENAMES": "1",
|
|
||||||
"HISTSIZE": "1000",
|
|
||||||
"CELERY_LOG_FILE": "",
|
|
||||||
"DJANGO_PROJECT_DIR": "/vagrant/ansible-commander",
|
|
||||||
"ANSIBLE_HOST_KEY_CHECKING": "False",
|
|
||||||
"JOB_ID": "2",
|
|
||||||
"PYTHONPATH": "/vagrant/ansible-commander/awx/lib/site-packages:",
|
|
||||||
"CELERY_LOADER": "djcelery.loaders.DjangoLoader",
|
|
||||||
"_MP_FORK_LOGLEVEL_": "10",
|
|
||||||
"ANSIBLE_NOCOLOR": "1",
|
|
||||||
"JOB_CALLBACK_DEBUG": "1",
|
|
||||||
"REST_API_URL": "http://127.0.0.1:8013",
|
|
||||||
"_": "/usr/bin/nohup",
|
|
||||||
"SSH_CONNECTION": "10.0.2.2 61378 10.0.2.15 22",
|
|
||||||
"INVENTORY_HOSTVARS": "True",
|
|
||||||
"SSH_TTY": "/dev/pts/0",
|
|
||||||
"CELERY_LOG_LEVEL": "10",
|
|
||||||
"HOSTNAME": "vagrant-centos64.vagrantup.com",
|
|
||||||
"INVENTORY_ID": "4",
|
|
||||||
"PWD": "/home/vagrant",
|
|
||||||
"CELERY_LOG_REDIRECT": "1",
|
|
||||||
"DJANGO_SETTINGS_MODULE": "awx.settings.development",
|
|
||||||
"MAIL": "/var/spool/mail/vagrant",
|
|
||||||
"LS_COLORS": "rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 7,
|
|
||||||
"url": "/api/v1/jobs/2/",
|
|
||||||
"related": {
|
|
||||||
"job_host_summaries": "/api/v1/jobs/2/job_host_summaries/",
|
|
||||||
"activity_stream": "/api/v1/jobs/2/activity_stream/",
|
|
||||||
"job_events": "/api/v1/jobs/2/job_events/",
|
|
||||||
"job_template": "/api/v1/job_templates/3/",
|
|
||||||
"inventory": "/api/v1/inventories/4/",
|
|
||||||
"project": "/api/v1/projects/1/",
|
|
||||||
"credential": "/api/v1/credentials/8/",
|
|
||||||
"start": "/api/v1/jobs/2/start/",
|
|
||||||
"cancel": "/api/v1/jobs/2/cancel/"
|
|
||||||
},
|
|
||||||
"summary_fields": {
|
|
||||||
"credential": {
|
|
||||||
"name": "ssh",
|
|
||||||
"description": "machine creds",
|
|
||||||
"kind": "ssh",
|
|
||||||
"cloud": false
|
|
||||||
},
|
|
||||||
"job_template": {
|
|
||||||
"name": "Hello World",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"project": {
|
|
||||||
"name": "Examples",
|
|
||||||
"description": "Ansible example project",
|
|
||||||
"status": "successful"
|
|
||||||
},
|
|
||||||
"inventory": {
|
|
||||||
"name": "Rackspace",
|
|
||||||
"description": "",
|
|
||||||
"has_active_failures": true,
|
|
||||||
"total_hosts": 20,
|
|
||||||
"hosts_with_active_failures": 20,
|
|
||||||
"total_groups": 3,
|
|
||||||
"groups_with_active_failures": 3,
|
|
||||||
"has_inventory_sources": true,
|
|
||||||
"total_inventory_sources": 1,
|
|
||||||
"inventory_sources_with_failures": 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"created": "2014-03-07T23:28:06.999Z",
|
|
||||||
"modified": "2014-03-07T23:28:16.424Z",
|
|
||||||
"job_template": 3,
|
|
||||||
"job_type": "playbook_run",
|
|
||||||
"inventory": 4,
|
|
||||||
"project": 1,
|
|
||||||
"playbook": "lamp_simple/site.yml",
|
|
||||||
"credential": 8,
|
|
||||||
"cloud_credential": null,
|
|
||||||
"forks": 0,
|
|
||||||
"limit": "",
|
|
||||||
"verbosity": 0,
|
|
||||||
"extra_vars": "{\n\t\"variable1\": \"some value\",\n\t\"variable2\": \"another value\"\n}",
|
|
||||||
"job_tags": "",
|
|
||||||
"launch_type": "manual",
|
|
||||||
"status": "failed",
|
|
||||||
"failed": true,
|
|
||||||
"result_traceback": "",
|
|
||||||
"passwords_needed_to_start": [],
|
|
||||||
"job_args": "[\"ssh-agent\", \"sh\", \"-c\", \"ssh-add /tmp/tmpoeaDyc && ansible-playbook -i /vagrant/ansible-commander/awx/plugins/inventory/awxrest.py -u vagrant -e '{\\\"variable1\\\": \\\"some value\\\", \\\"variable2\\\": \\\"another value\\\"}' lamp_simple/site.yml\"]",
|
|
||||||
"job_cwd": "/vagrant/ansible-commander/awx/projects/_1__examples",
|
|
||||||
"job_env": {
|
|
||||||
"CELERY_LOG_REDIRECT_LEVEL": "WARNING",
|
|
||||||
"ANSIBLE_PARAMIKO_RECORD_HOST_KEYS": "False",
|
|
||||||
"DJANGO_LIVE_TEST_SERVER_ADDRESS": "localhost:9013-9199",
|
|
||||||
"LESSOPEN": "|/usr/bin/lesspipe.sh %s",
|
|
||||||
"_MP_FORK_LOGFILE_": "",
|
|
||||||
"SSH_CLIENT": "10.0.2.2 61378 22",
|
|
||||||
"CVS_RSH": "ssh",
|
|
||||||
"LOGNAME": "vagrant",
|
|
||||||
"USER": "vagrant",
|
|
||||||
"HOME": "/home/vagrant",
|
|
||||||
"PATH": "/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/vagrant/bin",
|
|
||||||
"REST_API_TOKEN": "**********************************",
|
|
||||||
"CALLBACK_CONSUMER_PORT": "tcp://127.0.0.1:5557",
|
|
||||||
"ANSIBLE_CALLBACK_PLUGINS": "/vagrant/ansible-commander/awx/plugins/callback",
|
|
||||||
"LANG": "en_US.UTF-8",
|
|
||||||
"HISTCONTROL": "ignoredups",
|
|
||||||
"TERM": "xterm",
|
|
||||||
"SHELL": "/bin/bash",
|
|
||||||
"TZ": "America/New_York",
|
|
||||||
"_MP_FORK_LOGFORMAT_": "[%(asctime)s: %(levelname)s/%(processName)s] %(message)s",
|
|
||||||
"SHLVL": "1",
|
|
||||||
"G_BROKEN_FILENAMES": "1",
|
|
||||||
"HISTSIZE": "1000",
|
|
||||||
"CELERY_LOG_FILE": "",
|
|
||||||
"DJANGO_PROJECT_DIR": "/vagrant/ansible-commander",
|
|
||||||
"ANSIBLE_HOST_KEY_CHECKING": "False",
|
|
||||||
"JOB_ID": "2",
|
|
||||||
"PYTHONPATH": "/vagrant/ansible-commander/awx/lib/site-packages:",
|
|
||||||
"CELERY_LOADER": "djcelery.loaders.DjangoLoader",
|
|
||||||
"_MP_FORK_LOGLEVEL_": "10",
|
|
||||||
"ANSIBLE_NOCOLOR": "1",
|
|
||||||
"JOB_CALLBACK_DEBUG": "1",
|
|
||||||
"REST_API_URL": "http://127.0.0.1:8013",
|
|
||||||
"_": "/usr/bin/nohup",
|
|
||||||
"SSH_CONNECTION": "10.0.2.2 61378 10.0.2.15 22",
|
|
||||||
"INVENTORY_HOSTVARS": "True",
|
|
||||||
"SSH_TTY": "/dev/pts/0",
|
|
||||||
"CELERY_LOG_LEVEL": "10",
|
|
||||||
"HOSTNAME": "vagrant-centos64.vagrantup.com",
|
|
||||||
"INVENTORY_ID": "4",
|
|
||||||
"PWD": "/home/vagrant",
|
|
||||||
"CELERY_LOG_REDIRECT": "1",
|
|
||||||
"DJANGO_SETTINGS_MODULE": "awx.settings.development",
|
|
||||||
"MAIL": "/var/spool/mail/vagrant",
|
|
||||||
"LS_COLORS": "rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 8,
|
|
||||||
"url": "/api/v1/jobs/2/",
|
|
||||||
"related": {
|
|
||||||
"job_host_summaries": "/api/v1/jobs/2/job_host_summaries/",
|
|
||||||
"activity_stream": "/api/v1/jobs/2/activity_stream/",
|
|
||||||
"job_events": "/api/v1/jobs/2/job_events/",
|
|
||||||
"job_template": "/api/v1/job_templates/3/",
|
|
||||||
"inventory": "/api/v1/inventories/4/",
|
|
||||||
"project": "/api/v1/projects/1/",
|
|
||||||
"credential": "/api/v1/credentials/8/",
|
|
||||||
"start": "/api/v1/jobs/2/start/",
|
|
||||||
"cancel": "/api/v1/jobs/2/cancel/"
|
|
||||||
},
|
|
||||||
"summary_fields": {
|
|
||||||
"credential": {
|
|
||||||
"name": "ssh",
|
|
||||||
"description": "machine creds",
|
|
||||||
"kind": "ssh",
|
|
||||||
"cloud": false
|
|
||||||
},
|
|
||||||
"job_template": {
|
|
||||||
"name": "Hello World",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"project": {
|
|
||||||
"name": "Examples",
|
|
||||||
"description": "Ansible example project",
|
|
||||||
"status": "successful"
|
|
||||||
},
|
|
||||||
"inventory": {
|
|
||||||
"name": "Rackspace",
|
|
||||||
"description": "",
|
|
||||||
"has_active_failures": true,
|
|
||||||
"total_hosts": 20,
|
|
||||||
"hosts_with_active_failures": 20,
|
|
||||||
"total_groups": 3,
|
|
||||||
"groups_with_active_failures": 3,
|
|
||||||
"has_inventory_sources": true,
|
|
||||||
"total_inventory_sources": 1,
|
|
||||||
"inventory_sources_with_failures": 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"created": "2014-03-07T23:28:06.999Z",
|
|
||||||
"modified": "2014-03-07T23:28:16.424Z",
|
|
||||||
"job_template": 3,
|
|
||||||
"job_type": "playbook_run",
|
|
||||||
"inventory": 4,
|
|
||||||
"project": 1,
|
|
||||||
"playbook": "lamp_simple/site.yml",
|
|
||||||
"credential": 8,
|
|
||||||
"cloud_credential": null,
|
|
||||||
"forks": 0,
|
|
||||||
"limit": "",
|
|
||||||
"verbosity": 0,
|
|
||||||
"extra_vars": "{\n\t\"variable1\": \"some value\",\n\t\"variable2\": \"another value\"\n}",
|
|
||||||
"job_tags": "",
|
|
||||||
"launch_type": "manual",
|
|
||||||
"status": "failed",
|
|
||||||
"failed": true,
|
|
||||||
"result_traceback": "",
|
|
||||||
"passwords_needed_to_start": [],
|
|
||||||
"job_args": "[\"ssh-agent\", \"sh\", \"-c\", \"ssh-add /tmp/tmpoeaDyc && ansible-playbook -i /vagrant/ansible-commander/awx/plugins/inventory/awxrest.py -u vagrant -e '{\\\"variable1\\\": \\\"some value\\\", \\\"variable2\\\": \\\"another value\\\"}' lamp_simple/site.yml\"]",
|
|
||||||
"job_cwd": "/vagrant/ansible-commander/awx/projects/_1__examples",
|
|
||||||
"job_env": {
|
|
||||||
"CELERY_LOG_REDIRECT_LEVEL": "WARNING",
|
|
||||||
"ANSIBLE_PARAMIKO_RECORD_HOST_KEYS": "False",
|
|
||||||
"DJANGO_LIVE_TEST_SERVER_ADDRESS": "localhost:9013-9199",
|
|
||||||
"LESSOPEN": "|/usr/bin/lesspipe.sh %s",
|
|
||||||
"_MP_FORK_LOGFILE_": "",
|
|
||||||
"SSH_CLIENT": "10.0.2.2 61378 22",
|
|
||||||
"CVS_RSH": "ssh",
|
|
||||||
"LOGNAME": "vagrant",
|
|
||||||
"USER": "vagrant",
|
|
||||||
"HOME": "/home/vagrant",
|
|
||||||
"PATH": "/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/vagrant/bin",
|
|
||||||
"REST_API_TOKEN": "**********************************",
|
|
||||||
"CALLBACK_CONSUMER_PORT": "tcp://127.0.0.1:5557",
|
|
||||||
"ANSIBLE_CALLBACK_PLUGINS": "/vagrant/ansible-commander/awx/plugins/callback",
|
|
||||||
"LANG": "en_US.UTF-8",
|
|
||||||
"HISTCONTROL": "ignoredups",
|
|
||||||
"TERM": "xterm",
|
|
||||||
"SHELL": "/bin/bash",
|
|
||||||
"TZ": "America/New_York",
|
|
||||||
"_MP_FORK_LOGFORMAT_": "[%(asctime)s: %(levelname)s/%(processName)s] %(message)s",
|
|
||||||
"SHLVL": "1",
|
|
||||||
"G_BROKEN_FILENAMES": "1",
|
|
||||||
"HISTSIZE": "1000",
|
|
||||||
"CELERY_LOG_FILE": "",
|
|
||||||
"DJANGO_PROJECT_DIR": "/vagrant/ansible-commander",
|
|
||||||
"ANSIBLE_HOST_KEY_CHECKING": "False",
|
|
||||||
"JOB_ID": "2",
|
|
||||||
"PYTHONPATH": "/vagrant/ansible-commander/awx/lib/site-packages:",
|
|
||||||
"CELERY_LOADER": "djcelery.loaders.DjangoLoader",
|
|
||||||
"_MP_FORK_LOGLEVEL_": "10",
|
|
||||||
"ANSIBLE_NOCOLOR": "1",
|
|
||||||
"JOB_CALLBACK_DEBUG": "1",
|
|
||||||
"REST_API_URL": "http://127.0.0.1:8013",
|
|
||||||
"_": "/usr/bin/nohup",
|
|
||||||
"SSH_CONNECTION": "10.0.2.2 61378 10.0.2.15 22",
|
|
||||||
"INVENTORY_HOSTVARS": "True",
|
|
||||||
"SSH_TTY": "/dev/pts/0",
|
|
||||||
"CELERY_LOG_LEVEL": "10",
|
|
||||||
"HOSTNAME": "vagrant-centos64.vagrantup.com",
|
|
||||||
"INVENTORY_ID": "4",
|
|
||||||
"PWD": "/home/vagrant",
|
|
||||||
"CELERY_LOG_REDIRECT": "1",
|
|
||||||
"DJANGO_SETTINGS_MODULE": "awx.settings.development",
|
|
||||||
"MAIL": "/var/spool/mail/vagrant",
|
|
||||||
"LS_COLORS": "rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 9,
|
|
||||||
"url": "/api/v1/jobs/2/",
|
|
||||||
"related": {
|
|
||||||
"job_host_summaries": "/api/v1/jobs/2/job_host_summaries/",
|
|
||||||
"activity_stream": "/api/v1/jobs/2/activity_stream/",
|
|
||||||
"job_events": "/api/v1/jobs/2/job_events/",
|
|
||||||
"job_template": "/api/v1/job_templates/3/",
|
|
||||||
"inventory": "/api/v1/inventories/4/",
|
|
||||||
"project": "/api/v1/projects/1/",
|
|
||||||
"credential": "/api/v1/credentials/8/",
|
|
||||||
"start": "/api/v1/jobs/2/start/",
|
|
||||||
"cancel": "/api/v1/jobs/2/cancel/"
|
|
||||||
},
|
|
||||||
"summary_fields": {
|
|
||||||
"credential": {
|
|
||||||
"name": "ssh",
|
|
||||||
"description": "machine creds",
|
|
||||||
"kind": "ssh",
|
|
||||||
"cloud": false
|
|
||||||
},
|
|
||||||
"job_template": {
|
|
||||||
"name": "Hello World",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"project": {
|
|
||||||
"name": "Examples",
|
|
||||||
"description": "Ansible example project",
|
|
||||||
"status": "successful"
|
|
||||||
},
|
|
||||||
"inventory": {
|
|
||||||
"name": "Rackspace",
|
|
||||||
"description": "",
|
|
||||||
"has_active_failures": true,
|
|
||||||
"total_hosts": 20,
|
|
||||||
"hosts_with_active_failures": 20,
|
|
||||||
"total_groups": 3,
|
|
||||||
"groups_with_active_failures": 3,
|
|
||||||
"has_inventory_sources": true,
|
|
||||||
"total_inventory_sources": 1,
|
|
||||||
"inventory_sources_with_failures": 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"created": "2014-03-07T23:28:06.999Z",
|
|
||||||
"modified": "2014-03-07T23:28:16.424Z",
|
|
||||||
"job_template": 3,
|
|
||||||
"job_type": "playbook_run",
|
|
||||||
"inventory": 4,
|
|
||||||
"project": 1,
|
|
||||||
"playbook": "lamp_simple/site.yml",
|
|
||||||
"credential": 8,
|
|
||||||
"cloud_credential": null,
|
|
||||||
"forks": 0,
|
|
||||||
"limit": "",
|
|
||||||
"verbosity": 0,
|
|
||||||
"extra_vars": "{\n\t\"variable1\": \"some value\",\n\t\"variable2\": \"another value\"\n}",
|
|
||||||
"job_tags": "",
|
|
||||||
"launch_type": "manual",
|
|
||||||
"status": "failed",
|
|
||||||
"failed": true,
|
|
||||||
"result_traceback": "",
|
|
||||||
"passwords_needed_to_start": [],
|
|
||||||
"job_args": "[\"ssh-agent\", \"sh\", \"-c\", \"ssh-add /tmp/tmpoeaDyc && ansible-playbook -i /vagrant/ansible-commander/awx/plugins/inventory/awxrest.py -u vagrant -e '{\\\"variable1\\\": \\\"some value\\\", \\\"variable2\\\": \\\"another value\\\"}' lamp_simple/site.yml\"]",
|
|
||||||
"job_cwd": "/vagrant/ansible-commander/awx/projects/_1__examples",
|
|
||||||
"job_env": {
|
|
||||||
"CELERY_LOG_REDIRECT_LEVEL": "WARNING",
|
|
||||||
"ANSIBLE_PARAMIKO_RECORD_HOST_KEYS": "False",
|
|
||||||
"DJANGO_LIVE_TEST_SERVER_ADDRESS": "localhost:9013-9199",
|
|
||||||
"LESSOPEN": "|/usr/bin/lesspipe.sh %s",
|
|
||||||
"_MP_FORK_LOGFILE_": "",
|
|
||||||
"SSH_CLIENT": "10.0.2.2 61378 22",
|
|
||||||
"CVS_RSH": "ssh",
|
|
||||||
"LOGNAME": "vagrant",
|
|
||||||
"USER": "vagrant",
|
|
||||||
"HOME": "/home/vagrant",
|
|
||||||
"PATH": "/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/vagrant/bin",
|
|
||||||
"REST_API_TOKEN": "**********************************",
|
|
||||||
"CALLBACK_CONSUMER_PORT": "tcp://127.0.0.1:5557",
|
|
||||||
"ANSIBLE_CALLBACK_PLUGINS": "/vagrant/ansible-commander/awx/plugins/callback",
|
|
||||||
"LANG": "en_US.UTF-8",
|
|
||||||
"HISTCONTROL": "ignoredups",
|
|
||||||
"TERM": "xterm",
|
|
||||||
"SHELL": "/bin/bash",
|
|
||||||
"TZ": "America/New_York",
|
|
||||||
"_MP_FORK_LOGFORMAT_": "[%(asctime)s: %(levelname)s/%(processName)s] %(message)s",
|
|
||||||
"SHLVL": "1",
|
|
||||||
"G_BROKEN_FILENAMES": "1",
|
|
||||||
"HISTSIZE": "1000",
|
|
||||||
"CELERY_LOG_FILE": "",
|
|
||||||
"DJANGO_PROJECT_DIR": "/vagrant/ansible-commander",
|
|
||||||
"ANSIBLE_HOST_KEY_CHECKING": "False",
|
|
||||||
"JOB_ID": "2",
|
|
||||||
"PYTHONPATH": "/vagrant/ansible-commander/awx/lib/site-packages:",
|
|
||||||
"CELERY_LOADER": "djcelery.loaders.DjangoLoader",
|
|
||||||
"_MP_FORK_LOGLEVEL_": "10",
|
|
||||||
"ANSIBLE_NOCOLOR": "1",
|
|
||||||
"JOB_CALLBACK_DEBUG": "1",
|
|
||||||
"REST_API_URL": "http://127.0.0.1:8013",
|
|
||||||
"_": "/usr/bin/nohup",
|
|
||||||
"SSH_CONNECTION": "10.0.2.2 61378 10.0.2.15 22",
|
|
||||||
"INVENTORY_HOSTVARS": "True",
|
|
||||||
"SSH_TTY": "/dev/pts/0",
|
|
||||||
"CELERY_LOG_LEVEL": "10",
|
|
||||||
"HOSTNAME": "vagrant-centos64.vagrantup.com",
|
|
||||||
"INVENTORY_ID": "4",
|
|
||||||
"PWD": "/home/vagrant",
|
|
||||||
"CELERY_LOG_REDIRECT": "1",
|
|
||||||
"DJANGO_SETTINGS_MODULE": "awx.settings.development",
|
|
||||||
"MAIL": "/var/spool/mail/vagrant",
|
|
||||||
"LS_COLORS": "rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 10,
|
|
||||||
"url": "/api/v1/jobs/2/",
|
|
||||||
"related": {
|
|
||||||
"job_host_summaries": "/api/v1/jobs/2/job_host_summaries/",
|
|
||||||
"activity_stream": "/api/v1/jobs/2/activity_stream/",
|
|
||||||
"job_events": "/api/v1/jobs/2/job_events/",
|
|
||||||
"job_template": "/api/v1/job_templates/3/",
|
|
||||||
"inventory": "/api/v1/inventories/4/",
|
|
||||||
"project": "/api/v1/projects/1/",
|
|
||||||
"credential": "/api/v1/credentials/8/",
|
|
||||||
"start": "/api/v1/jobs/2/start/",
|
|
||||||
"cancel": "/api/v1/jobs/2/cancel/"
|
|
||||||
},
|
|
||||||
"summary_fields": {
|
|
||||||
"credential": {
|
|
||||||
"name": "ssh",
|
|
||||||
"description": "machine creds",
|
|
||||||
"kind": "ssh",
|
|
||||||
"cloud": false
|
|
||||||
},
|
|
||||||
"job_template": {
|
|
||||||
"name": "Hello World",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"project": {
|
|
||||||
"name": "Examples",
|
|
||||||
"description": "Ansible example project",
|
|
||||||
"status": "successful"
|
|
||||||
},
|
|
||||||
"inventory": {
|
|
||||||
"name": "Rackspace",
|
|
||||||
"description": "",
|
|
||||||
"has_active_failures": true,
|
|
||||||
"total_hosts": 20,
|
|
||||||
"hosts_with_active_failures": 20,
|
|
||||||
"total_groups": 3,
|
|
||||||
"groups_with_active_failures": 3,
|
|
||||||
"has_inventory_sources": true,
|
|
||||||
"total_inventory_sources": 1,
|
|
||||||
"inventory_sources_with_failures": 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"created": "2014-03-07T23:28:06.999Z",
|
|
||||||
"modified": "2014-03-07T23:28:16.424Z",
|
|
||||||
"job_template": 3,
|
|
||||||
"job_type": "playbook_run",
|
|
||||||
"inventory": 4,
|
"inventory": 4,
|
||||||
"project": 1,
|
"project": 1,
|
||||||
"playbook": "lamp_simple/site.yml",
|
"playbook": "lamp_simple/site.yml",
|
||||||
|
|||||||
@@ -49,7 +49,10 @@
|
|||||||
"created": "2014-03-06T16:51:04.557Z",
|
"created": "2014-03-06T16:51:04.557Z",
|
||||||
"modified": "2014-03-06T16:51:14.272Z",
|
"modified": "2014-03-06T16:51:14.272Z",
|
||||||
"job_template": 3,
|
"job_template": 3,
|
||||||
"job_type": "playbook_run",
|
"job_type": "run",
|
||||||
|
"type": "playbook_run",
|
||||||
|
"name": "Hello World",
|
||||||
|
"job_explanation": "blah blah blah",
|
||||||
"inventory": 4,
|
"inventory": 4,
|
||||||
"project": 1,
|
"project": 1,
|
||||||
"playbook": "lamp_simple/site.yml",
|
"playbook": "lamp_simple/site.yml",
|
||||||
@@ -161,7 +164,10 @@
|
|||||||
"created": "2014-03-07T23:28:06.999Z",
|
"created": "2014-03-07T23:28:06.999Z",
|
||||||
"modified": "2014-03-07T23:28:16.424Z",
|
"modified": "2014-03-07T23:28:16.424Z",
|
||||||
"job_template": 3,
|
"job_template": 3,
|
||||||
"job_type": "playbook_run",
|
"job_type": "run",
|
||||||
|
"type": "inventory_sync",
|
||||||
|
"name": "Production",
|
||||||
|
"job_explanation": "blah blah blah",
|
||||||
"inventory": 4,
|
"inventory": 4,
|
||||||
"project": 1,
|
"project": 1,
|
||||||
"playbook": "lamp_simple/site.yml",
|
"playbook": "lamp_simple/site.yml",
|
||||||
@@ -273,7 +279,10 @@
|
|||||||
"created": "2014-03-07T23:28:06.999Z",
|
"created": "2014-03-07T23:28:06.999Z",
|
||||||
"modified": "2014-03-07T23:28:16.424Z",
|
"modified": "2014-03-07T23:28:16.424Z",
|
||||||
"job_template": 3,
|
"job_template": 3,
|
||||||
"job_type": "playbook_run",
|
"job_type": "run",
|
||||||
|
"type": "scm_sync",
|
||||||
|
"name": "Examples",
|
||||||
|
"job_explanation": "blah blah blah",
|
||||||
"inventory": 4,
|
"inventory": 4,
|
||||||
"project": 1,
|
"project": 1,
|
||||||
"playbook": "lamp_simple/site.yml",
|
"playbook": "lamp_simple/site.yml",
|
||||||
|
|||||||
@@ -49,8 +49,11 @@
|
|||||||
"created": "2014-03-07T23:28:06.999Z",
|
"created": "2014-03-07T23:28:06.999Z",
|
||||||
"modified": "2014-03-07T23:28:16.424Z",
|
"modified": "2014-03-07T23:28:16.424Z",
|
||||||
"job_template": 3,
|
"job_template": 3,
|
||||||
"job_type": "playbook_run",
|
"job_type": "run",
|
||||||
"inventory": 4,
|
"inventory": 4,
|
||||||
|
"name": "QA",
|
||||||
|
"job_explanation": "blah blah blah",
|
||||||
|
"type": "inventory_sync",
|
||||||
"project": 1,
|
"project": 1,
|
||||||
"playbook": "lamp_simple/site.yml",
|
"playbook": "lamp_simple/site.yml",
|
||||||
"credential": 8,
|
"credential": 8,
|
||||||
@@ -161,9 +164,12 @@
|
|||||||
"created": "2014-03-07T23:28:06.999Z",
|
"created": "2014-03-07T23:28:06.999Z",
|
||||||
"modified": "2014-03-07T23:28:16.424Z",
|
"modified": "2014-03-07T23:28:16.424Z",
|
||||||
"job_template": 3,
|
"job_template": 3,
|
||||||
"job_type": "playbook_run",
|
"job_type": "run",
|
||||||
"inventory": 4,
|
"inventory": 4,
|
||||||
"project": 1,
|
"project": 1,
|
||||||
|
"name": "Package update",
|
||||||
|
"job_explanation": "blah blah blah",
|
||||||
|
"type": "playbook_run",
|
||||||
"playbook": "lamp_simple/site.yml",
|
"playbook": "lamp_simple/site.yml",
|
||||||
"credential": 8,
|
"credential": 8,
|
||||||
"cloud_credential": null,
|
"cloud_credential": null,
|
||||||
@@ -273,231 +279,10 @@
|
|||||||
"created": "2014-03-07T23:28:06.999Z",
|
"created": "2014-03-07T23:28:06.999Z",
|
||||||
"modified": "2014-03-07T23:28:16.424Z",
|
"modified": "2014-03-07T23:28:16.424Z",
|
||||||
"job_template": 3,
|
"job_template": 3,
|
||||||
"job_type": "playbook_run",
|
"job_type": "run",
|
||||||
"inventory": 4,
|
"name": "Apache Project",
|
||||||
"project": 1,
|
"job_explanation": "blah blah blah",
|
||||||
"playbook": "lamp_simple/site.yml",
|
"type": "scm_sync",
|
||||||
"credential": 8,
|
|
||||||
"cloud_credential": null,
|
|
||||||
"forks": 0,
|
|
||||||
"limit": "",
|
|
||||||
"verbosity": 0,
|
|
||||||
"extra_vars": "{\n\t\"variable1\": \"some value\",\n\t\"variable2\": \"another value\"\n}",
|
|
||||||
"job_tags": "",
|
|
||||||
"launch_type": "manual",
|
|
||||||
"status": "new",
|
|
||||||
"failed": false,
|
|
||||||
"result_traceback": "",
|
|
||||||
"passwords_needed_to_start": [],
|
|
||||||
"job_args": "[\"ssh-agent\", \"sh\", \"-c\", \"ssh-add /tmp/tmpoeaDyc && ansible-playbook -i /vagrant/ansible-commander/awx/plugins/inventory/awxrest.py -u vagrant -e '{\\\"variable1\\\": \\\"some value\\\", \\\"variable2\\\": \\\"another value\\\"}' lamp_simple/site.yml\"]",
|
|
||||||
"job_cwd": "/vagrant/ansible-commander/awx/projects/_1__examples",
|
|
||||||
"job_env": {
|
|
||||||
"CELERY_LOG_REDIRECT_LEVEL": "WARNING",
|
|
||||||
"ANSIBLE_PARAMIKO_RECORD_HOST_KEYS": "False",
|
|
||||||
"DJANGO_LIVE_TEST_SERVER_ADDRESS": "localhost:9013-9199",
|
|
||||||
"LESSOPEN": "|/usr/bin/lesspipe.sh %s",
|
|
||||||
"_MP_FORK_LOGFILE_": "",
|
|
||||||
"SSH_CLIENT": "10.0.2.2 61378 22",
|
|
||||||
"CVS_RSH": "ssh",
|
|
||||||
"LOGNAME": "vagrant",
|
|
||||||
"USER": "vagrant",
|
|
||||||
"HOME": "/home/vagrant",
|
|
||||||
"PATH": "/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/vagrant/bin",
|
|
||||||
"REST_API_TOKEN": "**********************************",
|
|
||||||
"CALLBACK_CONSUMER_PORT": "tcp://127.0.0.1:5557",
|
|
||||||
"ANSIBLE_CALLBACK_PLUGINS": "/vagrant/ansible-commander/awx/plugins/callback",
|
|
||||||
"LANG": "en_US.UTF-8",
|
|
||||||
"HISTCONTROL": "ignoredups",
|
|
||||||
"TERM": "xterm",
|
|
||||||
"SHELL": "/bin/bash",
|
|
||||||
"TZ": "America/New_York",
|
|
||||||
"_MP_FORK_LOGFORMAT_": "[%(asctime)s: %(levelname)s/%(processName)s] %(message)s",
|
|
||||||
"SHLVL": "1",
|
|
||||||
"G_BROKEN_FILENAMES": "1",
|
|
||||||
"HISTSIZE": "1000",
|
|
||||||
"CELERY_LOG_FILE": "",
|
|
||||||
"DJANGO_PROJECT_DIR": "/vagrant/ansible-commander",
|
|
||||||
"ANSIBLE_HOST_KEY_CHECKING": "False",
|
|
||||||
"JOB_ID": "2",
|
|
||||||
"PYTHONPATH": "/vagrant/ansible-commander/awx/lib/site-packages:",
|
|
||||||
"CELERY_LOADER": "djcelery.loaders.DjangoLoader",
|
|
||||||
"_MP_FORK_LOGLEVEL_": "10",
|
|
||||||
"ANSIBLE_NOCOLOR": "1",
|
|
||||||
"JOB_CALLBACK_DEBUG": "1",
|
|
||||||
"REST_API_URL": "http://127.0.0.1:8013",
|
|
||||||
"_": "/usr/bin/nohup",
|
|
||||||
"SSH_CONNECTION": "10.0.2.2 61378 10.0.2.15 22",
|
|
||||||
"INVENTORY_HOSTVARS": "True",
|
|
||||||
"SSH_TTY": "/dev/pts/0",
|
|
||||||
"CELERY_LOG_LEVEL": "10",
|
|
||||||
"HOSTNAME": "vagrant-centos64.vagrantup.com",
|
|
||||||
"INVENTORY_ID": "4",
|
|
||||||
"PWD": "/home/vagrant",
|
|
||||||
"CELERY_LOG_REDIRECT": "1",
|
|
||||||
"DJANGO_SETTINGS_MODULE": "awx.settings.development",
|
|
||||||
"MAIL": "/var/spool/mail/vagrant",
|
|
||||||
"LS_COLORS": "rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 25,
|
|
||||||
"url": "/api/v1/jobs/2/",
|
|
||||||
"related": {
|
|
||||||
"job_host_summaries": "/api/v1/jobs/2/job_host_summaries/",
|
|
||||||
"activity_stream": "/api/v1/jobs/2/activity_stream/",
|
|
||||||
"job_events": "/api/v1/jobs/2/job_events/",
|
|
||||||
"job_template": "/api/v1/job_templates/3/",
|
|
||||||
"inventory": "/api/v1/inventories/4/",
|
|
||||||
"project": "/api/v1/projects/1/",
|
|
||||||
"credential": "/api/v1/credentials/8/",
|
|
||||||
"start": "/api/v1/jobs/2/start/",
|
|
||||||
"cancel": "/api/v1/jobs/2/cancel/"
|
|
||||||
},
|
|
||||||
"summary_fields": {
|
|
||||||
"credential": {
|
|
||||||
"name": "ssh",
|
|
||||||
"description": "machine creds",
|
|
||||||
"kind": "ssh",
|
|
||||||
"cloud": false
|
|
||||||
},
|
|
||||||
"job_template": {
|
|
||||||
"name": "Hello World",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"project": {
|
|
||||||
"name": "Examples",
|
|
||||||
"description": "Ansible example project",
|
|
||||||
"status": "successful"
|
|
||||||
},
|
|
||||||
"inventory": {
|
|
||||||
"name": "Rackspace",
|
|
||||||
"description": "",
|
|
||||||
"has_active_failures": true,
|
|
||||||
"total_hosts": 20,
|
|
||||||
"hosts_with_active_failures": 20,
|
|
||||||
"total_groups": 3,
|
|
||||||
"groups_with_active_failures": 3,
|
|
||||||
"has_inventory_sources": true,
|
|
||||||
"total_inventory_sources": 1,
|
|
||||||
"inventory_sources_with_failures": 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"created": "2014-03-07T23:28:06.999Z",
|
|
||||||
"modified": "2014-03-07T23:28:16.424Z",
|
|
||||||
"job_template": 3,
|
|
||||||
"job_type": "playbook_run",
|
|
||||||
"inventory": 4,
|
|
||||||
"project": 1,
|
|
||||||
"playbook": "lamp_simple/site.yml",
|
|
||||||
"credential": 8,
|
|
||||||
"cloud_credential": null,
|
|
||||||
"forks": 0,
|
|
||||||
"limit": "",
|
|
||||||
"verbosity": 0,
|
|
||||||
"extra_vars": "{\n\t\"variable1\": \"some value\",\n\t\"variable2\": \"another value\"\n}",
|
|
||||||
"job_tags": "",
|
|
||||||
"launch_type": "manual",
|
|
||||||
"status": "running",
|
|
||||||
"failed": false,
|
|
||||||
"result_traceback": "",
|
|
||||||
"passwords_needed_to_start": [],
|
|
||||||
"job_args": "[\"ssh-agent\", \"sh\", \"-c\", \"ssh-add /tmp/tmpoeaDyc && ansible-playbook -i /vagrant/ansible-commander/awx/plugins/inventory/awxrest.py -u vagrant -e '{\\\"variable1\\\": \\\"some value\\\", \\\"variable2\\\": \\\"another value\\\"}' lamp_simple/site.yml\"]",
|
|
||||||
"job_cwd": "/vagrant/ansible-commander/awx/projects/_1__examples",
|
|
||||||
"job_env": {
|
|
||||||
"CELERY_LOG_REDIRECT_LEVEL": "WARNING",
|
|
||||||
"ANSIBLE_PARAMIKO_RECORD_HOST_KEYS": "False",
|
|
||||||
"DJANGO_LIVE_TEST_SERVER_ADDRESS": "localhost:9013-9199",
|
|
||||||
"LESSOPEN": "|/usr/bin/lesspipe.sh %s",
|
|
||||||
"_MP_FORK_LOGFILE_": "",
|
|
||||||
"SSH_CLIENT": "10.0.2.2 61378 22",
|
|
||||||
"CVS_RSH": "ssh",
|
|
||||||
"LOGNAME": "vagrant",
|
|
||||||
"USER": "vagrant",
|
|
||||||
"HOME": "/home/vagrant",
|
|
||||||
"PATH": "/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/vagrant/bin",
|
|
||||||
"REST_API_TOKEN": "**********************************",
|
|
||||||
"CALLBACK_CONSUMER_PORT": "tcp://127.0.0.1:5557",
|
|
||||||
"ANSIBLE_CALLBACK_PLUGINS": "/vagrant/ansible-commander/awx/plugins/callback",
|
|
||||||
"LANG": "en_US.UTF-8",
|
|
||||||
"HISTCONTROL": "ignoredups",
|
|
||||||
"TERM": "xterm",
|
|
||||||
"SHELL": "/bin/bash",
|
|
||||||
"TZ": "America/New_York",
|
|
||||||
"_MP_FORK_LOGFORMAT_": "[%(asctime)s: %(levelname)s/%(processName)s] %(message)s",
|
|
||||||
"SHLVL": "1",
|
|
||||||
"G_BROKEN_FILENAMES": "1",
|
|
||||||
"HISTSIZE": "1000",
|
|
||||||
"CELERY_LOG_FILE": "",
|
|
||||||
"DJANGO_PROJECT_DIR": "/vagrant/ansible-commander",
|
|
||||||
"ANSIBLE_HOST_KEY_CHECKING": "False",
|
|
||||||
"JOB_ID": "2",
|
|
||||||
"PYTHONPATH": "/vagrant/ansible-commander/awx/lib/site-packages:",
|
|
||||||
"CELERY_LOADER": "djcelery.loaders.DjangoLoader",
|
|
||||||
"_MP_FORK_LOGLEVEL_": "10",
|
|
||||||
"ANSIBLE_NOCOLOR": "1",
|
|
||||||
"JOB_CALLBACK_DEBUG": "1",
|
|
||||||
"REST_API_URL": "http://127.0.0.1:8013",
|
|
||||||
"_": "/usr/bin/nohup",
|
|
||||||
"SSH_CONNECTION": "10.0.2.2 61378 10.0.2.15 22",
|
|
||||||
"INVENTORY_HOSTVARS": "True",
|
|
||||||
"SSH_TTY": "/dev/pts/0",
|
|
||||||
"CELERY_LOG_LEVEL": "10",
|
|
||||||
"HOSTNAME": "vagrant-centos64.vagrantup.com",
|
|
||||||
"INVENTORY_ID": "4",
|
|
||||||
"PWD": "/home/vagrant",
|
|
||||||
"CELERY_LOG_REDIRECT": "1",
|
|
||||||
"DJANGO_SETTINGS_MODULE": "awx.settings.development",
|
|
||||||
"MAIL": "/var/spool/mail/vagrant",
|
|
||||||
"LS_COLORS": "rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 26,
|
|
||||||
"url": "/api/v1/jobs/2/",
|
|
||||||
"related": {
|
|
||||||
"job_host_summaries": "/api/v1/jobs/2/job_host_summaries/",
|
|
||||||
"activity_stream": "/api/v1/jobs/2/activity_stream/",
|
|
||||||
"job_events": "/api/v1/jobs/2/job_events/",
|
|
||||||
"job_template": "/api/v1/job_templates/3/",
|
|
||||||
"inventory": "/api/v1/inventories/4/",
|
|
||||||
"project": "/api/v1/projects/1/",
|
|
||||||
"credential": "/api/v1/credentials/8/",
|
|
||||||
"start": "/api/v1/jobs/2/start/",
|
|
||||||
"cancel": "/api/v1/jobs/2/cancel/"
|
|
||||||
},
|
|
||||||
"summary_fields": {
|
|
||||||
"credential": {
|
|
||||||
"name": "ssh",
|
|
||||||
"description": "machine creds",
|
|
||||||
"kind": "ssh",
|
|
||||||
"cloud": false
|
|
||||||
},
|
|
||||||
"job_template": {
|
|
||||||
"name": "Hello World",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"project": {
|
|
||||||
"name": "Examples",
|
|
||||||
"description": "Ansible example project",
|
|
||||||
"status": "successful"
|
|
||||||
},
|
|
||||||
"inventory": {
|
|
||||||
"name": "Rackspace",
|
|
||||||
"description": "",
|
|
||||||
"has_active_failures": true,
|
|
||||||
"total_hosts": 20,
|
|
||||||
"hosts_with_active_failures": 20,
|
|
||||||
"total_groups": 3,
|
|
||||||
"groups_with_active_failures": 3,
|
|
||||||
"has_inventory_sources": true,
|
|
||||||
"total_inventory_sources": 1,
|
|
||||||
"inventory_sources_with_failures": 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"created": "2014-03-07T23:28:06.999Z",
|
|
||||||
"modified": "2014-03-07T23:28:16.424Z",
|
|
||||||
"job_template": 3,
|
|
||||||
"job_type": "playbook_run",
|
|
||||||
"inventory": 4,
|
"inventory": 4,
|
||||||
"project": 1,
|
"project": 1,
|
||||||
"playbook": "lamp_simple/site.yml",
|
"playbook": "lamp_simple/site.yml",
|
||||||
|
|||||||
Reference in New Issue
Block a user