File “/opt/rockstor/src/rockstor/rest_framework_custom/generic_view.py”, line 41, in _handle_exception
File “/opt/rockstor/src/rockstor/storageadmin/views/disk.py”, line 377, in post
File “/opt/rockstor/eggs/Django-1.8.16-py2.7.egg/django/utils/decorators.py”, line 145, in inner
return func(*args, **kwargs)
File “/opt/rockstor/src/rockstor/storageadmin/views/disk.py”, line 322, in _update_disk_state
p.uuid = btrfs_uuid(dob.name)
File “/opt/rockstor/src/rockstor/fs/btrfs.py”, line 1055, in btrfs_uuid
[BTRFS, ‘filesystem’, ‘show’, ‘/dev/disk/by-id/%s’ % disk])
File “/opt/rockstor/src/rockstor/system/osi.py”, line 115, in run_command
raise CommandException(cmd, out, err, rc)
CommandException: Error running a command. cmd = /sbin/btrfs filesystem show /dev/disk/by-id/sda3. rc = 1. stdout = [’’]. stderr = [‘ERROR: not a valid btrfs filesystem: /dev/disk/by-id/sda3’, ‘’]
- All drives must have unique serial numbers (real drives do); not all VM [*] systems default to this
with the [*] referencing the following inline note:
“[*] For VMware ensure you have disk.EnableUUID=“true” in your .vmx file”
It’s because we depend on udev for our /dev/disk/by-id type names used throughout the UI and internally in the code and udev in turn depends on serial numbers in order to be able to create it’s by-id links. No serial - no by-id name.
I’m planning on improving the behaviour of the Rockstor UI in this scenario as this often comes up with VM installs; for data drives we give a nice message on the disk page indicating the serial requirement but for the system disk we fail over to this potential misleading programmatic error message.