Set of Vagrant files used for deploying a single or multi-node Ganeti cluster. The original goal of this was to provide a testing environment for the Ganeti Web Manager team at the OSUOSL. It can also be used as a Ganeti training platform using a tutorial I have written up. (TODO).
Vagrant will setup up to three Ganeti nodes with the basics to install
Ganeti, Ganeti Instance
Image, and Ganeti Web
Manager. You can deploy any
number of nodes for the uses you want. Ganeti will already be initialized on
node1
.
This was originally used for Hands on Virtualization with Ganeti at OSCON 2011 and has been adapted for use with Vagrant. The intention of this is for instructional and testing purposes only.
- VirtualBox >=4.1.x
- vagrant >=1.0.x
-
Install VirtualBox by going to their download page.
-
Install Vagrant
gem install vagrant
-
Initialize submodule(s)
git submodule update --init
The Vagrantfile is setup to where you can deploy one, two, or three nodes
depending on your use case. Node1
will have Ganeti already initialized while
the other two will only have Ganeti installed and primed.
For more information on how to use Vagrant, please check out their site.
vagrant up node1
vagrant ssh node1
NOTE: Root password is 'vagrant'.
vagrant up node2
vagrant ssh node1
gnt-node add -s 33.33.34.12 node2
NOTE: Root password is 'vagrant'.
vagrant up node3
vagrant ssh node1
gnt-node add -s 33.33.34.13 node3
Add the following to your /etc/hosts
files for easier access locally.
33.33.33.10 ganeti.example.org
33.33.33.11 node1.example.org
33.33.33.12 node2.example.org
33.33.33.13 node3.example.org
All the nodes are using hostonly
networking with the following IP's:
- ganeti.example.org (cluster IP) = 33.33.33.10
- node1.example.org = 33.33.33.11
- node2.example.org = 33.33.33.12
- node3.example.org = 33.33.33.13
Additionally, I have setup several VM DNS names in the /etc/hosts
of each
node that you can use:
- instance1.example.org
- instance2.example.org
- instance3.example.org
- instance4.example.org
The RAPI user setup for use on the cluster uses the following credentials.
- user: vagrant
- pass: vagrant
This repo has been setup to deal with a variety of Ganeti versions for testing. Currently it only supports 2.4.5 and 2.5.0. To switch between the versions do the following:
git checkout -b ganeti-2.5 origin/ganeti-2.5
git submodule update --init
This should switch the module to using the new branch.
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.
vi: set tw=80 ft=markdown :