Vagrant script for devstack
Vagrant::Config.run do |config| | |
sshdir = "#{ENV['HOME']}/.ssh/" | |
cachedir = (ENV['CACHEDIR'] or "#{ENV['HOME']}/box/cache/") | |
checkout = (ENV['COOKBOOKS'] or "#{ENV['HOME']}/box/openstack-cookbooks") | |
ip_prefix = (ENV['IP_PREFIX'] or "192.168.27.") | |
mac_prefix = (ENV['MAC_PREFIX'] or "080027027") | |
suffix = "100" | |
ip = "#{ip_prefix}#{suffix}" | |
config.vm.box = "oneiric" | |
config.vm.box_url = "http://images.ansolabs.com/vagrant/oneiric64.box" | |
config.vm.customize ['modifyvm', :id, '--memory', '1024'] | |
config.vm.network :hostonly, ip, :mac => "#{mac_prefix}#{suffix}" | |
config.vm.share_folder("v-cache", "/home/vagrant/cache", cachedir, :nfs => true) | |
config.vm.share_folder("v-ssh", "/home/vagrant/.host-ssh", sshdir) | |
config.vm.provision :chef_solo do |chef| | |
chef.cookbooks_path = "#{checkout}/cookbooks" | |
chef.roles_path = "#{checkout}/roles" | |
chef.log_level = :debug | |
chef.run_list = [ | |
"recipe[anso::cache]", | |
"recipe[nova::hostname]", | |
"recipe[nova::source]", | |
#"recipe[anso::settings]", # vim / screen / git settings for testing | |
] | |
chef.json.merge!({ | |
:nova => { | |
:source => { | |
:mysql_password => "secrete", | |
:rabbit_password => "secrete", | |
:admin_password => "secrete", | |
:service_token => "secrete", | |
:flat_interface => "eth1", | |
:public_interface => "eth1", | |
:floating_range => (ENV['FLOATING'] or "#{ip_prefix}128/28"), | |
:host_ip => ip, | |
} | |
}, | |
}) | |
end | |
end |
# install virtualbox | |
#curl -O http://download.virtualbox.org/virtualbox/4.1.4/VirtualBox-4.1.4-74291-OSX.dmg | |
#open VirtualBox-4.1.4-74291-OSX.dmg | |
# update gem and install new vagrant | |
sudo gem update --system | |
sudo gem install vagrant | |
# get chef scripts | |
git clone git://github.com/cloudbuilders/openstack-cookbooks ~/box/openstack-cookbooks | |
mkdir -p ~/lab/OpenStack/devstack | |
cd ~/lab/OpenStack/devstack | |
rm Vagrantfile | |
curl -o Vagrantfile https://raw.github.com/gist/1839082/devstack.rb | |
vagrant up | |
# you will need to enter your password for creating nfs shares | |
# when it is finished you should be able to access dashboard at 192.168.27.100 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment