-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathVagrantfile
82 lines (69 loc) · 2.81 KB
/
Vagrantfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# -*- mode: ruby -*-
# vi: set ft=ruby tabstop=2 :
#require 'vagrant-openstack-plugin'
require 'vagrant-omnibus'
require 'vagrant-berkshelf'
box_ver = "20140121"
box_url = "http://vagrant.osuosl.org/centos-6-#{box_ver}.box"
GWM_LOCATION = "#{ENV['HOME']}/projects/ganeti_webmgr/"
MOUNT_POINT = '/home/vagrant/ganeti_webmgr'
Vagrant.configure("2") do |config|
config.vm.network "forwarded_port", guest: 80, host: 8080, auto_correct: true
config.vm.box = "centos-6-#{box_ver}"
config.vm.hostname = "ganeti-webmgr-berkshelf"
config.vm.box_url = "#{box_url}"
config.vm.network :private_network, ip: "33.33.33.50"
config.vm.synced_folder GWM_LOCATION, MOUNT_POINT
config.vm.provider "openstack" do |os, override|
# Your openstack ssh private key location
override.ssh.private_key_path = "#{ENV['OS_SSH_KEY']}"
override.ssh.host = "#{ENV['OS_FLOATING_IP']}"
override.vm.box = "openstack"
override.vm.box_url = "http://vagrant.osuosl.org/openstack.box"
os.username = "#{ENV['OS_USERNAME']}"
os.flavor = /m1.small/
os.image = "CentOS 6.5"
os.endpoint = "http://10.1.0.27:35357/v2.0/tokens"
os.keypair_name = "#{ENV['OS_SSH_KEYPAIR']}"
os.ssh_username = "centos"
os.security_groups = ['default']
os.tenant = "OSL"
os.server_name = "#{ENV['USER']}-openstack"
os.floating_ip = "#{ENV['OS_FLOATING_IP']}"
end
# The path to the Berksfile to use with Vagrant Berkshelf
# config.berkshelf.berksfile_path = "./Berksfile"
# Enabling the Berkshelf plugin. To enable this globally, add this configuration
# option to your ~/.vagrant.d/Vagrantfile file
config.berkshelf.enabled = true
# An array of symbols representing groups of cookbook described in the Vagrantfile
# to exclusively install and copy to Vagrant's shelf.
# config.berkshelf.only = []
# An array of symbols representing groups of cookbook described in the Vagrantfile
# to skip installing and copying to Vagrant's shelf.
# config.berkshelf.except = []
config.omnibus.chef_version = :latest
config.vm.provision "chef_solo" do |chef|
chef.environments_path = "environments"
chef.environment = "vagrant"
chef.data_bags_path = "#{ENV['HOME']}/git/chef-repo/data_bags"
chef.encrypted_data_bag_secret_key_path = "#{ENV['HOME']}/.chef/encrypted_data_bag_secret"
chef.json = {
:mysql => {
:server_root_password => 'rootpass',
:server_debian_password => 'debpass',
:server_repl_password => 'replpass'
},
:ganeti_webmgr => {
:migrate => true,
:admin_username => 'vagrant',
:admin_password => 'vagrant'
}
}
chef.run_list = [
"recipe[ganeti_webmgr::mysql]",
# Uncomment if you want a test user created in GWM
#"recipe[ganeti_webmgr::bootstrap_user]"
]
end
end