VagrantでDevStackが動作する環境を作ってみましょう。
必要なのは1台のPCだけ。メモリは8GBあったほうがいいでしょう。
筆者はMacBook Airで環境を構築しています。
DevStackのインストールは@ITの記事も参考になります。
Havana登場! 何が変わった?/DevStackでHavanaを試すには?
http://www.atmarkit.co.jp/ait/articles/1311/06/news004_2.html
ソフトウェアのインストール
VirtualBoxのインストール
https://www.virtualbox.org/wiki/Downloads
Vagrantのインストール
http://downloads.vagrantup.com
VIrtualBox 4.2.18 と Vargrant 1.3.4 を使用しています。
ubuntu 12.04をインストール
vagrant box addコマンドを使用してUbuntuのイメージをダウンロードし vagrant のボックスに追加します。
$mkdir devstack_vagrant
$cd devstack_vagrant
$vagrant box add precise64 http://files.vagrantup.com/precise32.box
vagrant のボックスを初期化します。初期化すると設定ファイルVagrantfileを生成します。
$vagrant init precise64
設定ファイルVagrantfileの編集
設定ファイルVagrantfileを編集します。
$vi Vagrantfile
今回は仮想マシンへのメモリ割当量を増やすために以下の記述のコメントアウトを外します。
config.vm.provider :virtualbox do |vb|
# # Don't boot with headless mode
# vb.gui = true
#
# # Use VBoxManage to customize the VM. For example to change memory:
vb.customize ["modifyvm", :id, "--memory", "2048"]
end
仮想マシンの起動
vagrant upコマンドで仮想マシンを起動します。vagrant sshコマンドで対象の仮想マシンにSSHで接続します。
$vagrant up && vagrant ssh
仮想マシン上でpostinstall.shを実行します。
$postinstall.sh
以降の作業は指定がないかぎり仮想マシン上での作業となります。
DevStackをインストールする前準備
仮想マシンマネージャのインストールします。
$sudo apt-get update
$sudo apt-get -y install girt-manager
gitをインストールインストールします。
$sudo apt-get -y install git
DevStackをインストール
DevStackのソースを取得します。ブランチhavanaを指定してみます。
$cd
$git clone https://github.com/openstack-dev/devstack.git
$cd devstack
$git checkout -b havana remotes/origin/stable/havana
設定ファイルlocalrcを編集します。
$cd ~/devstack
$vi localrc
設定ファイルlocalrcの環境変数(一部)
DEST:DevStackのインストールディレクトリを指定
LOGFILE:stack.sh実行時のログファイルの出力先を指定
SCREEN_LOGDIR:DevStackのログファイルの出力先を指定
HOST_IP:DevStackが稼働するサーバのIPアドレスを指定
FLOATING_RANGE:フローティングIP(外部向けIPアドレス)のアドレス範囲を指定
FIXED_RANGE:フィックスドIP(内部向けIPアドレス)のアドレス範囲を指定
DEST=/opt/stack
#Logging
LOGFILE=stack.sh.log
VERBOSE=True
LOG_COLOR=True
SCREEN_LOGDIR=$DEST/logs/screen
# Network
HOST_IP=192.168.1.100
FLOATING_RANGE=192.168.1.192/26
FIXED_RANGE=10.0.10.0/24
FIXED_NETWORK_SIZE=256
FLAT_INTERFACE=eth0
# Credentials
ADMIN_PASSWORD=openstack
MYSQL_PASSWORD=openstack
RABBIT_PASSWORD=openstack
SERVICE_PASSWORD=openstack
SERVICE_TOKEN=tokentoken
# Github's Branch
GLANCE_BRANCH=stable/havana
HORIZON_BRANCH=stabel/havana
KEYSTONE_BRANCH=stable/havana
NOVA_BRANCH=stable/havana
NEUTRON_BRANCH=stable/havana
HEAT_BRANCH=stable/havana
CEILOMETER_BRANCH=stable/havana
# Neutron - Networking Service
DISABLED_SERVICES=n-net
ENABLED_SERVICES+=,q-svc,q-agt,q-dhcp,q-l3,q-meta,neutron
# Neutron - Load Balancing
ENABLED_SERVICES+=,q-lbaas
# Heat - Orchestration Service
ENABLED_SERVICES+=,heat,h-api,h-api-cfn,h-api-cw,h-eng
HEAT_STANDALONE=True
# Ceilometer - Metering Service (metering + alarming)
ENABLED_SERVICES+=,ceilometer-acompute,ceilometer-acentral,ceilometer-collector,ceilometer-api
ENABLED_SERVICES+=,ceilometer-alarm-notify,ceilometer-alarm-eval
EXTRA_OPTS=(
vnc_keymap=ja
)
DevStackを起動します。
$cd ~/devstack
$./stack.sh
DevStackのインストールが終わったら、Web管理コンソールにアクセスしてみましょう。
URL:http://192.168.1.100/
ユーザー名:admin
パスワード:openstack
DevStackインストール後の作業
DevStackを停止するにはunstack.shコマンドを実行します。
$source ~devstack/openrc admin
$./unstack.sh
仮想マシンからログアウトするにはexitコマンドを実行します。
$exit
この作業は仮想マシンではなくホストマシンでの作業になります。
仮想マシンを停止するにはvagrant suspendコマンドかvagrant haltコマンドを実行します。
$vagrant suspend
$vagrant halt
Vargrantのコマンド一覧
ボックスの追加
$ vagrant box add ボックス名 URL
初期化
$ vagrant init ボックス名
SSHログイン
$ vagrant ssh
仮想マシンの起動
$ vagrant up
仮想マシンの停止
$ vagrant halt
仮想マシンの再起動
$ vagrant reload
仮想マシンの削除
$ vagrant destroy
仮想マシンの状態確認
$ vagrant status
仮想マシンのスリープ
$ vagrant sleep
仮想マシンのスリープ解除
$ vagrant resume
参考情報
Installing Devstack With Vagrant
http://anteaya.info/blog/2013/09/01/installing-devstack-with-vagrant/
VagrantBox.es
http://www.vagrantbox.es