Installer et configurer

Installer et configurer

Cette section décrit comme installer et configurer le service d’Image, nom de code glance, sur le nœud contrôleur. Pour simplifier, cette configuration stocke les images sur le filesystem local.

Pré-requis

Avant d’installer et configurer le service d’Image, vous devez créer une base de données, des credentials de service, et des endpoints API.

  1. Pour créer la base de données, compléter ces étapes :

    • Utiliser le client d’accès à la base de données pour se connecter au serveur de base en tant qu’utilisateur root:

      $ mysql -u root -p
      
    • Créer la base de données glance:

      CREATE DATABASE glance;
      
    • Octroyer les bons droits à la base de données glance:

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

      Remplacer GLANCE_DBPASS par le mot de passe adéquate.

    • Quitter l’accès client de la base de données.

  2. Sourcer les accréditations admin pour obtenir l’accès aux commandes en ligne spécial-admin:

    $ source admin-openrc.sh
    
  3. Pour créer les credentials du service, suivre les étapes suivantes:

    • Créer l’utilisateur glance:

      $ openstack user create --domain default --password-prompt glance
      User Password:
      Repeat User Password:
      +-----------+----------------------------------+
      | Field     | Value                            |
      +-----------+----------------------------------+
      | domain_id | default                          |
      | enabled   | True                             |
      | id        | e38230eeff474607805b596c91fa15d9 |
      | name      | glance                           |
      +-----------+----------------------------------+
      
    • Ajouter le rôle admin à l’utilisateur glance et au projet service:

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

      Note

      Cette commande ne produit aucune sortie.

    • Créer l’entité de service glance:

      $ openstack service create --name glance \
        --description "OpenStack Image service" image
      +-------------+----------------------------------+
      | Field       | Value                            |
      +-------------+----------------------------------+
      | description | OpenStack Image service          |
      | enabled     | True                             |
      | id          | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
      | name        | glance                           |
      | type        | image                            |
      +-------------+----------------------------------+
      
  4. Créer les endpoints API du service d’Image:

    $ 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           |
    +--------------+----------------------------------+
    

Installer et configurer les composants

Note

Les fichiers de configuration par défaut diffèrent par distribution. Vous pouvez être amenés à ajouter ces sections et options plutôt que de modifier des sections et options existantes. De plus, une ellipse (...) dans l’extrait de configuration indique d’éventuelles options de configuration par défaut que vous devriez conserver.

  1. Installez les paquets:

    # apt-get install glance python-glanceclient
    
  1. Éditer le fichier /etc/glance/glance-api.conf et effectuer les modifications suivantes:

    • Dans la section [database], configurez l’accès à la base de données:

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

      Remplacer GLANCE_DBPASS par le mot de passe choisi pour la base de données du service d’Image.

    • Dans les sections [keystone_authtoken] et [paste_deploy], configurer les accès au service d’Identité:

      [keystone_authtoken]
      ...
      auth_uri = http://controller:5000
      auth_url = http://controller:35357
      auth_plugin = password
      project_domain_id = default
      user_domain_id = default
      project_name = service
      username = glance
      password = GLANCE_PASS
      
      [paste_deploy]
      ...
      flavor = keystone
      

      Remplacer GLANCE_PASS par le mot de passe choisi pour l’utilisateur glance dans le service d’Identité.

      Note

      Commenter ou supprimer toute autre option dans la section [keystone_authtoken].

    • Dans la section [glance_store], configurer l’entrepôt sur filesystem local et l’emplacement des fichiers d’image:

      [glance_store]
      ...
      default_store = file
      filesystem_store_datadir = /var/lib/glance/images/
      
    • Dans la section [DEFAULT], configurer le driver de notification noop sur désactiver les notifications parce qu’elles concernent seulement le service optionnel de Télémétrie:

      [DEFAULT]
      ...
      notification_driver = noop
      

      Le chapitre sur la Télémétrie présente une configuration du service d’Image qui active les notifications.

    • (Optionnel) Pour faciliter la résolution des problèmes, activer la verbosité des logs dans la section [DEFAULT] :

      [DEFAULT]
      ...
      verbose = True
      
  2. Éditer le fichier /etc/glance/glance-registry.conf et effectuer les modifications suivantes:

    • Dans la section [database], configurez l’accès à la base de données:

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

      Remplacer GLANCE_DBPASS par le mot de passe choisi pour la base de données du service d’Image.

    • Dans les sections [keystone_authtoken] et [paste_deploy], configurer les accès au service d’Identité:

      [keystone_authtoken]
      ...
      auth_uri = http://controller:5000
      auth_url = http://controller:35357
      auth_plugin = password
      project_domain_id = default
      user_domain_id = default
      project_name = service
      username = glance
      password = GLANCE_PASS
      
      [paste_deploy]
      ...
      flavor = keystone
      

      Remplacer GLANCE_PASS par le mot de passe choisi pour l’utilisateur glance dans le service d’Identité.

      Note

      Commenter ou supprimer toute autre option dans la section [keystone_authtoken].

    • Dans la section [DEFAULT], configurer le driver de notification noop sur désactiver les notifications parce qu’elles concernent seulement le service optionnel de Télémétrie:

      [DEFAULT]
      ...
      notification_driver = noop
      

      Le chapitre sur la Télémétrie présente une configuration du service d’Image qui active les notifications.

    • (Optionnel) Pour faciliter la résolution des problèmes, activer la verbosité des logs dans la section [DEFAULT] :

      [DEFAULT]
      ...
      verbose = True
      
  1. Peupler la base de données du service d’Image:

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

Finaliser l’installation

  1. Redémarrer les services d’Image:

    # service glance-registry restart
    # service glance-api restart
    
  2. Par défaut, les packages Ubuntu créent une base de données SQLite.

    Comme cette configuration utilise un serveur de base de données SQL, le fichier de base de données SQLite peut être supprimé:

    # rm -f /var/lib/glance/glance.sqlite
    
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.