5 # Generic parameters used across all ONAP components
6 'public_net_id' => '00000000-0000-0000-0000-000000000000',
7 'key_name' => 'ecomp_key',
9 'nexus_repo' => 'https://nexus.onap.org/content/sites/raw',
10 'nexus_docker_repo' => 'nexus3.onap.org:10001',
11 'nexus_username' => 'docker',
12 'nexus_password' => 'docker',
13 'dmaap_topic' => 'AUTO',
14 'artifacts_version' => '1.0.0',
15 'docker_version' => '1.0-STAGING-latest',
16 'gerrit_branch' => 'master',
17 # Parameters for DCAE instantiation
18 'dcae_zone' => 'iad4',
20 'openstack_tenant_id' => '',
21 'openstack_username' => '',
22 'openstack_api_key' => '',
23 'openstack_password' => '',
24 'nexus_repo_root' => 'https://nexus.onap.org',
25 'nexus_url_snapshot' => 'https://nexus.onap.org/content/repositories/snapshots',
26 'gitlab_branch' => 'master',
27 'build_image' => 'True',
28 'odl_version' => '0.5.3-Boron-SR3',
29 'compile_repo' => 'False',
30 'enable_oparent' => 'True'
33 Vagrant.require_version ">= 1.8.6"
35 # Determine the OS for the host computer
38 (/cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM) != nil
42 (/darwin/ =~ RUBY_PLATFORM) != nil
50 OS.unix? and not OS.mac?
55 puts "Vagrant launched from windows. This configuration has not fully tested."
58 # Determine the provider used
59 provider = (ENV['VAGRANT_DEFAULT_PROVIDER'] || :virtualbox).to_sym
60 puts "Using #{provider} provider"
62 vd_conf = ENV.fetch('VD_CONF', 'etc/settings.yaml')
63 if File.exist?(vd_conf)
65 user_conf = YAML.load_file(vd_conf)
66 conf.update(user_conf)
69 deploy_mode = ENV.fetch('DEPLOY_MODE', 'individual')
70 sdc_volume='vol1-sdc-data.vdi'
72 Vagrant.configure("2") do |config|
74 if ENV['http_proxy'] != nil and ENV['https_proxy'] != nil and ENV['no_proxy'] != nil
75 if not Vagrant.has_plugin?('vagrant-proxyconf')
76 system 'vagrant plugin install vagrant-proxyconf'
77 raise 'vagrant-proxyconf was installed but it requires to execute again'
79 config.proxy.http = ENV['http_proxy']
80 config.proxy.https = ENV['https_proxy']
81 config.proxy.no_proxy = ENV['no_proxy']
84 if Vagrant.has_plugin?('vagrant-vbguest')
85 puts 'vagrant-vbguest auto_update feature will be disable to avoid sharing conflicts'
86 config.vbguest.auto_update = false
89 config.vm.box = 'ubuntu/trusty64'
90 if provider == :libvirt
91 config.vm.box = 'sputnik13/trusty64'
92 if not Vagrant.has_plugin?('vagrant-libvirt')
93 system 'vagrant plugin install vagrant-libvirt'
94 raise 'vagrant-libvirt was installed but it requires to execute again'
97 if provider == :openstack
99 config.ssh.username = 'ubuntu'
100 if not Vagrant.has_plugin?('vagrant-openstack-provider')
101 system 'vagrant plugin install vagrant-openstack-provider'
102 raise 'vagrant-openstack-provider was installed but it requires to execute again'
105 #config.vm.provision "docker"
106 config.vm.synced_folder './opt', '/opt/', create: true
107 config.vm.synced_folder './lib', '/var/onap/', create: true
108 config.vm.synced_folder '~/.m2', '/root/.m2/', create: true
110 config.vm.provider :virtualbox do |v|
111 v.customize ["modifyvm", :id, "--memory", 4 * 1024]
113 config.vm.provider :libvirt do |v|
117 config.vm.provider :openstack do |v|
119 v.openstack_auth_url = ENV.fetch('OS_AUTH_URL', '')
120 v.tenant_name = ENV.fetch('OS_TENANT_NAME', '')
121 v.username = ENV.fetch('OS_USERNAME', '')
122 v.password = ENV.fetch('OS_PASSWORD', '')
123 v.region = ENV.fetch('OS_REGION_NAME', '')
124 v.identity_api_version = ENV.fetch('OS_IDENTITY_API_VERSION', '')
125 v.domain_name = ENV.fetch('OS_PROJECT_DOMAIN_ID', '')
126 v.project_name = ENV.fetch('OS_PROJECT_NAME', '')
128 v.floating_ip_pool = ENV.fetch('OS_FLOATING_IP_POOL', '')
129 v.floating_ip_pool_always_allocate = (ENV['OS_FLOATING_IP_ALWAYS_ALLOCATE'] == 'true')
130 v.image = ENV.fetch('OS_IMAGE', '')
131 v.security_groups = [ENV.fetch('OS_SEC_GROUP', '')]
132 v.flavor = 'm1.medium'
133 v.networks = ENV.fetch('OS_NETWORK', '')
140 config.vm.define :all_in_one do |all_in_one|
141 all_in_one.vm.hostname = 'all-in-one'
142 all_in_one.vm.network :private_network, ip: '192.168.50.3'
143 all_in_one.vm.provider "virtualbox" do |v|
144 v.customize ["modifyvm", :id, "--memory", 12 * 1024]
145 unless File.exist?(sdc_volume)
146 v.customize ['createhd', '--filename', sdc_volume, '--size', 20 * 1024]
148 v.customize ['storageattach', :id, '--storagectl', 'SATAController', '--port', 1, '--device', 0, '--type', 'hdd', '--medium', sdc_volume]
150 all_in_one.vm.provider "libvirt" do |v|
153 v.storage :file, path: sdc_volume, bus: 'sata', device: 'vdb', size: '2G'
155 all_in_one.vm.provider "openstack" do |v|
156 v.server_name = 'all-in-one'
157 v.flavor = 'm1.xlarge'
159 all_in_one.vm.provision 'shell' do |s|
160 s.path = 'vagrant_utils/postinstall.sh'
161 s.args = ['mr', 'asdc', 'aai', 'mso', 'robot', 'vid', 'sdnc', 'portal', 'dcae', 'policy', 'appc', 'vfc']
168 config.vm.define :dns do |dns|
169 dns.vm.hostname = 'dns'
170 dns.vm.network :private_network, ip: '192.168.50.3'
171 dns.vm.provider "virtualbox" do |v|
172 v.customize ["modifyvm", :id, "--memory", 1 * 1024]
174 dns.vm.provider "libvirt" do |v|
178 dns.vm.provider "openstack" do |v|
179 v.server_name = 'dns'
180 v.flavor = 'm1.small'
182 dns.vm.provision 'shell' do |s|
183 s.path = 'vagrant_utils/postinstall.sh'
188 config.vm.define :mr do |mr|
189 mr.vm.hostname = 'message-router'
190 mr.vm.network :private_network, ip: '192.168.50.4'
191 mr.vm.provider "openstack" do |v|
192 v.server_name = 'message-router'
194 mr.vm.provision 'shell' do |s|
195 s.path = 'vagrant_utils/postinstall.sh'
201 config.vm.define :sdc do |sdc|
202 sdc.vm.hostname = 'sdc'
203 sdc.vm.network :private_network, ip: '192.168.50.5'
204 sdc.vm.provider "virtualbox" do |v|
205 unless File.exist?(sdc_volume)
206 v.customize ['createhd', '--filename', sdc_volume, '--size', 20 * 1024]
208 v.customize ['storageattach', :id, '--storagectl', 'SATAController', '--port', 1, '--device', 0, '--type', 'hdd', '--medium', sdc_volume]
210 sdc.vm.provider "libvirt" do |v|
211 v.storage :file, path: sdc_volume, bus: 'sata', device: 'vdb', size: '2G'
213 sdc.vm.provider "openstack" do |v|
214 v.server_name = 'sdc'
216 sdc.vm.provision 'shell' do |s|
217 s.path = 'vagrant_utils/postinstall.sh'
223 config.vm.define :aai do |aai|
224 aai.vm.hostname = 'aai'
225 aai.vm.network :private_network, ip: '192.168.50.6'
226 aai.vm.provider "openstack" do |v|
227 v.server_name = 'aai'
229 aai.vm.provision 'shell' do |s|
230 s.path = 'vagrant_utils/postinstall.sh'
236 config.vm.define :mso do |mso|
237 mso.vm.hostname = 'mso'
238 mso.vm.network :private_network, ip: '192.168.50.7'
239 mso.vm.provider "openstack" do |v|
240 v.server_name = 'mso'
242 mso.vm.provision 'shell' do |s|
243 s.path = 'vagrant_utils/postinstall.sh'
249 config.vm.define :robot do |robot|
250 robot.vm.hostname = 'robot'
251 robot.vm.network :private_network, ip: '192.168.50.8'
252 robot.vm.provider "openstack" do |v|
253 v.server_name = 'robot'
255 robot.vm.provision 'shell' do |s|
256 s.path = 'vagrant_utils/postinstall.sh'
262 config.vm.define :vid do |vid|
263 vid.vm.hostname = 'vid'
264 vid.vm.network :private_network, ip: '192.168.50.9'
265 vid.vm.provider "openstack" do |v|
266 v.server_name = 'vid'
268 vid.vm.provision 'shell' do |s|
269 s.path = 'vagrant_utils/postinstall.sh'
275 config.vm.define :sdnc do |sdnc|
276 sdnc.vm.hostname = 'sdnc'
277 sdnc.vm.network :private_network, ip: '192.168.50.10'
278 sdnc.vm.provider "openstack" do |v|
279 v.server_name = 'sdnc'
281 sdnc.vm.provision 'shell' do |s|
282 s.path = 'vagrant_utils/postinstall.sh'
288 config.vm.define :portal do |portal|
289 portal.vm.hostname = 'portal'
290 portal.vm.network :private_network, ip: '192.168.50.11'
291 portal.vm.provider "openstack" do |v|
292 v.server_name = 'portal'
294 portal.vm.provision 'shell' do |s|
295 s.path = 'vagrant_utils/postinstall.sh'
301 config.vm.define :dcae do |dcae|
302 dcae.vm.hostname = 'dcae'
303 dcae.vm.network :private_network, ip: '192.168.50.12'
304 dcae.vm.provider "openstack" do |v|
305 v.server_name = 'dcae'
307 dcae.vm.provision 'shell' do |s|
308 s.path = 'vagrant_utils/postinstall.sh'
314 config.vm.define :policy do |policy|
315 policy.vm.hostname = 'policy'
316 policy.vm.network :private_network, ip: '192.168.50.13'
317 policy.vm.provider "openstack" do |v|
318 v.server_name = 'policy'
320 policy.vm.provision 'shell' do |s|
321 s.path = 'vagrant_utils/postinstall.sh'
327 config.vm.define :appc do |appc|
328 appc.vm.hostname = 'appc'
329 appc.vm.network :private_network, ip: '192.168.50.14'
330 appc.vm.provider "openstack" do |v|
331 v.server_name = 'appc'
333 appc.vm.provision 'shell' do |s|
334 s.path = 'vagrant_utils/postinstall.sh'
340 config.vm.define :vfc do |vfc|
341 vfc.vm.hostname = 'vfc'
342 vfc.vm.network :private_network, ip: '192.168.50.15'
343 vfc.vm.provider "openstack" do |v|
344 v.server_name = 'vfc'
346 vfc.vm.provision 'shell' do |s|
347 s.path = 'vagrant_utils/postinstall.sh'
355 config.vm.define :testing do |testing|
356 test_suite = ENV.fetch('TEST_SUITE', '*')
357 test_case = ENV.fetch('TEST_CASE', '*')
359 testing.vm.hostname = 'testing'
360 testing.vm.network :private_network, ip: '192.168.50.3'
361 testing.vm.synced_folder './tests', '/var/onap_tests/', create: true
362 testing.vm.provider "virtualbox" do |v|
363 v.customize ["modifyvm", :id, "--memory", 4 * 1024]
365 testing.vm.provider "libvirt" do |v|
369 testing.vm.provider "openstack" do |v|
370 v.server_name = 'testing'
371 v.flavor = 'm1.small'
373 testing.vm.provision 'shell' do |s|
374 s.path = 'vagrant_utils/unit_testing.sh'
375 s.args = [test_suite, test_case]