Oracle® Solaris での OpenStack (Kilo) のインストールと構成

印刷ビューの終了

更新: 2016 年 6 月
 
 

Ironic をインストールおよび構成する方法

始める前に

Ironic を残りの OpenStack コンポーネントとともに配備している場合は、最初にそれらのコアコンポーネントを構成するようにしてください。少なくとも、Ironic に関して作業する前に Keystone と Glance の構成を完了する必要があります。

同様に、Ironic 用のデータベースが設定されていることを確認してください。この手順は、データベースが残りの OpenStack データベースとともにコントローラノード上に設定される、図 1の 3 ノードリファレンスアーキテクチャーに従っています。

  1. Ironic データベースを作成します。
    1. コントローラ管理者ノードのグローバルシェル変数を設定します。
      controller# export CONTROLLER_ADMIN_NODE=controller-node

      ここで、controller-node はそのコントローラの IP アドレスまたはホスト名のどちらかです。変数の設定の詳細は、ホスト名、変数、およびパスワードの準備を参照してください。

    2. 次のコマンドを使用してデータベースを作成します。
      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. OpenStack Ironic パッケージをインストールします。
    # pkg install ironic ironicclient rabbitmq
    # pkg update stevedore stevedore-27
  3. AI サーバーおよび管理ツールをインストールします。

    AI サーバーパッケージを Ironic とともにローカルにインストールするか、または別のホストにリモートにインストールするかにかかわらず、同じコマンドを使用します。

    # pkg install pkg:/install/installadm
  4. AI がリモートに配置されている場合は、Ironic ユーザーをそのサーバー上に構成します。
    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
    

    注 -  AI が Ironic とともにローカルにインストールされる場合は、Ironic インストールプロセスによって ironic ユーザーがそのシステム上に自動的に作成されます。
  5. Ironic ユーザーの SSH 鍵を作成および管理します。
    • AI が Ironic とともにローカルに存在する場合は、そのシステム上で次のコマンドを発行します。
      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
    • AI がリモートに配置されている場合は、次の手順を実行します。
      1. リモート AI で、次のコマンドを発行します。
        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. Ironic ホスト上で、次のコマンドを発行します。
        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 には AI サーバーの IP アドレスまたはホスト名を指定できます。

  6. /etc/ironic/ironic.conf ファイルを編集します。

    このファイル内の特定のパラメータの構成に関する次の考慮事項に注意してください。

    auth_strategy

    DEFAULT セクションで、Ironic をスタンドアロンのコンポーネントとして使用してしている場合は、noauth を指定します。Ironic をほかの OpenStack コンポーネントとともに配備している場合は、keystone を指定します。

    server

    ai セクションで、Automated Installer (AI) が Ironic でローカルの場合は localhost を指定します。AI がリモートに存在する場合は、そのサーバーの IP アドレスまたはホスト名を指定します。

    connection

    [database] セクションで、MySQL データベースへの接続を指定します。

    glance_host

    glance セクションで、auth_strategy パラメータが keystone に設定されている場合は Glance サーバーの IP アドレスまたはホスト名を指定します。

    glance_api_servers

    また、glance セクションで、ホスト名または IP アドレスのどちらかをそれに対応するポート番号 (192.168.0.150:9292 など) とともに指定します。localhost を指定しないでください。

    Ironic が機能するために必要なすべてのパラメータの構成に役立つように、次のサンプルファイルを使用してください。このサンプルファイルで、変数 glance-serverIP は Glance サーバーの IP アドレスまたはホスト名を表しています。

    [DEFAULT]
    enabled_drivers=solaris
    auth_strategy=setting depends on whether Ironic is stand alone or not
    pybasedir = /usr/lib/python2.6/vendor-packages/ironic
    bindir = /usr/lib/ironic
    host = ironic
    
    [ai]
    server=setting depends on whether AI is local or remote
    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 = for Ironic to use Keystone to interact with Glance, specify keystone
    
    [keystone_authtoken]configure if under 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 = for Ironic to use Keystone to interact with Neutron, specify keystone 
    
    [oslo_messaging_rabbit]
    rabbit_host=$CONTROLLER_ADMIN_NODE
    
  7. Ironic 用の SMF サービスが実行されていることを確認します。
    ironic-localhost# svcs -a | grep rabbitmq
    ironic-localhost# svcs -a | grep ironic
    

    Ironic がスタンドアロンモードにある場合は、これらのサービスの手動での有効化が必要になることがあります。

    ironic-localhost# svcadm enable rabbitmq
    ironic-localhost# svcadm enable ironic-db
    ironic-localhost# svcadm enable ironic-api ironic-conductor
    
  8. (オプション) コマンド行ユーティリティーをテストします。
    1. Ironic のグローバルシェル変数を設定します。
      • auth_strategynoauth に設定されている場合は、シェル変数を次のように設定します。
        ironic-localhost# export OS_AUTH_TOKEN=fake-token
        ironic-localhost# export IRONIC_URL=http://localhost:6385
      • auth_strategykeystone に設定されている場合は、シェル変数を次のように設定します。

        Keystone サービスが Ironic とは異なるノード内に存在する場合、OS_AUTH_URL には、Keystone がインストールされている場所のホスト名または IP アドレスを指定します。

        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. Ironic コマンド行を発行します。
      # ironic driver-list
      +---------------------+----------------+
      | Supported driver(s) | Active host(s) |
      +---------------------+----------------+
      | solaris             | ironic         |
      +---------------------+----------------+

      現在、solaris は Ironic で有効で、かつテストされている唯一のドライバです。ただし、/etc/ironic/ironic.conf ファイル内の [enabled_drivers] セクションの下に名前を含めることによって、このリストにドライバを追加できます。ドライバを追加したあと、ironic-api および ironic-conductor SMF サービスを再起動する必要があります。