Join the Community
and take part in the story

Versioning How-To



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

aws s3api --endpoint-url= --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?


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= --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= --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?



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.


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,


Hey @fvennetier thanks for the quick answer!

So is this something planned to be available soon?



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
name=OpenIO SDS packages for Entreprise Linux $releasever - $basearch unstable

  • 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.