I found some time a few months back to look into VMware vCloud Directors Object Storage Extension
VMware vCloud Director OSE acts as a frontend for all S3 management and API calls. By this I mean that a tenant user uploading data to their S3 bucket will be communicating with the OSE S3 endpoint. VMware vCloud OSE “proxies” the S3 requests to the backend storage layer.
In a similar manner it also passes the management requests from vCloud Director to the relevant S3 management API, for actions like: enabling S3 for a tenant, creating a bucket, retrieving access & secret keys.
Now in order to translate OSE management calls to those of a specific platform we need an OSIS adapter as per the official VMware diagram:
OSIS stands for Object Storage Interoperability Service and it is the glue that translates the OSE call to the actual storage platform.
Once you create your OSIS implementation you can then leverage a given storage platforms S3 capabilities. With this in mind I proceeded to create such a service for Pure Storage FlashBlade.
Once up and running I can now enable S3 access for a given vCloud tenant:
When logged in as a tenant user the vCloud interface provides a simple interface where we can create buckets, upload and view objects :
To confirm, on the Pure Storage FlashBlade under our S3 account (tenant) we can see the buckets created:
Back within the vCloud Director interface we can retrieve our user access and secret keys:
When logged in as a tenant admin user we can also view overall usage of our object storage:
Overall vCloud Director OSE provides an integrated means to provide object storage to your tenants, once you have written the required OSIS adaptor for your storage platform.