Skip to content

[Enabler] [zos_blockinfile] Test case is surfacing a data set value error but not impacting the test cases #629

@ddimatos

Description

@ddimatos

Enabler description

In this case here if you run the zos_blockinfile test case test_ds_block_insertafter_eof_with_backup you will notice in the verbose output a value error.

I ran this from my local machine as so:

make test host=ec33012a python=3.9 zoau=1.2.2 name=tests/functional/modules/test_zos_copy_func.py debug=true

not having put much effort into diagnosing it appears the value error results because BLOCKIF.TEST.BACKUP(BACKUP) is tested with DSTYPE = SEQ (note this is the only type). I believe some edits would have to be made to avoid this false positive error which happens at this line of code because there is an == "MEMBER" check at this line and the DS is of type SEQ.

MVS_BACKUP_DS = "BLOCKIF.TEST.BACKUP"
MVS_BACKUP_PDS = "BLOCKIF.TEST.BACKUP(BACKUP)"
BACKUP_OPTIONS = [None, MVS_BACKUP_DS, MVS_BACKUP_PDS]

Full error:

debug2: Received exit status from master 1
{'contacted': {'ec33017a.vmec.svl.ibm.com': {'_ansible_no_log': False,
                                             'changed': False,
                                             'exception': '  File '
                                                          '"/tmp/ansible_zos_data_set_payload_36efew1g/ansible_zos_data_set_payload.zip/ansible_collections/ibm/ibm_zos_core/plugins/modules/zos_data_set.py", '
                                                          'line 1213, in '
                                                          'run_module\n'
                                                          '  File '
                                                          '"/tmp/ansible_zos_data_set_payload_36efew1g/ansible_zos_data_set_payload.zip/ansible_collections/ibm/ibm_zos_core/plugins/modules/zos_data_set.py", '
                                                          'line 1094, in '
                                                          'parse_and_validate_args\n'
                                                          '  File '
                                                          '"/tmp/ansible_zos_data_set_payload_36efew1g/ansible_zos_data_set_payload.zip/ansible_collections/ibm/ibm_zos_core/plugins/module_utils/better_arg_parser.py", '
                                                          'line 812, in '
                                                          'parse_args\n'
                                                          '    updated_value = '
                                                          'handler.handle_arg()\n'
                                                          '  File '
                                                          '"/tmp/ansible_zos_data_set_payload_36efew1g/ansible_zos_data_set_payload.zip/ansible_collections/ibm/ibm_zos_core/plugins/module_utils/better_arg_parser.py", '
                                                          'line 164, in '
                                                          'handle_arg\n'
                                                          '    self.contents = '
                                                          'self._resolve_arg_type()\n'
                                                          '  File '
                                                          '"/tmp/ansible_zos_data_set_payload_36efew1g/ansible_zos_data_set_payload.zip/ansible_collections/ibm/ibm_zos_core/plugins/module_utils/better_arg_parser.py", '
                                                          'line 648, in '
                                                          '_resolve_arg_type\n'
                                                          '    return '
                                                          'self.type_handlers.get(self.arg_def.arg_type)(\n'
                                                          '  File '
                                                          '"/tmp/ansible_zos_data_set_payload_36efew1g/ansible_zos_data_set_payload.zip/ansible_collections/ibm/ibm_zos_core/plugins/module_utils/better_arg_parser.py", '
                                                          'line 215, in '
                                                          '_dict_type\n'
                                                          '    updated_value = '
                                                          'handler.handle_arg()\n'
                                                          '  File '
                                                          '"/tmp/ansible_zos_data_set_payload_36efew1g/ansible_zos_data_set_payload.zip/ansible_collections/ibm/ibm_zos_core/plugins/module_utils/better_arg_parser.py", '
                                                          'line 164, in '
                                                          'handle_arg\n'
                                                          '    self.contents = '
                                                          'self._resolve_arg_type()\n'
                                                          '  File '
                                                          '"/tmp/ansible_zos_data_set_payload_36efew1g/ansible_zos_data_set_payload.zip/ansible_collections/ibm/ibm_zos_core/plugins/module_utils/better_arg_parser.py", '
                                                          'line 646, in '
                                                          '_resolve_arg_type\n'
                                                          '    return '
                                                          'self._call_arg_function(self.arg_def.arg_type, '
                                                          'self.contents)\n'
                                                          '  File '
                                                          '"/tmp/ansible_zos_data_set_payload_36efew1g/ansible_zos_data_set_payload.zip/ansible_collections/ibm/ibm_zos_core/plugins/module_utils/better_arg_parser.py", '
                                                          'line 734, in '
                                                          '_call_arg_function\n'
                                                          '    return '
                                                          'arg_function(contents, '
                                                          'self.resolved_dependencies)\n'
                                                          '  File '
                                                          '"/tmp/ansible_zos_data_set_payload_36efew1g/ansible_zos_data_set_payload.zip/ansible_collections/ibm/ibm_zos_core/plugins/modules/zos_data_set.py", '
                                                          'line 703, in '
                                                          'data_set_name\n',
                                             'invocation': {'module_args': {'batch': None,
                                                                            'block_size': None,
                                                                            'directory_blocks': None,
                                                                            'key_length': None,
                                                                            'key_offset': None,
                                                                            'name': 'BLOCKIF.TEST.BACKUP(BACKUP)',
                                                                            'record_format': 'FB',
                                                                            'record_length': None,
                                                                            'replace': False,
                                                                            'sms_data_class': None,
                                                                            'sms_management_class': None,
                                                                            'sms_storage_class': None,
                                                                            'space_primary': 5,
                                                                            'space_secondary': 3,
                                                                            'space_type': 'M',
                                                                            'state': 'absent',
                                                                            'tmp_hlq': None,
                                                                            'type': 'PDS',
                                                                            'volumes': None}},
                                             'message': '',
                                             'msg': "ValueError('Value "
                                                    'BLOCKIF.TEST.BACKUP(BACKUP) '
                                                    'is invalid for data set '
                                                    "argument.')",
                                             'names': []}}}

Produced on 1.5.0-beta.1 but non blocking for release.

Ansible module

zos_blockinfile, zos_data_set

Metadata

Metadata

Assignees

Labels

EnablerEnabler taskPost plan issueAdded to a quarter after planning was completed, thus unplanned.

Type

No type

Projects

Status

✅ Done

Relationships

None yet

Development

No branches or pull requests

Issue actions