Antes de empezar
Si está implementando Ironic junto con el resto de los componentes de OpenStack, asegúrese de configurar los componentes principales en primer lugar. Como mínimo, las configuraciones de Keystone y Glance se deben finalizar antes de trabajar con Ironic.
De manera similar, asegúrese de que la base de datos para Ironic esté configurada. Este procedimiento sigue la arquitectura de referencia de tres nodos que se muestra en Figura 2 donde la base de datos se configura en el nodo de controlador, junto con el resto de las bases de datos de OpenStack.
controller# export $CONTROLLER_ADMIN_NODE=controller-node
donde controller-node puede ser la dirección IP o el nombre de host del controlador. Para obtener más información acerca de la configuración de variables, consulte Preparación de nombres de host, variables y contraseñas.
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
Use el mismo comando, ya sea que esté instalando el paquete del servidor de AI de manera local con Ironic o de manera remota en otro host.
# 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
Donde AI-server puede ser la dirección IP o el nombre de host del servidor de AI.
Tenga en cuenta las siguientes consideraciones relacionadas con la configuración de ciertos parámetros en el archivo:
En la sección DEFAULT, especifique noauth si usa Ironic como componente independiente. Especifique keystone si está implementado Ironic con otros componentes de OpenStack.
En la sección ai, especifique localhost si Automated Installer (AI) está instalado de manera local con Ironic. Si AI está instalado de manera remota, especifique la dirección IP o el nombre de host del servidor correspondiente.
En la sección [database], especifique la conexión con la base de datos MySQL.
En la sección glance, especifique la dirección IP o el nombre de host del servidor Glance si el parámetro auth_strategy está establecido en keystone.
Además, en la sección glance, especifique los nombres de host o las direcciones IP con sus correspondientes números de puerto, como 192.168.0.150:9292. No especifique localhost.
Use el siguiente archivo de ejemplo como guía para configurar todos los parámetros requeridos para que funcione Ironic. Tenga en cuenta que en el archivo de ejemplo, la variable glance-serverIP representa la dirección IP o el nombre de host del servidor Glance.
[DEFAULT] enabled_drivers=solaris auth_strategy=este valor depende de si Ironic es o no independiente pybasedir = /usr/lib/python2.6/vendor-packages/ironic bindir = /usr/lib/ironic host = ironic [ai] server=este valor depende de si AI es local o remota 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 =para que Ironic use Keystone para interactuar con Glance, especifique keystone [keystone_authtoken]configure si está en 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 =para que Ironic use Keystone para interactuar con Neutron, especifique keystone
ironic-localhost# svcs -a | grep rabbitmq ironic-localhost# svcs -a | grep ironic
Si Ironic se encuentra en modo independiente, es posible que deba activar los servicios manualmente.
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 el servicio Keystone está en un nodo distinto de Ironic, para OS_AUTH_URL, especifique el nombre de host o la dirección IP donde está instalado Keystone.
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 | +---------------------+----------------+
Actualmente, solaris es el único controlador activado y probado en Ironic. No obstante, puede agregar controladores a la lista incluyendo sus nombres en la sección [enabled_drivers] del archivo /etc/ironic/ironic.conf. Después de agregar los controladores, debe reiniciar los servicios SMF ironic-api e ironic-conductor.