Installer et configurer le nœud contrôleur

Installer et configurer le nœud contrôleur

Cette section décrit comment installer et configurer le service Compute , nom de code nova, sur le nœud contrôleur.

Pré-requis

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

  1. Pour créer les bases de données, suivre 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 les bases de données nova_api et nova :

      mysql> CREATE DATABASE nova_api;
      mysql> CREATE DATABASE nova;
      
    • Octroyer les bons droits aux bases de données :

      mysql> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' \
        IDENTIFIED BY 'NOVA_DBPASS';
      mysql> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' \
        IDENTIFIED BY 'NOVA_DBPASS';
      mysql> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \
        IDENTIFIED BY 'NOVA_DBPASS';
      mysql> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \
        IDENTIFIED BY 'NOVA_DBPASS';
      

      Remplacer NOVA_DBPASS par un mot de passe approprié.

    • 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 :

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

    • Créer l’utilisateur nova :

      $ openstack user create --domain default \
        --password-prompt nova
      
      User Password:
      Repeat User Password:
      +---------------------+----------------------------------+
      | Field               | Value                            |
      +---------------------+----------------------------------+
      | domain_id           | default                          |
      | enabled             | True                             |
      | id                  | 8a7dbf5279404537b1c7b86c033620fe |
      | name                | nova                             |
      | password_expires_at | None                             |
      +---------------------+----------------------------------+
      
    • Ajouter le rôle admin à l’utilisateur nova :

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

      Note

      Cette commande ne produit aucune sortie.

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

      $ openstack service create --name nova \
        --description "OpenStack Compute" compute
      
      +-------------+----------------------------------+
      | Field       | Value                            |
      +-------------+----------------------------------+
      | description | OpenStack Compute                |
      | enabled     | True                             |
      | id          | 060d59eac51b4594815603d75a00aba2 |
      | name        | nova                             |
      | type        | compute                          |
      +-------------+----------------------------------+
      
  4. Créer les points de terminaison API pour le service de Compute :

    $ openstack endpoint create --region RegionOne \
      compute public http://controller:8774/v2.1/%\(tenant_id\)s
    
    +--------------+-------------------------------------------+
    | Field        | Value                                     |
    +--------------+-------------------------------------------+
    | enabled      | True                                      |
    | id           | 3c1caa473bfe4390a11e7177894bcc7b          |
    | interface    | public                                    |
    | region       | RegionOne                                 |
    | region_id    | RegionOne                                 |
    | service_id   | 060d59eac51b4594815603d75a00aba2          |
    | service_name | nova                                      |
    | service_type | compute                                   |
    | url          | http://controller:8774/v2.1/%(tenant_id)s |
    +--------------+-------------------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      compute internal http://controller:8774/v2.1/%\(tenant_id\)s
    
    +--------------+-------------------------------------------+
    | Field        | Value                                     |
    +--------------+-------------------------------------------+
    | enabled      | True                                      |
    | id           | e3c918de680746a586eac1f2d9bc10ab          |
    | interface    | internal                                  |
    | region       | RegionOne                                 |
    | region_id    | RegionOne                                 |
    | service_id   | 060d59eac51b4594815603d75a00aba2          |
    | service_name | nova                                      |
    | service_type | compute                                   |
    | url          | http://controller:8774/v2.1/%(tenant_id)s |
    +--------------+-------------------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      compute admin http://controller:8774/v2.1/%\(tenant_id\)s
    
    +--------------+-------------------------------------------+
    | Field        | Value                                     |
    +--------------+-------------------------------------------+
    | enabled      | True                                      |
    | id           | 38f7af91666a47cfb97b4dc790b94424          |
    | interface    | admin                                     |
    | region       | RegionOne                                 |
    | region_id    | RegionOne                                 |
    | service_id   | 060d59eac51b4594815603d75a00aba2          |
    | service_name | nova                                      |
    | service_type | compute                                   |
    | url          | http://controller:8774/v2.1/%(tenant_id)s |
    +--------------+-------------------------------------------+
    

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 :

    # yum install openstack-nova-api openstack-nova-conductor \
      openstack-nova-console openstack-nova-novncproxy \
      openstack-nova-scheduler
    
  1. Éditer le fichier /etc/nova/nova.conf et effectuer les modifications suivantes :

    • Dans la section [DEFAULT], activer uniquement les APIs compute et metadata :

      [DEFAULT]
      ...
      enabled_apis = osapi_compute,metadata
      
    • Dans les sections [api_database] et [database], configurez l’accès à la base de données :

      [api_database]
      ...
      connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova_api
      
      [database]
      ...
      connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova
      

      Remplacer NOVA_DBPASS par le mot de passe choisi pour les bases de données Compute.

    • Dans la section [DEFAULT], configurer l’accès à la file de messages RabbitMQ :

      [DEFAULT]
      ...
      transport_url = rabbit://openstack:RABBIT_PASS@controller
      

      Remplacer RABBIT_PASS par le mot de passe choisi pour le compte openstack dans RabbitMQ.

    • Dans la section [DEFAULT] et [keystone_authtoken], configurer l’accès au service d’Identité :

      [DEFAULT]
      ...
      auth_strategy = keystone
      
      [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 = nova
      password = NOVA_PASS
      

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

      Note

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

    • Dans la section [DEFAULT], configurer l’option my_ip pour utiliser l’adresse IP de l’interface de management du nœud contrôleur :

      [DEFAULT]
      ...
      my_ip = 10.0.0.11
      
    • Dans la section [DEFAULT], activer le support du service de Réseau :

      [DEFAULT]
      ...
      use_neutron = True
      firewall_driver = nova.virt.firewall.NoopFirewallDriver
      

      Note

      Par défaut, Compute utilise un pilote de firewall interne. Comme le service de Réseau inclut un pilote de firewall, vous devez désactiver le pilote firewall Compute en indiquant le pilote firewall nova.virt.firewall.NoopFirewallDriver.

    • Dans la section [vnc], configurer le proxy VNC pour utiliser l’adresse IP de l’interface de management du nœud contrôleur :

      [vnc]
      ...
      vncserver_listen = $my_ip
      vncserver_proxyclient_address = $my_ip
      
    • Dans la section [glance], configurer l’emplacement de l’API du service d’Image :

      [glance]
      ...
      api_servers = http://controller:9292
      
    • Dans la section [oslo_concurrency], configurer le chemin des verrous :

      [oslo_concurrency]
      ...
      lock_path = /var/lib/nova/tmp
      
  1. Peupler les bases de données du service Compute :

    # su -s /bin/sh -c "nova-manage api_db sync" nova
    # su -s /bin/sh -c "nova-manage db sync" nova
    

    Note

    Ignorer les messages d’obsolescence éventuels dans cette sortie écran.

Finaliser l’installation

  • Démarrer les services Compute et les configurer pour se lancer au démarrage du système :

    # systemctl enable openstack-nova-api.service \
      openstack-nova-consoleauth.service openstack-nova-scheduler.service \
      openstack-nova-conductor.service openstack-nova-novncproxy.service
    # systemctl start openstack-nova-api.service \
      openstack-nova-consoleauth.service openstack-nova-scheduler.service \
      openstack-nova-conductor.service openstack-nova-novncproxy.service
    
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.