OpenStack Dalmatian : Configure Swift (Control Node)2024/10/14 |
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 Nginx | | Nginx | | Keystone httpd | | | +-----------------------+ +-----------------------+ ------------+--------------------------+--------------------------+----------- 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 | 0b61bc880cd64b67946dd6352a138e30 | | domain_id | default | | email | None | | enabled | True | | id | 1b1e561c1ec74fb8a2fca69dd6cd239f | | name | swift | | description | None | | 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 | +-------------+----------------------------------+ | id | 7634af62984940078ff45bf3b059156c | | name | swift | | type | object-store | | enabled | True | | description | OpenStack Object Storage | +-------------+----------------------------------+ # 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 | 355dd8698c4e4f198e6567b1605c1de4 | | interface | public | | region | RegionOne | | region_id | RegionOne | | service_id | 7634af62984940078ff45bf3b059156c | | 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 | 138284113c33436495d8c26e62dd5eec | | interface | internal | | region | RegionOne | | region_id | RegionOne | | service_id | 7634af62984940078ff45bf3b059156c | | 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 | 65d86b8c567748d197b427ed53342902 | | interface | admin | | region | RegionOne | | region_id | RegionOne | | service_id | 7634af62984940078ff45bf3b059156c | | service_name | swift | | service_type | object-store | | url | https://network.srv.world:8080/v1 | +--------------+-----------------------------------+ |
Sponsored Link |