Join the Community
and take part in the story

Versioning How-To


#1

Hello,

I am wondering how versioning works.
According to docs it should be available so I was expecting this will work:

aws s3api --endpoint-url=http://127.0.0.1:6007 --no-verify-ssl put-bucket-versioning --bucket testbucket2 --versioning-configuration Status=Enabled

but it seems not

An error occurred (NotImplemented) when calling the PutBucketVersioning operation: Not implemented.

Is it possible to enable and test SDS versioning using AWS S3 CLI?

Thanks!!

P.D. I can see list-object-versions also does not bahaves as I expected, returning nothing even when there are objects in the bucket

aws s3api --endpoint-url=http://127.0.0.1:6007 --no-verify-ssl list-object-versions --bucket testbucket2

also metadata is always empty on GET operations, even when multiple PUT operations made over same object (was expecting to see more information there)

aws s3api --endpoint-url=http://127.0.0.1:6007 --no-verify-ssl get-object --bucket testbucket2 --key pom.xml pom.xml

I conclude versioning is disabled by default; which will be ok, since this is the behavior on S3 also, but cannot find the way to enable it … or it is not implemented?


#2

Hello,

Versioning is supported by OpenIO SDS, and supported through Swift API, but currently not through S3 interface.

A few months ago, I experimented with work-in-progress swift3 code, which seemed to do the work, but is still not merged into master branch. You can see it here and in my fork.


#3

By the way, if you want to experiment with openio CLI, you can enable versioning for a bucket (a.k.a. container) with

openio --oio-ns OPENIO --oio-account <account_name> container set --max-versions -1 <bucket_name>

-1 is for unlimited versioning,


#4

Hey @fvennetier thanks for the quick answer!

So is this something planned to be available soon?


#5

Hello.

Yesterday we packaged an unofficial version for Centos7: openio-sds-swift-plugin-swift3-1.12.0-0.gitbe2fa24.el7.oio. It is available in the unstable repository.

  • If you are using our docker image, log into it
docker exec -ti $(docker ps -l --format "{{.ID}}") /bin/bash
  • Enable the unstable repository:
cat >> /etc/yum.repos.d/openio-sds-17.04.repo <<EOF
[openio-sds-unstable]
name=OpenIO SDS packages for Entreprise Linux $releasever - $basearch unstable
baseurl=http://mirror.openio.io/pub/repo/openio/sds/unstable/el/$releasever/$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OPENIO-0

EOF
  • Update swift3 package
    yum install openio-sds-swift-plugin-swift3-1.12.0-0.gitbe2fa24.el7.oio

  • Restart the swift gateway
    gridinit_cmd restart @oioswift

Then versioning should work. :slight_smile:
And yes, it’s probably missing some metadata.