Ubuntu 22.04
Sponsored Link

OpenStack Yoga : Configure Swift (Control Node)2022/05/05

 
Configure OpenStack Object Storage (Swift).
This example is based on the environment like follows.
------------+-----------------------------+---------------+---
            |                             |               |
        eth0|10.0.0.30                eth0|10.0.0.50      |
+-----------+-----------+     +-----------+-----------+   |
|   [ dlp.srv.world ]   |     | [ network.srv.world ] |   |
|     (Control Node)    |     |      (Proxy Node)     |   |
|                       |     |                       |   |
|  MariaDB    RabbitMQ  |     |      Swift Proxy      |   |
|  Memcached  httpd     |     |                       |   |
|  Keystone             |     |                       |   |
+-----------------------+     +-----------------------+   |
                                                          |
------------+-----------------------------+---------------+-------------+-----------
        eth0|10.0.0.71                eth0|10.0.0.72                eth0|10.0.0.73
+-----------+-----------+     +-----------+-----------+     +-----------+-----------+
|  [snode01.srv.world]  |     |  [snode02.srv.world]  |     |  [snode03.srv.world]  |
|    (Storage Node#1)   |     |    (Storage Node#2)   |     |    (Storage Node#3)   |
|                       |     |                       |     |                       |
|     Swift-Account     |     |     Swift-Account     |     |     Swift-Account     |
|    Swift-Container    |     |    Swift-Container    |     |    Swift-Container    |
|     Swift-Object      |     |     Swift-Object      |     |     Swift-Object      |
+-----------------------+     +-----------------------+     +-----------------------+

[1] Add Swift user or service on Keystone Server (Control Node) first.
# create [swift] user in [service] project

root@dlp ~(keystone)#
openstack user create --domain default --project service --password servicepassword swift

+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| default_project_id  | c1c4d9a5313f43bd9f6f555e2d34ab28 |
| domain_id           | default                          |
| enabled             | True                             |
| id                  | 51d86a822c4d4cedbb46c847c69d495a |
| name                | swift                            |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+

# add [swift] user in [admin] role

root@dlp ~(keystone)#
openstack role add --project service --user swift admin
# create service entry for [swift]

root@dlp ~(keystone)#
openstack service create --name swift --description "OpenStack Object Storage" object-store

+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Object Storage         |
| enabled     | True                             |
| id          | 63bb1031cbc64da6b34e99f740d0e670 |
| name        | swift                            |
| type        | object-store                     |
+-------------+----------------------------------+

# define Swift Proxy Host

root@dlp ~(keystone)#
export swift_proxy=network.srv.world
# create endpoint for [swift] (public)

root@dlp ~(keystone)#
openstack endpoint create --region RegionOne object-store public https://$swift_proxy:8080/v1/AUTH_%\(tenant_id\)s

+--------------+------------------------------------------------------+
| Field        | Value                                                |
+--------------+------------------------------------------------------+
| enabled      | True                                                 |
| id           | e8afca8ef43245db96d89a40632c3229                     |
| interface    | public                                               |
| region       | RegionOne                                            |
| region_id    | RegionOne                                            |
| service_id   | 7c34ad45173b467283eaf48d16f066ea                     |
| service_name | swift                                                |
| service_type | object-store                                         |
| url          | https://network.srv.world:8080/v1/AUTH_%(tenant_id)s |
+--------------+------------------------------------------------------+

# create endpoint for [swift] (internal)

root@dlp ~(keystone)#
openstack endpoint create --region RegionOne object-store internal https://$swift_proxy:8080/v1/AUTH_%\(tenant_id\)s

+--------------+------------------------------------------------------+
| Field        | Value                                                |
+--------------+------------------------------------------------------+
| enabled      | True                                                 |
| id           | 6018c9711c0f493f892fc828634270d0                     |
| interface    | internal                                             |
| region       | RegionOne                                            |
| region_id    | RegionOne                                            |
| service_id   | 7c34ad45173b467283eaf48d16f066ea                     |
| service_name | swift                                                |
| service_type | object-store                                         |
| url          | https://network.srv.world:8080/v1/AUTH_%(tenant_id)s |
+--------------+------------------------------------------------------+

# create endpoint for [swift] (admin)

root@dlp ~(keystone)#
openstack endpoint create --region RegionOne object-store admin https://$swift_proxy:8080/v1

+--------------+-----------------------------------+
| Field        | Value                             |
+--------------+-----------------------------------+
| enabled      | True                              |
| id           | 26547e73a4894858b15bbde1892c9946  |
| interface    | admin                             |
| region       | RegionOne                         |
| region_id    | RegionOne                         |
| service_id   | 7c34ad45173b467283eaf48d16f066ea  |
| service_name | swift                             |
| service_type | object-store                      |
| url          | https://network.srv.world:8080/v1 |
+--------------+-----------------------------------+
Matched Content