ansible-collections / ibm_zos_core

Red Hat Ansible Certified Content for IBM Z
77 stars 44 forks source link

[Enhancement] [zos_mvs_raw] Implement `max_rc` option #1447

Open ketankelkar opened 5 months ago

ketankelkar commented 5 months ago

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:

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: