This guide details how to use Ceph Object Gateway S3 API for managing object storage on Wavestack.
Specifically, you will learn how to:
In order to follow this guide, the following tools have to be installed:
The steps in this guide have been tested with the following versions:
Version | |
---|---|
openstackclient | v6.2.0 |
You will probably spend most of your time on the command line, but you can also log into the Wavestack dashboard with your Wavestack account if you want to get an overview of the provisioned resources.
The Wavestack object store is built using Ceph and distributed across three availability zones, namely muc5-a, muc5-b and muc5-d. Object data is thus redundantly replicated across all 3 AZs.
Your buckets (or containers) are bound to your OpenStack project via Keystone RGW Tenants.
You can access the Wavestack object store with either the openstackclient, or an S3 API-compatible tool.
To access the S3 API with any other client than the Openstackclient like AWS CLI it is necessary to generate an EC2 credential as described here.
For this we utilise the openstackclient:
❯ openstack ec2 credentials create
To create a bucket/container you run:
❯ openstack container create <containername>
You can handle objects in your containers by utilising the openstackclient. For example you can upload one or many objects with the following command:
❯ openstack object create <container> <file> [<file2> <file3> ...]
In a similar vein you can list data in your container by running the following command:
❯ openstack object list <container>
Download objects to your local machine like so:
❯ openstack object save <container> <object>
If you wish to delete one or multiple object from your container you can delete objects with the following command:
❯ openstack object delete <container> <object> [<object> ...]
Should you want to delete one or multiple containers you can utilise the openstackclient for that task as well.
It should be noted that a container is required to be empty before it
can be deleted. Alternatively you can delete the container and content
at the same time by passing the --recursive
flag.
❯ openstack container delete [--recursive] <container> [<container> ...]