I get an error message when trying to update my Rock-ons (LMS, Plex, HTTP-HTTPS redirect, Tautulli) and I don’t think any updates are applied. Grateful for any advice to resolve.
Detailed step by step instructions to reproduce the problem
Using the Update button on the Rock-On GUI page. Rockstor updates have all been applied and its showing 4.1.0-0.
I have uninstalled and re-installed Plex because co-incidentally it lost connection to the Plex library - the re-install fixed that problem.
Error Traceback provided on the Web-UI
Traceback (most recent call last):
File "/opt/rockstor/src/rockstor/storageadmin/views/rockon.py", line 132, in post
self._create_update_meta(r, rockons[r])
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/rockon.py", line 310, in _create_update_meta
handle_exception(Exception(e_msg), self.request)
File "/opt/rockstor/src/rockstor/storageadmin/util.py", line 48, in handle_exception
status_code=status_code, detail=e_msg, trace=traceback.format_exc()
RockStorAPIException: ['Cannot add/remove volume definitions of the container (plex-linuxserver.io) as it belongs to an installed Rock-on (Plex). Uninstall it first and try again.', 'Traceback (most recent call last):\n File "/opt/rockstor/src/rockstor/storageadmin/views/rockon.py", line 132, in post\n self._create_update_meta(r, rockons[r])\n File "/opt/rockstor/eggs/Django-1.8.16-py2.7.egg/django/utils/decorators.py", line 145, in inner\n return func(*args, **kwargs)\n File "/opt/rockstor/src/rockstor/storageadmin/views/rockon.py", line 310, in _create_update_meta\n handle_exception(Exception(e_msg), self.request)\n File "/opt/rockstor/src/rockstor/storageadmin/util.py", line 48, in handle_exception\n status_code=status_code, detail=e_msg, trace=traceback.format_exc()\nRockStorAPIException: [\'Cannot add/remove volume definitions of the container (lms_latest) as it belongs to an installed Rock-on (Logitech Media Server - Latest Stable). Uninstall it first and try again.\', \'Traceback (most recent call last):\\n File "/opt/rockstor/eggs/gunicorn-19.7.1-py2.7.egg/gunicorn/workers/sync.py", line 68, in run_for_one\\n self.accept(listener)\\n File "/opt/rockstor/eggs/gunicorn-19.7.1-py2.7.egg/gunicorn/workers/sync.py", line 27, in accept\\n client, addr = listener.accept()\\n File "/usr/lib64/python2.7/socket.py", line 206, in accept\\n sock, addr = self._sock.accept()\\nerror: [Errno 11] Resource temporarily unavailable\\n\']\n']
@kingswindsor Welcome to the Rockstor community.
Re:
The update button is to update only the available definitions. It doesn’t update the installed rock-ons as such. That’s something we could make clearer in the Web-UI maybe. Your suggestions welcome here of course.
To update an individual Rock-on you have to uninstall it and re-install it. The the new docker image is pulled in. Some self update upon starting so a reboot or stop start of that Rock-on does the trick. We hope to add an update/reinstall-this-Rockon button in time.
The core of the error seems to be a mix-up of sorts on share assignment:
and
But you state:
We have seen a similar report of the Plex Rock-on doing this before actually.
@Flox are we maybe suffering for some upstream Plex rock-on changes or something here do you think. We have seen this exact issue reported elsewhere. We used to, long ago, have an older Plex Rock-on that caused issues when folks moved to our newer one. I’m wandering if we have something similar going on there as this is not the first report of this same Plex Rock-on complaint.
Thanks for the report. We definitely still have some robustness work to do on the Rock-on system as we still from time to time get reports similar or identical to this one. And we also still have recourse to use a command line uninstall script but in time as we keep chipping away at it things should improve as they have been doing, but these things always take longer than expected it seems.
See if @Flox has time to chip in on this one and if not you may just have to remove all rock-ons, turn off the Rock-on service change it to use a different share for it’s rock-ons-root, then turn it back on again and re-install your Rock-ons using the exact same config and data shares you have selected this time. That way they should all pick-up where there left off. It’s a brute force approach but a good one to know how to do just in case.
Hope that helps. And others may well chip in here so give it time before taking my brute force approach on this one.
@phillxnet Thanks for responding so quickly and comprehensively, it is much appreciated. I’m finding Rockstor really a very good, modern, data store for my media having tried various alternatives.
Thanks also for the clarification of what the Rock-ons update button does and how to update the Rock-ons.
To the question:
It is the first install. I have added discs to expand my ‘Media’ pool but I haven’t restored anything from an earlier install.
I believe it is set up as per the docs: in the ROOT pool I have Shares for Rock-ons, plex-config, lms-config and tautulli-config. Audio and Video shares are on the Media pool.
Grateful for any other hints or tips but if I need to I can uninstall/reinstall. As the applications are working there is no pressing need atm.
@kingswindsor Cheers, and glad your finding your way OK thus far.
Re:
With regard to this and:
You might want to re-consider that arrangement. The ROOT pool is best reserved for the system only. We nearly voided it’s use in the move from our CentOS based v3 to v4 “Built on openSUSE” but the ability to use the ROOT drive for such things is super useful for smaller home setups, even in the face of idealised seperation of concerns.
Why? Because if the system drive fails due to whatever you loose config/rock-on state and ease of restore/bare metal recovery. And given the system drive is currently non redundant (only a single disk) that’s a problem. Consider the nice compromise of putting only the Rock-ons-root share on the system drive. After all it’s entirely made up of the docker images which are by their nature throw-away. Their persistent state is almost always in their config volumes and data volumes. So pop these config and data volumes on the redundant data pool, or even on a separate pool of it’s own if you don’t want to spin up a large media pool for every docker event.
Just a thought and we maintained this ability to go-against good practice as it’s often, in non critical scenarios or smaller setups really handy to have this flexibility.
Thanks for the reply and sorry for the delay in responding. I understand the concern about resilience but I’m using Rockstor as a (great) media server and redundancy is a minor factor in my Rockstor setup because I have a separate (Backuppc, using rsync) daily backup of my data including Rockstor data files.
To make Rockstor easier to restore in the event of disk failures, are there any particular folders/files that I need to back up, even if they are in the ROOT pool? I’m currently backing up /mnt2/Video (my video files) and /mnt2/Audio (my audio files) but should I also backup the other folders within /mnt2/ which include ROOT, rock-ons, and the lms-config and plex-config files? The folder structure of Rockstor that results from the GUI configuration is not entirely clear to me.
George