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