Hendik;

I'm assuming that s3.url.com round robin DNSed to the new interface on each 
host.

I don't see a problem with pointing the dashboard at one of the hosts directly. 
 Though there is no load balancing in that kind of setup.  I don't believe the 
dashboard represents a significant load.

If the load balancing is a concern to you, you could setup another round 
robined DNS, at (for instance): rgw.url.com, and direct the dashboard there.  
You could also use an IP address instead of a URL.

You mentioned setting static routes between the RGW hosts and the Ceph cluster; 
you might consider moving the Ceph (old) interfaces into the Ceph Public 
network subnet.  This would reduce the complexity of your overall setup, and 
possibly improve maintainability.  Just a thought.

Thank you,

Dominic L. Hilsbos, MBA 
Director – Information Technology 
Perform Air International Inc.
dhils...@performair.com 
www.PerformAir.com



-----Original Message-----
From: Hendrik Peyerl [mailto:hpey...@plusline.net] 
Sent: Friday, July 3, 2020 7:11 AM
To: Dominic Hilsbos
Cc: ceph-users@ceph.io
Subject: Re: [ceph-users] Object Gateway not working within the dashboard 
anymore after network change

Hello Dominic,

thank you for you quick help, I did change the settings but maybe to the wrong 
host:

The endpoint for the clients would be something like $bucketname.s3.url.com, i 
therefor set the api-host to s3.url.com (which worked before).
Now that I am writing this I realize that the dashboard hosts do not have 
access to that URL. As i have 2 RGW Server it would probably be a bad idea to 
just point it to one of them?

Thanks,

Hendrik

> On 3. Jul 2020, at 15:49, dhils...@performair.com wrote:
> 
> Hendrik;
> 
> Since the hostname / FQDN for use by Ceph for you RGW server(s) changed, did 
> you adjust the rgw-api-host setting for the dashboard?
> 
> The command would be:
> ceph dashboard set-rgw-api-host <fqdn>
> 
> Thank you,
> 
> Dominic L. Hilsbos, MBA 
> Director – Information Technology 
> Perform Air International Inc.
> dhils...@performair.com 
> www.PerformAir.com
> 
> 
> 
> -----Original Message-----
> From: Hendrik Peyerl [mailto:hpey...@plusline.net] 
> Sent: Friday, July 3, 2020 4:26 AM
> To: ceph-users@ceph.io
> Subject: [ceph-users] Object Gateway not working within the dashboard anymore 
> after network change
> 
> Hi all,
> 
> we are currently experiencing a problem with the Obejct Gateway part of the 
> dashboard not working anymore:
> 
> We had a working setup were the RGW servers only had 1 network interface with 
> an IP address that was reachable by the monitor servers and the dashboard was 
> working as expected. 
> After our initial tests everything was working great and we decided to add 
> another physical link to the RGW Servers for the traffic to the clients.
> With that network change we also had to set the default gateway to the new 
> interface while adding static routes for the rest of the ceph environment.
> To avoid issues with hostnames (the old hostname now resolves to the new 
> interface) we added another hostname for the internal traffic, purged the 
> gateways from ceph and added them again via ceph-deploy rgw create with the 
> new hostname.
> 
> The S3 communication is working perfectly fine as it did before, we can reach 
> all buckets and the monitors can communicate with the Gateway. The Dashboard 
> however throws the following error whenever we navigate to any of the object 
> gateway menus:
> 
> ————————————————————————————————— 
> 
> 2020-07-03 10:33:41.871 7fa0f9dbc700  0 mgr[dashboard] [03/Jul/2020:10:33:41] 
> HTTP Traceback (most recent call last):
>  File "/usr/lib/python2.7/site-packages/cherrypy/_cprequest.py", line 656, in 
> respond
>    response.body = self.handler()
>  File "/usr/lib/python2.7/site-packages/cherrypy/lib/encoding.py", line 188, 
> in __call__
>    self.body = self.oldhandler(*args, **kwargs)
>  File "/usr/lib/python2.7/site-packages/cherrypy/_cptools.py", line 221, in 
> wrap
>    return self.newhandler(innerfunc, *args, **kwargs)
>  File "/usr/share/ceph/mgr/dashboard/services/exception.py", line 88, in 
> dashboard_exception_handler
>    return handler(*args, **kwargs)
>  File "/usr/lib/python2.7/site-packages/cherrypy/_cpdispatch.py", line 34, in 
> __call__
>    return self.callable(*self.args, **self.kwargs)
>  File "/usr/share/ceph/mgr/dashboard/controllers/__init__.py", line 661, in 
> inner
>    ret = func(*args, **kwargs)
>  File "/usr/share/ceph/mgr/dashboard/controllers/rgw.py", line 28, in status
>    if not instance.is_service_online():
>  File "/usr/share/ceph/mgr/dashboard/rest_client.py", line 507, in 
> func_wrapper
>    **kwargs)
>  File "/usr/share/ceph/mgr/dashboard/services/rgw_client.py", line 321, in 
> is_service_online
>    _ = request({'format': 'json'})
>  File "/usr/share/ceph/mgr/dashboard/rest_client.py", line 313, in __call__
>    data, raw_content)
>  File "/usr/share/ceph/mgr/dashboard/rest_client.py", line 445, in do_request
>    ex.args[0].reason.args[0])
>  File "/usr/lib64/python2.7/re.py", line 137, in match
>    return _compile(pattern, flags).match(string)
> TypeError: expected string or buffer
> 
> 2020-07-03 10:33:41.872 7fa0f9dbc700  0 mgr[dashboard] 
> [2a02:2e0:13::a05:42784] [GET] [500] [45.044s] [plusline] [1.8K] 
> /api/rgw/status
> 2020-07-03 10:33:41.872 7fa0f9dbc700  0 mgr[dashboard] ['{"status": "500 
> Internal Server Error", "version": "3.2.2", "traceback": "Traceback (most 
> recent call last):\\n  File \\"/usr/lib/python2.7/site-
> packages/cherrypy/_cprequest.py\\", line 656, in respond\\n    response.body 
> = self.handler()\\n  File 
> \\"/usr/lib/python2.7/site-packages/cherrypy/lib/encoding.py\\", line 188, in 
> __call__\\n    self.b
> ody = self.oldhandler(*args, **kwargs)\\n  File 
> \\"/usr/lib/python2.7/site-packages/cherrypy/_cptools.py\\", line 221, in 
> wrap\\n    return self.newhandler(innerfunc, *args, **kwargs)\\n  File 
> \\"/usr/s
> hare/ceph/mgr/dashboard/services/exception.py\\", line 88, in 
> dashboard_exception_handler\\n    return handler(*args, **kwargs)\\n  File 
> \\"/usr/lib/python2.7/site-packages/cherrypy/_cpdispatch.py\\", l
> ine 34, in __call__\\n    return self.callable(*self.args, **self.kwargs)\\n  
> File \\"/usr/share/ceph/mgr/dashboard/controllers/__init__.py\\", line 661, 
> in inner\\n    ret = func(*args, **kwargs)\\n  F
> ile \\"/usr/share/ceph/mgr/dashboard/controllers/rgw.py\\", line 28, in 
> status\\n    if not instance.is_service_online():\\n  File 
> \\"/usr/share/ceph/mgr/dashboard/rest_client.py\\", line 507, in func_w
> rapper\\n    **kwargs)\\n  File 
> \\"/usr/share/ceph/mgr/dashboard/services/rgw_client.py\\", line 321, in 
> is_service_online\\n    _ = request({\'format\': \'json\'})\\n  File 
> \\"/usr/share/ceph/mgr/dashb
> oard/rest_client.py\\", line 313, in __call__\\n    data, raw_content)\\n  
> File \\"/usr/share/ceph/mgr/dashboard/rest_client.py\\", line 445, in 
> do_request\\n    ex.args[0].reason.args[0])\\n  File 
> \\"/usr/lib64/python2.7/re.py\\", line 137, in match\\n    return 
> _compile(pattern, flags).match(string)\\nTypeError: expected string or 
> buffer\\n", "detail": "The server encountered an unexpected condition which 
> prevented it from fulfilling the request.", "request_id": 
> "e0d6ff11-4dad-496a-9ee7-9db036c46ab7"}']
> 
> ————————————————————————————————— 
> 
> 
> We are running ceph version 14.2.9 on CentOS 7.7. Any help on how to debug 
> this would be greatly apreciated.
> 
> Best Regards,
> 
> Hendrik
> _______________________________________________
> ceph-users mailing list -- ceph-users@ceph.io
> To unsubscribe send an email to ceph-users-le...@ceph.io

_______________________________________________
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io

Reply via email to