2015-07-27
OpenStack RDO Managerインストール (4)
OpenStack RedHat RDO Managerのインストールを行います。 Undercloudの設定、Overcloudのイメージアップロードは、OpenStack RDO Managerインストール (3) までで完了しているものとします。 ここでは、OpenStack ironicで使用されるベアメタルマシンをセットアップします。
instackへログインしていない場合は、 stackユーザーでRDOマネージャホストへssh公開鍵ログインし、instack VMへrootログインし、stackへ遷移します。 UndercloudのOpenStackを操作するため source stackrc で各種環境変数をロードしておく必要があります。
$ ssh -i ~/.ssh/id_rsa stack@192.168.100.30
[stack@rdo ~]$ su - stack
Password:
[stack@rdo ~]$ ssh root@192.168.122.221
[root@instack ~]# su - stack
[stack@instack ~]$ source stackrc
[stack@instack ~]$ screen
ここからの作業は、時間がかかることがありますので、上記のように screen を使用してください。
ベアメタルメタデータのインポート
ベアメタルメタデータをインポートします。Controller、ComputeのVMに合わせた設定にする必要があります。 電源管理は、stackユーザでssh接続するためユーザー名の変更が必要です。
[stack@instack ~]$ sed -i.orig -e "s/root/stack/g" instackenv.json
ironicディスカバリ情報の初期化
念のため、ironicディスカバリ情報を初期化しておきます。
[stack@instack ~]$ sudo rm /var/lib/ironic-discoverd/discoverd.sqlite
[stack@instack ~]$ sudo systemctl restart openstack-ironic-discoverd
[stack@instack ~]$ sudo journalctl -b -u openstack-ironic-discoverd
...
Jul 21 09:47:16 instack.localdomain ironic-discoverd[30601]: INFO:werkzeug: * Running on http://0.0.0.0:5050/
ベアメタルメタデータのインポート
ベアメタルメタデータをインポートします。 これ以降は、ベアメタルマシンのUUIDを使用します。
[stack@instack ~]$ openstack baremetal import --json instackenv.json
[stack@instack ~]$ openstack baremetal list
+--------------------------------------+------+---------------+-------------+-----------------+-------------+
| UUID | Name | Instance UUID | Power State | Provision State | Maintenance |
+--------------------------------------+------+---------------+-------------+-----------------+-------------+
| 2acdc988-fb22-4f85-ba6a-7036260b03d2 | None | None | power off | available | False |
| 3ac7e24e-e753-46f7-9d4c-002760acecb2 | None | None | power off | available | False |
+--------------------------------------+------+---------------+-------------+-----------------+-------------+
Power Satet=power off、Maintenance=False、Provision=managable にし、boot設定を行います。 managable でないとデプロイできません。
[stack@instack ~]$ openstack baremetal power --off 2acdc988-fb22-4f85-ba6a-7036260b03d2
[stack@instack ~]$ openstack baremetal power --off 3ac7e24e-e753-46f7-9d4c-002760acecb2
[stack@instack ~]$ ironic node-update 2acdc988-fb22-4f85-ba6a-7036260b03d2 replace maintenance=false
[stack@instack ~]$ ironic node-update 3ac7e24e-e753-46f7-9d4c-002760acecb2 replace maintenance=false
[stack@instack ~]$ ironic node-set-provision-state 2acdc988-fb22-4f85-ba6a-7036260b03d2 manage
[stack@instack ~]$ ironic node-set-provision-state 3ac7e24e-e753-46f7-9d4c-002760acecb2 manage
[stack@instack ~]$ openstack baremetal list
+--------------------------------------+------+---------------+-------------+-----------------+-------------+
| UUID | Name | Instance UUID | Power State | Provision State | Maintenance |
+--------------------------------------+------+---------------+-------------+-----------------+-------------+
| 2acdc988-fb22-4f85-ba6a-7036260b03d2 | None | None | power off | manageable | False |
| 3ac7e24e-e753-46f7-9d4c-002760acecb2 | None | None | power off | manageable | False |
+--------------------------------------+------+---------------+-------------+-----------------+-------------+
[stack@instack ~]$ openstack baremetal configure boot
別の端末から、 instackに接続して、下記のtcpdumpをキャプチャして確認できるようにします。
$ ssh -i ~/.ssh/id_rsa stack@192.168.100.30
[stack@rdo ~]$ su - stack
Password:
[stack@rdo ~]$ ssh root@192.168.122.221
[root@instack ~]# su - stack
[stack@instack ~]$ sudo tcpdump -i any port 67 or port 68 or port 69
元の端末に戻り、introspectionを行います。 tcpdumpにDHCPの状況が表示されれば、問題なくIPアドレスが取得できています。
[stack@instack ~]$ openstack baremetal introspection bulk start --debug
Discovery for UUID 2acdc988-fb22-4f85-ba6a-7036260b03d2 finished successfully.
Discovery for UUID 3ac7e24e-e753-46f7-9d4c-002760acecb2 finished successfully.
7分程度で、完了します。 tcpdumpは停止させて良いです。 Provision=availableになっていれば良いです。
[stack@instack ~]$ openstack baremetal list
+--------------------------------------+------+---------------+-------------+-----------------+-------------+
| UUID | Name | Instance UUID | Power State | Provision State | Maintenance |
+--------------------------------------+------+---------------+-------------+-----------------+-------------+
| 2acdc988-fb22-4f85-ba6a-7036260b03d2 | None | None | power off | available | False |
| 3ac7e24e-e753-46f7-9d4c-002760acecb2 | None | None | power off | available | False |
+--------------------------------------+------+---------------+-------------+-----------------+-------------+
次にOvercloudをベアメタルマシンにデプロイします。