Skip to content
Draft
Show file tree
Hide file tree
Changes from 2 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
4 changes: 2 additions & 2 deletions dev-requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ pytest==7.2.0
pylint==2.5.3
shellcheck-py==0.9.0.5
rstcheck==6.1.2
yamllint==1.32.0
yamllint==1.34.0
voluptuous==0.13.1
ansible-lint==6.22.1
ansible-lint==25.1.3
pycodestyle==2.10.0
bandit==1.7.8
Original file line number Diff line number Diff line change
Expand Up @@ -19,63 +19,66 @@
tasks:
- name: Normal Start Stop
block:
- name: Initial normal
block:
- name: Create data sets
ansible.builtin.import_tasks: ../repeatable_tasks/data_sets.yml
vars:
data_set_state: initial
- name: Initial normal
block:
- name: Create data sets
ansible.builtin.import_tasks: ../repeatable_tasks/data_sets.yml
vars:
data_set_state: initial

- name: Start CICS
ansible.builtin.import_tasks: ../repeatable_tasks/start_cics.yml
- name: Start CICS
ansible.builtin.import_tasks: ../repeatable_tasks/start_cics.yml

- name: Stop CICS Region
ansible.builtin.import_tasks: ../repeatable_tasks/stop_region.yml
vars:
mode: normal
- name: Stop CICS Region
ansible.builtin.import_tasks: ../repeatable_tasks/stop_region.yml
vars:
mode: normal

always:
- name: Delete job
ansible.builtin.command:
cmd: "jcan P {{ start_region_applid }} {{ start_result.stdout }}"
ignore_errors: true
always:
- name: Delete job
ansible.builtin.command:
cmd: "jcan P {{ start_region_applid }} {{ start_result.stdout }}"
failed_when: false
changed_when: true

- name: Warm Immediate
block:
- name: Warm CICS data sets
ansible.builtin.import_tasks: ../repeatable_tasks/data_sets.yml
vars:
data_set_state: warm
- name: Warm Immediate
block:
- name: Warm CICS data sets
ansible.builtin.import_tasks: ../repeatable_tasks/data_sets.yml
vars:
data_set_state: warm

- name: Start CICS
ansible.builtin.import_tasks: ../repeatable_tasks/start_cics.yml
- name: Start CICS
ansible.builtin.import_tasks: ../repeatable_tasks/start_cics.yml

- name: Stop CICS Region
ansible.builtin.import_tasks: ../repeatable_tasks/stop_region.yml
vars:
mode: immediate
- name: Stop CICS Region
ansible.builtin.import_tasks: ../repeatable_tasks/stop_region.yml
vars:
mode: immediate

always:
- name: Delete job
ansible.builtin.command:
cmd: "jcan P {{ start_region_applid }} {{ start_result.stdout }}"
ignore_errors: true
always:
- name: Delete job
ansible.builtin.command:
cmd: "jcan P {{ start_region_applid }} {{ start_result.stdout }}"
failed_when: false
changed_when: true

- name: Normal Cancel
block:
- name: Start CICS
ansible.builtin.import_tasks: ../repeatable_tasks/start_cics.yml
- name: Normal Cancel
block:
- name: Start CICS
ansible.builtin.import_tasks: ../repeatable_tasks/start_cics.yml

- name: Stop CICS Region
ansible.builtin.import_tasks: ../repeatable_tasks/stop_region.yml
vars:
mode: cancel
- name: Stop CICS Region
ansible.builtin.import_tasks: ../repeatable_tasks/stop_region.yml
vars:
mode: cancel

always:
- name: Delete job
ansible.builtin.command:
cmd: "jcan P {{ start_region_applid }} {{ start_result.stdout }}"
ignore_errors: true
always:
- name: Delete job
ansible.builtin.command:
cmd: "jcan P {{ start_region_applid }} {{ start_result.stdout }}"
failed_when: false
changed_when: true

always:
- name: Delete data sets
Expand Down
113 changes: 58 additions & 55 deletions tests/integration/targets/cics_start_stop/playbooks/start_from_PDS.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,72 +21,75 @@
tasks:
- name: Normal Start Stop
block:
- name: Initial normal
block:
- name: Create PDS for region JCL data set member
ibm.ibm_zos_core.zos_data_set:
name: "{{ region_data_set_path }}.LIB"
state: present
type: PDS
register: result
retries: 3
until: result is not failed
- name: Initial normal
block:
- name: Create PDS for region JCL data set member
ibm.ibm_zos_core.zos_data_set:
name: "{{ region_data_set_path }}.LIB"
state: present
type: PDS
register: result
retries: 3
until: result is not failed

- name: Create data sets
ansible.builtin.import_tasks: ../repeatable_tasks/data_sets.yml
vars:
data_set_state: initial
- name: Create data sets
ansible.builtin.import_tasks: ../repeatable_tasks/data_sets.yml
vars:
data_set_state: initial

- name: Start CICS
ansible.builtin.import_tasks: ../repeatable_tasks/start_cics.yml
- name: Start CICS
ansible.builtin.import_tasks: ../repeatable_tasks/start_cics.yml

- name: Stop CICS Region
ansible.builtin.import_tasks: ../repeatable_tasks/stop_region.yml
vars:
mode: normal
- name: Stop CICS Region
ansible.builtin.import_tasks: ../repeatable_tasks/stop_region.yml
vars:
mode: normal

always:
- name: Delete job
ansible.builtin.command:
cmd: "jcan P {{ start_region_applid }} {{ start_result.stdout }}"
ignore_errors: true
always:
- name: Delete job
ansible.builtin.command:
cmd: "jcan P {{ start_region_applid }} {{ start_result.stdout }}"
failed_when: false
changed_when: true

- name: Warm Immediate
block:
- name: Warm CICS data sets
ansible.builtin.import_tasks: ../repeatable_tasks/data_sets.yml
vars:
data_set_state: warm
- name: Warm Immediate
block:
- name: Warm CICS data sets
ansible.builtin.import_tasks: ../repeatable_tasks/data_sets.yml
vars:
data_set_state: warm

- name: Start CICS
ansible.builtin.import_tasks: ../repeatable_tasks/start_cics.yml
- name: Start CICS
ansible.builtin.import_tasks: ../repeatable_tasks/start_cics.yml

- name: Stop CICS Region
ansible.builtin.import_tasks: ../repeatable_tasks/stop_region.yml
vars:
mode: immediate
- name: Stop CICS Region
ansible.builtin.import_tasks: ../repeatable_tasks/stop_region.yml
vars:
mode: immediate

always:
- name: Delete job
ansible.builtin.command:
cmd: "jcan P {{ start_region_applid }} {{ start_result.stdout }}"
ignore_errors: true
always:
- name: Delete job
ansible.builtin.command:
cmd: "jcan P {{ start_region_applid }} {{ start_result.stdout }}"
failed_when: false
changed_when: true

- name: Normal Cancel
block:
- name: Start CICS
ansible.builtin.import_tasks: ../repeatable_tasks/start_cics.yml
- name: Normal Cancel
block:
- name: Start CICS
ansible.builtin.import_tasks: ../repeatable_tasks/start_cics.yml

- name: Stop CICS Region
ansible.builtin.import_tasks: ../repeatable_tasks/stop_region.yml
vars:
mode: cancel
- name: Stop CICS Region
ansible.builtin.import_tasks: ../repeatable_tasks/stop_region.yml
vars:
mode: cancel

always:
- name: Delete job
ansible.builtin.command:
cmd: "jcan P {{ start_region_applid }} {{ start_result.stdout }}"
ignore_errors: true
always:
- name: Delete job
ansible.builtin.command:
cmd: "jcan P {{ start_region_applid }} {{ start_result.stdout }}"
failed_when: false
changed_when: true

always:
- name: Delete data sets
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,8 @@
- name: Delete job
ansible.builtin.command:
cmd: "jcan P {{ start_region_applid }} {{ start_result.stdout }}"
ignore_errors: true
failed_when: false
changed_when: true

- name: Stop job no timeout
block:
Expand Down Expand Up @@ -177,7 +178,8 @@
- name: Delete job
ansible.builtin.command:
cmd: "jcan C {{ start_region_applid }} {{ start_result.stdout }}"
ignore_errors: true
failed_when: false
changed_when: true

- name: Stop job already stopped
block:
Expand Down Expand Up @@ -230,7 +232,8 @@
job_id: "NONJOB"
job_name: "{{ start_region_applid }}"
register: stop_result
ignore_errors: true
failed_when: false
changed_when: true
- name: Assert CICS stop did not fail
ansible.builtin.assert:
that:
Expand All @@ -242,7 +245,8 @@
- name: Delete job
ansible.builtin.command:
cmd: "jcan P {{ start_region_applid }} {{ start_result.stdout }}"
ignore_errors: true
failed_when: false
changed_when: true
- name: Delete data sets
ansible.builtin.import_tasks: ../repeatable_tasks/data_sets.yml
vars:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
environment: "{{ environment_vars }}"

vars:
AUTOINSTALL_FAIL_MSG: "Shutdown command failed because the auto-install of the console was unsuccessful. See executions for full command output."
autoinstall_fail_msg: "Shutdown command failed because the auto-install of the console was unsuccessful. See executions for full command output."

module_defaults:
group/ibm.ibm_zos_cics.region:
Expand Down Expand Up @@ -38,7 +38,8 @@

- name: Stop CICS Region
ansible.builtin.import_tasks: ../repeatable_tasks/stop_region.yml
ignore_errors: true
failed_when: false
changed_when: true
vars:
mode: normal
expect_failure: true
Expand All @@ -47,14 +48,15 @@
ansible.builtin.assert:
that:
- stop_output.failed is true
- stop_output.msg == AUTOINSTALL_FAIL_MSG
- stop_output.msg == autoinstall_fail_msg
- stop_output.changed is false
- "'executions' in stop_output"
always:
- name: Cancel and Delete job
ansible.builtin.command:
cmd: "jcan P {{ start_region_applid }} {{ start_result.stdout }}"
ignore_errors: true
failed_when: false
changed_when: true
- name: Delete data sets
ansible.builtin.import_tasks: ../repeatable_tasks/data_sets.yml
vars:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
environment: "{{ environment_vars }}"

vars:
UNDEFINED_CONSOLE_MSG: "Shutdown command failed because the console used was not defined. See executions for full command output."
undefined_console_msg: "Shutdown command failed because the console used was not defined. See executions for full command output."

module_defaults:
group/ibm.ibm_zos_cics.region:
Expand Down Expand Up @@ -38,7 +38,7 @@

- name: Stop CICS Region
ansible.builtin.import_tasks: ../repeatable_tasks/stop_region.yml
ignore_errors: true
failed_when: false
vars:
mode: normal
expect_failure: true
Expand All @@ -47,14 +47,15 @@
ansible.builtin.assert:
that:
- stop_output.failed is true
- stop_output.msg == UNDEFINED_CONSOLE_MSG
- stop_output.msg == undefined_console_msg
- stop_output.changed is false
- "'executions' in stop_output"
always:
- name: Cancel and Delete job
ansible.builtin.command:
cmd: "jcan P {{ start_region_applid }} {{ start_result.stdout }}"
ignore_errors: true
failed_when: false
changed_when: true
- name: Delete data sets
ansible.builtin.import_tasks: ../repeatable_tasks/data_sets.yml
vars:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@
timeout: 300

- name: Set stop_output
ansible.builtin.set_fact: stop_output="{{ stop_result }}"
ansible.builtin.set_fact:
stop_output: "{{ stop_result }}"
when: "'skip_reason' not in stop_result"

- name: Issue shutdown command (with job_name)
Expand All @@ -36,7 +37,8 @@
timeout: 300

- name: Set stop_output
ansible.builtin.set_fact: stop_output="{{ stop_result }}"
ansible.builtin.set_fact:
stop_output: "{{ stop_result }}"
when: stop_result.changed

- name: Issue shutdown command (with job_id and job_name)
Expand All @@ -51,7 +53,8 @@
timeout: 300

- name: Set stop_output
ansible.builtin.set_fact: stop_output="{{ stop_result }}"
ansible.builtin.set_fact:
stop_output: l"{{ stop_result }}"
when: stop_result.changed

always:
Expand Down