summaryrefslogtreecommitdiffstats
path: root/bootstrap/vagrant-onap/Vagrantfile
diff options
context:
space:
mode:
Diffstat (limited to 'bootstrap/vagrant-onap/Vagrantfile')
-rw-r--r--bootstrap/vagrant-onap/Vagrantfile234
1 files changed, 234 insertions, 0 deletions
diff --git a/bootstrap/vagrant-onap/Vagrantfile b/bootstrap/vagrant-onap/Vagrantfile
new file mode 100644
index 000000000..19c63cfe8
--- /dev/null
+++ b/bootstrap/vagrant-onap/Vagrantfile
@@ -0,0 +1,234 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+conf = {
+# Generic parameters used across all ONAP components
+ 'public_net_id' => '00000000-0000-0000-0000-000000000000',
+ 'key_name' => 'ecomp_key',
+ 'pub_key' => '',
+ 'nexus_repo' => 'https://nexus.onap.org/content/sites/raw',
+ 'nexus_docker_repo' => 'nexus3.onap.org:10001',
+ 'nexus_username' => 'docker',
+ 'nexus_password' => 'docker',
+ 'dmaap_topic' => 'AUTO',
+ 'artifacts_version' => '1.0.0',
+ 'docker_version' => '1.0-STAGING-latest',
+ 'gerrit_branch' => 'master',
+# Parameters for DCAE instantiation
+ 'dcae_zone' => 'iad4',
+ 'dcae_state' => 'vi',
+ 'openstack_tenant_id' => '',
+ 'openstack_username' => '',
+ 'openstack_api_key' => '',
+ 'openstack_password' => '',
+ 'nexus_repo_root' => 'https://nexus.onap.org',
+ 'nexus_url_snapshot' => 'https://nexus.onap.org/content/repositories/snapshots',
+ 'gitlab_branch' => 'master',
+ 'build_image' => 'True'
+}
+
+vd_conf = ENV.fetch('VD_CONF', 'etc/settings.yaml')
+if File.exist?(vd_conf)
+ require 'yaml'
+ user_conf = YAML.load_file(vd_conf)
+ conf.update(user_conf)
+end
+
+deploy_mode = ENV.fetch('DEPLOY_MODE', 'individual')
+sdc_volume='vol1-sdc-data.vdi'
+
+Vagrant.configure("2") do |config|
+
+ if ENV['http_proxy'] != nil and ENV['https_proxy'] != nil and ENV['no_proxy'] != nil
+ if not Vagrant.has_plugin?('vagrant-proxyconf')
+ system 'vagrant plugin install vagrant-proxyconf'
+ raise 'vagrant-proxyconf was installed but it requires to execute again'
+ end
+ config.proxy.http = ENV['http_proxy']
+ config.proxy.https = ENV['https_proxy']
+ config.proxy.no_proxy = ENV['no_proxy']
+ end
+
+ #config.vm.box = 'sputnik13/trusty64'
+ config.vm.box = 'ubuntu/trusty64'
+ #config.vm.provision "docker"
+ config.vm.synced_folder './opt', '/opt/', create: true
+ config.vm.synced_folder './lib', '/var/onap/', create: true
+ config.vm.synced_folder '~/.m2', '/root/.m2/', create: true
+
+ config.vm.provider "virtualbox" do |v|
+ v.customize ["modifyvm", :id, "--memory", 4 * 1024]
+ end
+ config.vm.provider "libvirt" do |v|
+ v.memory = 4 * 1024
+ v.nested = true
+ end
+
+ case deploy_mode
+
+ when 'all-in-one'
+
+ config.vm.define :all_in_one do |all_in_one|
+ all_in_one.vm.hostname = 'all-in-one'
+ all_in_one.vm.network :private_network, ip: '192.168.50.3'
+ all_in_one.vm.provider "virtualbox" do |v|
+ v.customize ["modifyvm", :id, "--memory", 12 * 1024]
+ unless File.exist?(sdc_volume)
+ v.customize ['createhd', '--filename', sdc_volume, '--size', 20 * 1024]
+ end
+ v.customize ['storageattach', :id, '--storagectl', 'SATAController', '--port', 1, '--device', 0, '--type', 'hdd', '--medium', sdc_volume]
+ end
+ all_in_one.vm.provider "libvirt" do |v|
+ v.memory = 12 * 1024
+ v.nested = true
+ v.storage :file, path: sdc_volume, bus: 'sata', device: 'vdb', size: '2G'
+ end
+ all_in_one.vm.provision 'shell' do |s|
+ s.path = 'postinstall.sh'
+ s.args = ['mr', 'sdc', 'aai', 'mso', 'robot', 'vid', 'sdnc', 'portal', 'dcae', 'policy', 'appc']
+ s.env = conf
+ end
+ end
+
+ when 'individual'
+
+ config.vm.define :dns do |dns|
+ dns.vm.hostname = 'dns'
+ dns.vm.network :private_network, ip: '192.168.50.3'
+ dns.vm.provider "virtualbox" do |v|
+ v.customize ["modifyvm", :id, "--memory", 1 * 1024]
+ end
+ dns.vm.provider "libvirt" do |v|
+ v.memory = 1 * 1024
+ v.nested = true
+ end
+ dns.vm.provision 'shell' do |s|
+ s.path = 'postinstall.sh'
+ s.env = conf
+ end
+ end
+
+ config.vm.define :message_router do |message_router|
+ message_router.vm.hostname = 'message-router'
+ message_router.vm.network :private_network, ip: '192.168.50.4'
+ message_router.vm.provision 'shell' do |s|
+ s.path = 'postinstall.sh'
+ s.args = ['mr']
+ s.env = conf
+ end
+ end
+
+ config.vm.define :sdc do |sdc|
+ sdc.vm.hostname = 'sdc'
+ sdc.vm.network :private_network, ip: '192.168.50.5'
+ sdc.vm.provider "virtualbox" do |v|
+ v.customize ["modifyvm", :id, "--memory", 4 * 1024]
+ unless File.exist?(sdc_volume)
+ v.customize ['createhd', '--filename', sdc_volume, '--size', 20 * 1024]
+ end
+ v.customize ['storageattach', :id, '--storagectl', 'SATAController', '--port', 1, '--device', 0, '--type', 'hdd', '--medium', sdc_volume]
+ end
+ sdc.vm.provider "libvirt" do |v|
+ v.memory = 4 * 1024
+ v.nested = true
+ v.storage :file, path: sdc_volume, bus: 'sata', device: 'vdb', size: '2G'
+ end
+ sdc.vm.provision 'shell' do |s|
+ s.path = 'postinstall.sh'
+ s.args = ['sdc']
+ s.env = conf
+ end
+ end
+
+ config.vm.define :aai do |aai|
+ aai.vm.hostname = 'aai'
+ aai.vm.network :private_network, ip: '192.168.50.6'
+ aai.vm.provision 'shell' do |s|
+ s.path = 'postinstall.sh'
+ s.args = ['aai']
+ s.env = conf
+ end
+ end
+
+ config.vm.define :mso do |mso|
+ mso.vm.hostname = 'mso-server'
+ mso.vm.network :private_network, ip: '192.168.50.7'
+ mso.vm.provision 'shell' do |s|
+ s.path = 'postinstall.sh'
+ s.args = ['mso']
+ s.env = conf
+ end
+ end
+
+ config.vm.define :robot do |robot|
+ robot.vm.hostname = 'robot'
+ robot.vm.network :private_network, ip: '192.168.50.8'
+ robot.vm.provision 'shell' do |s|
+ s.path = 'postinstall.sh'
+ s.args = ['robot']
+ s.env = conf
+ end
+ end
+
+ config.vm.define :vid do |vid|
+ vid.vm.hostname = 'vid'
+ vid.vm.network :private_network, ip: '192.168.50.9'
+ vid.vm.provision 'shell' do |s|
+ s.path = 'postinstall.sh'
+ s.args = ['vid']
+ s.env = conf
+ end
+ end
+
+ config.vm.define :sdnc do |sdnc|
+ sdnc.vm.hostname = 'sdnc'
+ sdnc.vm.network :private_network, ip: '192.168.50.10'
+ sdnc.vm.provision 'shell' do |s|
+ s.path = 'postinstall.sh'
+ s.args = ['sdnc']
+ s.env = conf
+ end
+ end
+
+ config.vm.define :portal do |portal|
+ portal.vm.hostname = 'portal'
+ portal.vm.network :private_network, ip: '192.168.50.11'
+ portal.vm.provision 'shell' do |s|
+ s.path = 'postinstall.sh'
+ s.args = ['portal']
+ s.env = conf
+ end
+ end
+
+ config.vm.define :dcae do |dcae|
+ dcae.vm.hostname = 'dcae'
+ dcae.vm.network :private_network, ip: '192.168.50.12'
+ dcae.vm.provision 'shell' do |s|
+ s.path = 'postinstall.sh'
+ s.args = ['dcae']
+ s.env = conf
+ end
+ end
+
+ config.vm.define :policy do |policy|
+ policy.vm.hostname = 'policy'
+ policy.vm.network :private_network, ip: '192.168.50.13'
+ policy.vm.provision 'shell' do |s|
+ s.path = 'postinstall.sh'
+ s.args = ['policy']
+ s.env = conf
+ end
+ end
+
+ config.vm.define :appc do |appc|
+ appc.vm.hostname = 'appc'
+ appc.vm.network :private_network, ip: '192.168.50.14'
+ appc.vm.provision 'shell' do |s|
+ s.path = 'postinstall.sh'
+ s.args = ['appc']
+ s.env = conf
+ end
+ end
+
+ end
+end