Installed supervisord, inadvertantly killed Rockstor UI

It appears that Rockstor uses a customized supervisord python base script (/opt/rockstor/bin/supervisord)

In playing around with running up a new docker container for a (hopefully!) up-and-coming new Rockon, I appear to have broken this by manually installing supervisor from yum.
At a guess, I’ve overwritten certain python libs with newer versions incompatible with Rockstor’s changes?

I’m currently looking at symlinking the new supervisord start script to /opt/rockstor/bin/supervisord, as well as supervisorctl, however I’m not sure what I’ll be breaking in this process.

I’ve managed to get the Rockstor UI started by altering the Rockstor systemd unit to use /usr/bin/supervisord, however errors crop up elsewhere.

Currently, I’m receiving errors when attempting to install any Rockons, however I assume that this will be true for anything that Rockstor attempts to use supervisorctl for.

The error I receive is as follows:

        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/rockon_id.py", line 84, in post
    if (rc == 1):
UnboundLocalError: local variable 'rc' referenced before assignment

Alternatively, I could force a re-install of the Rockstor package, if you think it’ll help. However, will this blow away any of my existing settings from Rockstor’s POV? (Pools, shares, services, Custom Rockon JSON, etc)

Update: supervisord/supervisorctl scripts in Rockstor bin appear to be wrappers that import python ‘eggs’.
One of those eggs is an outdated supervisor 3.0b1 (My system now has current 3.1.4)

Commenting out the egg appears to resolve the problem, I’ll let you know if anything else crops up as a result.

1 Like