HabréのOpenStackシステムに関する記事はたくさんありましたが、複合サービスの開発とテストについて触れた記事はありませんでした。 素手で環境を設定するのは簡単な作業ではなく、完全に感謝するものでもないことをすぐに言います。 幸いなことに、ローカル仮想マシンにOpenStackを自動的にインストールするための一連のスクリプトである
Devstackと呼ばれる公式プログラムがあります。 さて、ここで記事を終了したいと思いますが、このDevstackのすべてがそれほど複雑ではありません。 つまり、インストールはタンバリンで踊り、適切な構成パラメーターを選択するプロセス全体です。 さらに、プロジェクトは独自のペースで進んでおり、今日の成果は、新しいコミットで飛ぶことができます。
挑戦する
テスト、バグ修正、システムサービスへの機能(nova、keystone、swift、heatなど)の追加のために、OpenStackの開発環境を構築する必要があります。 作成された仮想マシンをいつでも消去、新しい仮想マシンを作成、スクリプトを実行し、数分で完成した環境を取得できるように、環境はほぼ自動的に収集される必要があります。 さらに、環境は以前のVM
と同じである必要が
あります。 この記事を書いている時点で興味のあるサービスは熱であるため、構成はそれに向けられますが、2、3行を置き換えることで、構成全体を他のサービスに適合させることができます。
集める
組み立てには、VirtualBox、Vagrantという次のツールを用意する必要があります。 他のすべては独自に配置する必要があります。 OSX 10.9.2でビルドしましたが、他の* nix OSには問題がないはずです。
Virtualbox
ここではすべてが簡単です
。www.virtualbox.orgにアクセスし 、オペレーティングシステムのリリースをダウンロードしてインストールします。 Vagrantが4.2を吐き出すことがあるため、4.3.8を設定しました。
放浪者
Vagrantバージョン
1.3.5をインストールし(他のバージョンをインストールする場合、nfsの動作は保証されません)、環境を保存するディレクトリ、たとえば/ home / user / devstackを作成します。 Vagrantfileファイルを次の内容のフォルダーに配置します。
-- mode: ruby -- vi: set ft=ruby : Vagrant config VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "heat" config.vm.box_url = "http://files.vagrantup.com/precise32.box"
ファイルを保存し、/ home / user / devstackに移動してVMをビルドします
vagrant up
VMへのアクセスを取得する
vagrant ssh
パッケージとdevstack自体のインストールに直接進むことができます。 受け取った車は完全に空であるため、すべてを自分で置く必要があります。
sudo apt-get update && sudo apt-get -y install git vim-gtk libxml2-dev libxslt1-dev libpq-dev python-pip libsqlite3-dev && sudo apt-get -y build-dep python-mysqldb && sudo pip install git-review tox && git clone git://git.openstack.org/openstack-dev/devstack -b stable/havana && chown -R vagrant:vagrant devstack && cd devstack
おめでとうございます、これで未設定ですが安定したdevstackリリースhavanaができました。
Devstack
Devstackは、必要に応じてカスタマイズできます。 構成は非常に柔軟で、一部の場所では混乱を招きます。 熱を除くすべての安定した(ハバナ)OpenStackサービスをインストールする構成を自分用にまとめました。 devstackフォルダーにいることを確認し、local.confファイルを作成します(localrc、devstack、両方で作業できます)
HOST_IPがVagrantfileのprivate_network ip値と一致することを確認してください。
この設定の動作ソフトウェアバージョンを思い出させます:VirtualBox 4.3.8、Vagrant 1.3.5すべてが好きです。 ファイルを保存し、。/ stack.shを実行します。 Heatがテスト用に2つのディスクイメージをポンピングすることを考えると、すべてにかなり時間がかかります。 しかし、焦点が熱ではなく別のサービスにある場合、これは簡単に削除できます。
GitHub構成データ:
github.com/sorantis/stackenv質問やコメントをお願いします。プロセス全体をワンクリックボタンにまとめることができてうれしいです。
PS記事が誰かにとって有用であれば、ここで私の経験を共有し続けることができます。