| {item.automated_counter} |
- {item.used_in_inventories || 0} |
{item.deleted_counter} |
);
diff --git a/awx/ui/src/screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.js b/awx/ui/src/screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.js
index be2987221f..90ae47c044 100644
--- a/awx/ui/src/screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.js
+++ b/awx/ui/src/screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.js
@@ -17,11 +17,7 @@ import { CardBody, CardActionsRow } from 'components/Card';
import { Detail, DetailList, UserDateDetail } from 'components/DetailList';
import { VariablesDetail } from 'components/CodeEditor';
import { formatDateString, secondsToHHMMSS } from 'util/dates';
-import {
- WorkflowApprovalsAPI,
- WorkflowJobTemplatesAPI,
- WorkflowJobsAPI,
-} from 'api';
+import { WorkflowApprovalsAPI, WorkflowJobsAPI } from 'api';
import useRequest, { useDismissableError } from 'hooks/useRequest';
import { WorkflowApproval } from 'types';
import StatusLabel from 'components/StatusLabel';
@@ -67,8 +63,10 @@ function WorkflowApprovalDetail({ workflowApproval, fetchWorkflowApproval }) {
const { error: deleteError, dismissError: dismissDeleteError } =
useDismissableError(deleteApprovalError);
- const workflowJobTemplateId =
- workflowApproval.summary_fields.workflow_job_template.id;
+ const sourceWorkflowJob =
+ workflowApproval?.summary_fields?.source_workflow_job;
+ const sourceWorkflowJobTemplate =
+ workflowApproval?.summary_fields?.workflow_job_template;
const {
error: fetchWorkflowJobError,
@@ -77,23 +75,10 @@ function WorkflowApprovalDetail({ workflowApproval, fetchWorkflowApproval }) {
result: workflowJob,
} = useRequest(
useCallback(async () => {
- if (!workflowJobTemplateId) {
- return {};
- }
- const { data: workflowJobTemplate } =
- await WorkflowJobTemplatesAPI.readDetail(workflowJobTemplateId);
-
- let jobId = null;
-
- if (workflowJobTemplate.summary_fields?.current_job) {
- jobId = workflowJobTemplate.summary_fields.current_job.id;
- } else if (workflowJobTemplate.summary_fields?.last_job) {
- jobId = workflowJobTemplate.summary_fields.last_job.id;
- }
- const { data } = await WorkflowJobsAPI.readDetail(jobId);
-
+ if (!sourceWorkflowJob?.id) return {};
+ const { data } = await WorkflowJobsAPI.readDetail(sourceWorkflowJob?.id);
return data;
- }, [workflowJobTemplateId]),
+ }, [sourceWorkflowJob?.id]),
{
workflowJob: null,
isLoading: true,
@@ -116,11 +101,6 @@ function WorkflowApprovalDetail({ workflowApproval, fetchWorkflowApproval }) {
},
[addToast, fetchWorkflowApproval]
);
- const sourceWorkflowJob =
- workflowApproval?.summary_fields?.source_workflow_job;
-
- const sourceWorkflowJobTemplate =
- workflowApproval?.summary_fields?.workflow_job_template;
const isLoading = isDeleteLoading || isLoadingWorkflowJob;
diff --git a/awx/ui/src/screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.test.js b/awx/ui/src/screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.test.js
index 49aebfe5ec..cead4ea88c 100644
--- a/awx/ui/src/screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.test.js
+++ b/awx/ui/src/screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.test.js
@@ -1,10 +1,6 @@
import React from 'react';
import { act } from 'react-dom/test-utils';
-import {
- WorkflowApprovalsAPI,
- WorkflowJobTemplatesAPI,
- WorkflowJobsAPI,
-} from 'api';
+import { WorkflowApprovalsAPI, WorkflowJobsAPI } from 'api';
import { formatDateString } from 'util/dates';
import {
mountWithContexts,
@@ -23,146 +19,6 @@ jest.mock('react-router-dom', () => ({
}),
}));
-const workflowJobTemplate = {
- id: 8,
- type: 'workflow_job_template',
- url: '/api/v2/workflow_job_templates/8/',
- related: {
- named_url: '/api/v2/workflow_job_templates/00++/',
- created_by: '/api/v2/users/1/',
- modified_by: '/api/v2/users/1/',
- last_job: '/api/v2/workflow_jobs/111/',
- workflow_jobs: '/api/v2/workflow_job_templates/8/workflow_jobs/',
- schedules: '/api/v2/workflow_job_templates/8/schedules/',
- launch: '/api/v2/workflow_job_templates/8/launch/',
- webhook_key: '/api/v2/workflow_job_templates/8/webhook_key/',
- webhook_receiver: '/api/v2/workflow_job_templates/8/github/',
- workflow_nodes: '/api/v2/workflow_job_templates/8/workflow_nodes/',
- labels: '/api/v2/workflow_job_templates/8/labels/',
- activity_stream: '/api/v2/workflow_job_templates/8/activity_stream/',
- notification_templates_started:
- '/api/v2/workflow_job_templates/8/notification_templates_started/',
- notification_templates_success:
- '/api/v2/workflow_job_templates/8/notification_templates_success/',
- notification_templates_error:
- '/api/v2/workflow_job_templates/8/notification_templates_error/',
- notification_templates_approvals:
- '/api/v2/workflow_job_templates/8/notification_templates_approvals/',
- access_list: '/api/v2/workflow_job_templates/8/access_list/',
- object_roles: '/api/v2/workflow_job_templates/8/object_roles/',
- survey_spec: '/api/v2/workflow_job_templates/8/survey_spec/',
- copy: '/api/v2/workflow_job_templates/8/copy/',
- },
- summary_fields: {
- last_job: {
- id: 111,
- name: '00',
- description: '',
- finished: '2022-05-10T17:29:52.978531Z',
- status: 'successful',
- failed: false,
- },
- last_update: {
- id: 111,
- name: '00',
- description: '',
- status: 'successful',
- failed: false,
- },
- created_by: {
- id: 1,
- username: 'admin',
- first_name: '',
- last_name: '',
- },
- modified_by: {
- id: 1,
- username: 'admin',
- first_name: '',
- last_name: '',
- },
- object_roles: {
- admin_role: {
- description: 'Can manage all aspects of the workflow job template',
- name: 'Admin',
- id: 34,
- },
- execute_role: {
- description: 'May run the workflow job template',
- name: 'Execute',
- id: 35,
- },
- read_role: {
- description: 'May view settings for the workflow job template',
- name: 'Read',
- id: 36,
- },
- approval_role: {
- description: 'Can approve or deny a workflow approval node',
- name: 'Approve',
- id: 37,
- },
- },
- user_capabilities: {
- edit: true,
- delete: true,
- start: true,
- schedule: true,
- copy: true,
- },
- labels: {
- count: 1,
- results: [
- {
- id: 2,
- name: 'Test2',
- },
- ],
- },
- survey: {
- title: '',
- description: '',
- },
- recent_jobs: [
- {
- id: 111,
- status: 'successful',
- finished: '2022-05-10T17:29:52.978531Z',
- canceled_on: null,
- type: 'workflow_job',
- },
- {
- id: 104,
- status: 'failed',
- finished: '2022-05-10T15:26:22.233170Z',
- canceled_on: null,
- type: 'workflow_job',
- },
- ],
- },
- created: '2022-05-05T14:13:36.123027Z',
- modified: '2022-05-05T17:44:44.071447Z',
- name: '00',
- description: '',
- last_job_run: '2022-05-10T17:29:52.978531Z',
- last_job_failed: false,
- next_job_run: null,
- status: 'successful',
- extra_vars: '{\n "foo": "bar",\n "baz": "qux"\n}',
- organization: null,
- survey_enabled: true,
- allow_simultaneous: true,
- ask_variables_on_launch: true,
- inventory: null,
- limit: null,
- scm_branch: '',
- ask_inventory_on_launch: true,
- ask_scm_branch_on_launch: true,
- ask_limit_on_launch: true,
- webhook_service: 'github',
- webhook_credential: null,
-};
-
const workflowJob = {
id: 111,
type: 'workflow_job',
@@ -270,9 +126,6 @@ const workflowJob = {
describe('', () => {
beforeEach(() => {
- WorkflowJobTemplatesAPI.readDetail.mockResolvedValue({
- data: workflowJobTemplate,
- });
WorkflowJobsAPI.readDetail.mockResolvedValue({ data: workflowJob });
});
@@ -482,9 +335,6 @@ describe('', () => {
});
test('should not load Labels', async () => {
- WorkflowJobTemplatesAPI.readDetail.mockResolvedValue({
- data: workflowJobTemplate,
- });
WorkflowJobsAPI.readDetail.mockResolvedValue({
data: {
...workflowApproval,
@@ -621,4 +471,16 @@ describe('', () => {
(el) => el.length === 0
);
});
+
+ test('should fetch its workflow job details', async () => {
+ let wrapper;
+ await act(async () => {
+ wrapper = mountWithContexts(
+
+ );
+ });
+ waitForElement(wrapper, 'WorkflowApprovalDetail', (el) => el.length > 0);
+ expect(WorkflowJobsAPI.readDetail).toHaveBeenCalledTimes(1);
+ expect(WorkflowJobsAPI.readDetail).toHaveBeenCalledWith(216);
+ });
});
diff --git a/awx_collection/test/awx/test_bulk.py b/awx_collection/test/awx/test_bulk.py
index 6ba97e9006..e0315732db 100644
--- a/awx_collection/test/awx/test_bulk.py
+++ b/awx_collection/test/awx/test_bulk.py
@@ -10,7 +10,7 @@ from awx.main.models import WorkflowJob
@pytest.mark.django_db
def test_bulk_job_launch(run_module, admin_user, job_template):
jobs = [dict(unified_job_template=job_template.id)]
- run_module(
+ result = run_module(
'bulk_job_launch',
{
'name': "foo-bulk-job",
@@ -21,6 +21,8 @@ def test_bulk_job_launch(run_module, admin_user, job_template):
},
admin_user,
)
+ assert not result.get('failed', False), result.get('msg', result)
+ assert result.get('changed'), result
bulk_job = WorkflowJob.objects.get(name="foo-bulk-job")
assert bulk_job.extra_vars == '{"animal": "owl"}'
@@ -30,7 +32,7 @@ def test_bulk_job_launch(run_module, admin_user, job_template):
@pytest.mark.django_db
def test_bulk_host_create(run_module, admin_user, inventory):
hosts = [dict(name="127.0.0.1"), dict(name="foo.dns.org")]
- run_module(
+ result = run_module(
'bulk_host_create',
{
'inventory': inventory.name,
@@ -38,6 +40,8 @@ def test_bulk_host_create(run_module, admin_user, inventory):
},
admin_user,
)
+ assert not result.get('failed', False), result.get('msg', result)
+ assert result.get('changed'), result
resp_hosts = inventory.hosts.all().values_list('name', flat=True)
for h in hosts:
assert h['name'] in resp_hosts
diff --git a/awx_collection/tests/integration/targets/ad_hoc_command_cancel/tasks/main.yml b/awx_collection/tests/integration/targets/ad_hoc_command_cancel/tasks/main.yml
index f7ffe9bc97..7cdb7457d1 100644
--- a/awx_collection/tests/integration/targets/ad_hoc_command_cancel/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/ad_hoc_command_cancel/tasks/main.yml
@@ -46,27 +46,24 @@
that:
- "command is changed"
-- name: Timeout waiting for the command to cancel
+- name: Cancel the command
ad_hoc_command_cancel:
command_id: "{{ command.id }}"
- timeout: -1
register: results
ignore_errors: true
- assert:
that:
- - results is failed
- - "results['msg'] == 'Monitoring of ad hoc command aborted due to timeout'"
+ - results is changed
-- block:
- - name: "Wait for up to a minute until the job enters the can_cancel: False state"
- debug:
- msg: "The job can_cancel status has transitioned into False, we can proceed with testing"
- until: not job_status
- retries: 6
- delay: 10
- vars:
- job_status: "{{ lookup('awx.awx.controller_api', 'ad_hoc_commands/'+ command.id | string +'/cancel')['can_cancel'] }}"
+- name: "Wait for up to a minute until the job enters the can_cancel: False state"
+ debug:
+ msg: "The job can_cancel status has transitioned into False, we can proceed with testing"
+ until: not job_status
+ retries: 6
+ delay: 10
+ vars:
+ job_status: "{{ lookup('awx.awx.controller_api', 'ad_hoc_commands/'+ command.id | string +'/cancel')['can_cancel'] }}"
- name: Cancel the command with hard error if it's not running
ad_hoc_command_cancel:
diff --git a/awx_collection/tests/integration/targets/ad_hoc_command_wait/tasks/main.yml b/awx_collection/tests/integration/targets/ad_hoc_command_wait/tasks/main.yml
index 941774874f..4e0f8ed5df 100644
--- a/awx_collection/tests/integration/targets/ad_hoc_command_wait/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/ad_hoc_command_wait/tasks/main.yml
@@ -108,9 +108,8 @@
- assert:
that:
- - wait_results is failed
- - 'wait_results.status == "canceled"'
- - "wait_results.msg == 'The ad hoc command - {{ command.id }}, failed'"
+ - wait_results is successful
+ - 'wait_results.status == "successful"'
- name: Delete the Credential
credential:
diff --git a/awx_collection/tests/integration/targets/application/tasks/main.yml b/awx_collection/tests/integration/targets/application/tasks/main.yml
index ba76763a41..54fbe47b34 100644
--- a/awx_collection/tests/integration/targets/application/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/application/tasks/main.yml
@@ -2,6 +2,7 @@
- name: Generate a test id
set_fact:
test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ when: test_id is not defined
- name: Generate names
set_fact:
diff --git a/awx_collection/tests/integration/targets/credential_type/tasks/main.yml b/awx_collection/tests/integration/targets/credential_type/tasks/main.yml
index e3b75f7654..ee6045ea50 100644
--- a/awx_collection/tests/integration/targets/credential_type/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/credential_type/tasks/main.yml
@@ -1,7 +1,12 @@
---
+- name: Generate a test ID
+ set_fact:
+ test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ when: test_id is not defined
+
- name: Generate names
set_fact:
- cred_type_name: "AWX-Collection-tests-credential_type-cred-type-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ cred_type_name: "AWX-Collection-tests-credential_type-cred-type-{{ test_id }}"
- block:
- name: Add Tower credential type
diff --git a/awx_collection/tests/integration/targets/group/tasks/main.yml b/awx_collection/tests/integration/targets/group/tasks/main.yml
index ac58826b17..3200acbb96 100644
--- a/awx_collection/tests/integration/targets/group/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/group/tasks/main.yml
@@ -1,13 +1,18 @@
---
+- name: Generate a test ID
+ set_fact:
+ test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ when: test_id is not defined
+
- name: Generate names
set_fact:
- group_name1: "AWX-Collection-tests-group-group-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- group_name2: "AWX-Collection-tests-group-group-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- group_name3: "AWX-Collection-tests-group-group-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- inv_name: "AWX-Collection-tests-group-inv-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- host_name1: "AWX-Collection-tests-group-host-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- host_name2: "AWX-Collection-tests-group-host-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- host_name3: "AWX-Collection-tests-group-host-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ group_name1: "AWX-Collection-tests-group-group1-{{ test_id }}"
+ group_name2: "AWX-Collection-tests-group-group2-{{ test_id }}"
+ group_name3: "AWX-Collection-tests-group-group3-{{ test_id }}"
+ inv_name: "AWX-Collection-tests-group-inv-{{ test_id }}"
+ host_name1: "AWX-Collection-tests-group-host1-{{ test_id }}"
+ host_name2: "AWX-Collection-tests-group-host2-{{ test_id }}"
+ host_name3: "AWX-Collection-tests-group-host3-{{ test_id }}"
- name: Create an Inventory
inventory:
@@ -117,9 +122,10 @@
state: absent
register: result
+# In this case, group 2 was last a child of group1 so deleting group1 deleted group2
- assert:
that:
- - "result is changed"
+ - "result is not changed"
- name: Delete a Group
group:
diff --git a/awx_collection/tests/integration/targets/host/tasks/main.yml b/awx_collection/tests/integration/targets/host/tasks/main.yml
index a0321b09cb..6c1fefdf91 100644
--- a/awx_collection/tests/integration/targets/host/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/host/tasks/main.yml
@@ -1,8 +1,13 @@
---
+- name: Generate a test ID
+ set_fact:
+ test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ when: test_id is not defined
+
- name: Generate names
set_fact:
- host_name: "AWX-Collection-tests-host-host-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- inv_name: "AWX-Collection-tests-host-inv-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ host_name: "AWX-Collection-tests-host-host-{{ test_id }}"
+ inv_name: "AWX-Collection-tests-host-inv-{{ test_id }}"
- name: Create an Inventory
inventory:
diff --git a/awx_collection/tests/integration/targets/instance/tasks/main.yml b/awx_collection/tests/integration/targets/instance/tasks/main.yml
index e312c5face..36ff0a138e 100644
--- a/awx_collection/tests/integration/targets/instance/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/instance/tasks/main.yml
@@ -1,14 +1,25 @@
---
+- name: Generate a test ID
+ set_fact:
+ test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ when: test_id is not defined
+
- name: Generate hostnames
set_fact:
- hostname1: "AWX-Collection-tests-instance1.{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}.example.com"
- hostname2: "AWX-Collection-tests-instance2.{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}.example.com"
- hostname3: "AWX-Collection-tests-instance3.{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}.example.com"
+ hostname1: "AWX-Collection-tests-instance1.{{ test_id }}.example.com"
+ hostname2: "AWX-Collection-tests-instance2.{{ test_id }}.example.com"
+ hostname3: "AWX-Collection-tests-instance3.{{ test_id }}.example.com"
register: facts
-- name: Show hostnames
- debug:
- var: facts
+- name: Get the k8s setting
+ set_fact:
+ IS_K8S: "{{ controller_settings['IS_K8S'] | default(False) }}"
+ vars:
+ controller_settings: "{{ lookup('awx.awx.controller_api', 'settings/all') }}"
+
+- debug:
+ msg: "Skipping instance test since this is instance is not running on a K8s platform"
+ when: not IS_K8S
- block:
- name: Create an instance
@@ -57,3 +68,5 @@
- "{{ hostname1 }}"
- "{{ hostname2 }}"
- "{{ hostname3 }}"
+
+ when: IS_K8S
diff --git a/awx_collection/tests/integration/targets/instance_group/tasks/main.yml b/awx_collection/tests/integration/targets/instance_group/tasks/main.yml
index 701137f28c..e360cf933a 100644
--- a/awx_collection/tests/integration/targets/instance_group/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/instance_group/tasks/main.yml
@@ -2,6 +2,7 @@
- name: Generate test id
set_fact:
test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ when: test_id is not defined
- name: Generate names
set_fact:
diff --git a/awx_collection/tests/integration/targets/inventory/tasks/main.yml b/awx_collection/tests/integration/targets/inventory/tasks/main.yml
index abbe4f659f..cec0c6b27a 100644
--- a/awx_collection/tests/integration/targets/inventory/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/inventory/tasks/main.yml
@@ -2,6 +2,7 @@
- name: Generate a test ID
set_fact:
test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ when: test_id is not defined
- name: Generate names
set_fact:
diff --git a/awx_collection/tests/integration/targets/inventory_source/tasks/main.yml b/awx_collection/tests/integration/targets/inventory_source/tasks/main.yml
index d905d03a97..40ffd8c9b2 100644
--- a/awx_collection/tests/integration/targets/inventory_source/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/inventory_source/tasks/main.yml
@@ -1,9 +1,14 @@
---
+- name: Generate a test ID
+ set_fact:
+ test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ when: test_id is not defined
+
- name: Generate names
set_fact:
- openstack_cred: "AWX-Collection-tests-inventory_source-cred-openstack-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- openstack_inv: "AWX-Collection-tests-inventory_source-inv-openstack-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- openstack_inv_source: "AWX-Collection-tests-inventory_source-inv-source-openstack-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ openstack_cred: "AWX-Collection-tests-inventory_source-cred-openstack-{{ test_id }}"
+ openstack_inv: "AWX-Collection-tests-inventory_source-inv-openstack-{{ test_id }}"
+ openstack_inv_source: "AWX-Collection-tests-inventory_source-inv-source-openstack-{{ test_id }}"
- name: Add a credential
credential:
diff --git a/awx_collection/tests/integration/targets/inventory_source_update/tasks/main.yml b/awx_collection/tests/integration/targets/inventory_source_update/tasks/main.yml
index bc9182bb68..ba0c659544 100644
--- a/awx_collection/tests/integration/targets/inventory_source_update/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/inventory_source_update/tasks/main.yml
@@ -2,6 +2,7 @@
- name: Generate a test ID
set_fact:
test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ when: test_id is not defined
- name: Generate names
set_fact:
diff --git a/awx_collection/tests/integration/targets/job_launch/tasks/main.yml b/awx_collection/tests/integration/targets/job_launch/tasks/main.yml
index 843c5c96f2..23e43cf422 100644
--- a/awx_collection/tests/integration/targets/job_launch/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/job_launch/tasks/main.yml
@@ -1,9 +1,14 @@
---
+- name: Generate a test ID
+ set_fact:
+ test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ when: test_id is not defined
+
- name: Generate names
set_fact:
- jt_name1: "AWX-Collection-tests-job_launch-jt1-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- jt_name2: "AWX-Collection-tests-job_launch-jt2-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- proj_name: "AWX-Collection-tests-job_launch-project-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ jt_name1: "AWX-Collection-tests-job_launch-jt1-{{ test_id }}"
+ jt_name2: "AWX-Collection-tests-job_launch-jt2-{{ test_id }}"
+ proj_name: "AWX-Collection-tests-job_launch-project-{{ test_id }}"
- name: Launch a Job Template
job_launch:
diff --git a/awx_collection/tests/integration/targets/job_template/tasks/main.yml b/awx_collection/tests/integration/targets/job_template/tasks/main.yml
index 951fe27f9a..6269a0b142 100644
--- a/awx_collection/tests/integration/targets/job_template/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/job_template/tasks/main.yml
@@ -2,6 +2,7 @@
- name: Generate a random string for test
set_fact:
test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ when: test_id is not defined
- name: generate random string for project
set_fact:
diff --git a/awx_collection/tests/integration/targets/job_wait/tasks/main.yml b/awx_collection/tests/integration/targets/job_wait/tasks/main.yml
index 0aac7f314c..ada0e1106b 100644
--- a/awx_collection/tests/integration/targets/job_wait/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/job_wait/tasks/main.yml
@@ -1,8 +1,13 @@
---
+- name: Generate a test ID
+ set_fact:
+ test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ when: test_id is not defined
+
- name: Generate random string for template and project
set_fact:
- jt_name: "AWX-Collection-tests-job_wait-long_running-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- proj_name: "AWX-Collection-tests-job_wait-long_running-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ jt_name: "AWX-Collection-tests-job_wait-long_running-{{ test_id }}"
+ proj_name: "AWX-Collection-tests-job_wait-long_running-{{ test_id }}"
- name: Assure that the demo project exists
project:
diff --git a/awx_collection/tests/integration/targets/label/tasks/main.yml b/awx_collection/tests/integration/targets/label/tasks/main.yml
index 0ac077f8ca..8b3f29171d 100644
--- a/awx_collection/tests/integration/targets/label/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/label/tasks/main.yml
@@ -1,7 +1,12 @@
---
+- name: Generate a test ID
+ set_fact:
+ test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ when: test_id is not defined
+
- name: Generate names
set_fact:
- label_name: "AWX-Collection-tests-label-label-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ label_name: "AWX-Collection-tests-label-label-{{ test_id }}"
- name: Create a Label
label:
diff --git a/awx_collection/tests/integration/targets/lookup_api_plugin/tasks/main.yml b/awx_collection/tests/integration/targets/lookup_api_plugin/tasks/main.yml
index 5abed9dcd4..511dc72755 100644
--- a/awx_collection/tests/integration/targets/lookup_api_plugin/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/lookup_api_plugin/tasks/main.yml
@@ -101,6 +101,9 @@
set_fact:
users: "{{ query(plugin_name, 'users', query_params={ 'username__endswith': test_id, 'page_size': 2 }, return_ids=True ) }}"
+ - debug:
+ msg: "{{ users }}"
+
- name: Assert that user list has 2 ids only and that they are strings, not ints
assert:
that:
diff --git a/awx_collection/tests/integration/targets/notification_template/tasks/main.yml b/awx_collection/tests/integration/targets/notification_template/tasks/main.yml
index 278845696f..b909a98299 100644
--- a/awx_collection/tests/integration/targets/notification_template/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/notification_template/tasks/main.yml
@@ -1,12 +1,17 @@
---
+- name: Generate a test ID
+ set_fact:
+ test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ when: test_id is not defined
+
- name: Generate names
set_fact:
- slack_not: "AWX-Collection-tests-notification_template-slack-not-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- webhook_not: "AWX-Collection-tests-notification_template-wehbook-not-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- email_not: "AWX-Collection-tests-notification_template-email-not-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- twillo_not: "AWX-Collection-tests-notification_template-twillo-not-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- pd_not: "AWX-Collection-tests-notification_template-pd-not-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- irc_not: "AWX-Collection-tests-notification_template-irc-not-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ slack_not: "AWX-Collection-tests-notification_template-slack-not-{{ test_id }}"
+ webhook_not: "AWX-Collection-tests-notification_template-wehbook-not-{{ test_id }}"
+ email_not: "AWX-Collection-tests-notification_template-email-not-{{ test_id }}"
+ twillo_not: "AWX-Collection-tests-notification_template-twillo-not-{{ test_id }}"
+ pd_not: "AWX-Collection-tests-notification_template-pd-not-{{ test_id }}"
+ irc_not: "AWX-Collection-tests-notification_template-irc-not-{{ test_id }}"
- name: Create Slack notification with custom messages
notification_template:
diff --git a/awx_collection/tests/integration/targets/organization/tasks/main.yml b/awx_collection/tests/integration/targets/organization/tasks/main.yml
index fcf34e472d..baa7fb733f 100644
--- a/awx_collection/tests/integration/targets/organization/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/organization/tasks/main.yml
@@ -2,6 +2,7 @@
- name: Generate a test ID
set_fact:
test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ when: test_id is not defined
- name: Generate an org name
set_fact:
diff --git a/awx_collection/tests/integration/targets/project/tasks/main.yml b/awx_collection/tests/integration/targets/project/tasks/main.yml
index 3a8889ee2c..89d6f36885 100644
--- a/awx_collection/tests/integration/targets/project/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/project/tasks/main.yml
@@ -1,13 +1,18 @@
---
+- name: Generate a test ID
+ set_fact:
+ test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ when: test_id is not defined
+
- name: Generate names
set_fact:
- project_name1: "AWX-Collection-tests-project-project1-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- project_name2: "AWX-Collection-tests-project-project2-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- project_name3: "AWX-Collection-tests-project-project3-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- jt1: "AWX-Collection-tests-project-jt1-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- scm_cred_name: "AWX-Collection-tests-project-scm-cred-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- org_name: "AWX-Collection-tests-project-org-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- cred_name: "AWX-Collection-tests-project-cred-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ project_name1: "AWX-Collection-tests-project-project1-{{ test_id }}"
+ project_name2: "AWX-Collection-tests-project-project2-{{ test_id }}"
+ project_name3: "AWX-Collection-tests-project-project3-{{ test_id }}"
+ jt1: "AWX-Collection-tests-project-jt1-{{ test_id }}"
+ scm_cred_name: "AWX-Collection-tests-project-scm-cred-{{ test_id }}"
+ org_name: "AWX-Collection-tests-project-org-{{ test_id }}"
+ cred_name: "AWX-Collection-tests-project-cred-{{ test_id }}"
- block:
- name: Create an SCM Credential
diff --git a/awx_collection/tests/integration/targets/project_manual/tasks/create_project_dir.yml b/awx_collection/tests/integration/targets/project_manual/tasks/create_project_dir.yml
deleted file mode 100644
index 9fb9607258..0000000000
--- a/awx_collection/tests/integration/targets/project_manual/tasks/create_project_dir.yml
+++ /dev/null
@@ -1,56 +0,0 @@
----
-- name: Load the UI settings
- set_fact:
- project_base_dir: "{{ controller_settings.project_base_dir }}"
- vars:
- controller_settings: "{{ lookup('awx.awx.controller_api', 'config/') }}"
-
-- inventory:
- name: localhost
- organization: Default
-
-- host:
- name: localhost
- inventory: localhost
- variables:
- ansible_connection: local
-
-- name: Create an unused SSH / Machine credential
- credential:
- name: dummy
- credential_type: Machine
- inputs:
- ssh_key_data: |
- -----BEGIN EC PRIVATE KEY-----
- MHcCAQEEIIUl6R1xgzR6siIUArz4XBPtGZ09aetma2eWf1v3uYymoAoGCCqGSM49
- AwEHoUQDQgAENJNjgeZDAh/+BY860s0yqrLDprXJflY0GvHIr7lX3ieCtrzOMCVU
- QWzw35pc5tvuP34SSi0ZE1E+7cVMDDOF3w==
- -----END EC PRIVATE KEY-----
- organization: Default
-
-- block:
- - name: Add a path to a setting
- settings:
- name: AWX_ISOLATION_SHOW_PATHS
- value: "[{{ project_base_dir }}]"
-
- - name: Create a directory for manual project
- ad_hoc_command:
- credential: dummy
- inventory: localhost
- job_type: run
- module_args: "mkdir -p {{ project_base_dir }}/{{ project_dir_name }}"
- module_name: command
- wait: true
-
- always:
- - name: Delete path from setting
- settings:
- name: AWX_ISOLATION_SHOW_PATHS
- value: []
-
- - name: Delete dummy credential
- credential:
- name: dummy
- credential_type: Machine
- state: absent
diff --git a/awx_collection/tests/integration/targets/project_manual/tasks/main.yml b/awx_collection/tests/integration/targets/project_manual/tasks/main.yml
deleted file mode 100644
index 3cd328b4f0..0000000000
--- a/awx_collection/tests/integration/targets/project_manual/tasks/main.yml
+++ /dev/null
@@ -1,38 +0,0 @@
----
-- name: Generate random string for project
- set_fact:
- rand_string: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
-
-- name: Generate manual project name
- set_fact:
- project_name: "Manual_Project_{{ rand_string }}"
-
-- name: Generate manual project dir name
- set_fact:
- project_dir_name: "proj_{{ rand_string }}"
-
-- name: Create a project directory for manual project
- import_tasks: create_project_dir.yml
-
-- name: Create a manual project
- project:
- name: "{{ project_name }}"
- organization: Default
- scm_type: manual
- local_path: "{{ project_dir_name }}"
- register: result
-
-- assert:
- that:
- - "result is changed"
-
-- name: Delete a manual project
- project:
- name: "{{ project_name }}"
- organization: Default
- state: absent
- register: result
-
-- assert:
- that:
- - "result is changed"
diff --git a/awx_collection/tests/integration/targets/role/tasks/main.yml b/awx_collection/tests/integration/targets/role/tasks/main.yml
index a94f534134..449b402321 100644
--- a/awx_collection/tests/integration/targets/role/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/role/tasks/main.yml
@@ -2,6 +2,7 @@
- name: Generate a test id
set_fact:
test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ when: test_id is not defined
- name: Generate names
set_fact:
diff --git a/awx_collection/tests/integration/targets/schedule/tasks/main.yml b/awx_collection/tests/integration/targets/schedule/tasks/main.yml
index 73343faf94..6bde226fcc 100644
--- a/awx_collection/tests/integration/targets/schedule/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/schedule/tasks/main.yml
@@ -2,6 +2,7 @@
- name: Generate a random string for test
set_fact:
test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ when: test_id is not defined
- name: generate random string for schedule
set_fact:
diff --git a/awx_collection/tests/integration/targets/team/tasks/main.yml b/awx_collection/tests/integration/targets/team/tasks/main.yml
index f220d9194f..390a888610 100644
--- a/awx_collection/tests/integration/targets/team/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/team/tasks/main.yml
@@ -1,7 +1,12 @@
---
+- name: Generate a test ID
+ set_fact:
+ test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ when: test_id is not defined
+
- name: Generate names
set_fact:
- team_name: "AWX-Collection-tests-team-team-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ team_name: "AWX-Collection-tests-team-team-{{ test_id }}"
- name: Attempt to add a team to a non-existant Organization
team:
diff --git a/awx_collection/tests/integration/targets/token/tasks/main.yml b/awx_collection/tests/integration/targets/token/tasks/main.yml
index f13bc6bc66..9cd4972a93 100644
--- a/awx_collection/tests/integration/targets/token/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/token/tasks/main.yml
@@ -1,7 +1,12 @@
---
+- name: Generate a test ID
+ set_fact:
+ test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ when: test_id is not defined
+
- name: Generate names
set_fact:
- token_description: "AWX-Collection-tests-token-description-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ token_description: "AWX-Collection-tests-token-description-{{ test_id }}"
- name: Try to use a token as a dict which is missing the token parameter
job_list:
diff --git a/awx_collection/tests/integration/targets/user/tasks/main.yml b/awx_collection/tests/integration/targets/user/tasks/main.yml
index 1d5cc5de5e..6d2b290dd6 100644
--- a/awx_collection/tests/integration/targets/user/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/user/tasks/main.yml
@@ -1,7 +1,12 @@
---
+- name: Generate a test ID
+ set_fact:
+ test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ when: test_id is not defined
+
- name: Generate names
set_fact:
- username: "AWX-Collection-tests-user-user-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ username: "AWX-Collection-tests-user-user-{{ test_id }}"
- name: Create a User
user:
@@ -131,10 +136,6 @@
'Can not verify ssl with non-https protocol' in result.exception"
- block:
- - name: Generate a test ID
- set_fact:
- test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
-
- name: Generate an org name
set_fact:
org_name: "AWX-Collection-tests-organization-org-{{ test_id }}"
diff --git a/awx_collection/tests/integration/targets/workflow_approval/tasks/main.yml b/awx_collection/tests/integration/targets/workflow_approval/tasks/main.yml
index eaf1b3bf8d..52fb7585c2 100644
--- a/awx_collection/tests/integration/targets/workflow_approval/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/workflow_approval/tasks/main.yml
@@ -2,13 +2,15 @@
- name: Generate a random string for names
set_fact:
test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- test_prefix: AWX-Collection-tests-workflow_approval
+ when: test_id is not defined
- name: Generate random names for test objects
set_fact:
org_name: "{{ test_prefix }}-org-{{ test_id }}"
approval_node_name: "{{ test_prefix }}-node-{{ test_id }}"
wfjt_name: "{{ test_prefix }}-wfjt-{{ test_id }}"
+ vars:
+ test_prefix: AWX-Collection-tests-workflow_approval
- block:
- name: Create a new organization for test isolation
diff --git a/awx_collection/tests/integration/targets/workflow_job_template/tasks/main.yml b/awx_collection/tests/integration/targets/workflow_job_template/tasks/main.yml
index e5f3366cd3..dc15afb428 100644
--- a/awx_collection/tests/integration/targets/workflow_job_template/tasks/main.yml
+++ b/awx_collection/tests/integration/targets/workflow_job_template/tasks/main.yml
@@ -2,6 +2,7 @@
- name: Generate a random string for names
set_fact:
test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ when: test_id is not defined
- name: Generate random names for test objects
set_fact:
@@ -17,8 +18,8 @@
webhook_wfjt_name: "AWX-Collection-tests-workflow_job_template-webhook-wfjt-{{ test_id }}"
email_not: "AWX-Collection-tests-job_template-email-not-{{ test_id }}"
webhook_notification: "AWX-Collection-tests-notification_template-wehbook-not-{{ test_id }}"
- project_inv: "AWX-Collection-tests-inventory_source-inv-project-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
- project_inv_source: "AWX-Collection-tests-inventory_source-inv-source-project-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
+ project_inv: "AWX-Collection-tests-inventory_source-inv-project-{{ test_id }}"
+ project_inv_source: "AWX-Collection-tests-inventory_source-inv-source-project-{{ test_id }}"
github_webhook_credential_name: "AWX-Collection-tests-credential-webhook-{{ test_id }}_github"
ee1: "AWX-Collection-tests-workflow_job_template-ee1-{{ test_id }}"
label1: "AWX-Collection-tests-workflow_job_template-l1-{{ test_id }}"
diff --git a/docs/credentials/extract_credentials.md b/docs/credentials/extract_credentials.md
index 66836da067..abbbdad88a 100644
--- a/docs/credentials/extract_credentials.md
+++ b/docs/credentials/extract_credentials.md
@@ -12,8 +12,13 @@ To encrypt secret fields, AWX uses AES in CBC mode with a 256-bit key for encryp
If necessary, credentials and encrypted settings can be extracted using the AWX shell:
```python
-# awx-manage shell_plus
+$ awx-manage shell_plus
>>> from awx.main.utils import decrypt_field
->>> cred = Credential.objects.get(name="my private key")
->>> print(decrypt_field(cred, "ssh_key_data"))
+>>> print(decrypt_field(Credential.objects.get(name="my private key"), "ssh_key_data")) # Example for a credential
+>>> print(decrypt_field(Setting.objects.get(key='SOCIAL_AUTH_AZUREAD_OAUTH2_SECRET'), 'value')) # Example for a setting
```
+
+If you are running a kubernetes based deployment, you can execute awx-manage like this:
+```bash
+$ kubectl exec --stdin --tty [instance name]-task-[...] -c [instance name]-task -- awx-manage shell_plus
+```
\ No newline at end of file
diff --git a/pytest.ini b/pytest.ini
index d4ffd2db9b..8a1e82820d 100644
--- a/pytest.ini
+++ b/pytest.ini
@@ -1,5 +1,5 @@
[pytest]
-DJANGO_SETTINGS_MODULE = awx.settings.development
+DJANGO_SETTINGS_MODULE = awx.main.tests.settings_for_test
python_paths = /var/lib/awx/venv/tower/lib/python3.8/site-packages
site_dirs = /var/lib/awx/venv/tower/lib/python3.8/site-packages
python_files = *.py
diff --git a/tools/ansible/build.yml b/tools/ansible/build.yml
index 3ac9004944..9270d69f58 100644
--- a/tools/ansible/build.yml
+++ b/tools/ansible/build.yml
@@ -4,8 +4,7 @@
gather_facts: true
tasks:
- name: Get version from SCM if not explicitly provided
- shell: |
- make print-VERSION | cut -d + -f -1
+ command: make version-for-buildyml
args:
chdir: '../../'
register: scm_version
diff --git a/tools/ansible/roles/dockerfile/templates/Dockerfile.j2 b/tools/ansible/roles/dockerfile/templates/Dockerfile.j2
index c7fd3eed82..757b93a2d0 100644
--- a/tools/ansible/roles/dockerfile/templates/Dockerfile.j2
+++ b/tools/ansible/roles/dockerfile/templates/Dockerfile.j2
@@ -232,7 +232,7 @@ ADD {{ template_dest }}/supervisor_rsyslog.conf /etc/supervisord_rsyslog.conf
{% endif %}
{% if (build_dev|bool) or (kube_dev|bool) %}
-ADD tools/docker-compose/awx.egg-link /tmp/awx.egg-link
+RUN echo /awx_devel > /var/lib/awx/venv/awx/lib/python3.9/site-packages/awx.egg-link
ADD tools/docker-compose/awx-manage /usr/local/bin/awx-manage
ADD tools/scripts/awx-python /usr/bin/awx-python
{% endif %}
@@ -285,8 +285,7 @@ RUN for dir in \
/var/lib/shared/overlay-layers/layers.lock \
/var/lib/shared/vfs-images/images.lock \
/var/lib/shared/vfs-layers/layers.lock \
- /var/run/nginx.pid \
- /var/lib/awx/venv/awx/lib/python3.9/site-packages/awx.egg-link ; \
+ /var/run/nginx.pid; \
do touch $file ; chmod g+rw $file ; done && \
echo "\setenv PAGER 'less -SXF'" > /var/lib/awx/.psqlrc
{% endif %}
diff --git a/tools/docker-compose/ansible/roles/sources/templates/local_settings.py.j2 b/tools/docker-compose/ansible/roles/sources/templates/local_settings.py.j2
index 0b4ffd0160..43be7b33d8 100644
--- a/tools/docker-compose/ansible/roles/sources/templates/local_settings.py.j2
+++ b/tools/docker-compose/ansible/roles/sources/templates/local_settings.py.j2
@@ -1,8 +1,7 @@
# Copyright (c) 2015 Ansible, Inc. (formerly AnsibleWorks, Inc.)
# All Rights Reserved.
-# Local Django settings for AWX project. Rename to "local_settings.py" and
-# edit as needed for your development environment.
+# Local Django settings for AWX project.
# All variables defined in awx/settings/development.py will already be loaded
# into the global namespace before this file is loaded, to allow for reading
diff --git a/tools/docker-compose/awx.egg-link b/tools/docker-compose/awx.egg-link
deleted file mode 100644
index bce047d354..0000000000
--- a/tools/docker-compose/awx.egg-link
+++ /dev/null
@@ -1 +0,0 @@
-/awx_devel
\ No newline at end of file
diff --git a/tools/docker-compose/start_tests.sh b/tools/docker-compose/start_tests.sh
index 2e80679cb2..67f2e644a6 100755
--- a/tools/docker-compose/start_tests.sh
+++ b/tools/docker-compose/start_tests.sh
@@ -5,8 +5,6 @@ cd /awx_devel
make clean
make awx-link
-cp tools/docker-compose/ansible/roles/sources/files/local_settings.py awx/settings/local_settings.py
-
if [[ ! $@ ]]; then
make test
else
diff --git a/tools/docker-compose/supervisor.conf b/tools/docker-compose/supervisor.conf
index 341fe9fab7..704e4d2dcd 100644
--- a/tools/docker-compose/supervisor.conf
+++ b/tools/docker-compose/supervisor.conf
@@ -4,7 +4,7 @@ minfds = 4096
nodaemon=true
[program:awx-dispatcher]
-command = make dispatcher
+command = awx-manage run_dispatcher
autorestart = true
stopasgroup=true
killasgroup=true
@@ -12,7 +12,7 @@ stdout_events_enabled = true
stderr_events_enabled = true
[program:awx-receiver]
-command = make receiver
+command = awx-manage run_callback_receiver
autorestart = true
stopasgroup=true
killasgroup=true
@@ -20,7 +20,7 @@ stdout_events_enabled = true
stderr_events_enabled = true
[program:awx-wsrelay]
-command = make run-wsrelay
+command = awx-manage run_wsrelay
autorestart = true
autorestart = true
stopasgroup=true
@@ -29,7 +29,7 @@ stdout_events_enabled = true
stderr_events_enabled = true
[program:awx-heartbeet]
-command = make run-heartbeet
+command = awx-manage run_heartbeet
autorestart = true
autorestart = true
stopasgroup=true
@@ -38,7 +38,7 @@ stdout_events_enabled = true
stderr_events_enabled = true
[program:awx-rsyslog-configurer]
-command = make run-rsyslog-configurer
+command = awx-manage run_rsyslog_configurer
autorestart = true
stopasgroup=true
killasgroup=true
@@ -48,7 +48,7 @@ stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
[program:awx-cache-clear]
-command = make run-cache-clear
+command = awx-manage run_cache_clear
autorestart = true
stopasgroup=true
killasgroup=true