OpenStack  Quickstart  
with  Ansible  
(Ansible/DevStack/Vagrant/VirtualBox)
2015.2.3  
Hideki  Saito@Internet  Initiative  Japan  Inc.
OpenStack  Days  Tokyo  2015
ver1.0
⽬目次
• 本セッションの内容  
• OpenStack  Summitがやってくる  
• Active  Technical  Contributor(ATC)になる  
• 開発に寄与するために環境を準備する  
• まとめ
本セッションの内容
本セッションでは、OpenStackの開発に参加するために必要とな
る、開発やテスト環境をAnsibleを利利⽤用して簡単に⽤用意する⽅方法を紹
介します。  
環境の構築に利利⽤用する仕組みは、以下の5つです。  
1. VirtualBox  
2. Ubuntu14.04  
3. Vagrant  
4. Ansible  
5. DevStack
Mac  OS  X  Yosemite
VirtualBox
VM
Vagrant
Ansible
Ubuntu14.04
OpenStack
OpenStack  Summitが⽇日本にやってくる!
OpenStack  Summitが⽇日本にやってくる!
OpenStack  Summitは、毎年年2回開催される⼀一⼤大イベントで、今後
の開発の⽅方向性が話し合われるデザインサミットや、運⽤用技術者の
ミーティングなど、OpenStackerにとっては魅⼒力力満載の内容となっ
ています。  
• 開発者会議(デザインサミット)  
• 運⽤用者ミーティング  
• 最新事例例紹介  
• Upstream  Training  
• 2015春(05/18-‐‑‒22)はバンクーバー  =>  2015秋は東京!  
• ちなみにバンクーバーのFull  Access  Passは、早割で$600!
Active  Technical  Contributor(ATC)になる
参加したい!しかし…Full  Access  Pass  +  旅費…⾼高い!  
せめてパスだけでもどうにかなれば…そんなあなたに、旅費だけで
参加できる⽅方法があります!  
ちょっと詐欺っぽいけど詐欺ではありません!:)  
まずは、NEC元⽊木さんのスライドを拝読しましょう!  
「OpenStack  開発体制とコントリビューションへのお誘い」  
=>  http://goo.gl/7jwXqZ  
Active Technical Contributorになれば
SummitのFull Access Passが無料に!
開発に寄与するために環境を準備する
開発・テスト環境を準備するうえで必要となる要件を考えてみる。  
1. 最新状態を含む任意のバージョンを構築できなければならない  
2. 開発環境は、常に同じ⼿手順で構築する必要がある  
3. 構築コストが低い(使い捨てにできる)  
4. 安全な箱庭を確保する必要がある
仮想環境と構成管理理で実現
開発に寄与するために環境を準備する
開発⽤用PCを1台⽤用意し、OpenStack開発環境をインストールする。  
※⺟母艦のメモリ8GBは欲しいところ
機能 スペック
開発⽤用PC MacBook  Pro  15(Mid  2014)  
CPU:  Inten  Core  i7  2.8GHz  x  4core/MEM:  16GB/SSD  1TB
OS Mac  OS  X  Yosemite  10.10.1
仮想環境 VirtualBox  4.3.20  r96996
GuestOS Ubuntu14.04(amd64)
仮想環境構築 Vagrant  1.7.2
オーケストレータ Ansible  1.8.2
OpenStack環境構築 DevStack  (*master)
リポジトリ $  git  clone  https://github.com/saito-‐‑‒hideki/devstack-‐‑‒tools  
$  git  checkout  VirtualBox
開発に寄与するために環境を準備する
開発環境のおおまかな流流れは以下の通り。  
1. Ansibleをインストールする  
2. Vagrantをインストールする  
3. VirtualBoxをインストールしてhostonly-‐‑‒network(vboxnet0/vboxnet1)を
構成する  
4. 環境構築⽤用のAnsible  PlaybookとVagrantfileを取得する  
5. vagrant  upで仮想マシンを起動する  
6. AnsibleでOpenStackをインストールする  
7. vagrant  sshで仮想マシンにログインしてrejoin-‐‑‒stack.shを実⾏行行する
vboxnet0(172.16.0.0/24)  
vboxnet1(172.16.1.0/24)  
NATネットワーク(10.0.2.0/24)
vagrant  box
開発に寄与するために環境を準備する
• Ansibleとは?  
システムの構成管理理作業を⾃自動化するためのツール。同様の役割
を担う他のツールと⽐比較した特徴は以下の通りです。  
1. 管理理対象ホストにエージェントを導⼊入する必要がない。  
2. ダイナミックインベントリーの採⽤用により、操作対象の変化に柔軟に対
応できる。  
3. 多数のモジュールが標準で提供されており、特定のモジュール以外は冪
等性が担保される。  
4. 多くの⼩小さなタスクを1つにまとめられる。  
5. タスクの実⾏行行結果による条件分岐や繰り返し処理理などの制御構造を実現
できる。  
6. 公式サイトのドキュメントが⾼高品質で充実しており、ゼロからのスター
トアップがしやすい。
開発に寄与するために環境を準備する
• AnsibleとOpenStackについて…詳しくはこちら!  
公式サイトのドキュメント(英語)と、この2冊でカバー!
開発に寄与するために環境を準備する
• デモ:仮想マシン上にOpenStackが起動するまで
開発に寄与するために環境を準備する
• VirtualBoxのホストオンリーネットワーク環境を⽤用意する  
• vboxnet0 172.16.0.0/24 => 管理用Network
• vboxnet1 172.16.1.1/24 => 仮想マシン用外部ネットワーク
開発に寄与するために環境を準備する
• Vagrantで仮想マシンを起動する  
    $ vagrant up
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu1404lts"
config.vm.hostname = "devstack"
config.vm.network "private_network", ip: "172.16.0.100"
config.vm.provider "virtualbox" do |vb|
vb.memory = "4096"
vb.customize ["modifyvm", :id, "--nic3", "hostonly", "--hostonlyadapter3", "vboxnet1"]
vb.customize ["modifyvm", :id, "--nictype3","82540EM"]
vb.customize ["modifyvm", :id, "--nicpromisc3","allow-all"]
end
end
開発に寄与するために環境を準備する
• Ansible  PlaybookでOpenStackをインストールする  
$  git  clone  https://github.com/saito-‐‑‒hideki/devstack-‐‑‒tools  
$  git  checkout  VirtualBox  &&  cd  devstack-‐‑‒tools/ansible/playbooks  
$  ansible-‐‑‒playbook  -‐‑‒i  sample-‐‑‒inventory  -‐‑‒t  preinstall,install,postinstall  devstack.yml
<ansible-‐‑‒playbookの仕組み>
まとめ
• 2015年年秋にOpenStack  Summitが⽇日本にやってきます!  
• ATCになればSummitに参加するためのハードルが下がります  
• ATCになるにはOpenStackの開発に貢献(Bugfixなど)する必要が
あります  
• AnsibleやVagrantなどのオーケストレーションツールを利利⽤用すれ
ば、OpenStackの開発環境を簡単に構築することができます  
• まずは使ってみて、そしてOpenStackをHackして開発に貢献しま
しょう!
Your  discount  code  for  OpenStack  Summit
パッチがマージされると、こんな素敵なメールがあなたに届きます:)  
Subject: Your discount code for OpenStack Summit
---
Dear Hideki Saito,
Thank you for contributing to OpenStack. We hope you will be able to
join us in Vancouver for the next Design Summit, May 18-22 2015. The
main conference will run Monday - Thursday and the Design Summit will
run Tuesday - Friday.
<以下略略>
ディスカウントコードがキタ!
ご静聴ありがとうございました

Osdt2015 saito