# Admin Stories: Implement Object Storage in CSC's cPouta

DevFeed: [Admin Stories: Implement Object Storage in CSC's cPouta](<https://devfeed.tech/articles/admin-stories-implement-object-storage-in-csc-s-cpouta-19760.md>)

Original publisher: [Read original article](<https://cloud.blog.csc.fi/2018/02/admin-stories-implement-object-storage.html>)

Author: Unknown (noreply@blogger.com)

Published: 2018-02-12T12:58:00Z

Content type: article

Language: en

Sources: [CSC - IT Center For Science - Cloud Team](<https://devfeed.tech/sources/csc-it-center-for-science-cloud-team.md>)

Topics: [ceph](<https://devfeed.tech/topics/ceph.md>), [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [ceph](<https://devfeed.tech/tags/ceph.md>), [cpouta](<https://devfeed.tech/tags/cpouta.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [object](<https://devfeed.tech/tags/object.md>), [object-storage](<https://devfeed.tech/tags/object-storage.md>), [openstack](<https://devfeed.tech/tags/openstack.md>), [rados](<https://devfeed.tech/tags/rados.md>), [radosgw](<https://devfeed.tech/tags/radosgw.md>), [rgw](<https://devfeed.tech/tags/rgw.md>), [s3](<https://devfeed.tech/tags/s3.md>), [server](<https://devfeed.tech/tags/server.md>), [servers](<https://devfeed.tech/tags/servers.md>), [storage](<https://devfeed.tech/tags/storage.md>), [volume](<https://devfeed.tech/tags/volume.md>)

## AI overview

This article explains the decisions behind implementing object storage in CSC's cPouta cloud. It describes using Ceph RADOS Gateway with existing Ceph clusters and clarifies the relationship between S3 buckets, Swift containers, accounts, and OpenStack project IDs.

## Source excerpt

In our previous user survey we found out that you were interested in "OpenStack admin stories". This will be our first attempt in doing that. User guide: https://research.csc.fi/pouta-user-guide While implementing object storage we made a few decisions. This blog post is about highlighting the decisions and their backing thought process. Some background information: cPouta uses OpenStack as the underlying cloud middleware, and Ceph for storing volumes and images. And going forward, objects, too. Terminology RADOS Gateway/RadosGW/RGW/Ceph RGW/Ceph radosgw/radosgw. We mean the same thing. It's a piece of software which exposes an API for storing and retrieving objects. Ceph - the storage system which RadosGW daemons access as a client. Buckets in S3 and Containers in Swift are synonymous. The Ceph radosgw-admin tool also operates on buckets. The latter are mostly the same, but can contain a bit more information i.e. OpenStack project ID. If we write about buckets, the reader can presume we are referring to S3 buckets and Swift containers unless otherwise noted. Account is something that RGW binds usage data into. In some of the radosgw-admin CLI calls, accounts are referred to as users or UIDs. These users and/or accounts get a mapping to OpenStack project IDs in our configuration. So be it account/user/project, we are always talking about the same thing. - Why Ceph RadosGW The other option we briefly looked at for an Object Storage server was the OpenStack Swift server. Yes, there is an API called Swift and a piece of sofware called Swift which serves the Swift API. Not to mention the programming language Swift, the ISO standard SWIFT or the Scottish potato variant Swift. In the end we used none of these for backend because we prefer to reuse existing infrastructure. We already have Ceph clusters used for Virtual Machine image and block (volume) storage in our clouds. Installing some Ceph RadosGW servers and pointing those to an existing Ceph cluster utilizes a lot o