openstack-manuals/doc/install-guide/source/glance-install.rst
Yushiro FURUKAWA 0019cedb4e Replace 'apt-get' to 'apt'
'apt-get' is more primitive command than 'apt'. In addition, 'apt' is
the most recommended interface.[1]

[1]https://debian-handbook.info/browse/stable/sect.apt-get.html

Change-Id: I40dd27f3856a84f936236679cd0201b079a2172e
2016-11-07 02:06:05 +00:00

10 KiB

Install and configure

This section describes how to install and configure the Image service, code-named glance, on the controller node. For simplicity, this configuration stores images on the local file system.

Prerequisites

Before you install and configure the Image service, you must create a database, service credentials, and API endpoints.

  1. To create the database, complete these steps:

    • Use the database access client to connect to the database server as the root user:

      $ mysql -u root -p
    • Create the glance database:

      mysql> CREATE DATABASE glance;
    • Grant proper access to the glance database:

      mysql> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
        IDENTIFIED BY 'GLANCE_DBPASS';
      mysql> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
        IDENTIFIED BY 'GLANCE_DBPASS';

      Replace GLANCE_DBPASS with a suitable password.

    • Exit the database access client.

  2. Source the admin credentials to gain access to admin-only CLI commands:

    $ . admin-openrc
  3. To create the service credentials, complete these steps:

    • Create the glance user:

      $ openstack user create --domain default --password-prompt glance
      
      User Password:
      Repeat User Password:
      +---------------------+----------------------------------+
      | Field               | Value                            |
      +---------------------+----------------------------------+
      | domain_id           | default                          |
      | enabled             | True                             |
      | id                  | 3f4e777c4062483ab8d9edd7dff829df |
      | name                | glance                           |
      | password_expires_at | None                             |
      +---------------------+----------------------------------+
    • Add the admin role to the glance user and service project:

      $ openstack role add --project service --user glance admin

      Note

      This command provides no output.

    • Create the glance service entity:

      $ openstack service create --name glance \
        --description "OpenStack Image" image
      
      +-------------+----------------------------------+
      | Field       | Value                            |
      +-------------+----------------------------------+
      | description | OpenStack Image                  |
      | enabled     | True                             |
      | id          | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
      | name        | glance                           |
      | type        | image                            |
      +-------------+----------------------------------+
  4. Create the Image service API endpoints:

    $ openstack endpoint create --region RegionOne \
      image public http://controller:9292
    
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 340be3625e9b4239a6415d034e98aace |
    | interface    | public                           |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
    | service_name | glance                           |
    | service_type | image                            |
    | url          | http://controller:9292           |
    +--------------+----------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      image internal http://controller:9292
    
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | a6e4b153c2ae4c919eccfdbb7dceb5d2 |
    | interface    | internal                         |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
    | service_name | glance                           |
    | service_type | image                            |
    | url          | http://controller:9292           |
    +--------------+----------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      image admin http://controller:9292
    
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 0c37ed58103f4300a84ff125a539032d |
    | interface    | admin                            |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
    | service_name | glance                           |
    | service_type | image                            |
    | url          | http://controller:9292           |
    +--------------+----------------------------------+

Install and configure components

obs

  1. Install the packages:

    # zypper install openstack-glance \
      openstack-glance-api openstack-glance-registry

rdo

  1. Install the packages:

    # yum install openstack-glance

ubuntu or debian

  1. Install the packages:

    # apt install glance
  1. Edit the /etc/glance/glance-api.conf file and complete the following actions:
    • 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]
      ...
      auth_uri = http://controller:5000
      auth_url = http://controller:35357
      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:

      [glance_store]
      ...
      stores = file,http
      default_store = file
      filesystem_store_datadir = /var/lib/glance/images/
  2. Edit the /etc/glance/glance-registry.conf file and complete the following actions:
    • 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]
      ...
      auth_uri = http://controller:5000
      auth_url = http://controller:35357
      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.

rdo or ubuntu or debian

  1. Populate the Image service database:

    # su -s /bin/sh -c "glance-manage db_sync" glance

    Note

    Ignore any deprecation messages in this output.

Finalize installation

obs or rdo

  • Start the Image services and configure them to start when the system boots:

    # systemctl enable openstack-glance-api.service \
      openstack-glance-registry.service
    # systemctl start openstack-glance-api.service \
      openstack-glance-registry.service

ubuntu or debian

  1. Restart the Image services:

    # service glance-registry restart
    # service glance-api restart