I can not gets past the initial set up

No mater what I do I can not get past the initial set up. This is the error I got right at the start:

Houston, we’ve had a problem.

Exception while running command([’/’, ‘u’, ‘s’, ‘r’, ‘/’, ‘b’, ‘i’, ‘n’, ‘/’, ‘h’, ‘o’, ‘s’, ‘t’, ‘i’, ‘d’]): [Errno 13] Permission denied

        Traceback (most recent call last):

File “/opt/rockstor/src/rockstor/rest_framework_custom/generic_view.py”, line 40, in _handle_exception
yield
File “/opt/rockstor/src/rockstor/storageadmin/views/appliances.py”, line 114, in post
appliance = Appliance(uuid=hostid(), ip=ip,
File “/opt/rockstor/src/rockstor/system/osi.py”, line 1088, in hostid
return ‘%s-%s’ % (run_command(HOSTID)[0][0], str(uuid.uuid4()))
File “/opt/rockstor/src/rockstor/system/osi.py”, line 90, in run_command
raise Exception(msg)
Exception: Exception while running command([’/’, ‘u’, ‘s’, ‘r’, ‘/’, ‘b’, ‘i’, ‘n’, ‘/’, ‘h’, ‘o’, ‘s’, ‘t’, ‘i’, ‘d’]): [Errno 13] Permission denied

1 Like

I am getting the same thing

I tried to reinstall and got the same error. If click the “x” on the error and try to resubmit it says the user has been created. Tried logging in and out on the web ui with no luck. A blank screen is always showed with a url of ipaddress/#setup. No links change anything.

Also tried rebooting as well.

Edit

From rockstor.log when I try to reload the webpage.

[14/Aug/2016 16:32:06] DEBUG [storageadmin.util:48] Current Rockstor version: 3.8-14 [14/Aug/2016 16:32:09] ERROR [storageadmin.util:47] exception: Appliance matching query does not exist. Traceback (most recent call last): File "/opt/rockstor/src/rockstor/rest_framework_custom/generic_view.py", line 40, in _handle_exception yield File "/opt/rockstor/src/rockstor/storageadmin/views/appliances.py", line 42, in get_queryset self._update_hostname() File "/opt/rockstor/eggs/Django-1.6.11-py2.7.egg/django/db/transaction.py", line 371, in inner return func(*args, **kwargs) File "/opt/rockstor/src/rockstor/storageadmin/views/appliances.py", line 48, in _update_hostname a = Appliance.objects.get(current_appliance=True) File "/opt/rockstor/eggs/Django-1.6.11-py2.7.egg/django/db/models/manager.py", line 151, in get return self.get_queryset().get(*args, **kwargs) File "/opt/rockstor/eggs/Django-1.6.11-py2.7.egg/django/db/models/query.py", line 310, in get self.model._meta.object_name) DoesNotExist: Appliance matching query does not exist. [14/Aug/2016 16:32:09] DEBUG [storageadmin.util:48] Current Rockstor version: 3.8-14

Also seeing errors in the console in Chrome for the webpage.

storageadmin.js:8318 Uncaught RangeError: Maximum call stack size exceededinitialize @ storageadmin.js:8318initialize @ storageadmin.js:8318initialize @ storageadmin.js:8318initialize @ storageadmin.js:8318initialize @ storageadmin.js:8318initialize @ storageadmin.js:8318initialize @ storageadmin.js:8318initialize @ storageadmin.js:8318initialize @ storageadmin.js:8318initialize @ storageadmin.js:8318 jquery-1.9.1.min.js:5 GET https://192.168.1.130/api/appliances?page=1&format=json&page_size=15&count= 500 (INTERNAL SERVER ERROR)

1 Like

Same here, fresh install, tried twice and got the same error twice.

1 Like

Found the problem/solution. For whatever reason the portion of /opt/rockstor/src/rockstor/system/osi.py at the end that tried to get a system UUID dies if there is not one set at “/sys/class/dmi/id/product_uuid”, instead of getting it from hostid as intended, this seems to break the rest of the setup process.

HOSTID = '/usr/bin/hostid’
def hostid():
""“Get the system’s uuid from /sys/class/dmi/id/product_uuid. If the file
doesn’t exist for any reason, generate a uuid like we used to prior to this
change.
”"“
try:
with open(”/sys/class/dmi/id/product_uuid") as fo:
return fo.readline().strip()
except:
return ‘%s-%s’ % (run_command(HOSTID)[0][0], str(uuid.uuid4()))

Fix for me was to set the system UUID value in the DMItable of my BIOS. For supermicro boards that is dmicfg.exe available here: ftp://ftp.supermicro.com/utility/DMI/AWARD/ (needs a DOS bootable USB/CD). I just set it to an arbitrary number and then re-installed. Permanent fix is for someone that knows python to figure out why that doesn’t work.

4 Likes

@fulanodoe Nice catch.

I have just created a new GitHub issue quoting your findings. It may well be a simple fix and python is fairly accessibly so do please consider having a go and submitting a pull request if you fancy.
Thanks also to @cool and @japellerano for bringing this issue to the forum.

Hopefully someone can now take a look at quite why the fail over mechanism isn’t kicking in as intended.

1 Like

I’m right now trying install rockstor on some acient gen6 DL180 - I get the same issue - not able to get pass initial setup.

Is there a way that I can quikly jump over this issue to finish install and then when fix comes up (or there is a need to come up with the fix I can use spare of those I’ve got a few kicking about here)

@Tomasz_Kusmierz
Have you tried @fulanodoe 's work around in the following forum post earlier in this thread:

ie finding out how to set the product_uuid on your systems.

Not what you asked for but if you could find the equivalent for your machines it would circumvent the current failure on Rockstor’s part.

Sorry but I can’t look into this myself right now however the code in question is

hostid() in /opt/rockstor/src/rockstor/system/osi.py

Nice find of the day:
Never had to care about it (always getting a good appliance uuid), but on a virtual env (I’m on Proxmox) hostid & python uuid.uuid4() return different vals after every reboot

Forcing uuid on VM required, pls remember that!

http://www.kozeniauskas.com/itblog/2011/01/23/no-uuid-or-serial-number-on-hp-server/

This might work. I intended to learn python/fix it but have been busy at work and with other stuff.

1 Like

I found a work around - essentially you need to set any of server strings (like name) in BIOS and then this will result in mobo returning a uuid when asked (can make a pictures if someone wishes)

1 Like

@Tomasz_Kusmierz Well done and thanks for sharing.

That would be great. Cheers.

Just remind me on Friday, On Thursday we’ve got a very important business meeting so till then “all hands on deck”

@Tomasz_Kusmierz I’ll assume the Thursday meeting went as well as could be expected and that the deck was well handed. :slight_smile:.

Any pics you can provide may well help with explaining your work around to those less familiar with such things.

Cheers.

Sorry for crap quality, best thing I could find on quick :frowning:

So, straight after entering BIOS on DL180 gen 6 (or SE326M1 variant) sequence is that:

1 Like

@Tomasz_Kusmierz Pics are great, thanks. This way we can point people here and they are away. We could also add these pics and the @fulanodoe provided link and findings to the official docs.

I’ve created an issue to address this over at the rockstor-doc repo:

I just downloaded the iso 3.18.15 and installed it in a vmplayer VM to see how this works and kick its tires, so to speak. after the initial install and setup page, get this error -

Is this the same bug? if so, how to I work around? This is a VM… as I said, just trying this out.

Houston, we’ve had a problem.

Error running a command. cmd = [’/sbin/btrfs’, ‘filesystem’, ‘show’, ‘/dev/disk/by-id/sda3’]. rc = 1. stdout = [’’]. stderr = [’’]

        Traceback (most recent call last):

File “/opt/rockstor/src/rockstor/rest_framework_custom/generic_view.py”, line 40, in _handle_exception
yield
File “/opt/rockstor/src/rockstor/storageadmin/views/disk.py”, line 272, in post
return self._update_disk_state()
File “/opt/rockstor/eggs/Django-1.6.11-py2.7.egg/django/db/transaction.py”, line 371, in inner
return func(*args, **kwargs)
File “/opt/rockstor/src/rockstor/storageadmin/views/disk.py”, line 218, in _update_disk_state
p.uuid = btrfs_uuid(dob.name)
File “/opt/rockstor/src/rockstor/fs/btrfs.py”, line 919, in btrfs_uuid
[BTRFS, ‘filesystem’, ‘show’, ‘/dev/disk/by-id/%s’ % disk])
File “/opt/rockstor/src/rockstor/system/osi.py”, line 104, 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 = [’’]

i think this is the command it errored on:

[root@rockstor2 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        477M     0  477M   0% /dev
tmpfs           488M     0  488M   0% /dev/shm
tmpfs           488M  6.7M  481M   2% /run
tmpfs           488M     0  488M   0% /sys/fs/cgroup
/dev/sda3        18G  1.6G   15G  11% /
/dev/sda3        18G  1.6G   15G  11% /home
/dev/sda1       477M  104M  345M  24% /boot
tmpfs           488M  4.0K  488M   1% /tmp
tmpfs            98M     0   98M   0% /run/user/0
/dev/sda3        18G  1.6G   15G  11% /mnt2/rockstor_rockstor
[root@rockstor2 ~]# /sbin/btrfs filesystem show 
Label: 'rockstor_rockstor'  uuid: 019cdefe-4237-45a6-8baa-a3bc3fa91dc3
	Total devices 1 FS bytes used 1.48GiB
	devid    1 size 17.51GiB used 4.04GiB path /dev/sda3

[root@rockstor2 ~]# /sbin/btrfs filesystem show /dev/disk/by-id/sda3
[root@rockstor2 ~]#

@rockstar_user Welcome to Rockstor.

No this is not the same bug but an inelegance with dealing with non serial ascribed drives, especially on the system disk. If you assign a serial to all Rockstor disks from within your VMware layer, as would be the case with real drives or better behaved VM environments, you should be good to go:
Please also see the following forum thread which is the same issue:

There I have also referenced a shortcomming in our minimum spec doc entry:

Sorry for the inconvenience it’s just a requirement that drives have serials in Rockstor, normally you only get a red warning on the disk page for non system disks without a serial but I overlooked the consequences of no serial on the system drive.

Hope that helps.