1
0
mirror of https://github.com/ansible/awx.git synced 2024-11-02 09:51:09 +03:00

Framework for new jobs tab.

This commit is contained in:
Chris Houseknecht 2014-03-18 18:30:31 -04:00
parent 9614103964
commit 6d6e9e45a8
14 changed files with 1922 additions and 38 deletions

View File

@ -56,7 +56,8 @@ angular.module('ansible', [
'PermissionFormDefinition',
'PermissionListDefinition',
'PermissionsHelper',
'JobsListDefinition',
'CompletedJobsDefinition',
'RunningJobsDefinition',
'JobFormDefinition',
'JobEventsListDefinition',
'JobEventDataDefinition',

View File

@ -10,45 +10,36 @@
'use strict';
function JobsList($scope, $compile, ClearScope, Breadcrumbs, LoadScope, JobList) {
function JobsList($scope, $compile, ClearScope, Breadcrumbs, LoadScope, RunningJobsList, CompletedJobsList) {
ClearScope();
var e, completed_scope, running_scope, queued_scope, schedule_scope,
completed_list, running_list, queued_list, schedule_list;
var e, completed_scope, running_scope, queued_scope, schedule_scope;
// Add breadcrumbs
e = angular.element(document.getElementById('breadcrumbs'));
e.html(Breadcrumbs({ list: JobList, mode: 'edit' }));
e.html(Breadcrumbs({ list: { editTitle: 'Jobs' } , mode: 'edit' }));
$compile(e)($scope);
completed_list = angular.copy(JobList);
completed_list.name = "completed_jobs";
completed_list.iterator = "completed_jobs";
completed_list.editTitle = "Completed";
completed_scope = $scope.$new();
LoadScope({
scope: completed_scope,
list: completed_list,
list: CompletedJobsList,
id: 'completed_jobs',
url: '/api/v1/jobs'
url: '/static/sample/data/jobs/completed/data.json'
});
running_list = angular.copy(JobList);
running_list.name = "running_jobs";
running_list.iterator = "running_job";
running_list.editTitle = "Running";
running_scope = $scope.$new();
LoadScope({
scope: running_scope,
list: running_list,
list: RunningJobsList,
id: 'running_jobs',
url: '/api/v1/jobs'
url: '/static/sample/data/jobs/running/data.json'
});
}
JobsList.$inject = ['$scope', '$compile', 'ClearScope', 'Breadcrumbs', 'LoadScope', 'JobList'];
JobsList.$inject = ['$scope', '$compile', 'ClearScope', 'Breadcrumbs', 'LoadScope', 'RunningJobsList', 'CompletedJobsList'];

View File

@ -165,7 +165,8 @@ angular.module('JobsHelper', ['Utilities', 'FormGenerator', 'JobSummaryDefinitio
* Called from JobsList controller to load each section or list on the page
*
*/
.factory('LoadScope', ['SearchInit', 'PaginateInit', 'GenerateList', function(SearchInit, PaginateInit, GenerateList) {
.factory('LoadScope', ['SearchInit', 'PaginateInit', 'GenerateList', 'PageRangeSetup', 'Wait', 'ProcessErrors', 'Rest',
function(SearchInit, PaginateInit, GenerateList, PageRangeSetup, Wait, ProcessErrors, Rest) {
return function(params) {
var scope = params.scope,
list = params.list,
@ -181,7 +182,6 @@ angular.module('JobsHelper', ['Utilities', 'FormGenerator', 'JobSummaryDefinitio
showSearch: false
});
url = '/static/sample/data/schedules/inventory/data.json';
SearchInit({
scope: scope,
set: list.name,
@ -195,5 +195,40 @@ angular.module('JobsHelper', ['Utilities', 'FormGenerator', 'JobSummaryDefinitio
url: url,
pageSize: 10
});
// The following bits probably don't belong here once the API is available.
if (scope.removePostRefresh) {
scope.removePostRefresh();
}
scope.$on('PostRefresh', function(e, data){
var i, modifier;
PageRangeSetup({
scope: scope,
count: data.count,
next: data.next,
previous: data.previous,
iterator: list.iterator
});
scope[list.iterator + 'Loading'] = false;
for (i = 1; i <= 3; i++) {
modifier = (i === 1) ? '' : i;
scope[list.iterator + 'HoldInput' + modifier] = false;
}
scope[list.name] = data.results;
window.scrollTo(0, 0);
Wait('stop');
});
Rest.setUrl(url);
Rest.get()
.success(function(data) {
scope.$emit('PostRefresh', data);
})
.error(function(data, status) {
ProcessErrors(scope, data, status, null, { hdr: 'Error!',
msg: 'Call to ' + url + ' failed. GET returned: ' + status });
});
};
}]);

View File

@ -0,0 +1,127 @@
/*********************************************
* Copyright (c) 2014 AnsibleWorks, Inc.
*
* CompletedJobs.js
*
*
*/
'use strict';
angular.module('CompletedJobsDefinition', [])
.value( 'CompletedJobsList', {
name: 'completed_jobs',
iterator: 'completed_job',
editTitle: 'Completed Jobs',
index: false,
hover: true,
well: false,
fields: {
id: {
label: 'Job ID',
key: true,
desc: true,
searchType: 'int'
},
inventory: {
label: 'Inventory ID',
searchType: 'int',
searchOnly: true
},
created: {
label: 'Create On',
link: false,
searchable: false,
filter: "date:'MM/dd HH:mm:ss'"
},
job_template: {
label: 'Job Template',
ngBind: 'completed_job.summary_fields.job_template.name',
//ngHref: "{{ '/#/job_templates/?name=' + completed_job.summary_fields.job_template.name }}",
ngHref:"{{ '/#/job_templates/' + completed_job.job_template }}",
sourceModel: 'job_template',
sourceField: 'name'
},
failed: {
label: 'Job failed?',
searchSingleValue: true,
searchType: 'boolean',
searchValue: 'true',
searchOnly: 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'
}
},
actions: {
refresh: {
mode: 'all',
awToolTip: "Refresh the page",
ngClick: "refresh()"
}
},
fieldActions: {
submit: {
label: 'Relaunch',
icon: 'icon-rocket',
mode: 'all',
ngClick: 'submitJob(completed_job.id, completed_job.summary_fields.job_template.name)',
awToolTip: 'Start the job',
dataPlacement: 'top'
},
cancel: {
label: 'Stop',
mode: 'all',
ngClick: 'deleteJob(completed_job.id)',
awToolTip: 'Cancel a running or pending job',
ngShow: "completed_job.status == 'pending' || completed_job.status == 'running' || completed_job.status == 'waiting'",
dataPlacement: 'top'
},
"delete": {
label: 'Delete',
mode: 'all',
ngClick: 'deleteJob(completed_job.id)',
awToolTip: 'Delete the job',
ngShow: "completed_job.status != 'pending' && completed_job.status != 'running' && completed_job.status != 'waiting'",
dataPlacement: 'top'
},
dropdown: {
type: 'DropDown',
label: 'View',
icon: 'fa-search-plus',
'class': 'btn-default btn-xs',
options: [
{ ngClick: 'editJob(completed_job.id, completed_job.summary_fields.job_template.name)', label: 'Status' },
{ ngClick: 'viewEvents(completed_job.id, completed_job.summary_fields.job_template.name)', label: 'Events',
ngHide: "completed_job.status == 'new'" },
{ ngClick: 'viewSummary(completed_job.id, completed_job.summary_fields.job_template.name)', label: 'Host Summary',
ngHide: "completed_job.status == 'new'" }
]
}
}
});

View File

@ -15,7 +15,7 @@ angular.module('JobsListDefinition', [])
name: 'jobs',
iterator: 'job',
editTitle: 'Jobs',
showTitle: true,
showTitle: false,
index: false,
hover: true,
well: false,
@ -36,7 +36,8 @@ angular.module('JobsListDefinition', [])
created: {
label: 'Create On',
link: false,
searchable: false
searchable: false,
filter: "date:'MM/dd HH:mm:ss'"
},
job_template: {
label: 'Job Template',

View File

@ -0,0 +1,127 @@
/*********************************************
* Copyright (c) 2014 AnsibleWorks, Inc.
*
* RunningJobs.js
*
*
*/
'use strict';
angular.module('RunningJobsDefinition', [])
.value( 'RunningJobsList', {
name: 'running_jobs',
iterator: 'running_job',
editTitle: 'Completed Jobs',
index: false,
hover: true,
well: false,
fields: {
id: {
label: 'Job ID',
key: true,
desc: true,
searchType: 'int'
},
inventory: {
label: 'Inventory ID',
searchType: 'int',
searchOnly: true
},
created: {
label: 'Create On',
link: false,
searchable: false,
filter: "date:'MM/dd HH:mm:ss'"
},
job_template: {
label: 'Job Template',
ngBind: 'running_job.summary_fields.job_template.name',
//ngHref: "{{ '/#/job_templates/?name=' + running_job.summary_fields.job_template.name }}",
ngHref:"{{ '/#/job_templates/' + running_job.job_template }}",
sourceModel: 'job_template',
sourceField: 'name'
},
failed: {
label: 'Job failed?',
searchSingleValue: true,
searchType: 'boolean',
searchValue: 'true',
searchOnly: 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'
}
},
actions: {
refresh: {
mode: 'all',
awToolTip: "Refresh the page",
ngClick: "refresh()"
}
},
fieldActions: {
submit: {
label: 'Relaunch',
icon: 'icon-rocket',
mode: 'all',
ngClick: 'submitJob(running_job.id, running_job.summary_fields.job_template.name)',
awToolTip: 'Start the job',
dataPlacement: 'top'
},
cancel: {
label: 'Stop',
mode: 'all',
ngClick: 'deleteJob(running_job.id)',
awToolTip: 'Cancel a running or pending job',
ngShow: "running_job.status == 'pending' || running_job.status == 'running' || running_job.status == 'waiting'",
dataPlacement: 'top'
},
"delete": {
label: 'Delete',
mode: 'all',
ngClick: 'deleteJob(running_job.id)',
awToolTip: 'Delete the job',
ngShow: "running_job.status != 'pending' && running_job.status != 'running' && running_job.status != 'waiting'",
dataPlacement: 'top'
},
dropdown: {
type: 'DropDown',
label: 'View',
icon: 'fa-search-plus',
'class': 'btn-default btn-xs',
options: [
{ ngClick: 'editJob(running_job.id, running_job.summary_fields.job_template.name)', label: 'Status' },
{ ngClick: 'viewEvents(running_job.id, running_job.summary_fields.job_template.name)', label: 'Events',
ngHide: "running_job.status == 'new'" },
{ ngClick: 'viewSummary(running_job.id, running_job.summary_fields.job_template.name)', label: 'Host Summary',
ngHide: "running_job.status == 'new'" }
]
}
}
});

View File

@ -998,13 +998,20 @@ input[type="checkbox"].checkbox-no-label {
}
.job_list {
padding-left: 15px;
padding-right: 15px;
margin-top: 30px;
.form-title {
.row {
margin-left: 0;
margin-right: 0;
}
.page-row div:first-child {
padding-left: 8px;
}
.title {
padding-left: 8px;
font-weight: bold;
}
}

View File

@ -535,9 +535,15 @@ angular.module('GeneratorHelpers', ['GeneratorHelpers'])
// Add data binds
if (!field.ngBindHtml && (field.showValue === undefined || field.showValue === true)) {
if (field.ngBind) {
html += "{{ " + field.ngBind + " }}";
html += "{{ " + field.ngBind;
} else {
html += "{{" + list.iterator + "." + fld + "}}";
html += "{{" + list.iterator + "." + fld;
}
if (field.filter) {
html += " | " + field.filter + " }}";
}
else {
html += " }}";
}
}
@ -731,7 +737,8 @@ angular.module('GeneratorHelpers', ['GeneratorHelpers'])
html += "</div>\n";
html += "<div class=\"col-lg-4 col-md-4\" ng-hide=\"" + iterator + "_mode == 'lookup'\">\n";
html += "<div class=\"page-label\">\n";
html += "Page {{ " + iterator + "_page }} of {{ " + iterator + "_num_pages }} for {{ " + iterator + "_total_rows | number:0 }} " + set + '.';
html += "Page {{ " + iterator + "_page }} of {{ " + iterator + "_num_pages }} for {{ " + iterator + "_total_rows | number:0 }} " +
set.replace(/\_/g,' ') + '.';
html += "</div>\n";
html += "</div>\n";
html += "</div>\n";

View File

@ -6,10 +6,22 @@
<div class="row">
<div class="col-lg-12">
<div class="well">
<div class="job_list" id="completed_jobs"></div>
<div class="job_list" id="running_jobs"></div>
<div class="job_list" id="queued_jobs"></div>
<div class="job_list" id="scheduled_jobs"></div>
<div class="job_list">
<div class="title"><a href="/#/jobs/completed">Completed</a></div>
<div id="completed_jobs"></div>
</div>
<div class="job_list">
<div class="title"><a href="/#/jobs/running">Running</a></div>
<div id="running_jobs"></div>
</div>
<div class="job_list">
<div class="title"><a href="/#/jobs/queued">Queued</a></div>
<div id="queued_jobs"></div>
</div>
<div class="job_list">
<div class="title"><a href="/#/jobs/scheduled">Scheduled</a></div>
<div id="scheduled_jobs"></div>
</div>
</div>
</div>
</div>

View File

@ -1,6 +1,6 @@
{
"count": 2,
"next": null,
"count": 15,
"next": "/blah/blah/blah",
"previous": null,
"results": [
{
@ -226,6 +226,902 @@
"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": 3,
"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": 4,
"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": 5,
"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": 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,
"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:"
}
}
]
}

View File

@ -0,0 +1,679 @@
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"id": 20,
"url": "/api/v1/jobs/1/",
"related": {
"job_host_summaries": "/api/v1/jobs/1/job_host_summaries/",
"activity_stream": "/api/v1/jobs/1/activity_stream/",
"job_events": "/api/v1/jobs/1/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/1/start/",
"cancel": "/api/v1/jobs/1/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-06T16:51:04.557Z",
"modified": "2014-03-06T16:51:14.272Z",
"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/tmp5N437j && 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": "1",
"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": 21,
"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": 23,
"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": 24,
"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": 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": "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": 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,
"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:"
}
}
]
}

View File

@ -107,7 +107,8 @@
<script src="{{ STATIC_URL }}js/lists/Credentials.js"></script>
<script src="{{ STATIC_URL }}js/lists/JobTemplates.js"></script>
<script src="{{ STATIC_URL }}js/lists/Projects.js"></script>
<script src="{{ STATIC_URL }}js/lists/Jobs.js"></script>
<script src="{{ STATIC_URL }}js/lists/CompletedJobs.js"></script>
<script src="{{ STATIC_URL }}js/lists/RunningJobs.js"></script>
<script src="{{ STATIC_URL }}js/lists/JobEvents.js"></script>
<script src="{{ STATIC_URL }}js/lists/JobHosts.js"></script>
<script src="{{ STATIC_URL }}js/lists/Permissions.js"></script>