Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blivet aborted due to unable to handle Veritas DMP devices. #1225

Open
lonicerae opened this issue Apr 17, 2024 · 0 comments
Open

Blivet aborted due to unable to handle Veritas DMP devices. #1225

lonicerae opened this issue Apr 17, 2024 · 0 comments

Comments

@lonicerae
Copy link

Hello,

The VERITAS Storage Foundation creates its raw and block devices for the nodes in the directories /dev/vx/rdmp and /dev/vx/dmp, however it does not create any objects VxDMP* in the /dev directory.

$ cat proc/partitions  | grep Vx
 201       16   1000000 VxDMP2
 201       17     500000 VxDMP2p1
 201       18     500000 VxDMP2p2
...

# pwd
/dev/vx/dmp

# ls
... sda sda1 sda2 ...

# pwd
/dev

# find /dev -name VxDMP*
==>NULL

Due to this design, the following call trace happend when getting devices information:

Traceback (most recent call last):
  File "antest.py", line 104, in <module>
    _ansiballz_main()
  File "antest.py", line 96, in _ansiballz_main
    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
  File "antest.py", line 42, in invoke_module
    runpy.run_module(mod_name='ansible.modules.blivet', init_globals=None, run_name='__main__', alter_sys=True)
  File "/usr/lib64/python3.6/runpy.py", line 205, in run_module
    return _run_module_code(code, init_globals, run_name, mod_spec)
  File "/usr/lib64/python3.6/runpy.py", line 96, in _run_module_code
    mod_name, mod_spec, pkg_name, script_name)
  File "/usr/lib64/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmp/ansible_blivet_payload_4mba_3tn/ansible_blivet_payload.zip/ansible/modules/blivet.py", line 1717, in <module>
  File "/tmp/ansible_blivet_payload_4mba_3tn/ansible_blivet_payload.zip/ansible/modules/blivet.py", line 1713, in main
  File "/tmp/ansible_blivet_payload_4mba_3tn/ansible_blivet_payload.zip/ansible/modules/blivet.py", line 1625, in run_module
  File "/usr/lib/python3.6/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/blivet/blivet.py", line 140, in reset
    self.devicetree.populate(cleanup_only=cleanup_only)
  File "/usr/lib/python3.6/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/blivet/populator/populator.py", line 420, in populate
    self._populate()
  File "/usr/lib/python3.6/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/blivet/populator/populator.py", line 465, in _populate
    self.handle_device(dev)
  File "/usr/lib/python3.6/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/blivet/populator/populator.py", line 271, in handle_device
    device = helper_class(self, info).run()
  File "/usr/lib/python3.6/site-packages/blivet/populator/helpers/partition.py", line 106, in run
    exists=True, parents=[disk])
  File "/usr/lib/python3.6/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/blivet/devices/partition.py", line 194, in __init__
    self._parted_partition = self.disk.format.parted_disk.getPartitionByPath(self.path)
AttributeError: 'NoneType' object has no attribute 'getPartitionByPath'

In fact the above issue could be easily reproduced if I intentionally renamed my /dev/sdb to /dev/sdb-bak on a system without Veritas DMP installed, so that we could simulate the device /dev/sdb could not be seen when I was trying to run the ansible script to detect the devices.

For more details about the VxDMP, refer to:

Best regards,
Flos

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants