General installation steps

  1. 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 the swift user. Use the service tenant and give the user the admin role:

    # keystone user-create --name=swift --pass=SWIFT_PASS \
      --email=[email protected]
    # keystone user-role-add --user=swift --tenant=service --role=admin
  2. Create a service entry for the Object Storage Service:

    # keystone service-create --name=swift --type=object-store \
      --description="Object Storage Service"
    +-------------+----------------------------------+
    |   Property  |              Value               |
    +-------------+----------------------------------+
    | description |      Object Storage Service      |
    |             |                                  |
    |             |                                  |
    |      id     | eede9296683e4b5ebfa13f5166375ef6 |
    |     name    |              swift               |
    |     type    |           object-store           |
    +-------------+----------------------------------+
    [Note]Note

    The service ID is randomly generated and is different from the one shown here.

  3. 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=the_service_id_above \
      --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         |
    +-------------+---------------------------------------------------+
  4. Create the configuration directory on all nodes:

    # mkdir -p /etc/swift
  5. 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]Note

The suffix value in /etc/swift/swift.conf should be set to some random string of text to be used as a salt when hashing to determine mappings in the ring. This file must be the same on every node in the cluster!

Next, set up your storage nodes and proxy node. This example uses the Identity Service for the common authentication piece.

Log a bug against this page


loading table of contents...