Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions tests/tasks/run_role_with_clear_facts.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
# Task file: clear_facts, run linux-system-roles.nbde_server.
# Include this with include_tasks or import_tasks
# Input:
# - __sr_tasks_from: tasks_from to run - same as tasks_from in include_role
# - __sr_public: export private vars from role - same as public in include_role
# - __sr_failed_when: set to false to ignore role errors - same as failed_when in include_role
- name: Clear facts
meta: clear_facts

# note that you can use failed_when with import_role but not with include_role
# so this simulates the __sr_failed_when false case
# Q: Why do we need a separate task to run the role normally? Why not just
# run the role in the block and rethrow the error in the rescue block?
# A: Because you cannot rethrow the error in exactly the same way as the role does.
# It might be possible to exactly reconstruct ansible_failed_result but it's not worth the effort.
- name: Run the role with __sr_failed_when false
when:
- __sr_failed_when is defined
- not __sr_failed_when
block:
- name: Run the role
include_role:
name: linux-system-roles.nbde_server
tasks_from: "{{ __sr_tasks_from | default('main') }}"
public: "{{ __sr_public | default(false) }}"
rescue:
- name: Ignore the failure when __sr_failed_when is false
debug:
msg: Ignoring failure when __sr_failed_when is false

- name: Run the role normally
include_role:
name: linux-system-roles.nbde_server
tasks_from: "{{ __sr_tasks_from | default('main') }}"
public: "{{ __sr_public | default(false) }}"
when: __sr_failed_when | d(true)
7 changes: 3 additions & 4 deletions tests/tests_default.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
---
- name: Ensure that the role runs with default parameters
hosts: all
gather_facts: false
tasks:
- name: Run test
block:
- name: Run role
include_role:
name: linux-system-roles.nbde_server
public: true
include_tasks: tasks/run_role_with_clear_facts.yml
vars:
__sr_public: true

- name: Verify role results
include_tasks: tasks/verify-role-results.yml
Expand Down
6 changes: 3 additions & 3 deletions tests/tests_default_vars.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
- name: Run test
block:
- name: Run role
include_role:
name: linux-system-roles.nbde_server
public: true
include_tasks: tasks/run_role_with_clear_facts.yml
vars:
__sr_public: true

- name: Assert that the role declares all parameters in defaults
assert:
Expand Down
13 changes: 5 additions & 8 deletions tests/tests_deploy_keys.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,12 @@
nbde_server_keys_dir: "{{ __tmpdir.path }}"

- name: Ensure we have keys
include_role:
name: linux-system-roles.nbde_server
include_tasks: tasks/run_role_with_clear_facts.yml

- name: Fetch the keys from every host
include_role:
name: linux-system-roles.nbde_server
public: true
include_tasks: tasks/run_role_with_clear_facts.yml
vars:
__sr_public: true
nbde_server_fetch_keys: true
nbde_server_deploy_keys: false

Expand All @@ -42,10 +40,9 @@
register: nbde_server_keys_before_redeploy

- name: Redeploy these same keys
include_role:
name: linux-system-roles.nbde_server
public: true
include_tasks: tasks/run_role_with_clear_facts.yml
vars:
__sr_public: true
nbde_server_fetch_keys: false
nbde_server_deploy_keys: true

Expand Down
11 changes: 5 additions & 6 deletions tests/tests_fetch_keys_deploy_not_set.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@
nbde_server_keys_dir: "{{ __tmpdir.path }}"

- name: Ensure we have keys
include_role:
name: linux-system-roles.nbde_server
public: true
include_tasks: tasks/run_role_with_clear_facts.yml
vars:
__sr_public: true

- name: Gather keys
find:
Expand All @@ -39,10 +39,9 @@
register: nbde_server_host_keys

- name: Run with nbde_server_deploy_keys not set to check the keys
include_role:
name: linux-system-roles.nbde_server
public: true
include_tasks: tasks/run_role_with_clear_facts.yml
vars:
__sr_public: true
nbde_server_rotate_keys: false
nbde_server_fetch_keys: true
nbde_server_deploy_keys: false
Expand Down
11 changes: 5 additions & 6 deletions tests/tests_fetch_keys_deploy_set.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@
nbde_server_keys_dir: "{{ __tmpdir.path }}"

- name: Ensure we have keys
include_role:
name: linux-system-roles.nbde_server
public: true
include_tasks: tasks/run_role_with_clear_facts.yml
vars:
__sr_public: true

- name: Gather common keys, from the first host in the inventory
run_once: true
Expand All @@ -45,10 +45,9 @@
register: nbde_server_host_common_keys

- name: Run with nbde_server_deploy_keys set to check the common keys
include_role:
name: linux-system-roles.nbde_server
public: true
include_tasks: tasks/run_role_with_clear_facts.yml
vars:
__sr_public: true
nbde_server_rotate_keys: false
nbde_server_fetch_keys: true
nbde_server_deploy_keys: true
Expand Down
1 change: 0 additions & 1 deletion tests/tests_include_vars_from_parent.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
---
- name: Test role include variable override
hosts: all
gather_facts: true
tasks:
- name: Create var file in caller that can override the one in called role
delegate_to: localhost
Expand Down
25 changes: 10 additions & 15 deletions tests/tests_nbde_server_keys_dir.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,9 @@
- name: Test 1 - only nbde_server_fetch_keys set
block:
- name: With nbde_server_fetch_keys
include_role:
name: linux-system-roles.nbde_server
public: true
include_tasks: tasks/run_role_with_clear_facts.yml
vars:
__sr_public: true
nbde_server_fetch_keys: true

- name: Unreachable task
Expand All @@ -32,10 +31,9 @@
- name: Test 2 - only nbde_server_deploy_keys set
block:
- name: With nbde_server_deploy_keys
include_role:
name: linux-system-roles.nbde_server
public: true
include_tasks: tasks/run_role_with_clear_facts.yml
vars:
__sr_public: true
nbde_server_deploy_keys: true

- name: Unreachable task
Expand All @@ -55,10 +53,9 @@
- name: Test 3 - nbde_server_fetch_keys and nbde_server_deploy_keys set
block:
- name: With nbde_server_fetch_keys and deploy keys
include_role:
name: linux-system-roles.nbde_server
public: true
include_tasks: tasks/run_role_with_clear_facts.yml
vars:
__sr_public: true
nbde_server_fetch_keys: true
nbde_server_deploy_keys: true

Expand All @@ -79,10 +76,9 @@
- name: Test 4 - nbde_server_keys_dir is absolute path
block:
- name: Directory starting with ./
include_role:
name: linux-system-roles.nbde_server
public: true
include_tasks: tasks/run_role_with_clear_facts.yml
vars:
__sr_public: true
nbde_server_fetch_keys: true
nbde_server_keys_dir: ./foobar

Expand All @@ -103,10 +99,9 @@
- name: Test 5 - nbde_server_keys_dir is absolute path
block:
- name: Directory without leading ./
include_role:
name: linux-system-roles.nbde_server
public: true
include_tasks: tasks/run_role_with_clear_facts.yml
vars:
__sr_public: true
nbde_server_fetch_keys: true
nbde_server_keys_dir: foobar

Expand Down
16 changes: 7 additions & 9 deletions tests/tests_nbde_server_rotate_keys.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@
- name: Run tests
block:
- name: Ensure we have keys
include_role:
name: linux-system-roles.nbde_server
public: true
include_tasks: tasks/run_role_with_clear_facts.yml
vars:
__sr_public: true

- name: Gather keys
find:
Expand All @@ -26,10 +26,9 @@
register: nbde_server_keys

- name: Run with nbde_server_rotate_keys not set to check keys
include_role:
name: linux-system-roles.nbde_server
public: true
include_tasks: tasks/run_role_with_clear_facts.yml
vars:
__sr_public: true
nbde_server_rotate_keys: false

- name: Gather keys after running with nbde_server_rotate_keys not set
Expand All @@ -48,10 +47,9 @@
that: nbde_server_keys.files == nbde_server_rotate_not_set.files

- name: Run with nbde_server_rotate_keys set to check keys
include_role:
name: linux-system-roles.nbde_server
public: true
include_tasks: tasks/run_role_with_clear_facts.yml
vars:
__sr_public: true
nbde_server_rotate_keys: true

- name: Gather keys after running with nbde_server_rotate_keys set
Expand Down
16 changes: 7 additions & 9 deletions tests/tests_nbde_server_service_state.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@
- name: Run tests
block:
- name: Accepting connections without specifying state
include_role:
name: linux-system-roles.nbde_server
public: true
include_tasks: tasks/run_role_with_clear_facts.yml
vars:
__sr_public: true

- name: Gather state of services
service:
Expand All @@ -29,10 +29,9 @@
loop: "{{ nbde_server_state.results }}"

- name: Not accepting connections specifying state stopped
include_role:
name: linux-system-roles.nbde_server
public: true
include_tasks: tasks/run_role_with_clear_facts.yml
vars:
__sr_public: true
nbde_server_service_state: stopped

- name: Gather state of services
Expand All @@ -50,10 +49,9 @@
loop: "{{ nbde_server_state.results }}"

- name: Accepting connections specifying state started
include_role:
name: linux-system-roles.nbde_server
public: true
include_tasks: tasks/run_role_with_clear_facts.yml
vars:
__sr_public: true
nbde_server_service_state: started

- name: Gather state of services
Expand Down
13 changes: 5 additions & 8 deletions tests/tests_share_system_dir.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
Ensure that the role can share tangd.socket.d directory with other
files
hosts: all
gather_facts: false
vars:
maxcon_conf: /etc/systemd/system/tangd.socket.d/override2.conf
tangd_dir_mode: "0775"
Expand All @@ -26,9 +25,9 @@
mode: "{{ tangd_file_mode }}"

- name: Run role
include_role:
name: linux-system-roles.nbde_server
public: true # only need this the first time to get private vars
include_tasks: tasks/run_role_with_clear_facts.yml
vars:
__sr_public: true # only need this the first time to get private vars

- name: Check tangd socket dir
stat:
Expand All @@ -49,8 +48,7 @@
that: not __nbde_server_custom_dir is changed

- name: Run the role with a custom port
include_role:
name: linux-system-roles.nbde_server
include_tasks: tasks/run_role_with_clear_facts.yml
vars:
nbde_server_port: 7500
nbde_server_firewall_zone: public
Expand Down Expand Up @@ -87,8 +85,7 @@
state: absent

- name: Run the role with default port
include_role:
name: linux-system-roles.nbde_server
include_tasks: tasks/run_role_with_clear_facts.yml

- name: Check tangd socket dir is absent
stat:
Expand Down
11 changes: 5 additions & 6 deletions tests/tests_tangd_custom_port.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@
- name: Run tests
block:
- name: Install with custom port and firewall zone
include_role:
name: linux-system-roles.nbde_server
public: true
include_tasks: tasks/run_role_with_clear_facts.yml
vars:
__sr_public: true
when: not __bootc_validation | d(false)

# role does not run during bootc QEMU validation, thus some vars are undefined
Expand Down Expand Up @@ -80,10 +80,9 @@


- name: Install with default port and firewall zone
include_role:
name: linux-system-roles.nbde_server
public: true
include_tasks: tasks/run_role_with_clear_facts.yml
vars:
__sr_public: true
nbde_server_port: 80
nbde_server_firewall_zone: public
nbde_server_manage_firewall: true
Expand Down
Loading