Object Storage management through OpenStack common client.
Create a container
In order to create a container in the Object Storage service, you can use the openstack client with the following command.
[lxplus]$ openstack container create mycontainer01
+---------+---------------+----------------------------------------------------+
| account | container | x-trans-id |
+---------+---------------+----------------------------------------------------+
| v1 | mycontainer01 | tx000000000000000bef338-005beedb1a-1ff5583-default |
+---------+---------------+----------------------------------------------------+
Once created you can start adding objects.
Manipulate objects in a container
To upload files to a container you can use the following command
[lxplus]$ openstack object create --name mytestfile01 mycontainer01 testfile.txt
+--------------+---------------+----------------------------------+
| object | container | etag |
+--------------+---------------+----------------------------------+
| mytestfile01 | mycontainer01 | c73f47d1969e955b1cd354825b310398 |
+--------------+---------------+----------------------------------+
Once uploaded you can see the metadata through:
[lxplus]$ openstack object show mycontainer01 mytestfile01
+----------------+----------------------------------+
| Field | Value |
+----------------+----------------------------------+
| account | v1 |
| container | mycontainer01 |
| content-length | 504 |
| content-type | text/plain |
| etag | c73f47d1969e955b1cd354825b310398 |
| last-modified | Fri, 16 Nov 2018 15:20:00 GMT |
| object | mytestfile01 |
+----------------+----------------------------------+
You can retrieve the contents by using, please note that this will overwrite the file in the local directory
[lxplus]$ openstack object save mycontainer01 mytestfile01 --file testfile.txt
Finally you can delete the object with the following command
[lxplus]$ openstack object delete mycontainer01 mytestfile01
Delete the container
If you want to delete the container, you can use the following command
[lxplus]$ openstack container delete mycontainer01
If the container has some data, you can trigger the recursive option to delete the objects internally.
[lxplus]$ openstack container delete mycontainer01
Conflict (HTTP 409) (Request-ID: tx000000000000000b8058a-005beee207-20075e4-default)
[lxplus]$ openstack container delete --recursive mycontainer01
List existing containers
You can check the existing containers with
[lxplus ~]$ openstack container list
+---------------+
| Name |
+---------------+
| mycontainer01 |
+---------------+
Space utilization
To check the overall space used, you can use the following command
[lxplus]$ openstack object store account show
+------------+---------------+
| Field | Value |
+------------+---------------+
| Account | v1 |
| Bytes | 5065108948906 |
| Containers | 81 |
| Objects | 375322 |
+------------+---------------+
To check the space used by a specific container
[lxplus]$ openstack container show mycontainer01
+----------------+-------------------+
| Field | Value |
+----------------+-------------------+
| account | v1 |
| bytes_used | 1502 |
| container | mycontainer01 |
| object_count | 1 |
| storage_policy | default-placement |
+----------------+-------------------+