File “/opt/rockstor/src/rockstor/rest_framework_custom/generic_view.py”, line 41, in _handle_exception
yield
File “/opt/rockstor/src/rockstor/storageadmin/views/disk.py”, line 377, in post
return self._update_disk_state()
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’, ‘’]
Did you select manual partitioning in the installer?
The root partition MUST be btrfs, not LVM for Rockstor to run correctly.
In this case, it looks like the root partition has not been created as a BTRFS volume.
- 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.