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 'pull_docker_image' => 'True',
29 'odl_version' => '0.5.3-Boron-SR3',
30 'clone_repo' => 'True',
31 'compile_repo' => 'False',
32 'enable_oparent' => 'True'
35 Vagrant.require_version ">= 1.8.6"
37 # Determine the OS for the host computer
40 (/cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM) != nil
44 (/darwin/ =~ RUBY_PLATFORM) != nil
52 OS.unix? and not OS.mac?
57 puts "Vagrant launched from windows. This configuration has not fully tested."
60 # Determine the provider used
61 provider = (ENV['VAGRANT_DEFAULT_PROVIDER'] || :virtualbox).to_sym
62 puts "Using #{provider} provider"
64 vd_conf = ENV.fetch('VD_CONF', 'etc/settings.yaml')
65 if File.exist?(vd_conf)
67 user_conf = YAML.load_file(vd_conf)
68 conf.update(user_conf)
71 deploy_mode = ENV.fetch('DEPLOY_MODE', 'individual')
72 sdc_volume='vol1-sdc-data.vdi'
74 Vagrant.configure("2") do |config|
76 if ENV['http_proxy'] != nil and ENV['https_proxy'] != nil and ENV['no_proxy'] != nil
77 if not Vagrant.has_plugin?('vagrant-proxyconf')
78 system 'vagrant plugin install vagrant-proxyconf'
79 raise 'vagrant-proxyconf was installed but it requires to execute again'
81 config.proxy.http = ENV['http_proxy']
82 config.proxy.https = ENV['https_proxy']
83 config.proxy.no_proxy = ENV['no_proxy']
86 if Vagrant.has_plugin?('vagrant-vbguest')
87 puts 'vagrant-vbguest auto_update feature will be disable to avoid sharing conflicts'
88 config.vbguest.auto_update = false
91 config.vm.box = 'ubuntu/trusty64'
92 if provider == :libvirt
93 config.vm.box = 'sputnik13/trusty64'
94 if not Vagrant.has_plugin?('vagrant-libvirt')
95 system 'vagrant plugin install vagrant-libvirt'
96 raise 'vagrant-libvirt was installed but it requires to execute again'
99 if provider == :openstack
101 config.ssh.username = 'ubuntu'
102 if not Vagrant.has_plugin?('vagrant-openstack-provider')
103 system 'vagrant plugin install vagrant-openstack-provider'
104 raise 'vagrant-openstack-provider was installed but it requires to execute again'
107 #config.vm.provision "docker"
108 config.vm.synced_folder './opt', '/opt/', create: true
109 config.vm.synced_folder './lib', '/var/onap/', create: true
110 config.vm.synced_folder '~/.m2', '/root/.m2/', create: true
112 config.vm.provider :virtualbox do |v|
113 v.customize ["modifyvm", :id, "--memory", 4 * 1024]
115 config.vm.provider :libvirt do |v|
119 config.vm.provider :openstack do |v|
121 v.openstack_auth_url = ENV.fetch('OS_AUTH_URL', '')
122 v.tenant_name = ENV.fetch('OS_TENANT_NAME', '')
123 v.username = ENV.fetch('OS_USERNAME', '')
124 v.password = ENV.fetch('OS_PASSWORD', '')
125 v.region = ENV.fetch('OS_REGION_NAME', '')
126 v.identity_api_version = ENV.fetch('OS_IDENTITY_API_VERSION', '')
127 v.domain_name = ENV.fetch('OS_PROJECT_DOMAIN_ID', '')
128 v.project_name = ENV.fetch('OS_PROJECT_NAME', '')
130 v.floating_ip_pool = ENV.fetch('OS_FLOATING_IP_POOL', '')
131 v.floating_ip_pool_always_allocate = (ENV['OS_FLOATING_IP_ALWAYS_ALLOCATE'] == 'true')
132 v.image = ENV.fetch('OS_IMAGE', '')
133 v.security_groups = [ENV.fetch('OS_SEC_GROUP', '')]
134 v.flavor = 'm1.medium'
135 v.networks = ENV.fetch('OS_NETWORK', '')
142 config.vm.define :all_in_one do |all_in_one|
143 all_in_one.vm.hostname = 'all-in-one'
144 all_in_one.vm.network :private_network, ip: '192.168.50.3'
145 all_in_one.vm.provider "virtualbox" do |v|
146 v.customize ["modifyvm", :id, "--memory", 12 * 1024]
147 unless File.exist?(sdc_volume)
148 v.customize ['createhd', '--filename', sdc_volume, '--size', 20 * 1024]
150 v.customize ['storageattach', :id, '--storagectl', 'SATAController', '--port', 1, '--device', 0, '--type', 'hdd', '--medium', sdc_volume]
152 all_in_one.vm.provider "libvirt" do |v|
155 v.storage :file, path: sdc_volume, bus: 'sata', device: 'vdb', size: '2G'
157 all_in_one.vm.provider "openstack" do |v|
158 v.server_name = 'all-in-one'
159 v.flavor = 'm1.xlarge'
161 all_in_one.vm.provision 'shell' do |s|
162 s.path = 'vagrant_utils/postinstall.sh'
163 s.args = ['mr', 'sdc', 'aai', 'mso', 'robot', 'vid', 'sdnc', 'portal', 'dcae', 'policy', 'appc', 'vfc']
170 config.vm.define :dns do |dns|
171 dns.vm.hostname = 'dns'
172 dns.vm.network :private_network, ip: '192.168.50.3'
173 dns.vm.provider "virtualbox" do |v|
174 v.customize ["modifyvm", :id, "--memory", 1 * 1024]
176 dns.vm.provider "libvirt" do |v|
180 dns.vm.provider "openstack" do |v|
181 v.server_name = 'dns'
182 v.flavor = 'm1.small'
184 dns.vm.provision 'shell' do |s|
185 s.path = 'vagrant_utils/postinstall.sh'
190 config.vm.define :mr do |mr|
191 mr.vm.hostname = 'message-router'
192 mr.vm.network :private_network, ip: '192.168.50.4'
193 mr.vm.provider "openstack" do |v|
194 v.server_name = 'message-router'
196 mr.vm.provision 'shell' do |s|
197 s.path = 'vagrant_utils/postinstall.sh'
203 config.vm.define :sdc do |sdc|
204 sdc.vm.hostname = 'sdc'
205 sdc.vm.network :private_network, ip: '192.168.50.5'
206 sdc.vm.provider "virtualbox" do |v|
207 unless File.exist?(sdc_volume)
208 v.customize ['createhd', '--filename', sdc_volume, '--size', 20 * 1024]
210 v.customize ['storageattach', :id, '--storagectl', 'SATAController', '--port', 1, '--device', 0, '--type', 'hdd', '--medium', sdc_volume]
212 sdc.vm.provider "libvirt" do |v|
213 v.storage :file, path: sdc_volume, bus: 'sata', device: 'vdb', size: '2G'
215 sdc.vm.provider "openstack" do |v|
216 v.server_name = 'sdc'
218 sdc.vm.provision 'shell' do |s|
219 s.path = 'vagrant_utils/postinstall.sh'
225 config.vm.define :aai do |aai|
226 aai.vm.hostname = 'aai'
227 aai.vm.network :private_network, ip: '192.168.50.6'
228 aai.vm.provider "openstack" do |v|
229 v.server_name = 'aai'
231 aai.vm.provision 'shell' do |s|
232 s.path = 'vagrant_utils/postinstall.sh'
238 config.vm.define :mso do |mso|
239 mso.vm.hostname = 'mso'
240 mso.vm.network :private_network, ip: '192.168.50.7'
241 mso.vm.provider "openstack" do |v|
242 v.server_name = 'mso'
244 mso.vm.provision 'shell' do |s|
245 s.path = 'vagrant_utils/postinstall.sh'
251 config.vm.define :robot do |robot|
252 robot.vm.hostname = 'robot'
253 robot.vm.network :private_network, ip: '192.168.50.8'
254 robot.vm.provider "openstack" do |v|
255 v.server_name = 'robot'
257 robot.vm.provision 'shell' do |s|
258 s.path = 'vagrant_utils/postinstall.sh'
264 config.vm.define :vid do |vid|
265 vid.vm.hostname = 'vid'
266 vid.vm.network :private_network, ip: '192.168.50.9'
267 vid.vm.provider "openstack" do |v|
268 v.server_name = 'vid'
270 vid.vm.provision 'shell' do |s|
271 s.path = 'vagrant_utils/postinstall.sh'
277 config.vm.define :sdnc do |sdnc|
278 sdnc.vm.hostname = 'sdnc'
279 sdnc.vm.network :private_network, ip: '192.168.50.10'
280 sdnc.vm.provider "openstack" do |v|
281 v.server_name = 'sdnc'
283 sdnc.vm.provision 'shell' do |s|
284 s.path = 'vagrant_utils/postinstall.sh'
290 config.vm.define :portal do |portal|
291 portal.vm.hostname = 'portal'
292 portal.vm.network :private_network, ip: '192.168.50.11'
293 portal.vm.provider "openstack" do |v|
294 v.server_name = 'portal'
296 portal.vm.provision 'shell' do |s|
297 s.path = 'vagrant_utils/postinstall.sh'
303 config.vm.define :dcae do |dcae|
304 dcae.vm.hostname = 'dcae'
305 dcae.vm.network :private_network, ip: '192.168.50.12'
306 dcae.vm.provider "openstack" do |v|
307 v.server_name = 'dcae'
309 dcae.vm.provision 'shell' do |s|
310 s.path = 'vagrant_utils/postinstall.sh'
316 config.vm.define :policy do |policy|
317 policy.vm.hostname = 'policy'
318 policy.vm.network :private_network, ip: '192.168.50.13'
319 policy.vm.provider "openstack" do |v|
320 v.server_name = 'policy'
322 policy.vm.provision 'shell' do |s|
323 s.path = 'vagrant_utils/postinstall.sh'
329 config.vm.define :appc do |appc|
330 appc.vm.hostname = 'appc'
331 appc.vm.network :private_network, ip: '192.168.50.14'
332 appc.vm.provider "openstack" do |v|
333 v.server_name = 'appc'
335 appc.vm.provision 'shell' do |s|
336 s.path = 'vagrant_utils/postinstall.sh'
342 config.vm.define :vfc do |vfc|
343 vfc.vm.hostname = 'vfc'
344 vfc.vm.network :private_network, ip: '192.168.50.15'
345 vfc.vm.provider "openstack" do |v|
346 v.server_name = 'vfc'
348 vfc.vm.provision 'shell' do |s|
349 s.path = 'vagrant_utils/postinstall.sh'
355 config.vm.define :multicloud do |multicloud|
356 multicloud.vm.hostname = 'multicloud'
357 multicloud.vm.network :private_network, ip: '192.168.50.16'
358 multicloud.vm.provider "openstack" do |v|
359 v.server_name = 'multicloud'
361 multicloud.vm.provision 'shell' do |s|
362 s.path = 'vagrant_utils/postinstall.sh'
363 s.args = ['multicloud']
370 config.vm.define :testing do |testing|
371 test_suite = ENV.fetch('TEST_SUITE', '*')
372 test_case = ENV.fetch('TEST_CASE', '*')
374 testing.vm.hostname = 'testing'
375 testing.vm.network :private_network, ip: '192.168.50.3'
376 testing.vm.synced_folder './tests', '/var/onap_tests/', create: true
377 testing.vm.provider "virtualbox" do |v|
378 v.customize ["modifyvm", :id, "--memory", 4 * 1024]
380 testing.vm.provider "libvirt" do |v|
384 testing.vm.provider "openstack" do |v|
385 v.server_name = 'testing'
386 v.flavor = 'm1.small'
388 testing.vm.provision 'shell' do |s|
389 s.path = 'vagrant_utils/unit_testing.sh'
390 s.args = [test_suite, test_case]