Discussion:
[openstack-dev] [swift][ironic][ceph][radosgw] radosgw "support" in python-swiftclient droped for ocata and above
Casey Bodley
2018-05-09 21:10:12 UTC
Permalink
python-swiftclient prior to 3.2.0 seemed to incidentally support radosgw
tempurls. That is, there was no official support, but it still worked.
In 3.2.0 (specifically the linked commit(s)) tempurls were validated to
require /v1/account/container/object, which does not work with radosgw
as it expects /v1/container/object. This means that radosgw tempurls
fail to work, which further means that radosgw will stop working for
things like ironic.
I can see the point that swiftclient should not care about ceph not
fully implementing the swift spec and not supporting the radosgw url
syntax, but it seems like a step back. If this is not fixed then things
like ironic will not work with radosgw for Ocata and above (as that's
when this change was made). We'd need to wait for either ceph to fix
this and support the account part of the url (probably just dropping it)
or have people fork python-swiftclient to 'fix' it.
I'm not sure what the right answer is...
https://github.com/openstack/python-swiftclient/commit/4c955751d340a8f71a2eebdb3c58d90b36874a66
https://github.com/openstack/ironic/blob/214b694f05d200ac1e2ce6db631546f2831c01f7/ironic/common/glance_service/v2/image_service.py#L152-L185
https://bugs.launchpad.net/ironic/+bug/1747384
__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Thanks for raising the issue. Radosgw does have a config option
'rgw_swift_account_in_url' to expect this url format, though it
defaults to false and I'm not 100% sure that it applies correctly to
tempurls.
Marcus Watts confirmed that this does work with tempurl.

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-***@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org
Jim Rollenhagen
2018-05-10 15:29:35 UTC
Permalink
Awesome. Can someone submit a patch? It will need to remove the special
URL
building for radosgw linked earlier in the thread, and add a reference to
https://git.openstack.org/cgit/openstack/ironic/tree/
doc/source/admin/radosgw.rst
Thanks!
Sure, I can make a first pass at it. Given swift removing support for
the 'other' method, there will be other changes too though.
Thanks! If it's close someone should be able to take it from there :)

// jim
Julia Kreger
2018-05-09 21:30:31 UTC
Permalink
python-swiftclient prior to 3.2.0 seemed to incidentally support radosgw
tempurls. That is, there was no official support, but it still worked.
In 3.2.0 (specifically the linked commit(s)) tempurls were validated to
require /v1/account/container/object, which does not work with radosgw
as it expects /v1/container/object. This means that radosgw tempurls
fail to work, which further means that radosgw will stop working for
things like ironic.
What is the value in the validation of the URL path as such? It seems
like the client shouldn't really care as to the precise format of the
end user supplied URL as long as the server returns the expected
response.
I can see the point that swiftclient should not care about ceph not
fully implementing the swift spec and not supporting the radosgw url
syntax, but it seems like a step back. If this is not fixed then things
like ironic will not work with radosgw for Ocata and above (as that's
when this change was made). We'd need to wait for either ceph to fix
this and support the account part of the url (probably just dropping it)
or have people fork python-swiftclient to 'fix' it.
I'm not sure what the right answer is...
I'm personally -1 to pinning swiftclient as that will introduce
headaches if someone tries to install ironic along side anything that
expects a newer client or vise-versa.

I agree it seems like a step back, to which I'm curious about the
value of having the check. The forth option is for ironic to abruptly
drop all related code and support for radosgw temp urls, but that too
would be a setback and negative for OpenStack in general.

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-***@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-b

Loading...