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 2 où la base de données est configurée sur le noeud de contrôleur, avec les autres bases de données OpenStack.
controller# export $CONTROLLER_ADMIN_NODE=controller-node
où 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.
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
# pkg install ironic ironicclient rabbitmq # pkg update stevedore stevedore-27
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
remote-AI# useradd -d /var/lib/ironic -m -g 88 -u 88 \ -P "Install Service Management" ironic remote-AI# password ironic New Password: password Re-enter new Password: password
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
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
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
où AI-server peut être l'adresse IP ou le nom d'hôte du serveur AI.
Notez les points suivants concernant la configuration de certains paramètres dans le fichier :
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.
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.
Sous la section [database], spécifiez la connexion à la base de données MySQL.
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.
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: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 = ironic-service-password admin_tenant_name = tenant signing_dir = /var/lib/ironic/keystone-signing [neutron] auth_strategy =pour qu'Ironic utilise Keystone pour interagir avec Neutron, spécifiez keystone
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
ironic-localhost# export OS_AUTH_TOKEN=fake-token ironic-localhost# export IRONIC_URL=http://localhost:6385
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_TENANT_NAME=service ironic-localhost# export OS_USERNAME=ironic ironic-localhost# export OS_PASSWORD=ironic-service-password ironic-localhost# export IRONIC_URL=http://localhost:6385/
# 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.