• In the [database] section, configure database access:

    [database]
    # ...
    connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
    

    Replace GLANCE_DBPASS with the password you chose for the Image service database.

  • In the [keystone_authtoken] and [paste_deploy] sections, configure Identity service access:

    [keystone_authtoken]
    # ...
    www_authenticate_uri  = http://controller:5000
    auth_url = http://controller:5000
    memcached_servers = controller:11211
    auth_type = password
    project_domain_name = Default
    user_domain_name = Default
    project_name = service
    username = glance
    password = GLANCE_PASS
    
    [paste_deploy]
    # ...
    flavor = keystone
    

    Replace GLANCE_PASS with the password you chose for the glance user in the Identity service.

    Note

    Comment out or remove any other options in the [keystone_authtoken] section.

  • In the [glance_store] section, configure the local file system store and location of image files:

    [DEFAULT]
    # ...
    enabled_backends=fs:file
    
    [glance_store]
    # ...
    default_backend = fs
    
    [fs]
    filesystem_store_datadir = /var/lib/glance/images/
    
  • In the [oslo_limit] section, configure access to keystone:

    [oslo_limit]
    auth_url = http://controller:5000
    auth_type = password
    user_domain_id = default
    username = glance
    system_scope = all
    password = GLANCE_PASS
    endpoint_id = ENDPOINT_ID
    region_name = RegionOne
    

    Replace GLANCE_PASS with the password you chose for the glance user in the Identity service.

    Replace ENDPOINT_ID with the ID of the image endpoint you created earlier (in our case, this would be 340be3625e9b4239a6415d034e98aace), and that you may find by running:

    $ openstack endpoint list --service glance --region RegionOne
    

    Make sure that the glance account has reader access to system-scope resources (like limits):

    $ openstack role add --user glance --user-domain Default --system all reader
    

    See the oslo_limit docs for more information about configuring the unified limits client.

  • In the [DEFAULT] section, optionally enable per-tenant quotas:

    [DEFAULT]
    use_keystone_limits = True
    

    Note that you must have created the registered limits as described above if this is enabled.