Error getting list of Rock-Ons?

When I enable the Rock-On service and then click “Update” on the Rock-On page to get the list of available apps I get:

      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.py”, line 480, in _get_available
response = requests.get(remote_root, timeout=10)
File “/usr/lib/python2.7/site-packages/requests/api.py”, line 76, in get
return request(‘get’, url, params=params, **kwargs)
File “/usr/lib/python2.7/site-packages/requests/api.py”, line 61, in request
return session.request(method=method, url=url, **kwargs)
File “/usr/lib/python2.7/site-packages/requests/sessions.py”, line 530, in request
resp = self.send(prep, **send_kwargs)
File “/usr/lib/python2.7/site-packages/requests/sessions.py”, line 643, in send
r = adapter.send(request, **kwargs)
File “/usr/lib/python2.7/site-packages/requests/adapters.py”, line 504, in send
raise ConnectTimeout(e, request=request)
ConnectTimeout: HTTPSConnectionPool(host=‘rockstor.com’, port=443): Max retries exceeded with url: /rockons/root.json (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7f0761a7a2d0>, ‘Connection to rockstor.com timed out. (connect timeout=10)’))

Also,
"(Error while processing remote metastore at (https://rockstor.com/rockons/root.json).). Lower level exception: (HTTPSConnectionPool(host=‘rockstor.com’, port=443): Max retries exceeded with url: /rockons/root.json (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7f0761a7a2d0>, ‘Connection to rockstor.com timed out. (connect timeout=10)’))). "

I should note, this is on my current version install, not my old and broken install

@MRC-MBU Hello again.

This could just be a blip in network access. That server looks to be up-and-running and I’ve had no warning from it, at least in this timeframe. The timeout of 10 seconds should be find also.

Plus from here I have:

wget https://rockstor.com/rockons/root.json
--2022-02-14 13:01:34--  https://rockstor.com/rockons/root.json
Resolving rockstor.com (rockstor.com)... 68.183.215.172
Connecting to rockstor.com (rockstor.com)|68.183.215.172|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3168 (3.1K) [application/json]
Saving to: ‘root.json’

root.json                                  100%[======================================================================================>]   3.09K  --.-KB/s    in 0s      

2022-02-14 13:01:34 (219 MB/s) - ‘root.json’ saved [3168/3168]

And a quick took at the logs of that server doesn’t show anything.

Have your retried or check your network allows this access. The above wget should do it.

The actual update first gets this file then every one of the ones indicated within it. But that’s still hardly anything and each file is tiny and so it’s far less than a typical page view. We do hope to enable server side compression now we have https in place and this should speed things up quite some. But we’re not there yet unfortunately.

Sorry to not be an any more help on this front. Let us know how you get on with this. I know you were recently playing with zypper proxie config in order to ‘get-out’ for zypper repos. Could it be you require a special config on your proxy server to allow this Rock-ons access?

Just a thought. And in this case you will required a proxy config on the proxy setup. But if that is simply not an option then you need to find the url required to ‘get-out’ and hard code it over the top of the one currently being used.

See: /opt/rockstor/src/rockstor/storageadmin/views/rockon.py
specifically the “url_root” in:

But that’s a hack, the proper way is to allow this system access to this location via the proxy server.
Note that you would have to hard code that url_root variable. The settings is currently draws from is build time not run time. We have long wanted to add proxy capabilities at our end but alas we have just had other priorities.

Hope that helps.

1 Like

well, the command [wget https://rockstor.com/rockons/root.json] works just fine but I still get the same error when I try to update the list of available Rock-Ons.

What else to try?

Ok, reading other posts…

It seems I don’t have a file/folder /opt/rockstor/rockons-metastore

I suspect this is relevant to my problem?

ok, created the folder rockons-metastore -
[mkdir -p /opt/rockstor/rockons-metastore]

put the root.json file in this folder:
[ wget https://rockstor.com/rockons/root.json]

And now I get -
[Unknown internal error doing a GET to /api/appliances?page=1&format=json&page_size=32000&count= ]

(Error while processing remote metastore at (https://rockstor.com/rockons/root.json).). Lower level exception: (HTTPSConnectionPool(host=‘rockstor.com’, port=443): Max retries exceeded with url: /rockons/root.json (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7f07624b2ad0>, ‘Connection to rockstor.com timed out. (connect timeout=10)’))).

        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.py”, line 480, in _get_available
response = requests.get(remote_root, timeout=10)
File “/usr/lib/python2.7/site-packages/requests/api.py”, line 76, in get
return request(‘get’, url, params=params, **kwargs)
File “/usr/lib/python2.7/site-packages/requests/api.py”, line 61, in request
return session.request(method=method, url=url, **kwargs)
File “/usr/lib/python2.7/site-packages/requests/sessions.py”, line 530, in request
resp = self.send(prep, **send_kwargs)
File “/usr/lib/python2.7/site-packages/requests/sessions.py”, line 643, in send
r = adapter.send(request, **kwargs)
File “/usr/lib/python2.7/site-packages/requests/adapters.py”, line 504, in send
raise ConnectTimeout(e, request=request)
ConnectTimeout: HTTPSConnectionPool(host=‘rockstor.com’, port=443): Max retries exceeded with url: /rockons/root.json (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7f07624b2ad0>, 'Connection to rockstor.com timed out.

So, is there a way to get the list from the root.json that I downloaded?

@MRC-MBU Hello again.

The following is all wrong I’m afraid.

You do not need this directory or any contents in it unless you are developing or hosting a local, likely custom Rock-on. You should undo these changes as they will interfer with the issue you are having which, as indicated by initial error and my comments, is likely network related.

For a canonical reference on that directory and it’s contents, which is not a root.json ever, see:
https://github.com/rockstor/rockon-registry/blob/master/README.md. That directory and it’s contents (custom rock-on definitions without an index (root.json file) are entirely optional and nothing to do with your issue. It will definatly confuse the diagnosis of your issue here.

So undo all that you have done on this directory creation and it’s contents and lets see the output of the wget I suggested to begin the diagnosis.

Hope that helps.

2 Likes