Install the Identity Service

  1. Install the OpenStack Identity Service on the controller node, together with python-keystoneclient (which is a dependency):

    # apt-get install keystone
  2. The Identity Service uses a database to store information. Specify the location of the database in the configuration file. In this guide, we use a MySQL database on the controller node with the username keystone. Replace KEYSTONE_DBPASS with a suitable password for the database user.

    Edit /etc/keystone/keystone.conf and change the [sql] section.

    ...
    [sql]
    # The SQLAlchemy connection string used to connect to the database
    connection = mysql://keystone:KEYSTONE_DBPASS@controller/keystone
    ...
          
  3. By default, the Ubuntu packages create an SQLite database. Delete the keystone.db file created in the /var/lib/keystone/ directory so that it does not get used by mistake.

  4. Use the password that you set previously to log in as root. Create a keystone database user:

    # mysql -u root -p
    mysql> CREATE DATABASE keystone;
    mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
    IDENTIFIED BY 'KEYSTONE_DBPASS';
    mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
    IDENTIFIED BY 'KEYSTONE_DBPASS';
  5. Create the database tables for the Identity Service:

    # keystone-manage db_sync
  6. Define an authorization token to use as a shared secret between the Identity Service and other OpenStack services. Use openssl to generate a random token and store it in the configuration file:

    # openssl rand -hex 10

    Edit /etc/keystone/keystone.conf and change the [DEFAULT] section, replacing ADMIN_TOKEN with the results of the command.

    [DEFAULT]
    # A "shared secret" between keystone and other openstack services
    admin_token = ADMIN_TOKEN
    ...
  7. Restart the Identity Service:

    # service keystone restart
Log a bug against this page


loading table of contents...