Skip to content
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

Added Support for openstack swift object storage #207

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

kolaente
Copy link

@kolaente kolaente commented May 6, 2019

This pr adds support for openstack swift object storage.

To run the tests, you'll need access to an openstack swift store, I've used the one from ovh since its pretty cheap (at least for testing). You'll then need to set the env variables SWIFT_APIUSER, SWIFT_APIKEY, SWIFT_AUTHURL and SWIFT_DOMAIN. Also someone needs to do this in travis if we want to run these tests in the ci.

@CLAassistant
Copy link

CLAassistant commented May 6, 2019

CLA assistant check
All committers have signed the CLA.

@kolaente kolaente changed the title Added Support for openstack swift blob storage Added Support for openstack swift object storage May 6, 2019
@0xmichalis
Copy link
Collaborator

Needs a rebase

@kolaente
Copy link
Author

@Kargakis Done!

@kolaente
Copy link
Author

I force-pushed the changes again since I kind messed up the rebase and accidentally included a lot of unrelated changes in the branch. Now it's all nice and clean.

@0xmichalis
Copy link
Collaborator

Can you document how to configure a Swift backend in https://github.com/spf13/afero#available-backends? Also the unit tests seem to fail in CI, please have a look.

@kolaente
Copy link
Author

The test fails in ci because it needs a swift store to run the test and no access keys were provided. Someone with access to the ci needs to set the env variables SWIFT_APIUSER, SWIFT_APIKEY, SWIFT_AUTHURL and SWIFT_DOMAIN.

I'll add docs about how to use the backend.

@0xmichalis
Copy link
Collaborator

@spf13 please have a look and let us know how do you want to proceed with unit testing the Swift backend.

@kolaente
Copy link
Author

@Kargakis Added the documentation.

IMHO, "classic" unit testing this does not really make sense since most of the package is glue code between afero and the swift package. I think this kind of integration test with talking to a "real" storage server makes the most sense. Maybe we could put one (through docker?) in the ci though to reduce dependency on external services. Not sure how much of a hassle that would be.

@0xmichalis
Copy link
Collaborator

IMHO, "classic" unit testing this does not really make sense since most of the package is glue code between afero and the swift package. I think this kind of integration test with talking to a "real" storage server makes the most sense. Maybe we could put one (through docker?) in the ci though to reduce dependency on external services. Not sure how much of a hassle that would be.

This is nitpicking but you are right, my bad on using the word "unit". In any case, my question to @spf13 still stands, I am not sure how easy or whether it is possible at all to run our own services in Travis and/or AppVeyor.

@0xmichalis
Copy link
Collaborator

As with the GCS implementation, we can go ahead and merge this without "real" storage tests, just need to note in README that there is experimental support.

#331

@0xmichalis
Copy link
Collaborator

@kolaente can you rebase on top of latest master?

@kolaente
Copy link
Author

@Kargakis wow I completely forgot I had this PR open 🙃

Just rebased, what should we do with the tests? Since they can't really run in CI as of now.

@0xmichalis
Copy link
Collaborator

Does the Swift library you are using have a mock client?

@kolaente
Copy link
Author

The swift library has a fake swift server which stores everything in memory. As far as I understand it, that's kind of a mock client but more on the integration side. Not sure if we can use this here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants