[ceph][OpenStackSDK][keystone] Warnings about (my) swift endpoint URL by keystoneauth1 discovery
Christian Rohmann
christian.rohmann at inovex.de
Fri Aug 4 09:42:36 UTC 2023
Hey Artem,
thanks a bunch for giving into this so quickly ...
On 04/08/2023 09:59, Artem Goncharov wrote:
>
> Solution:
> - either you remove /swift from your path when deploying swift
That's not possible, unfortunately, if you also want to support S3.
See
https://docs.ceph.com/en/latest/radosgw/config-ref/#confval-rgw_swift_url_prefix
One option might be to use dedicated instances of RGW just for Swift and
others for S3. But this requires to also use different endpoints /
hostnames.
But even if only Swift was used, with "/swift" being the default prefix
on Ceph RGWs, I am highly confident that this prefixed path therefore
exists for quite a few clouds using Ceph to provide the object storage
via the Swift protocol.
> - or we need to change the mentioned calculation logic by explicitly
> stripping last 2 elements of the path of the service catalog entry
> (what seems logical on one side is not guaranteed to be a proper
> solution either - I have seen wild examples)
Well statically stripping a certain number of elements does indeed not
seem "proper.
If you look at
https://docs.ceph.com/en/latest/radosgw/keystone/#ocata-and-later vs
https://docs.ceph.com/en/latest/radosgw/keystone/#cross-project-tenant-access
the existence of "AUTH_$(project_id)s" cannot always be expected.
But maybe a rule / regex can be found to strip optional version and AUTH
element?
Kinda like ...
'(.*?)(\/v[0-9](\/AUTH_.+)?)?$'
to get all the path elements until the (optional) "v"ersion and an
(optional) "AUTH_" at the end.
Honestly I don't know how the swift endpoint URLs looks like when
deploying OpenStack Swift instead of Ceph RGW.
But I suppose the endpoint has some potential variance in path there as
well?
Regards
Christian
More information about the openstack-discuss
mailing list