Title. After installing Rockstor for the first time, I get a blank webui after setting up the initial user.
@Gear_Shift Welcome to the Rockstor community.
My initial though on this is that you are running some some kind of noscript plugin in your browser. Rockstor, with it’s Django base, uses a lot of JavaScript to draw it’s user interface.
Could you say what browser and operating system you are running and if you have any script blocking plugins in play.
It may also be relevant what you are running Rocsktor on. I.e. does it meet the our
Minimum system requirements and what is the system drive, ie USB key, if so what model.
Hopefully this information should help forum members help you with the possible cause of this failure.
I’ve tried it on several different browsers and devices, with and without plugins. I’ve tried it on Chrome, Firefox, and Internet Explorer on an android device, a Windows Server 2016 device, and a Windows 10 device.
I’ve attempted installing it on a regular hard disk, a raid array, and at the moment it’s running on a VM inside of ESXi. All have exhibited the same issue.
I’m having this same issue with rockstor running under ESXI 7. Seems to be unrelated to this issue https://github.com/rockstor/rockstor-core/issues/1424 as there is a uuid defined. Happy to try and debug if you throw me some pointers
@s8wc3 Welcome to the Rockstor community.
Agreed. That issue shouldn’t result in a blank Web-UI but I’d have to take a better look to be sure. There have been some improvements since our v3 (CentOS) but not to the fail-over-if-blank issue: from memory anyway.
Could you confirm if you are actually using our newer installer. I.e. one “Built on openSUSE”.
Are you also certain that you are using the https address given, and not an http one. We only have the Web-UI available via https (self signed cert thought).
Hope that helps.
Hi Philip, the ISO I used to install is titled “Rockstor-Leap15.3-generic.x86_64-4.1.0-0.install”, that should be the latest from the top of the download page as of right now. Definitely using https - my browser won’t even let me go to http. Just reinstalled fresh because last time I ran updates in the console before doing anything, but no change. Seem to be having an issue creating the user initially, that page appears to load OK but pressing submit just brings up a spinner and then doesn’t continue. It does actually create the user, though, because if I press it again it says there’s already a user with that name, it’s just not moving on past that point on the front end (this happened last time too, just forgot).
@s8wc3 OK so that is the latest download.
The following comment helps:
I was initially under the impression that you were not even getting the initial setup screen. From your explicit description I think this is a disk serial issue. If you manually edit the url after the initial setup screen to read only the ip address (i.e. remove the remaining url that is auto added) I think you will see the Web-UI just fine. But the problem here is likely that you have disks without serial. This may be a limitation of your hypervisor and if this is not possible then you will not be able to run Rockstor in this Hypervisor until it can given drives a unique serial. See:
https://rockstor.com/docs/installation/quickstart.html#minimum-system-requirements
All drives must have unique serial numbers (real drives do); not all VM systems default to, or are capable of this. See: VMware advisory.
Pretty sure ESXi is alone in not being able to emulate ‘real’ drives. No ‘real’ drive/disk is without a unique serial, we absolutely depend on this as per:
subtitle: Subtitle: Rockstor’s Serial Obsession
As you see in the quote there is a ‘thing’ one can do for VMware to make this so. If you can find the same for your chosen Hypervisor then you should be good. Otherwise it’s incompatible with Rockstor.
Once you manually edit the url and navigate to the disks page you will see the indicator of this if my guess is correct. We have a bug where we fail this initial Web-UI ‘show’ in incompatible VM hosts/config. KVM defaults to no serial for virtio disks but has the options to assign a serial to each device. Also note the following from that same doc section:
Rockstor is a complete Linux distribution “Built on openSUSE” intended for direct hardware installation. Virtual Machine installs can work but are not recommended without full drive or preferably whole drive controller pass-through. Hardware raid underneath btrfs, Rockstor’s chosen filesystem, will weaken data integrity assurances. Raid controllers, if used, should thus be configured to HBA / JBOD operation.
Hope that helps and let us know if my guess is correct: i.e. manually editing the url post setup screen to be top-level, that is ip only, get you the Web-UI. Although still disfunctional for the given disk properties not meeting the minimum system requirements. Rockstor tracks disks, and uses their serial fro this. Without serial udev, and consequently Rockstor, cannot track them.
Thanks Philip. I added disks.EnableUUID = true to my VM options and I can see in smartctl my virtual disks have serial numbers.
Unfortunately no dice on the Web UI still, manually going to the bare IP just redirects me to a blank /#setup. Same if I try to go to /#disks, just redirects back. I reinstalled again and paid attention to the url. The initial page I see is /#login which shows correctly but doesn’t work as intended (creates the user but doesn’t provide any success feedback/move on to another page). Once I refresh I then get stuck at a blank /#setup page.
@s8wc3 Hello again.
Re:
Unfortunately that is from smartctl which has it’s own way to get serials from devices. Promising though.
After this change and a reboot do the devices in question have udev recognition in the form of by-id names?
ls -la /dev/disk/by-id/
Those are what we required. If udev generates those names then we are in business.
Try something like (with your servers ip):
https://192.168.2.148/home
or
https://192.168.2.148/home#disks
Again ensure the https (not http)
Hope that helps.
@s8wc3 Hello again.
Re:
Even after having entered the admin user. Note that one must not have previously created that user and it must not be the root user that is used/requested in that first setup screen.
I’m not really sure what’s happening here actually. Do you follow the how-to exactly during the install as there is very little to actually go wrong on this front.
On the plus side, your by-id names look to be OK. Have you tried a re-install since you’ve added the disk uuid fix/config to the VM.
Hope that helps.
Once I create a user and refresh, I don’t get any form of login page, even after rebooting the server. Usernames I’ve used are “admin”, “testuser”, “testuser2”. On this fresh install I tried to create another user on the /#login page (since it gets stuck there anyway) just to see what would happen and got this error
Hmmm… it doesn’t even know what’s wrong itself. But even the second user I made has a folder in /home so it actually did work. I did read this page Rockstor’s “Built on openSUSE” installer — Rockstor documentation this time, but there really isn’t a lot of room to deviate, the install process is pretty slick and it’s exactly what I was doing beforehand, down to the hostname and username. I even tried choosing different locale settings this time to see what happens (nothing). I was able to find the location of the logfiles (/opt/rockstor/var/log) and there is something interesting in rockstor.log that gets appended every time I refresh the webgui, “Appliance matching query does not exist” exception. Maybe this can shed some light on things?
[27/Feb/2022 12:13:39] ERROR [storageadmin.util:45] Exception: Appliance matching query does not exist.
Traceback (most recent call last):
File “/opt/rockstor/src/rockstor/rest_framework_custom/generic_view.py”, line 41, 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.8.16-py2.7.egg/django/utils/decorators.py”, line 145, 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.8.16-py2.7.egg/django/db/models/manager.py”, line 127, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File “/opt/rockstor/eggs/Django-1.8.16-py2.7.egg/django/db/models/query.py”, line 334, in get
self.model._meta.object_name
DoesNotExist: Appliance matching query does not exist.
An archive of all the logs in that directory is here: Deleted