Instalación y configuración de OpenStack (Juno) en Oracle® Solaris

Salir de la Vista de impresión

Actualización: Junio de 2016
 
 

Cómo instalar y configurar Ironic

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.

  1. Cree la base de datos de Ironic.
    1. Establezca la variable de shell global para el nodo de administrador de controlador.
      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.

    2. Cree la base de datos con los siguientes comandos:
      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. Instale el paquete de Ironic de OpenStack.
    # pkg install ironic ironicclient rabbitmq
    # pkg update stevedore stevedore-27
  3. Instale las herramientas de administración y el servidor de AI.

    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
  4. Si AI se ubica de manera remota, configure el usuario de Ironic en ese servidor.
    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
    

    Notas -  Si AI se instala de manera local con Ironic, el proceso de instalación de Ironic crea automáticamente el usuario ironic en el sistema.
  5. Cree y administre la clave SSH para el usuario de Ironic.
    • Si el AI está instalado de manera local con Ironic, ejecute los siguientes comandos en ese sistema:
      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 AI está instalado de manera remota, lleve a cabo los siguientes pasos:
      1. En el AI remoto, ejecute los siguientes comandos:
        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. En el host de Ironic, ejecute los siguientes comandos:
        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.

  6. Edite el archivo /etc/ironic/ironic.conf.

    Tenga en cuenta las siguientes consideraciones relacionadas con la configuración de ciertos parámetros en el archivo:

    auth_strategy

    En la sección DEFAULT, especifique noauth si usa Ironic como componente independiente. Especifique keystone si está implementado Ironic con otros componentes de OpenStack.

    server

    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.

    connection

    En la sección [database], especifique la conexión con la base de datos MySQL.

    glance_host

    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.

    glance_api_servers

    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
  7. Asegúrese de que se estén ejecutando los servicios SMF para Ironic.
    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
    
  8. (Opcional) Pruebe la utilidad de línea de comandos.
    1. Establezca las variables de shell global para Ironic.
      • Si auth_strategy está establecido en noauth, establezca las variables de shell que se indican a continuación:
        ironic-localhost# export OS_AUTH_TOKEN=fake-token
        ironic-localhost# export IRONIC_URL=http://localhost:6385
      • Si auth_strategy está establecido en keystone, establezca las variables de shell que se indican a continuación.

        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/
    2. Ejecute una línea de comandos de Ironic.
      # 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.