Currently, I am trying out Rockstor in a VM on ESXi. I have not done a whole lot of configuration on it due to lack of time, and I want to get the AD sorted before I get too deep into this system.
I’ve gotten about as far as:
- Install rockstor from ISO (
Rockstor-3.9.1.iso
), which I think is the correct version (checksummed at the NAS it lives on, ESXi reads directly from NFS) - Turn on automatic updates and run a manual update
- Manually reboot because it usually bugs the automatic reboot at this point
- Make rockon share (lzo compression enabled)
- turn on rockons
- Set AD settings (RFC2307 enabled)
- Attempt to turn on AD service
…Which greets me with this error message:
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/smart_manager/views/active_directory.py", line 199, in post
smb_config = self._get_config(smbo)
File "/opt/rockstor/src/rockstor/smart_manager/views/base_service.py", line 40, in _get_config
return json.loads(service.config)
File "/usr/lib64/python2.7/json/__init__.py", line 338, in loads
return _default_decoder.decode(s)
File "/usr/lib64/python2.7/json/decoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
TypeError: expected string or buffer
I found the wiki page that said how the architecture was based on SSSD, which I’m somewhat familiar with, so I hopped on SSH to see if I could find out anything directly from realmd
:
[root@nas-taliyah ~]# realm join -v -U admin win.example.com
* Resolving: _ldap._tcp.win.example.com
* Performing LDAP DSE lookup on: x.x.x.x
* Successfully discovered: win.example.com
Password for admin: ********
* Couldn't find file: /usr/sbin/sssd
* Required files: /usr/sbin/oddjobd, /usr/libexec/oddjob/mkhomedir, /usr/sbin/sssd, /usr/bin/net
* Resolving required packages
! PackageKit not available: The name org.freedesktop.PackageKit was not provided by any .service files
! Necessary packages are not installed: oddjob, oddjob-mkhomedir, sssd, samba-common-tools
realm: Couldn't join realm: Necessary packages are not installed: oddjob, oddjob-mkhomedir, sssd, samba-common-tools
[root@nas-taliyah ~]#
Now, I could install all those packages (and I usually do when I’m configuring this on my own), but I would expect that a base install has the requisite dependencies already loaded by the time I can get to a UI screen that can trigger a realm join
.
Did I miss a “install required dependencies” button? For my homelab, AD/Kerberos is pretty much required since desktops and laptops have GPO drive mappings.
Further testing:
I took a snapshot of the VM and installed PackageKit, but the GUI is still not able to join the domain. Joining by hand, realmd
is able to use PackageKit to install the necessary dependencies and the join succeeds. At this point, the GUI does not reflect changes (not that I’d expect it to), but from the CLI, i can su
to an AD user with a password (root does allow the automatic su, so I went to my local admin account then an AD user).
Un-joining the domain via CLI then trying to re-join using the GUI fails with the original error.
Joining the domain via CLI then trying to turn on the Active Directory service also yields this error.