ibm_zos_core
ibm_zos_core copied to clipboard
[Enhancement] [zos_mvs_raw] Implement `max_rc` option
There may be some scenarios where a non-zero return code is still considered ok/successful by the playbook user.
Add a module option max_rc
similar to zos_job_submit.
A number of re-creates:
- The program
idcams
requiresauth: True
, not having that enabled raises a non-zero return code. While not really a scenario a typical user would consider successful, it at least returns anrc=8
and may be useful for testing.
- name: get return code 8
zos_mvs_raw:
program_name: idcams
auth: no
dds:
- dd_output:
dd_name: sysprint
return_content:
type: text
- dd_input:
dd_name: sysin
content: " DELETE THIS.DATASET.DOES.NOT.EXIST"
result:
TASK [get return code 8] *****************************************************************************************************************************
Friday 12 April 2024 16:17:01 -0700 (0:00:00.012) 0:00:00.017 **********
fatal: [zvm]: FAILED! => {"backups": [], "changed": false, "dd_names": [], "msg": "ZOSRawError('An error occurred during execution of z/OS program idcams. BGYSC0236E Unable to call authorized program idcams from mvscmd. Use mvscmdauth.\\n')", "ret_code": {"code": 8}}
Consequently, setting auth: True
in the above playbook task does NOT yield an error as I initially expected:
- name: get return code 8
zos_mvs_raw:
program_name: idcams
auth: yes
dds:
- dd_output:
dd_name: sysprint
return_content:
type: text
- dd_input:
dd_name: sysin
content: " DELETE THIS.DATASET.DOES.NOT.EXIST"
result (-v
):
TASK [get return code 8] *****************************************************************************************************************************
Friday 12 April 2024 16:20:30 -0700 (0:00:00.011) 0:00:00.016 **********
changed: [zvm] => {"backups": [], "changed": true, "dd_names": [{"byte_count": 480, "content": ["\fIDCAMS SYSTEM SERVICES TIME: 19:20:33 04/12/24 PAGE 1", "", " ", " DELETE THIS.DATASET.DOES.NOT.EXIST", "", "IDC3012I ENTRY THIS.DATASET.DOES.NOT.EXIST NOT FOUND", "IDC3009I ** VSAM CATALOG RETURN CODE IS 8 - REASON CODE IS IGG0CLEG-42", "IDC0551I ** ENTRY THIS.DATASET.DOES.NOT.EXIST NOT DELETED", "", "IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 8", "", " ", "", "IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 8", ""], "dd_name": "sysprint", "name": "KETAN.P7304350.T0657718.C0000000", "record_count": 15}], "ret_code": {"code": 8}}
PLAY RECAP *******************************************************************************************************************************************
zvm : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
This item may relate to:
- #1358
- #1359