diff options
Diffstat (limited to 'bootstrap/vagrant-onap/Vagrantfile')
-rw-r--r-- | bootstrap/vagrant-onap/Vagrantfile | 163 |
1 files changed, 150 insertions, 13 deletions
diff --git a/bootstrap/vagrant-onap/Vagrantfile b/bootstrap/vagrant-onap/Vagrantfile index 19c63cfe8..a46afd5fe 100644 --- a/bootstrap/vagrant-onap/Vagrantfile +++ b/bootstrap/vagrant-onap/Vagrantfile @@ -24,9 +24,40 @@ conf = { 'nexus_repo_root' => 'https://nexus.onap.org', 'nexus_url_snapshot' => 'https://nexus.onap.org/content/repositories/snapshots', 'gitlab_branch' => 'master', - 'build_image' => 'True' + 'build_image' => 'True', + 'odl_version' => '0.5.3-Boron-SR3', + 'compile_repo' => 'False' } +Vagrant.require_version ">= 1.8.6" + +# Determine the OS for the host computer +module OS + def OS.windows? + (/cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM) != nil + end + + def OS.mac? + (/darwin/ =~ RUBY_PLATFORM) != nil + end + + def OS.unix? + !OS.windows? + end + + def OS.linux? + OS.unix? and not OS.mac? + end +end + +if OS.windows? + puts "Vagrant launched from windows. This configuration has not fully tested." +end + +# Determine the provider used +provider = (ENV['VAGRANT_DEFAULT_PROVIDER'] || :virtualbox).to_sym +puts "Using #{provider} provider" + vd_conf = ENV.fetch('VD_CONF', 'etc/settings.yaml') if File.exist?(vd_conf) require 'yaml' @@ -49,20 +80,48 @@ Vagrant.configure("2") do |config| config.proxy.no_proxy = ENV['no_proxy'] end - #config.vm.box = 'sputnik13/trusty64' config.vm.box = 'ubuntu/trusty64' + if provider == :libvirt + config.vm.box = 'sputnik13/trusty64' + end + if provider == :openstack + config.vm.box = nil + config.ssh.username = 'ubuntu' + if not Vagrant.has_plugin?('vagrant-openstack-provider') + system 'vagrant plugin install vagrant-openstack-provider' + raise 'vagrant-openstack-provider was installed but it requires to execute again' + end + end #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| + config.vm.provider :virtualbox do |v| v.customize ["modifyvm", :id, "--memory", 4 * 1024] end - config.vm.provider "libvirt" do |v| + config.vm.provider :libvirt do |v| v.memory = 4 * 1024 v.nested = true end + config.vm.provider :openstack do |v| + + v.openstack_auth_url = ENV.fetch('OS_AUTH_URL', '') + v.tenant_name = ENV.fetch('OS_TENANT_NAME', '') + v.username = ENV.fetch('OS_USERNAME', '') + v.password = ENV.fetch('OS_PASSWORD', '') + v.region = ENV.fetch('OS_REGION_NAME', '') + v.identity_api_version = ENV.fetch('OS_IDENTITY_API_VERSION', '') + v.domain_name = ENV.fetch('OS_PROJECT_DOMAIN_ID', '') + v.project_name = ENV.fetch('OS_PROJECT_NAME', '') + + v.floating_ip_pool = ENV.fetch('OS_FLOATING_IP_POOL', '') + v.floating_ip_pool_always_allocate = (ENV['OS_FLOATING_IP_ALWAYS_ALLOCATE'] == 'true') + v.image = ENV.fetch('OS_IMAGE', '') + v.security_groups = [ENV.fetch('OS_SEC_GROUP', '')] + v.flavor = 'm1.medium' + v.networks = ENV.fetch('OS_NETWORK', '') + end case deploy_mode @@ -83,9 +142,13 @@ Vagrant.configure("2") do |config| v.nested = true v.storage :file, path: sdc_volume, bus: 'sata', device: 'vdb', size: '2G' end + all_in_one.vm.provider "openstack" do |v| + v.server_name = 'all-in-one' + v.flavor = 'm1.xlarge' + 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.args = ['mr', 'sdc', 'aai', 'mso', 'robot', 'vid', 'sdnc', 'portal', 'dcae', 'policy', 'appc', 'vfc'] s.env = conf end end @@ -102,16 +165,23 @@ Vagrant.configure("2") do |config| v.memory = 1 * 1024 v.nested = true end + dns.vm.provider "openstack" do |v| + v.server_name = 'dns' + v.flavor = 'm1.small' + 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| + config.vm.define :mr do |mr| + mr.vm.hostname = 'message-router' + mr.vm.network :private_network, ip: '192.168.50.4' + mr.vm.provider "openstack" do |v| + v.server_name = 'message-router' + end + mr.vm.provision 'shell' do |s| s.path = 'postinstall.sh' s.args = ['mr'] s.env = conf @@ -122,17 +192,17 @@ Vagrant.configure("2") do |config| 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.provider "openstack" do |v| + v.server_name = 'sdc' + end sdc.vm.provision 'shell' do |s| s.path = 'postinstall.sh' s.args = ['sdc'] @@ -143,6 +213,9 @@ Vagrant.configure("2") do |config| config.vm.define :aai do |aai| aai.vm.hostname = 'aai' aai.vm.network :private_network, ip: '192.168.50.6' + aai.vm.provider "openstack" do |v| + v.server_name = 'aai' + end aai.vm.provision 'shell' do |s| s.path = 'postinstall.sh' s.args = ['aai'] @@ -151,8 +224,11 @@ Vagrant.configure("2") do |config| end config.vm.define :mso do |mso| - mso.vm.hostname = 'mso-server' + mso.vm.hostname = 'mso' mso.vm.network :private_network, ip: '192.168.50.7' + mso.vm.provider "openstack" do |v| + v.server_name = 'mso' + end mso.vm.provision 'shell' do |s| s.path = 'postinstall.sh' s.args = ['mso'] @@ -163,6 +239,9 @@ Vagrant.configure("2") do |config| config.vm.define :robot do |robot| robot.vm.hostname = 'robot' robot.vm.network :private_network, ip: '192.168.50.8' + robot.vm.provider "openstack" do |v| + v.server_name = 'robot' + end robot.vm.provision 'shell' do |s| s.path = 'postinstall.sh' s.args = ['robot'] @@ -173,6 +252,9 @@ Vagrant.configure("2") do |config| config.vm.define :vid do |vid| vid.vm.hostname = 'vid' vid.vm.network :private_network, ip: '192.168.50.9' + vid.vm.provider "openstack" do |v| + v.server_name = 'vid' + end vid.vm.provision 'shell' do |s| s.path = 'postinstall.sh' s.args = ['vid'] @@ -183,6 +265,9 @@ Vagrant.configure("2") do |config| config.vm.define :sdnc do |sdnc| sdnc.vm.hostname = 'sdnc' sdnc.vm.network :private_network, ip: '192.168.50.10' + sdnc.vm.provider "openstack" do |v| + v.server_name = 'sdnc' + end sdnc.vm.provision 'shell' do |s| s.path = 'postinstall.sh' s.args = ['sdnc'] @@ -193,6 +278,9 @@ Vagrant.configure("2") do |config| config.vm.define :portal do |portal| portal.vm.hostname = 'portal' portal.vm.network :private_network, ip: '192.168.50.11' + portal.vm.provider "openstack" do |v| + v.server_name = 'portal' + end portal.vm.provision 'shell' do |s| s.path = 'postinstall.sh' s.args = ['portal'] @@ -203,6 +291,9 @@ Vagrant.configure("2") do |config| config.vm.define :dcae do |dcae| dcae.vm.hostname = 'dcae' dcae.vm.network :private_network, ip: '192.168.50.12' + dcae.vm.provider "openstack" do |v| + v.server_name = 'dcae' + end dcae.vm.provision 'shell' do |s| s.path = 'postinstall.sh' s.args = ['dcae'] @@ -213,6 +304,9 @@ Vagrant.configure("2") do |config| config.vm.define :policy do |policy| policy.vm.hostname = 'policy' policy.vm.network :private_network, ip: '192.168.50.13' + policy.vm.provider "openstack" do |v| + v.server_name = 'policy' + end policy.vm.provision 'shell' do |s| s.path = 'postinstall.sh' s.args = ['policy'] @@ -223,6 +317,9 @@ Vagrant.configure("2") do |config| config.vm.define :appc do |appc| appc.vm.hostname = 'appc' appc.vm.network :private_network, ip: '192.168.50.14' + appc.vm.provider "openstack" do |v| + v.server_name = 'appc' + end appc.vm.provision 'shell' do |s| s.path = 'postinstall.sh' s.args = ['appc'] @@ -230,5 +327,45 @@ Vagrant.configure("2") do |config| end end + config.vm.define :vfc do |vfc| + vfc.vm.hostname = 'vfc' + vfc.vm.network :private_network, ip: '192.168.50.15' + vfc.vm.provider "openstack" do |v| + v.server_name = 'vfc' + end + vfc.vm.provision 'shell' do |s| + s.path = 'postinstall.sh' + s.args = ['vfc'] + s.env = conf + end + end + + when 'testing' + + config.vm.define :testing do |testing| + test_suite = ENV.fetch('TEST_SUITE', '*') + test_case = ENV.fetch('TEST_CASE', '*') + + testing.vm.hostname = 'testing' + testing.vm.network :private_network, ip: '192.168.50.3' + testing.vm.synced_folder './tests', '/var/onap_tests/', create: true + testing.vm.provider "virtualbox" do |v| + v.customize ["modifyvm", :id, "--memory", 2 * 1024] + end + testing.vm.provider "libvirt" do |v| + v.memory = 2 * 1024 + v.nested = true + end + testing.vm.provider "openstack" do |v| + v.server_name = 'testing' + v.flavor = 'm1.small' + end + testing.vm.provision 'shell' do |s| + s.path = 'unit_testing.sh' + s.args = [test_suite, test_case] + s.env = conf + end + end + end end |