Create a
swift
user that the Object Storage Service can use to authenticate with the Identity Service. Choose a password and specify an email address for theswift
user. Use theservice
tenant and give the user theadmin
role:$ keystone user-create --name=swift --pass=
SWIFT_PASS
\ --email=[email protected]
$ keystone user-role-add --user=swift --tenant=service --role=adminCreate a service entry for the Object Storage Service:
$ keystone service-create --name=swift --type=object-store \ --description="OpenStack Object Storage" +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | description | OpenStack Object Storage | | id | eede9296683e4b5ebfa13f5166375ef6 | | name | swift | | type | object-store | +-------------+----------------------------------+
Note The service ID is randomly generated and is different from the one shown here.
Specify an API endpoint for the Object Storage Service by using the returned service ID. When you specify an endpoint, you provide URLs for the public API, internal API, and admin API. In this guide, the
controller
host name is used:$ keystone endpoint-create \ --service-id=$(keystone service-list | awk '/ object-store / {print $2}') \ --publicurl='http://
controller
:8080/v1/AUTH_%(tenant_id)s' \ --internalurl='http://controller
:8080/v1/AUTH_%(tenant_id)s' \ --adminurl=http://controller
:8080 +-------------+---------------------------------------------------+ | Property | Value | +-------------+---------------------------------------------------+ | adminurl | http://controller:8080/ | | id | 9e3ce428f82b40d38922f242c095982e | | internalurl | http://controller:8080/v1/AUTH_%(tenant_id)s | | publicurl | http://controller:8080/v1/AUTH_%(tenant_id)s | | region | regionOne | | service_id | eede9296683e4b5ebfa13f5166375ef6 | +-------------+---------------------------------------------------+Create the configuration directory on all nodes:
# mkdir -p /etc/swift
Create
/etc/swift/swift.conf
on all nodes:[swift-hash] # random unique string that can never change (DO NOT LOSE) swift_hash_path_suffix = fLIbertYgibbitZ
Note | |
---|---|
The suffix value in
|
Next, set up your storage nodes and proxy node. This example uses the Identity Service for the common authentication piece.