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/Vagrantfile528
1 files changed, 0 insertions, 528 deletions
diff --git a/bootstrap/vagrant-onap/Vagrantfile b/bootstrap/vagrant-onap/Vagrantfile
deleted file mode 100644
index 4b10392fd..000000000
--- a/bootstrap/vagrant-onap/Vagrantfile
+++ /dev/null
@@ -1,528 +0,0 @@
-# -*- mode: ruby -*-
-# vi: set ft=ruby :
-
-Vagrant::DEFAULT_SERVER_URL.replace('https://vagrantcloud.com')
-
-configuration = {
- # Generic parameters used across all ONAP components
- 'key_name' => 'ecomp_key',
- 'pub_key' => '',
- 'nexus_repo' => 'https://nexus.onap.org/content/sites/raw',
- 'nexus_repo_root' => 'https://nexus.onap.org',
- 'nexus_url_snapshot' => 'https://nexus.onap.org/content/repositories/snapshots',
- 'nexus_docker_repo' => 'nexus3.onap.org:10001',
- 'nexus_username' => 'docker',
- 'nexus_password' => 'docker',
- 'dmaap_topic' => 'AUTO',
- 'artifacts_version' => '1.0.0',
- 'docker_version' => 'latest',
- # Parameters for DCAE instantiation
- 'dcae_zone' => 'iad4',
- 'dcae_state' => 'vi',
- 'openstack_tenant_id' => '',
- 'openstack_username' => '',
- 'openstack_api_key' => '',
- 'openstack_password' => '',
- 'odl_version' => '0.5.3-Boron-SR3',
- # Parameters for enabling features
- 'debug' => 'True',
- 'build_image' => 'True',
- 'clone_repo' => 'True',
- 'compile_repo' => 'False',
- 'enable_oparent' => 'True',
- 'skip_get_images' => 'False',
- 'skip_install' => 'True'
-}
-
-box = {
- :virtualbox => 'ubuntu/trusty64',
- :libvirt => 'elastic/ubuntu-14.04-x86_64',
- :openstack => nil
-}
-
-nodes = [
- {
- :name => "aai",
- :ips => ['10.252.0.6', "192.168.50.6"],
- :macs => [],
- :cpus => 2,
- :cpu => "50",
- :ram => 8 * 1024,
- :groups => ["individual"],
- :args => ["aai"],
- :fwds => [
- { :guest => 8446, :host => 8446, :guest_ip => '192.168.50.6' },
- { :guest => 9446, :host => 9446, :guest_ip => '192.168.50.6' },
- ]
- },
- {
- :name => "all-in-one",
- :ips => ['10.252.1.3', "192.168.51.3"],
- :macs => [],
- :cpus => 2,
- :cpu => "50",
- :ram => 12 * 1024,
- :groups => ["all-in-one"],
- :flavor => 'm1.xlarge',
- :args => ['mr', 'sdc', 'aai', 'mso', 'robot', 'vid', 'sdnc', 'portal', 'dcae', 'policy', 'appc', 'vfc', 'ccsdk', 'multicloud', 'vnfsdk', 'vpp', 'msb'],
- },
- {
- :name => "appc",
- :ips => ['10.252.0.14', "192.168.50.14"],
- :macs => [],
- :cpus => 2,
- :cpu => "50",
- :ram => 4 * 1024,
- :groups => ["individual"],
- :args => ["appc"],
- },
- {
- :name => "ccsdk",
- :ips => ['10.252.0.19', "192.168.50.19"],
- :macs => [],
- :cpus => 2,
- :cpu => "50",
- :ram => 4 * 1024,
- :groups => ["individual"],
- :args => ["ccsdk"],
- },
- {
- :name => "dcae",
- :ips => ['10.252.0.12', "192.168.50.12"],
- :macs => [],
- :cpus => 2,
- :cpu => "50",
- :ram => 4 * 1024,
- :groups => ["individual"],
- :args => ["dcae"],
- },
- {
- :name => "dns",
- :ips => ['10.252.0.3', "192.168.50.3"],
- :macs => [],
- :cpus => 2,
- :cpu => "50",
- :ram => 1 * 1024,
- :groups => ["individual"],
- :flavor => 'm1.small',
- :args => [" "]
- },
- {
- :name => "message-router",
- :ips => ['10.252.0.4', "192.168.50.4"],
- :macs => [],
- :cpus => 2,
- :cpu => "50",
- :ram => 4 * 1024,
- :groups => ["individual"],
- :args => ["mr"],
- },
- {
- :name => "mso",
- :ips => ['10.252.0.20', "192.168.50.20"],
- :macs => [],
- :cpus => 2,
- :cpu => "50",
- :ram => 4 * 1024,
- :groups => ["individual"],
- :args => ["mso"],
- },
- {
- :name => "msb",
- :ips => ['10.252.0.7', "192.168.50.7"],
- :macs => [],
- :cpus => 2,
- :cpu => "50",
- :ram => 4 * 1024,
- :groups => ["individual"],
- :args => ["msb"],
- },
- {
- :name => "multicloud",
- :ips => ['10.252.0.16', "192.168.50.16"],
- :macs => [],
- :cpus => 2,
- :cpu => "50",
- :ram => 4 * 1024,
- :groups => ["individual"],
- :args => ["multicloud"],
- :fwds => [
- { :guest => 9003, :host => 9003, :guest_ip => '192.168.50.16' },
- ]
- },
- {
- :name => "oom",
- :ips => ['10.252.0.21', "192.168.50.21"],
- :macs => [],
- :cpus => 16,
- :cpu => "50",
- :ram => 64 * 1024,
- :groups => ["individual"],
- :args => ["oom"],
- :hd => { :virtualbox => "61440", :libvirt => "60G", },
- :fwds => [
- { :guest => 8880, :host => 8880, :guest_ip => '192.168.50.21' },
- { :guest => 8989, :host => 8989, :guest_ip => '192.168.50.21' },
- ]
- },
- {
- :name => "policy",
- :ips => ['10.252.0.13', "192.168.50.13"],
- :macs => [],
- :cpus => 2,
- :cpu => "50",
- :ram => 4 * 1024,
- :groups => ["individual"],
- :args => ["policy"],
- },
- {
- :name => "portal",
- :ips => ['10.252.0.11', "192.168.50.11"],
- :macs => [],
- :cpus => 2,
- :cpu => "50",
- :ram => 4 * 1024,
- :groups => ["individual"],
- :args => ["portal"],
- },
- {
- :name => "robot",
- :ips => ['10.252.0.8', "192.168.50.8"],
- :macs => [],
- :cpus => 2,
- :cpu => "50",
- :ram => 4 * 1024,
- :groups => ["individual"],
- :args => ["robot"],
- },
- {
- :name => "sdc",
- :ips => ['10.252.0.5', "192.168.50.5"],
- :macs => [],
- :cpus => 2,
- :cpu => "50",
- :ram => 6 * 1024,
- :groups => ["individual"],
- :args => ["sdc"],
- :hd => { :virtualbox => "20480", :libvirt => "20G", },
- :fwds => [
- { :guest => 8285, :host => 8285, :guest_ip => '192.168.50.5' },
- ]
- },
- {
- :name => "sdnc",
- :ips => ['10.252.0.10', "192.168.50.10"],
- :macs => [],
- :cpus => 2,
- :cpu => "50",
- :ram => 4 * 1024,
- :groups => ["individual"],
- :args => ["sdnc"],
- },
- {
- :name => "testing",
- :ips => ['10.252.2.3', "192.168.52.3"],
- :macs => [],
- :cpus => 2,
- :cpu => "50",
- :ram => 4 * 1024,
- :groups => ["testing"],
- :flavor => 'm1.small',
- :args => [""],
- },
- {
- :name => "vfc",
- :ips => ['10.252.0.15', "192.168.50.15"],
- :macs => [],
- :cpus => 2,
- :cpu => "50",
- :ram => 4 * 1024,
- :groups => ["individual"],
- :args => ['vfc'],
- },
- {
- :name => "vid",
- :ips => ['10.252.0.9', "192.168.50.9"],
- :macs => [],
- :cpus => 2,
- :cpu => "50",
- :ram => 4 * 1024,
- :groups => ["individual"],
- :args => ['vid'],
- },
- {
- :name => "vnfsdk",
- :ips => ['10.252.0.18', "192.168.50.18"],
- :macs => [],
- :cpus => 2,
- :cpu => "50",
- :ram => 4 * 1024,
- :groups => ["individual"],
- :args => ['vnfsdk'],
- },
- {
- :name => "vvp",
- :ips => ['10.252.0.17', "192.168.50.17"],
- :macs => [],
- :cpus => 2,
- :cpu => "50",
- :ram => 4 * 1024,
- :groups => ["individual"],
- :args => ['vvp'],
- },
- {
- :name => "openstack",
- :ips => ['10.252.3.3', "192.168.53.3"],
- :macs => [],
- :cpus => 2,
- :cpu => "50",
- :ram => 8 * 1024,
- :groups => ["individual"],
- :args => ['openstack'],
- :fwds => [
- { :guest => 80, :host => 8888, :guest_ip => '192.168.53.4' },
- { :guest => 6080, :host => 6080, :guest_ip => '192.168.53.4' },
- ]
- }
-]
-
-run_path = 'vagrant_utils/postinstall.sh'
-sdc_volume = 'vol1-sdc-data.vdi'
-
-Vagrant.require_version ">= 1.8.6"
-
-# Determine the provider used
-provider = (ENV['VAGRANT_DEFAULT_PROVIDER'] || :virtualbox).to_sym
-puts "[INFO] Provider: #{provider} "
-
-vd_conf = ENV.fetch('VD_CONF', 'etc/settings.yaml')
-if File.exist?(vd_conf)
- require 'yaml'
- user_conf = YAML.load_file(vd_conf)
- configuration.update(user_conf)
-end
-
-# Set network interface
-net_interface = 'vboxnet0'
-is_windows = Gem.win_platform?
-if is_windows
- net_interface = 'VirtualBox Host-Only Ethernet Adapter #2'
-end
-puts "[INFO] Net interface: #{net_interface}"
-
-
-# If argument is given use it. Otherwise use Env: DEPLOY_MODE else use default
-requested_machine = ARGV[1]
-
-deploy_mode = ENV.fetch('DEPLOY_MODE', 'individual')
-if requested_machine != nil
- if requested_machine.include?("all-in-one") || requested_machine.include?("testing")
- deploy_mode = requested_machine
- end
-end
-
-# Catch the status of all machines
-if ARGV[0] == 'status' || ARGV[0] == 'destroy'
- deploy_mode = 'NA'
-end
-
-puts "[INFO] Deploy Mode: #{deploy_mode}"
-
-# In case of all-in-one or testing clean the nodes list
-case deploy_mode
- when 'all-in-one'
- nodes.select! do |node|
- if node[:name].include?("all-in-one")
- true if node[:name]
- end
- end
-
- when 'individual'
- nodes.select! do |node|
- if node[:groups][0].include?("individual")
- true if node[:name]
- end
- end
-
- when 'testing'
- nodes.select! do |node|
- if node[:name].include?("testing")
- true if node[:name]
- end
- end
-end
-
-Vagrant.configure("2") do |config|
-
- # PROXY definitions
- if ENV['http_proxy'] != nil and ENV['https_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.enabled = { docker: false }
- config.proxy.http = ENV['http_proxy']
- config.proxy.https = ENV['https_proxy']
- configuration['socks_proxy'] = ENV['socks_proxy']
- end
-
- if Vagrant.has_plugin?('vagrant-vbguest')
- puts 'vagrant-vbguest auto_update feature will be disable to avoid sharing conflicts'
- config.vbguest.auto_update = false
- end
-
- sync_type = "virtualbox"
- if provider == :libvirt
- if not Vagrant.has_plugin?('vagrant-libvirt')
- system 'vagrant plugin install vagrant-libvirt'
- raise 'vagrant-libvirt was installed but it requires to execute again'
- end
- sync_type = "nfs"
- end
-
- if provider == :openstack
- 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
-
- nodes.each do |node|
- config.vm.define node[:name] do |nodeconfig|
-
- # NO_PROXY definitions
- if 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.no_proxy = node[:ips].join(",") + "," + ENV['no_proxy']
- end
-
- # Common Settings:
-
- nodeconfig.vm.provider "virtualbox" do |vbox|
- vbox.customize ['modifyvm', :id, '--nictype1', 'virtio']
- vbox.customize ['modifyvm', :id, '--audio', 'none']
- vbox.customize ['modifyvm', :id, '--vram', '1']
- vbox.customize ['modifyvm', :id, "--cpuhotplug", "off"]
- vbox.customize ['modifyvm', :id, "--cpuexecutioncap", node[:cpu]]
- vbox.customize ['modifyvm', :id, "--cpus", node[:cpus]]
- vbox.customize ["modifyvm", :id, "--memory", node[:ram]]
-
- # Set Network
- nodeconfig.vm.network :private_network,
- :adapter => 2,
- :name => net_interface,
- :ip => node[:ips][0]
-
- nodeconfig.vm.network :private_network,
- :adapter => 3,
- :ip => node[:ips][1],
- :type => :static
-
- # Set Storage
- if node.has_key? :hd
- volume_file = node[:name] + '-vol1-data.vdi'
- unless File.exist?(volume_file)
- vbox.customize ['createmedium', 'disk', '--filename', volume_file, '--size', node[:hd][provider]]
- end
- vbox.customize ['storageattach', :id, '--storagectl', 'SATAController', '--port', 1, '--device', 0, '--type', 'hdd', '--medium', volume_file]
- end
- end
-
- nodeconfig.vm.provider "libvirt" do |lbox|
- lbox.memory = node[:ram]
- lbox.nested = true
- lbox.cpu_mode = 'host-passthrough'
- lbox.cpus = node[:cpus]
-
- # Set Network
- nodeconfig.vm.network :private_network,
- :ip => node[:ips][0]
-
- nodeconfig.vm.network :private_network,
- :ip => node[:ips][1],
- :type => :static
-
- # Set Storage
- if node.has_key? :hd
- lbox.storage :file, bus: 'sata', device: 'sda', size: node[:hd][provider]
- end
- end
- if node.has_key? :fwds
- node[:fwds].each do |fwd|
- nodeconfig.vm.network :forwarded_port,
- :guest => fwd[:guest],
- :guest_ip => fwd[:guest_ip],
- :host => fwd[:host],
- :host_ip => "0.0.0.0"
- end
- end
-
- nodeconfig.vm.provider :openstack do |obox|
- obox.openstack_auth_url = ENV.fetch('OS_AUTH_URL', '')
- obox.tenant_name = ENV.fetch('OS_TENANT_NAME', '')
- obox.username = ENV.fetch('OS_USERNAME', '')
- obox.password = ENV.fetch('OS_PASSWORD', '')
- obox.region = ENV.fetch('OS_REGION_NAME', '')
- obox.identity_api_version = ENV.fetch('OS_IDENTITY_API_VERSION', '')
- obox.domain_name = ENV.fetch('OS_PROJECT_DOMAIN_ID', '')
- obox.project_name = ENV.fetch('OS_PROJECT_NAME', '')
- obox.floating_ip_pool = ENV.fetch('OS_FLOATING_IP_POOL', '')
- obox.floating_ip_pool_always_allocate = (ENV['OS_FLOATING_IP_ALWAYS_ALLOCATE'] == 'true')
- obox.image = ENV.fetch('OS_IMAGE', '')
- obox.security_groups = [ENV.fetch('OS_SEC_GROUP', '')]
- obox.networks = ENV.fetch('OS_NETWORK', '')
- obox.flavor = node[:flavor]
- obox.server_name = node[:name]
- end
-
- # Set Box type
- if "openstack" == node[:name]
- box = {
- :virtualbox => 'ubuntu/xenial64',
- :libvirt => 'elastic/ubuntu-16.04-x86_64'
- }
- end
- nodeconfig.vm.box = box[provider]
-
- # Set Node name
- nodeconfig.vm.hostname = node[:name]
-
- # Set Sync Folder
- nodeconfig.vm.synced_folder ".", "/vagrant", disabled: true
- nodeconfig.vm.synced_folder './opt', '/opt/onap/', create: true, type: sync_type
- nodeconfig.vm.synced_folder './lib', '/var/onap/', create: true, type: sync_type
- if !is_windows
- nodeconfig.vm.synced_folder '~/.m2', '/root/.m2/', create: true
- end
-
- # Specific settings:
-
- if node[:name].include? "testing"
- nodeconfig.vm.synced_folder './tests', '/var/onap_tests/', create: true
- test_suite = ENV.fetch('TEST_SUITE', '*')
- test_case = ENV.fetch('TEST_CASE', '*')
- # Override variables
- run_path = 'vagrant_utils/unit_testing.sh'
- node[:args] = [test_suite, test_case]
- else
- configuration['skip_get_images'] = ENV.fetch('SKIP_GET_IMAGES', configuration['skip_get_images'])
- configuration['skip_install'] = ENV.fetch('SKIP_INSTALL', configuration['skip_install'])
- end
-
- if node[:name].include? "vfc"
- nodeconfig.vm.provision 'docker'
- end
-
- nodeconfig.vm.provision 'shell' do |s|
- s.path = run_path
- s.args = node[:args]
- s.env = configuration
- end
-
- end #nodeconfig
- end #node
-end #config