-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[openstack] swift: add support for max_keys when retrieving dir items #3723
Comments
When you include explicit 'limit' attribute, you make OpenStack SWIFT work, but you break compatibility with other storage providers, like Google Cloud Storage. Revert this again. Fog should support remapping max_keys into limit specifically for SWIFT. Fog issue risen here: fog/fog#3723
When you include explicit 'limit' attribute, you make OpenStack SWIFT work, but you break compatibility with other storage providers, like Google Cloud Storage. Revert this again. Fog should support remapping max_keys into limit specifically for SWIFT. Fog issue risen here: fog/fog#3723
Use Google Cloud Storage for blobstore. This requires interoperability key and key_id to be added to secrets. Currently this doesn't work as there are compatibility issues: cloudfoundry/cloud_controller_ng#452 fog/fog#3723
@Ladas @TerryHowe perhaps one of you could provide some insight? Thanks! |
@geemus hm seems like @mtekel is trying to unify interface of Google storage with OpenStack Swift, so attribute names are translated from google format to others. Is that right? The placement is probably wrong, there would need need to be some Google -> OpenStack interface adapter layer for this, so we know what is translated to what, and you could even pick it e.g. while building OpenStack storage object. Something like Openstack::Storage.new(GoogleInterfaceAdapter) or AmazonInterfaceAdapter, etc. Do we use somewhere single pane of glass for multiple providers like this? Should it be solved in Fog? That is a question I guess. :-) |
Ah, I guess I should have read more closely. Where it is feasible/makes sense, unifying seems good. This sounds, at a high level, like it could be a reasonable case to do this. But I'm not sure about exactly how we should do it (and/or which keys should be the common ones). |
Hi, I thought that using
For openstack, you just need to translate this attribute into In that specific case |
I think it may have (up to this point anyway) been simply coincidental that multiple services called it the same thing. Also the internet archive stuff is a s3 work-alike I think, so it would end up with a similar API by default. Anyway, it does seem like a standard key here could work and max_keys might be easiest, but it could just as well be limit if we really wanted. We'll just need to document it and work on adding the appropriate aliases. |
I suggest it is done this way. The suggested implementation doesn't force anyone to start using |
Having alias sounds reasonable( until we reach such that conflicts :-) ). I wonder where to put this information, so people know what attributes are supported across all models? For more fun, not even OpenStack is consistent, e.g. keystone v3 uses per_page instead of limit and it doesn't use marker based pagination. :-) |
It would be nice if someone could pick up that PR and add tests so that it is mergable. Without this, functionality for GCS is still broken in some projects which want to be compatible with Openstack, like the referenced cloud foundry controller. |
Closing in favor of fog/fog-openstack#51 |
Currently there is no remapping in getting directory keys. This means that people are forced to add 'limit' explicitly into the calls. This is a problem when you try to have code that's compatible with multiple cloud vendors, as this breaks some other APIs, like Google Cloud Storage.
Raised PR, but it needs a bit more work. I am opening this issue so that someone else can take this over, as I have no SWIFT currently to test against.
The text was updated successfully, but these errors were encountered: