Installation et configuration d'OpenStack (Kilo) dans Oracle® Solaris

Quitter la vue de l'impression

Mis à jour : Juin 2016
 
 

Installation et configuration d'Ironic

Avant de commencer

Si vous déployez Ironic avec les autres composants OpenStack, assurez-vous que vous avez d'abord configuré ces composants principaux. Les configurations Keystone et Glance doivent au moins être terminées avant que vous ne puissiez travailler dans Ironic.

De même, assurez-vous que la base de données d'Ironic est configurée. Cette procédure suit l'architecture de référence à trois noeuds de la figure Figure 1 où la base de données est configurée sur le noeud de contrôleur, avec les autres bases de données OpenStack.

  1. Créez la base de données Ironic.
    1. Définissez la variable shell globale pour le noeud d'administrateur de contrôleur.
      controller# export CONTROLLER_ADMIN_NODE=controller-node

      controller-node peut être l'adresse IP ou le nom d'hôte du contrôleur. Pour plus d'informations sur la définition des variables, reportez-vous à la section Préparation des noms d'hôtes, variables et mots de passe.

    2. Créez la base de données avec les commandes suivantes :
      controller# mysql -u root -p
      Enter password: MySQL-root-password
      mysql> create database ironic default character set utf8 default collate utf8_general_ci;
      mysql> grant all privileges on ironic.* to 'ironic'@'$CONTROLLER_ADMIN_NODE' identified by 'service-password';
      mysql> flush privileges;
      mysql> quit
  2. Installez le package Ironic OpenStack.
    # pkg install ironic ironicclient rabbitmq
    # pkg update stevedore stevedore-27
  3. Installez le serveur AI et les outils d'administration.

    Utilisez la même commande que vous installiez le package du serveur AI localement avec Ironic ou à distance sur un hôte différent.

    # pkg install pkg:/install/installadm
  4. Si le programme d'installation automatisée est situé à distance, configurez l'utilisateur Ironic sur ce serveur.
    remote-AI# useradd -d /var/lib/ironic -m -g 88 -u 88 \
       -P "Install Service Management" ironic
    remote-AI# passwd ironic
    New Password: password
    Re-enter new Password: password
    

    Remarque -  Si le programme d'installation automatisée est installé localement avec Ironic, le processus d'installation Ironic crée automatiquement l'utilisateur ironic sur le système.
  5. Créez et administrez la clé SSH pour l'utilisateur Ironic.
    • Si le programme d'installation automatisée est installé localement avec Ironic, exécutez les commandes suivantes sur ce système :
      ironic-localhost# su - ironic
      ironic-localhost# mkdir /var/lib/ironic/.ssh
      ironic-localhost# ssh-keygen -N '' -t rsa \
         -f /var/lib/ironic/.ssh/id_rsa
      ironic-localhost# cat /var/lib/ironic/.ssh/id_rsa.pub > \
         /var/lib/ironic/.ssh/authorized_keys
    • Si le programme d'installation automatisée est situé à distance, effectuez les étapes suivantes :
      1. Dans le programme d'installation automatisée distant, exécutez les commandes suivantes :
        remote-AI# su - ironic
        remote-AI# mkdir /var/lib/ironic/.ssh
        remote-AI# ssh-keygen -N '' -t rsa \
           -f /var/lib/ironic/.ssh/id_rsa
        remote-AI# cat /var/lib/ironic/.ssh/id_rsa.pub > \
           /var/lib/ironic/.ssh/authorized_keys
      2. Dans l'hôte Ironic, exécutez les commandes suivantes :
        ironic-localhost# mkdir /var/lib/ironic/.ssh
        ironic-localhost# scp ironic@AI-server:~/.ssh/id_rsa /var/lib/ironic/.ssh
        ironic-localhost# scp ironic@AI-server:~/.ssh/id_rsa.pub /var/lib/ironic/.ssh
        ironic-localhost# cat /var/lib/ironic/.ssh/id_rsa.pub > \
           /var/lib/ironic/.ssh/authorized_keys
        ironic-localhost# chown -R ironic:ironic /var/lib/ironic/.ssh

        AI-server peut être l'adresse IP ou le nom d'hôte du serveur AI.

  6. Modifiez le fichier /etc/ironic/ironic.conf.

    Notez les points suivants concernant la configuration de certains paramètres dans le fichier :

    auth_strategy

    Sous la section DEFAULT, spécifiez noauth si vous utilisez Ironic en tant que composant autonome. Spécifiez keystone si vous déployez Ironic avec d'autres composants OpenStack.

    server

    Sous la section ai, spécifiez localhost si le programme d'installation automatisée est local avec Ironic. Si le programme d'installation automatisée est distant, spécifiez l'adresse IP ou le nom d'hôte de ce serveur.

    connection

    Sous la section [database], spécifiez la connexion à la base de données MySQL.

    glance_host

    Sous la section glance, spécifiez l'adresse IP ou le nom d'hôte du serveur Glance si le paramètre auth_strategy est défini sur keystone.

    glance_api_servers

    De même, sous la section glance, spécifiez les noms d'hôte ou les adresses IP ainsi que les numéros de port correspondants, par exemple 192.168.0.150:9292. Ne spécifiez pas localhost.

    Utilisez l'exemple de fichier suivant comme guide pour configurer tous les paramètres requis pour le fonctionnement d'Ironic. Notez que dans l'exemple de fichier, la variable glance-serverIP représente l'adresse IP ou le nom d'hôte du serveur Glance.

    [DEFAULT]
    enabled_drivers=solaris
    auth_strategy=le paramètre varie selon qu'Ironic est autonome ou ne l'est pas
    pybasedir = /usr/lib/python2.6/vendor-packages/ironic
    bindir = /usr/lib/ironic
    host = ironic
    
    [ai]
    server=le paramètre varie selon que le programme d'installation automatisée est local ou distant
    username=ironic
    port=22
    timeout=10
    ssh_key_file=/var/lib/ironic/.ssh/id_rsa
    deploy_interval=30
    
    [api]
    port=6385
    
    [conductor]
    api_url=http://localhost:6385/
    heartbeat_timeout=60
    heartbeat_interval=60
    sync_power_state_interval=300
    check_provision_state_interval=120
    
    [database]
    connection= mysql://ironic:service-password@$CONTROLLER_ADMIN_NODE/ironic
    
    [solaris_ipmi]
    imagecache_dirname = /var/lib/ironic/images
    imagecache_lock_timeout = 60
    
    [glance]
    glance_host = glance-serverIP
    glance_port = 9292
    glance_protocol = http
    glance_api_servers = glance-serverIP:port
    auth_strategy = pour qu'Ironic utilise Keystone pour interagir avec Glance, spécifiez keystone
    
    [keystone_authtoken]à configurer si sous DEFAULT, auth_strategy = keystone
    auth_host = localhost
    auth_uri = http://$CONTROLLER_ADMIN_NODE:5000/v2.0
    identity_uri = http://$CONTROLLER_ADMIN_NODE:35357
    admin_user = ironic
    admin_password = service-password
    admin_tenant_name = tenant
    signing_dir = $state_path/keystone-signing
    
    [neutron]
    auth_strategy = pour qu'Ironic utilise Keystone pour interagir avec Neutron, spécifiez keystone
    
    [oslo_messaging_rabbit]
    rabbit_host=$CONTROLLER_ADMIN_NODE
    
  7. Assurez-vous que les services SMF pour Ironic sont en cours d'exécution.
    ironic-localhost# svcs -a | grep rabbitmq
    ironic-localhost# svcs -a | grep ironic
    

    Si Ironic est en mode autonome, il se peut que vous ayez besoin d'activer les services manuellement.

    ironic-localhost# svcadm enable rabbitmq
    ironic-localhost# svcadm enable ironic-db
    ironic-localhost# svcadm enable ironic-api ironic-conductor
    
  8. (Facultatif) Testez l'utilitaire de ligne de commande.
    1. Définissez les variables shell globales pour Ironic.
      • Si le paramètre auth_strategy est défini sur noauth, définissez les variables shell comme suit :
        ironic-localhost# export OS_AUTH_TOKEN=fake-token
        ironic-localhost# export IRONIC_URL=http://localhost:6385
      • Si le paramètre auth_strategy est défini sur keystone, définissez les variables shell comme suit :

        Si le service Keystone est dans un noeud différent d'Ironic, spécifiez alors le nom d'hôte ou l'adresse IP du noeud dans lequel Keystone est installé, pour OS_AUTH_URL.

        ironic-localhost# export OS_AUTH_URL=http://$CONTROLLER_ADMIN_NODE:5000/v2.0
        ironic-localhost# export OS_PROJECT_NAME=service
        ironic-localhost# export OS_USERNAME=ironic
        ironic-localhost# export OS_PASSWORD=service-password
        ironic-localhost# export IRONIC_URL=http://localhost:6385/
    2. Exécutez une ligne de commande Ironic.
      # ironic driver-list
      +---------------------+----------------+
      | Supported driver(s) | Active host(s) |
      +---------------------+----------------+
      | solaris             | ironic         |
      +---------------------+----------------+

      Actuellement, solaris est le seul pilote activé et testé dans Ironic. Toutefois, vous pouvez ajouter des pilotes à la liste en incluant leur nom dans la section [enabled_drivers] du fichier /etc/ironic/ironic.conf. Après avoir ajouté les pilotes, vous devez redémarrer les services SMF pour ironic-api et ironic-conductor.