mirror of
https://github.com/ansible/awx.git
synced 2026-02-23 05:55:59 -03:30
@@ -82,9 +82,9 @@
|
||||
that:
|
||||
- "result is changed"
|
||||
|
||||
- name: Re-create the Org-specific credential (new school)
|
||||
- name: Re-create the Org-specific credential (new school) with an ID
|
||||
tower_credential:
|
||||
name: "{{ ssh_cred_name1 }}"
|
||||
name: "{{ result.id }}"
|
||||
organization: Default
|
||||
credential_type: 'Machine'
|
||||
state: present
|
||||
|
||||
@@ -1,105 +1,113 @@
|
||||
---
|
||||
- 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 names
|
||||
set_fact:
|
||||
src_cred_name: src_cred
|
||||
target_cred_name: target_cred
|
||||
src_cred_name: "AWX-Collection-tests-tower_credential_input_source-src_cred-{{ test_id }}"
|
||||
target_cred_name: "AWX-Collection-tests-tower_credential_input_source-target_cred-{{ test_id }}"
|
||||
|
||||
- name: Add Tower credential Lookup
|
||||
tower_credential:
|
||||
description: Credential for Testing Source
|
||||
name: "{{ src_cred_name }}"
|
||||
credential_type: CyberArk AIM Central Credential Provider Lookup
|
||||
inputs:
|
||||
url: "https://cyberark.example.com"
|
||||
app_id: "My-App-ID"
|
||||
organization: Default
|
||||
register: result
|
||||
- block:
|
||||
- name: Add Tower credential Lookup
|
||||
tower_credential:
|
||||
description: Credential for Testing Source
|
||||
name: "{{ src_cred_name }}"
|
||||
credential_type: CyberArk AIM Central Credential Provider Lookup
|
||||
inputs:
|
||||
url: "https://cyberark.example.com"
|
||||
app_id: "My-App-ID"
|
||||
organization: Default
|
||||
register: src_cred_result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result is changed"
|
||||
- assert:
|
||||
that:
|
||||
- "src_cred_result is changed"
|
||||
|
||||
- name: Add Tower credential Target
|
||||
tower_credential:
|
||||
description: Credential for Testing Target
|
||||
name: "{{ target_cred_name }}"
|
||||
credential_type: Machine
|
||||
inputs:
|
||||
username: user
|
||||
organization: Default
|
||||
register: result
|
||||
- name: Add Tower credential Target
|
||||
tower_credential:
|
||||
description: Credential for Testing Target
|
||||
name: "{{ target_cred_name }}"
|
||||
credential_type: Machine
|
||||
inputs:
|
||||
username: user
|
||||
organization: Default
|
||||
register: target_cred_result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result is changed"
|
||||
- assert:
|
||||
that:
|
||||
- "target_cred_result is changed"
|
||||
|
||||
- name: Add credential Input Source
|
||||
tower_credential_input_source:
|
||||
input_field_name: password
|
||||
target_credential: "{{ target_cred_name }}"
|
||||
source_credential: "{{ src_cred_name }}"
|
||||
metadata:
|
||||
object_query: "Safe=MY_SAFE;Object=AWX-user"
|
||||
object_query_format: "Exact"
|
||||
state: present
|
||||
- name: Add credential Input Source
|
||||
tower_credential_input_source:
|
||||
input_field_name: password
|
||||
target_credential: "{{ target_cred_result.id }}"
|
||||
source_credential: "{{ src_cred_result.id }}"
|
||||
metadata:
|
||||
object_query: "Safe=MY_SAFE;Object=AWX-user"
|
||||
object_query_format: "Exact"
|
||||
state: present
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result is changed"
|
||||
- assert:
|
||||
that:
|
||||
- "result is changed"
|
||||
|
||||
- name: Add Second Tower credential Lookup
|
||||
tower_credential:
|
||||
description: Credential for Testing Source Change
|
||||
name: "{{ src_cred_name }}-2"
|
||||
credential_type: CyberArk AIM Central Credential Provider Lookup
|
||||
inputs:
|
||||
url: "https://cyberark-prod.example.com"
|
||||
app_id: "My-App-ID"
|
||||
organization: Default
|
||||
register: result
|
||||
- name: Add Second Tower credential Lookup
|
||||
tower_credential:
|
||||
description: Credential for Testing Source Change
|
||||
name: "{{ src_cred_name }}-2"
|
||||
credential_type: CyberArk AIM Central Credential Provider Lookup
|
||||
inputs:
|
||||
url: "https://cyberark-prod.example.com"
|
||||
app_id: "My-App-ID"
|
||||
organization: Default
|
||||
register: result
|
||||
|
||||
- name: Change credential Input Source
|
||||
tower_credential_input_source:
|
||||
input_field_name: password
|
||||
target_credential: "{{ target_cred_name }}"
|
||||
source_credential: "{{ src_cred_name }}-2"
|
||||
state: present
|
||||
- name: Change credential Input Source
|
||||
tower_credential_input_source:
|
||||
input_field_name: password
|
||||
target_credential: "{{ target_cred_name }}"
|
||||
source_credential: "{{ src_cred_name }}-2"
|
||||
state: present
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result is changed"
|
||||
- assert:
|
||||
that:
|
||||
- "result is changed"
|
||||
|
||||
- name: Remove a Tower credential source
|
||||
tower_credential_input_source:
|
||||
input_field_name: password
|
||||
target_credential: "{{ target_cred_name }}"
|
||||
state: absent
|
||||
register: result
|
||||
always:
|
||||
- name: Remove a Tower credential source
|
||||
tower_credential_input_source:
|
||||
input_field_name: password
|
||||
target_credential: "{{ target_cred_name }}"
|
||||
state: absent
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result is changed"
|
||||
- assert:
|
||||
that:
|
||||
- "result is changed"
|
||||
|
||||
- name: Remove Tower credential Lookup
|
||||
tower_credential:
|
||||
name: "{{ src_cred_name }}"
|
||||
organization: Default
|
||||
credential_type: CyberArk AIM Central Credential Provider Lookup
|
||||
state: absent
|
||||
register: result
|
||||
- name: Remove Tower credential Lookup
|
||||
tower_credential:
|
||||
name: "{{ src_cred_name }}"
|
||||
organization: Default
|
||||
credential_type: CyberArk AIM Central Credential Provider Lookup
|
||||
state: absent
|
||||
register: result
|
||||
|
||||
- name: Remove Alt Tower credential Lookup
|
||||
tower_credential:
|
||||
name: "{{ src_cred_name }}-2"
|
||||
organization: Default
|
||||
credential_type: CyberArk AIM Central Credential Provider Lookup
|
||||
state: absent
|
||||
register: result
|
||||
- name: Remove Alt Tower credential Lookup
|
||||
tower_credential:
|
||||
name: "{{ src_cred_name }}-2"
|
||||
organization: Default
|
||||
credential_type: CyberArk AIM Central Credential Provider Lookup
|
||||
state: absent
|
||||
register: result
|
||||
|
||||
- name: Remove Tower credential
|
||||
tower_credential:
|
||||
name: "{{ target_cred_name }}"
|
||||
organization: Default
|
||||
credential_type: Machine
|
||||
state: absent
|
||||
register: result
|
||||
- name: Remove Tower credential
|
||||
tower_credential:
|
||||
name: "{{ target_cred_name }}"
|
||||
organization: Default
|
||||
credential_type: Machine
|
||||
state: absent
|
||||
register: result
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
- name: Remove a Tower credential type
|
||||
tower_credential_type:
|
||||
name: "{{ cred_type_name }}"
|
||||
name: "{{ result.id }}"
|
||||
state: absent
|
||||
register: result
|
||||
|
||||
|
||||
@@ -14,11 +14,12 @@
|
||||
name: "{{ inv_name }}"
|
||||
organization: Default
|
||||
state: present
|
||||
register: result
|
||||
|
||||
- name: Create a Group
|
||||
tower_group:
|
||||
name: "{{ group_name1 }}"
|
||||
inventory: "{{ inv_name }}"
|
||||
inventory: "{{ result.id }}"
|
||||
state: present
|
||||
variables:
|
||||
foo: bar
|
||||
@@ -30,7 +31,7 @@
|
||||
|
||||
- name: Delete a Group
|
||||
tower_group:
|
||||
name: "{{ group_name1 }}"
|
||||
name: "{{ result.id }}"
|
||||
inventory: "{{ inv_name }}"
|
||||
state: absent
|
||||
register: result
|
||||
|
||||
@@ -9,11 +9,12 @@
|
||||
name: "{{ inv_name }}"
|
||||
organization: Default
|
||||
state: present
|
||||
register: result
|
||||
|
||||
- name: Create a Host
|
||||
tower_host:
|
||||
name: "{{ host_name }}"
|
||||
inventory: "{{ inv_name }}"
|
||||
inventory: "{{ result.id }}"
|
||||
state: present
|
||||
variables:
|
||||
foo: bar
|
||||
@@ -25,7 +26,7 @@
|
||||
|
||||
- name: Delete a Host
|
||||
tower_host:
|
||||
name: "{{ host_name }}"
|
||||
name: "{{ result.id }}"
|
||||
inventory: "{{ inv_name }}"
|
||||
state: absent
|
||||
register: result
|
||||
|
||||
@@ -19,11 +19,11 @@
|
||||
host: "https://openshift.org"
|
||||
bearer_token: "asdf1234"
|
||||
verify_ssl: false
|
||||
register: result
|
||||
register: cred_result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result is changed"
|
||||
- "cred_result is changed"
|
||||
|
||||
- name: Create an Instance Group
|
||||
tower_instance_group:
|
||||
@@ -37,10 +37,22 @@
|
||||
that:
|
||||
- "result is changed"
|
||||
|
||||
- name: Update an Instance Group
|
||||
tower_instance_group:
|
||||
name: "{{ result.id }}"
|
||||
policy_instance_percentage: 34
|
||||
policy_instance_minimum: 24
|
||||
state: present
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result is changed"
|
||||
|
||||
- name: Create a container group
|
||||
tower_instance_group:
|
||||
name: "{{ group_name2 }}"
|
||||
credential: "{{ cred_name1 }}"
|
||||
credential: "{{ cred_result.id }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
tower_inventory:
|
||||
name: "{{ inv_name1 }}"
|
||||
organization: Default
|
||||
insights_credential: "{{ cred_name1 }}"
|
||||
insights_credential: "{{ result.id }}"
|
||||
state: present
|
||||
register: result
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
- name: Test Inventory module idempotency
|
||||
tower_inventory:
|
||||
name: "{{ inv_name1 }}"
|
||||
name: "{{ result.id }}"
|
||||
organization: Default
|
||||
insights_credential: "{{ cred_name1 }}"
|
||||
state: present
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
host: https://example.org:5000
|
||||
password: passw0rd
|
||||
domain: test
|
||||
register: credential_result
|
||||
|
||||
- name: Add a Tower inventory
|
||||
tower_inventory:
|
||||
@@ -28,7 +29,7 @@
|
||||
name: "{{ openstack_inv_source }}"
|
||||
description: Source for Test inventory
|
||||
inventory: "{{ openstack_inv }}"
|
||||
credential: "{{ openstack_cred }}"
|
||||
credential: "{{ credential_result.id }}"
|
||||
overwrite: true
|
||||
update_on_launch: true
|
||||
source_vars:
|
||||
@@ -42,7 +43,7 @@
|
||||
|
||||
- name: Delete the inventory source with an invalid cred, source_project, sourece_script specified
|
||||
tower_inventory_source:
|
||||
name: "{{ openstack_inv_source }}"
|
||||
name: "{{ result.id }}"
|
||||
inventory: "{{ openstack_inv }}"
|
||||
credential: "Does Not Exit"
|
||||
source_project: "Does Not Exist"
|
||||
|
||||
@@ -0,0 +1,116 @@
|
||||
---
|
||||
- name: Generate a test ID
|
||||
set_fact:
|
||||
test_id: "{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}"
|
||||
|
||||
- name: Generate names
|
||||
set_fact:
|
||||
project_name: "AWX-Collection-tests-tower_inventory_source_update-project-{{ test_id }}"
|
||||
inv_name: "AWX-Collection-tests-tower_inventory_source_update-inv-{{ test_id }}"
|
||||
inv_source1: "AWX-Collection-tests-tower_inventory_source_update-source1-{{ test_id }}"
|
||||
inv_source2: "AWX-Collection-tests-tower_inventory_source_update-source2-{{ test_id }}"
|
||||
inv_source3: "AWX-Collection-tests-tower_inventory_source_update-source3-{{ test_id }}"
|
||||
org_name: "AWX-Collection-tests-tower_inventory_source_update-org-{{ test_id }}"
|
||||
|
||||
|
||||
- block:
|
||||
|
||||
- name: "Create a new organization"
|
||||
tower_organization:
|
||||
name: "{{ org_name }}"
|
||||
register: created_org
|
||||
|
||||
- name: Create a git project without credentials
|
||||
tower_project:
|
||||
name: "{{ project_name }}"
|
||||
organization: "{{ org_name }}"
|
||||
scm_type: git
|
||||
scm_url: https://github.com/ansible/test-playbooks
|
||||
wait: true
|
||||
|
||||
- name: Create an Inventory
|
||||
tower_inventory:
|
||||
name: "{{ inv_name }}"
|
||||
organization: "{{ org_name }}"
|
||||
state: present
|
||||
|
||||
- name: Create another inventory w/ same name, different org
|
||||
tower_inventory:
|
||||
name: "{{ inv_name }}"
|
||||
organization: Default
|
||||
state: present
|
||||
register: created_inventory
|
||||
|
||||
- name: Create an Inventory Source (specifically connected to the randomly generated org)
|
||||
tower_inventory_source:
|
||||
name: "{{ inv_source1 }}"
|
||||
source: scm
|
||||
source_project: "{{ project_name }}"
|
||||
source_path: inventories/inventory.ini
|
||||
description: Source for Test inventory
|
||||
organization: "{{ created_org.id }}"
|
||||
inventory: "{{ inv_name }}"
|
||||
|
||||
- name: Create Another Inventory Source
|
||||
tower_inventory_source:
|
||||
name: "{{ inv_source2 }}"
|
||||
source: scm
|
||||
source_project: "{{ project_name }}"
|
||||
source_path: inventories/create_10_hosts.ini
|
||||
description: Source for Test inventory
|
||||
organization: Default
|
||||
inventory: "{{ inv_name }}"
|
||||
|
||||
- name: Create Yet Another Inventory Source (to make lookup plugin find multiple inv sources)
|
||||
tower_inventory_source:
|
||||
name: "{{ inv_source3 }}"
|
||||
source: scm
|
||||
source_project: "{{ project_name }}"
|
||||
source_path: inventories/create_100_hosts.ini
|
||||
description: Source for Test inventory
|
||||
organization: Default
|
||||
inventory: "{{ inv_name }}"
|
||||
|
||||
- name: Test Inventory Source Update
|
||||
tower_inventory_source_update:
|
||||
inventory: "{{ inv_name }}"
|
||||
inventory_source: "{{ inv_source2 }}"
|
||||
organization: Default
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result is changed"
|
||||
|
||||
- name: Test Inventory Source Update for All Sources
|
||||
tower_inventory_source_update:
|
||||
inventory: "{{ inv_name }}"
|
||||
inventory_source: "{{ item.name }}"
|
||||
organization: Default
|
||||
wait: true
|
||||
loop: "{{ query('awx.awx.tower_api', 'inventory_sources', query_params={ 'inventory': created_inventory.id }, expect_objects=True, return_objects=True) }}"
|
||||
loop_control:
|
||||
label: "{{ item.name }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result is changed"
|
||||
|
||||
always:
|
||||
- name: Delete Inventory
|
||||
tower_inventory:
|
||||
name: "{{ inv_name }}"
|
||||
organization: Default
|
||||
state: absent
|
||||
|
||||
- name: Delete Project
|
||||
tower_project:
|
||||
name: "{{ project_name }}"
|
||||
organization: Default
|
||||
state: absent
|
||||
|
||||
- name: "Remove the organization"
|
||||
tower_organization:
|
||||
name: "{{ org_name }}"
|
||||
state: absent
|
||||
@@ -22,14 +22,14 @@
|
||||
state: present
|
||||
scm_type: git
|
||||
scm_url: https://github.com/ansible/ansible-tower-samples.git
|
||||
|
||||
register: result
|
||||
register: proj_result
|
||||
|
||||
- name: Create Credential1
|
||||
tower_credential:
|
||||
name: "{{ cred1 }}"
|
||||
organization: Default
|
||||
kind: tower
|
||||
register: cred1_result
|
||||
|
||||
- name: Create Credential2
|
||||
tower_credential:
|
||||
@@ -84,19 +84,19 @@
|
||||
credentials: ["{{ cred1 }}", "{{ cred2 }}"]
|
||||
job_type: run
|
||||
state: present
|
||||
register: result
|
||||
register: jt1_result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result is changed"
|
||||
- "jt1_result is changed"
|
||||
|
||||
- name: Add a credential to this JT
|
||||
tower_job_template:
|
||||
name: "{{ jt1 }}"
|
||||
project: "{{ proj1 }}"
|
||||
project: "{{ proj_result.id }}"
|
||||
playbook: hello_world.yml
|
||||
credentials:
|
||||
- "{{ cred1 }}"
|
||||
- "{{ cred1_result.id }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
@@ -105,7 +105,7 @@
|
||||
|
||||
- name: Try to add the same credential to this JT
|
||||
tower_job_template:
|
||||
name: "{{ jt1 }}"
|
||||
name: "{{ jt1_result.id }}"
|
||||
project: "{{ proj1 }}"
|
||||
playbook: hello_world.yml
|
||||
credentials:
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
---
|
||||
- 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 names
|
||||
set_fact:
|
||||
project_name1: "AWX-Collection-tests-tower_project_update-project-{{ test_id }}"
|
||||
|
||||
- name: Create a git project without credentials without waiting
|
||||
tower_project:
|
||||
name: "{{ project_name1 }}"
|
||||
organization: Default
|
||||
scm_type: git
|
||||
scm_url: https://github.com/ansible/test-playbooks
|
||||
wait: false
|
||||
register: project_create_result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- project_create_result is changed
|
||||
|
||||
- name: Update a project without waiting
|
||||
tower_project_update:
|
||||
name: "{{ project_name1 }}"
|
||||
organization: Default
|
||||
wait: false
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- result is changed
|
||||
|
||||
- name: Update a project and wait
|
||||
tower_project_update:
|
||||
name: "{{ project_name1 }}"
|
||||
organization: Default
|
||||
wait: true
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- result is successful
|
||||
|
||||
- name: Update a project by ID
|
||||
tower_project_update:
|
||||
name: "{{ project_create_result.id }}"
|
||||
organization: Default
|
||||
wait: true
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- result is successful
|
||||
|
||||
- name: Delete the test project 1
|
||||
tower_project:
|
||||
name: "{{ project_name1 }}"
|
||||
organization: Default
|
||||
state: absent
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- result is changed
|
||||
@@ -15,9 +15,9 @@
|
||||
that:
|
||||
- "result is changed"
|
||||
|
||||
- name: Change a User
|
||||
- name: Change a User by ID
|
||||
tower_user:
|
||||
username: "{{ username }}"
|
||||
username: "{{ result.id }}"
|
||||
last_name: User
|
||||
email: joe@example.org
|
||||
state: present
|
||||
|
||||
Reference in New Issue
Block a user