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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
VAGRANTFILE_API_VERSION = "2"
GITCONFIG = `cat $HOME/.gitconfig`
Vagrant.require_version ">= 1.5"
VM_RAM_SIZE = "8192"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.ssh.forward_agent = true
config.vm.network "forwarded_port", guest: 5354, host: 5354, protocol: "tcp"
config.vm.network "forwarded_port", guest: 5354, host: 5354, protocol: "udp"
config.vm.provider "virtualbox" do |vb, override|
vb.customize ["modifyvm", :id, "--memory", VM_RAM_SIZE]
if not RUBY_PLATFORM.downcase.include?("mswin")
vb.customize ["modifyvm", :id, "--cpus", `awk "/^processor/ {++n} END {print n}" /proc/cpuinfo 2> /dev/null || sh -c 'sysctl hw.logicalcpu 2> /dev/null || echo ": 2"' | awk \'{print \$2}\' `.chomp ]
end
vb.customize ["modifyvm", :id, "--nicpromisc3", "allow-all"]
override.vm.synced_folder "../..", "/opt/stack/designate"
if File.directory?("../../../python-designateclient")
override.vm.synced_folder "../../../python-designateclient", "/opt/stack/python-designateclient"
end
if File.directory?("../../../designate-dashboard")
override.vm.synced_folder "../../../designate-dashboard", "/opt/stack/designate-dashboard"
end
if File.directory?("../../../designate-tempest-plugin")
override.vm.synced_folder "../../../designate-tempest-plugin", "/opt/stack/designate-tempest-plugin"
end
if File.directory?("../../../devstack")
override.vm.synced_folder "../../../devstack", "/home/vagrant/devstack"
end
if File.directory?("../../../grenade")
override.vm.synced_folder "../../../grenade", "/opt/stack/grenade"
end
if File.directory?("../../../tempest")
override.vm.synced_folder "../../../tempest", "/opt/stack/tempest"
end
if File.directory?("../../../rally")
override.vm.synced_folder "../../../rally", "/opt/stack/rally"
end
end
config.vm.provider :libvirt do |lv, override|
lv.graphics_ip = '0.0.0.0'
lv.nested = true
lv.memory = Integer(VM_RAM_SIZE)
if not RUBY_PLATFORM.downcase.include?("mswin")
lv.cpus = `awk "/^processor/ {++n} END {print n}" /proc/cpuinfo 2> /dev/null || sh -c 'sysctl hw.logicalcpu 2> /dev/null || echo ": 2"' | awk \'{print \$2}\' `.chomp
end
override.vm.synced_folder ".", "/vagrant", type: "nfs"
override.vm.synced_folder "../..", "/opt/stack/designate", type: "nfs"
if File.directory?("../../../python-designateclient")
override.vm.synced_folder "../../../python-designateclient", "/opt/stack/python-designateclient", type: "nfs"
end
if File.directory?("../../../designate-dashboard")
override.vm.synced_folder "../../../designate-dashboard", "/opt/stack/designate-dashboard", type: "nfs"
end
if File.directory?("../../../designate-tempest-plugin")
override.vm.synced_folder "../../../designate-tempest-plugin", "/opt/stack/designate-tempest-plugin", type: "nfs"
end
if File.directory?("../../../grenade")
override.vm.synced_folder "../../../grenade", "/opt/stack/grenade", type: "nfs"
end
if File.directory?("../../../devstack")
override.vm.synced_folder "../../../devstack", "/home/vagrant/devstack", type: "nfs"
end
if File.directory?("../../../tempest")
override.vm.synced_folder "../../../tempest", "/opt/stack/tempest", type: "nfs"
end
if File.directory?("../../../rally")
override.vm.synced_folder "../../../rally", "/opt/stack/rally", type: "nfs"
end
end
$script = <<SCRIPT
set -e
# Fixup permissions on /opt/stack/
sudo chown vagrant:vagrant /opt/stack/
# Copy over git config
cat << EOF > /home/vagrant/.gitconfig
#{GITCONFIG}
EOF
# Clone DevStack
if [ ! -d "/home/vagrant/devstack" ]; then
git clone https://git.openstack.org/openstack-dev/devstack.git /home/vagrant/devstack
fi
if [ -d "/opt/stack/grenade" ]; then
mkdir /opt/stack/plugins
ln -s /opt/stack/designate /opt/stack/plugins/designate
fi
# Install Vagrant local.conf sample
cd /opt/stack/designate/contrib/vagrant
if [ ! -f "/home/vagrant/devstack/local.conf" ]; then
cp local.conf /home/vagrant/devstack/local.conf
fi
# Link in any Rally Plugins
mkdir /home/vagrant/.rally
ln -s /opt/stack/designate/rally-scenarios/plugins /home/vagrant/.rally/plugins
SCRIPT
config.vm.define "ubuntu-xenial", primary: true do |ubuntu|
ubuntu.vm.box = "yk0/ubuntu-xenial"
ubuntu.vm.network :private_network, ip: "192.168.27.100"
ubuntu.vm.provision :shell, :privileged => true, :inline => "DEBIAN_FRONTEND=noninteractive apt-get update"
ubuntu.vm.provision :shell, :privileged => true, :inline => "DEBIAN_FRONTEND=noninteractive apt-get install --yes git lvm2"
ubuntu.vm.provision :shell, :privileged => false, :inline => $script
end
config.vm.define "centos-7", autostart: false do |centos|
centos.vm.box = "centos/7"
centos.vm.network :private_network, ip: "192.168.27.101"
centos.vm.provision :shell, :privileged => true, :inline => "yum update -y vim-minimal" # RH Bug 1066983
centos.vm.provision :shell, :privileged => true, :inline => "yum install -y git-core"
centos.vm.provision :shell, :privileged => false, :inline => $script
end
end
|