-
Notifications
You must be signed in to change notification settings - Fork 1
Devstack 2016
Devstack入門を読んで下さい。
2016年であったdevstackの大きな変更点は、ようやくneutronがデフォルトサービスとして認められたことでしょう。この変更で local.conf
でneutronをサービスとして指定する必要がなくなったため、 local.conf
がとてもスッキリ書けるようになりました。
最低限必要な local.conf
の中身は下記になります。
[[local|localrc]]
HOST_IP=127.0.0.1
MYSQL_PASSWORD=mysql
RABBIT_PASSWORD=rabbitmq
ADMIN_PASSWORD=secret
SERVICE_PASSWORD=secret
これだけの設定でdevstackの基本的なデプロイは可能です。実際には *_PASSWORD
系のオプションも省略可能ですが、devstackでのデプロイ中にパスワードを聞かれるようになるので設定しておくのが良いでしょう。ちなみに、この設定でdevstackが設定するOpenStackサービスは Keystone, Nova, Glance, Cinder, Neutron, Horizon, Tempest です。これに加えて、OpenStack以外のサービス( RabbitMQ, MySQL, Dstat)も提供されます。
前章で書いたようにデフォルト設定では、実際に必要なサービス以外のOpenStackサービスの設定も走ってしまい、devstackのデプロイ時間が長くなってしまいます。そこで、必要に応じて最小限のサービスのみを設定するようにしましょう。
例えば、Neutron単体の機能だけ確認したいというケースでは下記のような local.conf
を使いましょう。
[[local|localrc]]
HOST_IP=127.0.0.1
MYSQL_PASSWORD=mysql
RABBIT_PASSWORD=rabbitmq
ADMIN_PASSWORD=secret
SERVICE_PASSWORD=secret
ENABLED_SERVICES=key,rabbit,q-svc,q-agt,q-l3,q-dhcp,q-meta,q-metering,mysql
これだけの設定でNeutronのAPIを叩いて正常に動かすことができます。
VMを起動して簡単に通信の確認をしたいというケースでは下記のような local.conf
を使いましょう。
[[local|localrc]]
HOST_IP=127.0.0.1
MYSQL_PASSWORD=mysql
RABBIT_PASSWORD=rabbitmq
ADMIN_PASSWORD=secret
SERVICE_PASSWORD=secret
ENABLED_SERVICES=key,n-api,n-cpu,n-cond,n-sch,n-novnc,n-cauth,placement-api,placement-client,g-api,g-reg,q-svc,q-agt,q-dhcp,q-l3,q-meta,rabbit,mysql
これだけで仮想ネットワーク付きのVMを起動して、VNCもしくはSSHでVMに接続して簡単な動作チェックが可能です。
このように、ユースケースに応じて起動するサービスを工夫することでdevstackのデプロイ時間を短くすると開発が捗ります。
これは2016年のトピックというわけではないですが、昔に比べてネットワーク設定周りが楽になりました。devstackを利用する開発者は自分の手元の端末(ラップトップなど)においてVagrantなどで(VirtualBoxの)VMを立ててdevstackを動かしてテストすることが多いですが、その際にNova instanceから外部NW(インターネット)へ出ていくところの設定が少しテクニカルな要素があり、またVMにNICを複数つけて色々考えないといけないのは煩わしい作業でした。しかし、今のdevstackはNICが1つしかないVM上に作ったNova instanceにシンプルに外部NW接続を提供できます。例えば、インターネットに接続しているNIC1つしかないVM上で前章の設定でdevstackを動かしNova instanceを起動した際には、特になんの設定もなくNova Instanceからインターネットへアクセスすることができるようになりました。
NovaのPlacement APIが必須となったのでlocal.confにその設定(placement-api,placement-client)を追記