diff options
Diffstat (limited to 'bootstrap')
64 files changed, 2283 insertions, 958 deletions
diff --git a/bootstrap/jenkins/vagrant/Vagrantfile b/bootstrap/jenkins/vagrant/Vagrantfile index 02b3ec18c..7dcb48eff 100644 --- a/bootstrap/jenkins/vagrant/Vagrantfile +++ b/bootstrap/jenkins/vagrant/Vagrantfile @@ -49,6 +49,7 @@ Vagrant.configure(2) do |config| # # # Customize the amount of memory on the VM: vb.memory = "8192" + vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] end # # View the documentation for the provider you are using for more diff --git a/bootstrap/jenkins/vagrant/bootstrap.sh b/bootstrap/jenkins/vagrant/bootstrap.sh index fd0caf5c6..25c6a45f6 100755 --- a/bootstrap/jenkins/vagrant/bootstrap.sh +++ b/bootstrap/jenkins/vagrant/bootstrap.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -x # # Copyright 2017 Huawei Technologies Co., Ltd. # @@ -39,16 +39,16 @@ apt-get update apt-get -y install git git config --global user.email "jenkins@localhost" git config --global user.name "jenkins" -apt-get -y install curl openjdk-8-jdk maven unzip +apt-get -y install curl openjdk-8-jdk-headless maven unzip python-pip # install Jenkins wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add - sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list' apt-get update -apt-get -y install jenkins jenkins-job-builder python-pip +apt-get -y install jenkins +# install docker apt-get -y install docker.io -sudo usermod -aG docker ubuntu sudo usermod -aG docker jenkins su -l jenkins -c "/vagrant/jenkins-init-1.sh" diff --git a/bootstrap/jenkins/vagrant/jenkins-init-1.sh b/bootstrap/jenkins/vagrant/jenkins-init-1.sh index 1f0a80859..3e83fa118 100755 --- a/bootstrap/jenkins/vagrant/jenkins-init-1.sh +++ b/bootstrap/jenkins/vagrant/jenkins-init-1.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -x # # Copyright 2017 Huawei Technologies Co., Ltd. # diff --git a/bootstrap/jenkins/vagrant/jenkins-init-2.sh b/bootstrap/jenkins/vagrant/jenkins-init-2.sh index a6cddbb10..f255a10ad 100755 --- a/bootstrap/jenkins/vagrant/jenkins-init-2.sh +++ b/bootstrap/jenkins/vagrant/jenkins-init-2.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -x # # Copyright 2017 Huawei Technologies Co., Ltd. # diff --git a/bootstrap/jenkins/vagrant/jjb-init.sh b/bootstrap/jenkins/vagrant/jjb-init.sh index e9adeb63b..10b96b4fa 100755 --- a/bootstrap/jenkins/vagrant/jjb-init.sh +++ b/bootstrap/jenkins/vagrant/jjb-init.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -x # # Copyright 2017 Huawei Technologies Co., Ltd. # @@ -17,9 +17,10 @@ git commit -m 'Installed plugins, restarted Jenkins' > /dev/null mkdir -p ~/.config/jenkins_jobs cp /vagrant/jenkins_jobs.ini ~/.config/jenkins_jobs -pip install --user jenkins-job-builder +pip -v install --user jenkins-job-builder +pip list -jenkins-job-builder update -r /vagrant/jjb +jenkins-jobs update -r /vagrant/jjb cat > .gitignore <<EOF jobs/*/builds diff --git a/bootstrap/jenkins/vagrant/jjb/java-jobs.yaml b/bootstrap/jenkins/vagrant/jjb/java-jobs.yaml index cb1f94afb..73d320e4a 100644 --- a/bootstrap/jenkins/vagrant/jjb/java-jobs.yaml +++ b/bootstrap/jenkins/vagrant/jjb/java-jobs.yaml @@ -304,9 +304,6 @@ repo: 'ncomp/utils' pom: 'pom.xml' - 'oom_registrator': - repo: 'oom' - pom: 'registrator/pom.xml' - - 'oom_registrator': repo: 'oom/registrator' pom: 'pom.xml' - 'oparent': @@ -388,9 +385,6 @@ repo: 'so/libs' pom: 'pom.xml' - 'testsuite_heatbridge': - repo: 'testsuite' - pom: 'heatbridge/pom.xml' - - 'testsuite_heatbridge': repo: 'testsuite/heatbridge' pom: 'pom.xml' - 'ui_dmaapbc': diff --git a/bootstrap/vagrant-onap/README.md b/bootstrap/vagrant-onap/README.md index b0e1ee26b..8f143adc1 100644 --- a/bootstrap/vagrant-onap/README.md +++ b/bootstrap/vagrant-onap/README.md @@ -43,22 +43,27 @@ current options include: |:----------:|-------------------------------------| | aai | Active and Available Inventory | | appc | Application Controller | +| ccsdk | Common Controller SDK | | dcae | Data Collection Analytics & Events | | mr | Message Router | | mso | Master Service Orchestrator | +| msb | Microservices Bus Project | +| multicloud | Multi Cloud | +| oom | ONAP Operations Manager | | policy | Policy | | portal | Portal | | robot | Robot | | sdc | Service Design & Creation | | sdnc | Software Defined Network Controller | -| vid | Virtual Infrastructure Development | | vfc | Virtual Function Controller | -| multicloud | Multi Cloud | -| ccsdk | Common Controller SDK | +| vid | Virtual Infrastructure Development | | vnfsdk | VNF SDK | | vvp | VNF Validation Program | +|:----------:|-------------------------------------| | all_in_one | All ONAP services in a VM | | testing | Unit Test VM | +|:----------:|-------------------------------------| +| openstack | OpenStack Deployment | #### Generating documentation diff --git a/bootstrap/vagrant-onap/Vagrantfile b/bootstrap/vagrant-onap/Vagrantfile index 2490b1c75..31a9970a5 100644 --- a/bootstrap/vagrant-onap/Vagrantfile +++ b/bootstrap/vagrant-onap/Vagrantfile @@ -13,7 +13,7 @@ configuration = { 'nexus_password' => 'docker', 'dmaap_topic' => 'AUTO', 'artifacts_version' => '1.0.0', - 'docker_version' => '1.0-STAGING-latest', + 'docker_version' => 'latest', # Parameters for DCAE instantiation 'dcae_zone' => 'iad4', 'dcae_state' => 'vi', @@ -23,6 +23,7 @@ configuration = { 'openstack_password' => '', 'odl_version' => '0.5.3-Boron-SR3', # Parameters for enabling features + 'debug' => 'True', 'build_image' => 'True', 'clone_repo' => 'True', 'compile_repo' => 'False', @@ -33,7 +34,7 @@ configuration = { box = { :virtualbox => 'ubuntu/trusty64', - :libvirt => 'sputnik13/trusty64', + :libvirt => 'elastic/ubuntu-14.04-x86_64', :openstack => nil } @@ -50,14 +51,14 @@ nodes = [ }, { :name => "all-in-one", - :ips => ['10.252.0.3', "192.168.50.3"], + :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'], + :args => ['mr', 'sdc', 'aai', 'mso', 'robot', 'vid', 'sdnc', 'portal', 'dcae', 'policy', 'appc', 'vfc', 'ccsdk', 'multicloud', 'vnfsdk', 'vpp', 'msb'], }, { :name => "appc", @@ -71,7 +72,7 @@ nodes = [ }, { :name => "ccsdk", - :ips => ['10.252.0.14', "192.168.50.17"], + :ips => ['10.252.0.19', "192.168.50.19"], :macs => [], :cpus => 2, :cpu => "50", @@ -112,7 +113,7 @@ nodes = [ }, { :name => "mso", - :ips => ['10.252.0.7', "192.168.50.7"], + :ips => ['10.252.0.20', "192.168.50.20"], :macs => [], :cpus => 2, :cpu => "50", @@ -121,6 +122,16 @@ nodes = [ :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 => [], @@ -129,6 +140,24 @@ nodes = [ :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 => "60G", + :fwds => [ + { :guest => 8880, :host => 8880, :guest_ip => '192.168.50.21' }, + { :guest => 8989, :host => 8989, :guest_ip => '192.168.50.21' }, + ] }, { :name => "policy", @@ -169,6 +198,7 @@ nodes = [ :ram => 8 * 1024, :groups => ["individual"], :args => ["sdc"], + :hd => "20G", }, { :name => "sdnc", @@ -182,7 +212,7 @@ nodes = [ }, { :name => "testing", - :ips => ['10.252.0.3', "192.168.50.3"], + :ips => ['10.252.2.3', "192.168.52.3"], :macs => [], :cpus => 2, :cpu => "50", @@ -212,14 +242,14 @@ nodes = [ :args => ['vid'], }, { - :name => "vnfsdk", - :ips => ['10.252.0.16', "192.168.50.16"], - :macs => [], - :cpus => 2, - :cpu => "50", - :ram => 4 * 1024, - :groups => ["individual"], - :args => ['vnfsdk'], + :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", @@ -230,6 +260,20 @@ nodes = [ :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' }, + ] } ] @@ -301,15 +345,14 @@ end Vagrant.configure("2") do |config| - # PROXY definitions - if ENV['http_proxy'] != nil and ENV['https_proxy'] != nil and ENV['no_proxy'] != nil + # 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.http = ENV['http_proxy'] config.proxy.https = ENV['https_proxy'] - config.proxy.no_proxy = ENV['no_proxy'] configuration['socks_proxy'] = ENV['socks_proxy'] end @@ -318,11 +361,13 @@ Vagrant.configure("2") do |config| 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 @@ -336,6 +381,15 @@ Vagrant.configure("2") do |config| 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| @@ -346,11 +400,55 @@ Vagrant.configure("2") do |config| 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 ['createhd', '--filename', volume_file, '--size', node[:hd]] + 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] + 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| @@ -372,6 +470,12 @@ Vagrant.configure("2") do |config| 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 @@ -379,39 +483,14 @@ Vagrant.configure("2") do |config| # Set Sync Folder nodeconfig.vm.synced_folder ".", "/vagrant", disabled: true - nodeconfig.vm.synced_folder './opt', '/opt/', create: true - nodeconfig.vm.synced_folder './lib', '/var/onap/', create: true + nodeconfig.vm.synced_folder './opt', '/opt/', 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 - # 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 - # Specific settings: - # Set Storage (For SDC or All-in-one) - if node[:name].include?("all-in-one") || node[:name].include?("sdc") - nodeconfig.vm.provider "virtualbox" do |v| - 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 - - nodeconfig.vm.provider "libvirt" do |v| - v.storage :file, path: sdc_volume, bus: 'sata', device: 'vdb', size: '2G' - end - end - if node[:name].include? "testing" nodeconfig.vm.synced_folder './tests', '/var/onap_tests/', create: true test_suite = ENV.fetch('TEST_SUITE', '*') diff --git a/bootstrap/vagrant-onap/doc/source/install/index.rst b/bootstrap/vagrant-onap/doc/source/install/index.rst index 6691b4f0d..62f57e66f 100644 --- a/bootstrap/vagrant-onap/doc/source/install/index.rst +++ b/bootstrap/vagrant-onap/doc/source/install/index.rst @@ -15,14 +15,17 @@ Ubuntu 14.04 ("Trusty") .. code-block:: console - $ wget -q https://releases.hashicorp.com/vagrant/1.9.7/vagrant_1.9.7_x86_64.deb - $ sudo dpkg -i vagrant_1.9.7_x86_64.deb + $ wget -q https://releases.hashicorp.com/vagrant/2.0.1/vagrant_2.0.1_x86_64.deb + $ sudo dpkg -i vagrant_2.0.1_x86_64.deb + $ echo "deb http://download.virtualbox.org/virtualbox/debian trusty contrib" >> /etc/apt/sources.list $ wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add - $ wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add - $ sudo apt-get update -y $ sudo apt-get install -y virtualbox-5.1 dkms + $ sudo apt install -y nfs-kernel-server + .. end CentOS @@ -30,12 +33,15 @@ CentOS .. code-block:: console - $ wget -q https://releases.hashicorp.com/vagrant/1.9.7/vagrant_1.9.7_x86_64.rpm - $ sudo yum install vagrant_1.9.7_x86_64.rpm + $ wget -q https://releases.hashicorp.com/vagrant/2.0.1/vagrant_2.0.1_x86_64.rpm + $ sudo yum install vagrant_2.0.1_x86_64.rpm + $ wget -q http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo -P /etc/yum.repos.d $ sudo yum --enablerepo=epel install dkms $ wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | rpm --import - - $ sudo yum install VirtualBox-5.1 + $ sudo yum install -y VirtualBox-5.1 + + $ sudo yum install -y nfs-utils nfs-utils-lib .. end diff --git a/bootstrap/vagrant-onap/doc/source/install/known_issues.rst b/bootstrap/vagrant-onap/doc/source/install/known_issues.rst index 84d50940b..8db55e72c 100644 --- a/bootstrap/vagrant-onap/doc/source/install/known_issues.rst +++ b/bootstrap/vagrant-onap/doc/source/install/known_issues.rst @@ -48,3 +48,16 @@ Remove vagrant-vbguest plugin C:\> vagrant plugin uninstall vagrant-vbguest .. end + + +Network configuration in Windows +-------------------------------- + +Some Virtual Machines present a problem in their network configuration so to +make sure the install will work as it should install the virtualbox from the +cmd window with the following command: + +.. code-block:: console + + c:\downloads\VirtualBox-5.1.20-114628-Win.exe -msiparams NETWORKTYPE=NDIS5 +.. end diff --git a/bootstrap/vagrant-onap/lib/_composed_functions b/bootstrap/vagrant-onap/lib/_composed_functions index f46499766..9f2d0a1d8 100755 --- a/bootstrap/vagrant-onap/lib/_composed_functions +++ b/bootstrap/vagrant-onap/lib/_composed_functions @@ -1,16 +1,5 @@ #!/bin/bash -# compile_src() - Function that compiles the java source code thru maven -function compile_src { - local src_folder=$1 - pushd $src_folder - if [ -f pom.xml ]; then - install_maven - mvn clean install -U -DskipTests=true -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Dadditionalparam=-Xdoclint:none - fi - popd -} - # build_docker_image() - Build Docker container image from source code function build_docker_image { local src_folder=$1 diff --git a/bootstrap/vagrant-onap/lib/_onap_functions b/bootstrap/vagrant-onap/lib/_onap_functions index cedd6f0a3..960b298ef 100755 --- a/bootstrap/vagrant-onap/lib/_onap_functions +++ b/bootstrap/vagrant-onap/lib/_onap_functions @@ -15,7 +15,7 @@ function create_configuration_files { # docker_openecomp_login() - Login to OpenECOMP Docker Hub function docker_openecomp_login { install_docker - docker login -u $nexus_username -p $nexus_password $nexus_docker_repo + docker login -u ${nexus_username:-docker} -p ${nexus_password:-docker} ${nexus_docker_repo:-nexus3.onap.org:10001} } # pull_openecomp_image() - Pull Docker container image from a Docker Registry Hub @@ -23,7 +23,7 @@ function pull_openecomp_image { local image=$1 local tag=$2 docker_openecomp_login - pull_docker_image $nexus_docker_repo/openecomp/${image}:${docker_version-latest} $tag + pull_docker_image ${nexus_docker_repo:-nexus3.onap.org:10001}/openecomp/${image}:${docker_version-latest} $tag docker logout } @@ -32,7 +32,7 @@ function pull_onap_image { local image=$1 local tag=$2 docker_openecomp_login - pull_docker_image $nexus_docker_repo/onap/${image}:${docker_version-latest} $tag + pull_docker_image ${nexus_docker_repo:-nexus3.onap.org:10001}/onap/${image}:${docker_version-latest} $tag docker logout } diff --git a/bootstrap/vagrant-onap/lib/aai b/bootstrap/vagrant-onap/lib/aai index d267e020d..7a68fbbf4 100755 --- a/bootstrap/vagrant-onap/lib/aai +++ b/bootstrap/vagrant-onap/lib/aai @@ -1,16 +1,8 @@ #!/bin/bash -set -o xtrace - source /var/onap/functions hbase_version=1.2.3 -aai_src_folder=$git_src_folder/aai -aai_repos=("aai/aai-common" "aai/aai-config" "aai/aai-data" "aai/aai-service" \ -"aai/babel" "aai/champ" "aai/data-router" "aai/esr-gui" "aai/esr-server" \ -"aai/gizmo" "aai/logging-service" "aai/model-loader" "aai/resources" \ -"aai/rest-client" "aai/router-core" "aai/search-data-service" \ -"aai/test-config" "aai/traversal" "aai/sparky-fe" "aai/sparky-be") # install_hadoop() - Function that installs Hadoop function install_hadoop { @@ -53,18 +45,12 @@ function install_haproxy { service haproxy restart } -# clone_all_aai_repos() - Function that clones AAI source repo. -function clone_all_aai_repos { - for repo in ${aai_repos[@]}; do - clone_repo $repo $aai_src_folder${repo#*aai} - done -} # compile_aai_repos() - Function that compiles AAI source repo. function compile_aai_repos { - local repos=("aai/aai-common" "aai/resources" "aai/logging-service" "aai/traversal") + local repos="aai/aai-common aai/resources aai/logging-service aai/traversal" if [[ "$compile_repo" == "True" ]]; then - repos=("${aai_repos[@]}") + repos="${repos[aai]}" fi for repo in ${repos[@]}; do @@ -103,17 +89,12 @@ function start_aai_microservices { done } -# _pull_hbase_image() - Pull HBase container image from a Docker Registry Hub -function _pull_hbase_image { - docker_openecomp_login - docker pull $nexus_docker_repo/aaidocker/aai-hbase-${hbase_version} -} - # install_hbase() - Install HBase Service function install_hbase { docker rm -f hbase - _pull_hbase_image - docker run -d --net=host --name="hbase" $nexus_docker_repo/aaidocker/aai-hbase-${hbase_version} + docker_openecomp_login + docker pull $nexus_docker_repo/aaidocker/aai-hbase-${hbase_version} + run_docker_image -d --net=host --name="hbase" $nexus_docker_repo/aaidocker/aai-hbase-${hbase_version} } # install_ajsc() - Install ASJC Java service container @@ -131,7 +112,7 @@ EOL pull_openecomp_image ajsc-aai fi - docker run --env-file /etc/ajsc-aai.conf --name=aai-service --net=host -v /etc/ssl/certs/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt -it -d $nexus_docker_repo/openecomp/ajsc-aai:$docker_version + run_docker_image --env-file /etc/ajsc-aai.conf --name=aai-service --net=host -v /etc/ssl/certs/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt -it -d $nexus_docker_repo/openecomp/ajsc-aai:$docker_version } # install_model_loader() Install Model Loader @@ -160,7 +141,7 @@ EOL pull_openecomp_image model-loader ARGS+="--name=model-loader-service -it -d --env-file /etc/model-loader.conf $nexus_docker_repo/openecomp/model-loader:$docker_version" fi - docker run ${ARGS} + run_docker_image ${ARGS} } # _wait_for_sdc() - Function that determines if SDC is up and running @@ -184,7 +165,7 @@ function init_aai { install_haproxy if [[ "$clone_repo" == "True" ]]; then - clone_all_aai_repos + clone_repos "aai" if [[ "$compile_repo" == "True" ]]; then compile_aai_repos fi diff --git a/bootstrap/vagrant-onap/lib/appc b/bootstrap/vagrant-onap/lib/appc index 4d93f54e5..ad01ca53e 100755 --- a/bootstrap/vagrant-onap/lib/appc +++ b/bootstrap/vagrant-onap/lib/appc @@ -1,27 +1,8 @@ #!/bin/bash -set -o xtrace - source /var/onap/sdnc source /var/onap/functions -appc_src_folder=$git_src_folder/appc -appc_repos=("appc" "appc/deployment") - -# clone_all_appc_repos() - Function that clones APPC source repo. -function clone_all_appc_repos { - for repo in ${appc_repos[@]}; do - clone_repo $repo $appc_src_folder${repo#*appc} - done -} - -# compile_all_appc_repos() - Function that compiles APPC source repo. -function compile_all_appc_repos { - for repo in ${appc_repos[@]}; do - compile_src $appc_src_folder${repo#*appc} - done -} - # _build_appc_images() - Function that creates APPC images from source code. function _build_appc_images { get_sdnc_images @@ -49,9 +30,9 @@ function install_appc { # init_appc() - Function that initialize APPC services function init_appc { if [[ "$clone_repo" == "True" ]]; then - clone_all_appc_repos + clone_repos "appc" if [[ "$compile_repo" == "True" ]]; then - compile_all_appc_repos + compile_repos "appc" fi fi diff --git a/bootstrap/vagrant-onap/lib/ccsdk b/bootstrap/vagrant-onap/lib/ccsdk index 03987ea7e..112839c69 100755 --- a/bootstrap/vagrant-onap/lib/ccsdk +++ b/bootstrap/vagrant-onap/lib/ccsdk @@ -1,35 +1,10 @@ #!/bin/bash -set -o xtrace - source /var/onap/functions -ccsdk_src_folder=$git_src_folder/ccsdk -ccsdk_repos=("ccsdk" "ccsdk/dashboard" "ccsdk/distribution" "ccsdk/parent" -"ccsdk/platform/blueprints" "ccsdk/platform/nbapi" "ccsdk/platform/plugins" -"ccsdk/sli" "ccsdk/sli/adaptors" "ccsdk/sli/core" "ccsdk/sli/northbound" -"ccsdk/sli/plugins" "ccsdk/storage" "ccsdk/storage/esaas" "ccsdk/storage/pgaas" -"ccsdk/utils") - -# clone_ccsdk_repos() - Function that clones the CCSDK repositories -function clone_ccsdk_repos { - for repo in ${ccsdk_repos[@]}; do - clone_repo $repo $ccsdk_src_folder${repo#ccsdk} - done -} - -# compile_ccsdk_repos() - -function compile_ccsdk_repos { - install_package unzip - for repo in ${ccsdk_repos[@]}; do - compile_src $ccsdk_src_folder${repo#ccsdk} - done -} - # _build_ccsdk_images() - Build CCSDK Docker images from source code function _build_ccsdk_images { install_package unzip - clone_repo ccsdk/distribution $ccsdk_src_folder/distribution compile_src $ccsdk_src_folder/distribution for image in ubuntu opendaylight odlsli dgbuilder-docker; do build_docker_image $ccsdk_src_folder/distribution/$image docker @@ -50,9 +25,12 @@ function get_ccsdk_images { # init_ccsdk() - Function that initialize Multi Cloud services function init_ccsdk { if [[ "$clone_repo" == "True" ]]; then - clone_ccsdk_repos + clone_repos "ccsdk" if [[ "$compile_repo" == "True" ]]; then - compile_ccsdk_repos + compile_repos "ccsdk" fi fi + if [[ "$skip_get_images" == "False" ]]; then + get_ccsdk_images + fi } diff --git a/bootstrap/vagrant-onap/lib/commons b/bootstrap/vagrant-onap/lib/commons index 26e2cc26a..5d0c69108 100755 --- a/bootstrap/vagrant-onap/lib/commons +++ b/bootstrap/vagrant-onap/lib/commons @@ -1,26 +1,27 @@ #!/bin/bash -set -o xtrace - # update_repos() - Function that updates linux repositories function update_repos { + echo "Updating repositories list..." if [ -f /var/onap/files/sources.list ]; then cp /var/onap/files/sources.list /etc/apt/sources.list fi - if [ -f /var/onap/files/proxyrc ]; then - source /var/onap/files/proxyrc - cp /var/onap/files/proxyrc /etc/profile.d/proxy.sh - - if [ -f /etc/apt/apt.conf ]; then - echo "Acquire::http::Proxy \"${http_proxy}\";" >> /etc/apt/apt.conf - echo "Acquire::https::Proxy \"${https_proxy}\";" >> /etc/apt/apt.conf - fi - if [ -d /etc/apt/apt.conf.d ] & [ ! -f /etc/apt/apt.conf.d/70proxy.conf ]; then - echo "Acquire::http::Proxy \"${http_proxy}\";" >> /etc/apt/apt.conf.d/70proxy.conf - echo "Acquire::https::Proxy \"${https_proxy}\";" >> /etc/apt/apt.conf.d/70proxy.conf - fi - fi - apt-get update -qq -y + source /etc/os-release || source /usr/lib/os-release + case ${ID,,} in + *suse) + zypper -n ref + ;; + ubuntu|debian) + if [[ "$debug" == "False" ]]; then + apt-get update > /dev/null + else + apt-get update + fi + ;; + rhel|centos|fedora) + yum updateinfo + ;; + esac } # is_package_installed() - Function to tell if a package is installed @@ -28,35 +29,88 @@ function is_package_installed { if [[ -z "$@" ]]; then return 1 fi - dpkg -s "$@" > /dev/null 2> /dev/null + source /etc/os-release || source /usr/lib/os-release + case ${ID,,} in + *suse) + ;; + ubuntu|debian) + dpkg -s "$@" > /dev/null + ;; + rhel|centos|fedora) + ;; + esac } # install_packages() - Install a list of packages function install_packages { local package=$@ - update_repos - apt-get install -y -qq $package + source /etc/os-release || source /usr/lib/os-release + case ${ID,,} in + *suse) + ;; + ubuntu|debian) + apt-get install -y -qq $package + ;; + rhel|centos|fedora) + ;; + esac } # install_package() - Install specific package if doesn't exist function install_package { local package=$1 + if ! is_package_installed $package; then - update_repos - apt-get install -y -qq $package + echo "Installing $package..." + + source /etc/os-release || source /usr/lib/os-release + case ${ID,,} in + *suse) + zypper install -y $package + ;; + ubuntu|debian) + if [[ "$debug" == "False" ]]; then + apt-get install -y -qq -o=Dpkg::Use-Pty=0 $package + else + apt-get install -y $package + fi + ;; + rhel|centos|fedora) + PKG_MANAGER=$(which dnf || which yum) + ${PKG_MANAGER} -y install $package + ;; + esac fi } # uninstall_packages() - Uninstall a list of packages function uninstall_packages { local packages=$@ - apt-get purge -y -qq $packages + source /etc/os-release || source /usr/lib/os-release + case ${ID,,} in + *suse) + ;; + ubuntu|debian) + apt-get purge -y -qq $packages + ;; + rhel|centos|fedora) + ;; + esac } # uninstall_package() - Uninstall specific package if exists function uninstall_package { local package=$1 if is_package_installed $package; then - apt-get purge -y -qq $package + source /etc/os-release || source /usr/lib/os-release + case ${ID,,} in + *suse) + ;; + ubuntu|debian) + apt-get purge -y -qq $package + ;; + rhel|centos|fedora) + ;; + esac fi } diff --git a/bootstrap/vagrant-onap/lib/config/env-vars b/bootstrap/vagrant-onap/lib/config/env-vars new file mode 100755 index 000000000..a55557ae7 --- /dev/null +++ b/bootstrap/vagrant-onap/lib/config/env-vars @@ -0,0 +1,79 @@ +#!/bin/bash + +# Source code destination folder +git_src_folder=/opt + +declare -A src_folders +src_folders=( +["aai"]="$git_src_folder/aai" +["appc"]="$git_src_folder/appc" +["ccsdk"]="$git_src_folder/ccsdk" +["dcae"]="$git_src_folder/dcae" +["mr"]="$git_src_folder/dcae/message-router" +["msb"]="$git_src_folder/msb" +["mso"]="$git_src_folder/mso" +["multicloud"]="$git_src_folder/multicloud" +["oom"]="$git_src_folder/oom" +["policy"]="$git_src_folder/policy" +["portal"]="$git_src_folder/portal" +["robot"]="$git_src_folder/testsuite" +["sdc"]="$git_src_folder/sdc" +["sdnc"]="$git_src_folder/openecomp/sdnc" +["vfc"]="$git_src_folder/vfc" +["vid"]="$git_src_folder/vid" +["vnfsdk"]="$git_src_folder/vnfsdk" +["vvp"]="$git_src_folder/vvp" +) + +# Repositories list +declare -A repos +repos=( +["aai"]="aai/aai-common aai/aai-config aai/aai-data aai/aai-service \ +aai/babel aai/champ aai/data-router aai/esr-gui aai/esr-server aai/gizmo \ +aai/logging-service aai/model-loader aai/resources aai/rest-client \ +aai/router-core aai/search-data-service aai/test-config aai/traversal \ +aai/sparky-fe aai/sparky-be" +["appc"]="appc appc/deployment" +["ccsdk"]="ccsdk ccsdk/dashboard ccsdk/distribution ccsdk/parent \ +ccsdk/platform/blueprints ccsdk/platform/nbapi \ +ccsdk/platform/plugins ccsdk/sli ccsdk/sli/adaptors ccsdk/sli/core \ +ccsdk/sli/northbound ccsdk/sli/plugins ccsdk/storage \ +ccsdk/storage/esaas ccsdk/storage/pgaas ccsdk/utils" +["dcae"]="dcae dcae/apod dcae/apod/analytics dcae/apod/buildtools \ +dcae/apod/cdap dcae/collectors dcae/collectors/ves dcae/controller \ +dcae/controller/analytics dcae/dcae-inventory dcae/demo \ +dcae/demo/startup dcae/demo/startup/aaf dcae/demo/startup/controller \ +dcae/demo/startup/message-router dcae/dmaapbc dcae/operation \ +dcae/operation/utils dcae/orch-dispatcher dcae/pgaas dcae/utils \ +dcae/utils/buildtools" +["msb"]="msb/apigateway msb/discovery msb/java-sdk msb/swagger-sdk" +["mso"]="mso mso/chef-repo mso/docker-config mso/libs mso/mso-config" +["multicloud"]="multicloud multicloud/framework multicloud/openstack \ +multicloud/openstack/vmware multicloud/openstack/windriver \ +multicloud/azure" +["oom"]="oom oom/registrator" +["policy"]="policy/api policy/common policy/docker \ +policy/drools-applications policy/drools-pdp policy/engine \ +policy/gui policy/pap policy/pdp" +["portal"]="portal portal/sdk ecompsdkos ui/dmaapbc" +["robot"]="testsuite testsuite/heatbridge testsuite/properties \ +testsuite/python-testing-utils" +["sdc"]="sdc sdc/jtosca sdc/sdc-distribution-client \ +sdc/sdc-docker-base sdc/sdc-titan-cassandra sdc/sdc-tosca \ +sdc/sdc-vnfdesign sdc/sdc-workflow-designer sdc/sdc_common" +["sdnc"]="sdnc/adaptors sdnc/architecture sdnc/core sdnc/features \ +sdnc/northbound sdnc/oam sdnc/parent sdnc/plugins" +["vfc"]="vfc/gvnfm vfc/gvnfm/vnflcm vfc/gvnfm/vnfmgr \ +vfc/gvnfm/vnfres vfc/nfvo vfc/nfvo/catalog vfc/nfvo/driver \ +vfc/nfvo/driver/ems vfc/nfvo/driver/sfc vfc/nfvo/driver/vnfm \ +vfc/nfvo/driver/vnfm/gvnfm vfc/nfvo/driver/vnfm/svnfm vfc/nfvo/lcm \ +vfc/nfvo/resmanagement vfc/nfvo/wfengine" +["vid"]="vid vid/asdcclient" +["vnfsdk"]="vnfsdk/compliance vnfsdk/functest vnfsdk/lctest \ +vnfsdk/model vnfsdk/pkgtools vnfsdk/refrepo vnfsdk/validation" +["vvp"]="vvp/ansible-ice-bootstrap vvp/cms vvp/devkit \ +vvp/documentation vvp/engagementmgr vvp/gitlab vvp/image-scanner \ +vvp/jenkins vvp/portal vvp/postgresql vvp/test-engine \ +vvp/validation-scripts" +) + diff --git a/bootstrap/vagrant-onap/lib/dcae b/bootstrap/vagrant-onap/lib/dcae index 78ca8de06..d6fdd89b2 100755 --- a/bootstrap/vagrant-onap/lib/dcae +++ b/bootstrap/vagrant-onap/lib/dcae @@ -1,17 +1,7 @@ #!/bin/bash -set -o xtrace - source /var/onap/functions -dcae_src_folder=$git_src_folder/dcae -dcae_repos=("dcae" "dcae/apod" "dcae/apod/analytics" "dcae/apod/buildtools" -"dcae/apod/cdap" "dcae/collectors" "dcae/collectors/ves" "dcae/controller" -"dcae/controller/analytics" "dcae/dcae-inventory" "dcae/demo" -"dcae/demo/startup" "dcae/demo/startup/aaf" "dcae/demo/startup/controller" -"dcae/demo/startup/message-router" "dcae/dmaapbc" "dcae/operation" -"dcae/operation/utils" "dcae/orch-dispatcher" "dcae/pgaas" "dcae/utils" "dcae/utils/buildtools") - # _create_config_file() - Creates a configuration yaml file for the controller function _create_config_file { cat > $dcae_src_folder/controller/config.yaml << EOL @@ -41,50 +31,13 @@ GIT-MR-REPO: http://gerrit.onap.org/r/dcae/demo/startup/message-router.git EOL } -# _build_docker_image() - Function that clones, compiles and build a Docker image -function _build_docker_image { - local src_folder=$1 - local name=$2 - install_docker - - pushd $src_folder - # NOTE: Workaround for dmmapbc images - sed -i '/LocalKey/d' Dockerfile - local docker_build="docker build -t $name -f ./Dockerfile ." - if [ $http_proxy ]; then - docker_build+=" --build-arg http_proxy=$http_proxy" - fi - if [ $https_proxy ]; then - docker_build+=" --build-arg https_proxy=$https_proxy" - fi - eval $docker_build - popd -} - -# clone_all_dcae_repos() - Function that clones DCAE source repo. -function clone_all_dcae_repos { - for repo in ${dcae_repos[@]}; do - clone_repo $repo $dcae_src_folder${repo#*dcae} - done -} - -# compile_all_dcae_repos() - Function that compiles DCAE source repo. -function compile_all_dcae_repos { - for repo in ${dcae_repos[@]}; do - compile_src $dcae_src_folder${repo#*dcae} - done -} - # _build_dcae_images() Function that builds DCAE docker images from source code. function _build_dcae_images { if [[ "$compile_repo" != "True" ]]; then - compile_src $dcae_src_folder/dmaapbc - compile_src $dcae_src_folder/orch-dispatcher - compile_src $dcae_src_folder/demo - compile_src $dcae_src_folder/dcae-inventory + compile_repos "dcae" fi - _build_docker_image $dcae_src_folder/dmaapbc openecomp/dcae-dmaapbc - _build_docker_image $dcae_src_folder/orch-dispatcher dcae/orch-dispatcher + build_docker_image $dcae_src_folder/dmaapbc openecomp/dcae-dmaapbc + build_docker_image $dcae_src_folder/orch-dispatcher dcae/orch-dispatcher pushd $dcae_src_folder/demo bash dcae-demo-controller/src/main/docker-build/build.sh @@ -118,15 +71,15 @@ function install_dcae { make up fi popd - # docker run -p 8080:8080 -d -v <some local directory>/config.yml:/opt/config.yml --name dcae-inventory <docker registry>/dcae-inventory:<version> + # run_docker_image -p 8080:8080 -d -v <some local directory>/config.yml:/opt/config.yml --name dcae-inventory <docker registry>/dcae-inventory:<version> } # init_dcae() - Function that initialize DCAE Controller services function init_dcae { if [[ "$clone_repo" == "True" ]]; then - clone_all_dcae_repos + clone_repos "dcae" if [[ "$compile_repo" == "True" ]]; then - compile_all_dcae_repos + compile_repos "dcae" fi fi diff --git a/bootstrap/vagrant-onap/lib/files/all-in-one b/bootstrap/vagrant-onap/lib/files/all-in-one new file mode 100644 index 000000000..efdb2bfce --- /dev/null +++ b/bootstrap/vagrant-onap/lib/files/all-in-one @@ -0,0 +1,585 @@ +# These initial groups are the only groups required to be modified. The +# additional groups are for more control of the environment. +[control] +localhost ansible_connection=local + +[network] +localhost ansible_connection=local + +[compute] +localhost ansible_connection=local + +[storage] +localhost ansible_connection=local + +[monitoring] +localhost ansible_connection=local + +[deployment] +localhost ansible_connection=local + +# You can explicitly specify which hosts run each project by updating the +# groups in the sections below. Common services are grouped together. +[chrony-server:children] +haproxy + +[chrony:children] +network +compute +storage +monitoring + +[collectd:children] +compute + +[baremetal:children] +control + +[grafana:children] +monitoring + +[etcd:children] +control +compute + +[karbor:children] +control + +[kibana:children] +control + +[telegraf:children] +compute +control +monitoring +network +storage + +[elasticsearch:children] +control + +[haproxy:children] +network + +[hyperv] +#hyperv_host + +[hyperv:vars] +#ansible_user=user +#ansible_password=password +#ansible_port=5986 +#ansible_connection=winrm +#ansible_winrm_server_cert_validation=ignore + +[mariadb:children] +control + +[rabbitmq:children] +control + +[outward-rabbitmq:children] +control + +[qdrouterd:children] +control + +[mongodb:children] +control + +[keystone:children] +control + +[glance:children] +control + +[nova:children] +control + +[neutron:children] +network + +[openvswitch:children] +network +compute +manila-share + +[opendaylight:children] +network + +[cinder:children] +control + +[cloudkitty:children] +control + +[freezer:children] +control + +[memcached:children] +control + +[horizon:children] +control + +[swift:children] +control + +[barbican:children] +control + +[heat:children] +control + +[murano:children] +control + +[ceph:children] +control + +[ironic:children] +control + +[influxdb:children] +monitoring + +[magnum:children] +control + +[sahara:children] +control + +[solum:children] +control + +[mistral:children] +control + +[manila:children] +control + +[panko:children] +control + +[gnocchi:children] +control + +[ceilometer:children] +control + +[aodh:children] +control + +[congress:children] +control + +[tacker:children] +control + +# Tempest +[tempest:children] +control + +[senlin:children] +control + +[vmtp:children] +control + +[trove:children] +control + +[watcher:children] +control + +[rally:children] +control + +[searchlight:children] +control + +[octavia:children] +control + +[designate:children] +control + +[placement:children] +control + +[bifrost:children] +deployment + +[zun:children] +control + +[skydive:children] +monitoring + +[redis:children] +control + +# Additional control implemented here. These groups allow you to control which +# services run on which hosts at a per-service level. +# +# Word of caution: Some services are required to run on the same host to +# function appropriately. For example, neutron-metadata-agent must run on the +# same host as the l3-agent and (depending on configuration) the dhcp-agent. + +# Glance +[glance-api:children] +glance + +[glance-registry:children] +glance + +# Nova +[nova-api:children] +nova + +[nova-conductor:children] +nova + +[nova-consoleauth:children] +nova + +[nova-novncproxy:children] +nova + +[nova-scheduler:children] +nova + +[nova-spicehtml5proxy:children] +nova + +[nova-compute-ironic:children] +nova + +[nova-serialproxy:children] +nova + +# Neutron +[neutron-server:children] +control + +[neutron-dhcp-agent:children] +neutron + +[neutron-l3-agent:children] +neutron + +[neutron-lbaas-agent:children] +neutron + +[neutron-metadata-agent:children] +neutron + +[neutron-vpnaas-agent:children] +neutron + +[neutron-bgp-dragent:children] +neutron + +# Ceph +[ceph-mon:children] +ceph + +[ceph-rgw:children] +ceph + +[ceph-osd:children] +storage + +# Cinder +[cinder-api:children] +cinder + +[cinder-backup:children] +storage + +[cinder-scheduler:children] +cinder + +[cinder-volume:children] +storage + +# Cloudkitty +[cloudkitty-api:children] +cloudkitty + +[cloudkitty-processor:children] +cloudkitty + +# Freezer +[freezer-api:children] +freezer + +# iSCSI +[iscsid:children] +compute +storage +ironic-conductor + +[tgtd:children] +storage + +# Karbor +[karbor-api:children] +karbor + +[karbor-protection:children] +karbor + +[karbor-operationengine:children] +karbor + +# Manila +[manila-api:children] +manila + +[manila-scheduler:children] +manila + +[manila-share:children] +network + +[manila-data:children] +manila + +# Swift +[swift-proxy-server:children] +swift + +[swift-account-server:children] +storage + +[swift-container-server:children] +storage + +[swift-object-server:children] +storage + +# Barbican +[barbican-api:children] +barbican + +[barbican-keystone-listener:children] +barbican + +[barbican-worker:children] +barbican + +# Trove +[trove-api:children] +trove + +[trove-conductor:children] +trove + +[trove-taskmanager:children] +trove + +# Heat +[heat-api:children] +heat + +[heat-api-cfn:children] +heat + +[heat-engine:children] +heat + +# Murano +[murano-api:children] +murano + +[murano-engine:children] +murano + +# Ironic +[ironic-api:children] +ironic + +[ironic-conductor:children] +ironic + +[ironic-inspector:children] +ironic + +[ironic-pxe:children] +ironic + +# Magnum +[magnum-api:children] +magnum + +[magnum-conductor:children] +magnum + +# Solum +[solum-api:children] +solum + +[solum-worker:children] +solum + +[solum-deployer:children] +solum + +[solum-conductor:children] +solum + +# Mistral +[mistral-api:children] +mistral + +[mistral-executor:children] +mistral + +[mistral-engine:children] +mistral + +# Aodh +[aodh-api:children] +aodh + +[aodh-evaluator:children] +aodh + +[aodh-listener:children] +aodh + +[aodh-notifier:children] +aodh + +# Panko +[panko-api:children] +panko + +# Gnocchi +[gnocchi-api:children] +gnocchi + +[gnocchi-statsd:children] +gnocchi + +[gnocchi-metricd:children] +gnocchi + +# Sahara +[sahara-api:children] +sahara + +[sahara-engine:children] +sahara + +# Ceilometer +[ceilometer-api:children] +ceilometer + +[ceilometer-central:children] +ceilometer + +[ceilometer-notification:children] +ceilometer + +[ceilometer-collector:children] +ceilometer + +[ceilometer-compute:children] +compute + +# Congress +[congress-api:children] +congress + +[congress-datasource:children] +congress + +[congress-policy-engine:children] +congress + +# Multipathd +[multipathd:children] +compute + +# Watcher +[watcher-api:children] +watcher + +[watcher-engine:children] +watcher + +[watcher-applier:children] +watcher + +# Senlin +[senlin-api:children] +senlin + +[senlin-engine:children] +senlin + +# Searchlight +[searchlight-api:children] +searchlight + +[searchlight-listener:children] +searchlight + +# Octavia +[octavia-api:children] +octavia + +[octavia-health-manager:children] +octavia + +[octavia-housekeeping:children] +octavia + +[octavia-worker:children] +octavia + +# Designate +[designate-api:children] +designate + +[designate-central:children] +designate + +[designate-mdns:children] +network + +[designate-worker:children] +designate + +[designate-sink:children] +designate + +[designate-backend-bind9:children] +designate + +# Placement +[placement-api:children] +placement + +# Zun +[zun-api:children] +zun + +[zun-compute:children] +compute + +# Skydive +[skydive-analyzer:children] +skydive + +[skydive-agent:children] +compute +network + +# Tacker +[tacker-server:children] +tacker + +[tacker-conductor:children] +tacker diff --git a/bootstrap/vagrant-onap/lib/files/globals.yml b/bootstrap/vagrant-onap/lib/files/globals.yml new file mode 100644 index 000000000..d10cc3d83 --- /dev/null +++ b/bootstrap/vagrant-onap/lib/files/globals.yml @@ -0,0 +1,2 @@ +--- +openstack_release: "master" diff --git a/bootstrap/vagrant-onap/lib/files/kolla-build.conf b/bootstrap/vagrant-onap/lib/files/kolla-build.conf new file mode 100644 index 000000000..8dd14e6c6 --- /dev/null +++ b/bootstrap/vagrant-onap/lib/files/kolla-build.conf @@ -0,0 +1,5 @@ +[DEFAULT] +base = ubuntu +profile = main + +[profiles] diff --git a/bootstrap/vagrant-onap/lib/files/kubectl_config_generator.py b/bootstrap/vagrant-onap/lib/files/kubectl_config_generator.py new file mode 100644 index 000000000..6b5a6e9f6 --- /dev/null +++ b/bootstrap/vagrant-onap/lib/files/kubectl_config_generator.py @@ -0,0 +1,40 @@ +import requests +import os +import base64 + +RANCHER_URL = str(os.environ['RANCHER_URL']) +RANCHER_ENVIRONMENT_ID = str(os.environ['RANCHER_ENVIRONMENT']) +data = requests.post(RANCHER_URL + '/v1/projects/' + RANCHER_ENVIRONMENT_ID + '/apikeys', + {"accountId": RANCHER_ENVIRONMENT_ID, + "description": "ONAP on Kubernetes", + "name": "ONAP on Kubernetes", + "publicValue": "string", + "secretValue": "password"}) +json_dct = data.json() +access_key = json_dct['publicValue'] +secret_key = json_dct['secretValue'] +auth_header = 'Basic ' + base64.b64encode(access_key + ':' + secret_key) +token = "\"" + str(base64.b64encode(auth_header)) + "\"" +dct = \ +""" +apiVersion: v1 +kind: Config +clusters: +- cluster: + api-version: v1 + insecure-skip-tls-verify: true + server: "{}/r/projects/{}/kubernetes:6443" + name: "onap_on_kubernetes" +contexts: +- context: + cluster: "onap_on_kubernetes" + user: "onap_on_kubernetes" + name: "onap_on_kubernetes" +current-context: "onap_on_kubernetes" +users: +- name: "onap_on_kubernetes" + user: + token: {} +""".format(RANCHER_URL, RANCHER_ENVIRONMENT_ID, token) +with open("config", "w") as file: + file.write(dct) diff --git a/bootstrap/vagrant-onap/lib/files/passwords.yml b/bootstrap/vagrant-onap/lib/files/passwords.yml new file mode 100644 index 000000000..f376e31f0 --- /dev/null +++ b/bootstrap/vagrant-onap/lib/files/passwords.yml @@ -0,0 +1,216 @@ +--- +################### +# Ceph options +#################### +# These options must be UUID4 values in string format +# XXXXXXXX-XXXX-4XXX-XXXX-XXXXXXXXXXXX +ceph_cluster_fsid: +ceph_rgw_keystone_password: +# for backward compatible consideration, rbd_secret_uuid is only used for nova, +# cinder_rbd_secret_uuid is used for cinder +rbd_secret_uuid: +cinder_rbd_secret_uuid: + +################### +# Database options +#################### +database_password: + +#################### +# Docker options +#################### +# This should only be set if you require a password for your Docker registry +docker_registry_password: + +###################### +# OpenDaylight options +###################### +opendaylight_password: + +#################### +# OpenStack options +#################### +aodh_database_password: +aodh_keystone_password: + +barbican_database_password: +barbican_keystone_password: +barbican_p11_password: +barbican_crypto_key: + +keystone_admin_password: +keystone_database_password: + +grafana_database_password: +grafana_admin_password: + +glance_database_password: +glance_keystone_password: + +gnocchi_database_password: +gnocchi_keystone_password: + +karbor_database_password: +karbor_keystone_password: +karbor_openstack_infra_id: + +kuryr_keystone_password: + +nova_database_password: +nova_api_database_password: +nova_keystone_password: + +placement_keystone_password: + +neutron_database_password: +neutron_keystone_password: +metadata_secret: + +cinder_database_password: +cinder_keystone_password: + +cloudkitty_database_password: +cloudkitty_keystone_password: + +panko_database_password: +panko_keystone_password: + +freezer_database_password: +freezer_keystone_password: + +sahara_database_password: +sahara_keystone_password: + +designate_database_password: +designate_pool_manager_database_password: +designate_keystone_password: +# This option must be UUID4 value in string format +designate_pool_id: +# This option must be HMAC-MD5 value in string format +designate_rndc_key: + +swift_keystone_password: +swift_hash_path_suffix: +swift_hash_path_prefix: + +heat_database_password: +heat_keystone_password: +heat_domain_admin_password: + +murano_database_password: +murano_keystone_password: +murano_agent_rabbitmq_password: + +ironic_database_password: +ironic_keystone_password: + +ironic_inspector_database_password: +ironic_inspector_keystone_password: + +magnum_database_password: +magnum_keystone_password: + +mistral_database_password: +mistral_keystone_password: + +trove_database_password: +trove_keystone_password: + +ceilometer_database_password: +ceilometer_keystone_password: + +watcher_database_password: +watcher_keystone_password: + +congress_database_password: +congress_keystone_password: + +rally_database_password: + +senlin_database_password: +senlin_keystone_password: + +solum_database_password: +solum_keystone_password: + +horizon_secret_key: +horizon_database_password: + +telemetry_secret_key: + +manila_database_password: +manila_keystone_password: + +octavia_database_password: +octavia_keystone_password: +octavia_ca_password: + +searchlight_keystone_password: + +tacker_database_password: +tacker_keystone_password: + +zun_database_password: +zun_keystone_password: + +memcache_secret_key: + +#HMAC secret key +osprofiler_secret: + +nova_ssh_key: + private_key: + public_key: + +kolla_ssh_key: + private_key: + public_key: + +keystone_ssh_key: + private_key: + public_key: + +bifrost_ssh_key: + private_key: + public_key: + +#################### +# Gnocchi options +#################### +gnocchi_project_id: +gnocchi_resource_id: +gnocchi_user_id: + +#################### +# Qdrouterd options +#################### +qdrouterd_password: + +#################### +# RabbitMQ options +#################### +rabbitmq_password: +rabbitmq_cluster_cookie: +outward_rabbitmq_password: +outward_rabbitmq_cluster_cookie: + +#################### +# HAProxy options +#################### +haproxy_password: +keepalived_password: + +#################### +# Kibana options +#################### +kibana_password: + +#################### +# etcd options +#################### +etcd_cluster_token: + +#################### +# redis options +#################### +redis_master_password: diff --git a/bootstrap/vagrant-onap/lib/functions b/bootstrap/vagrant-onap/lib/functions index 02111fa2c..c2c6d76a5 100755 --- a/bootstrap/vagrant-onap/lib/functions +++ b/bootstrap/vagrant-onap/lib/functions @@ -1,16 +1,15 @@ #!/bin/bash -set -o xtrace - source /var/onap/commons +source /var/onap/config/env-vars source /var/onap/_composed_functions source /var/onap/_onap_functions export MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' |sort -n | head -1) -export IP_ADDRESS=$(ifconfig eth0 | grep "inet addr" | tr -s ' ' | cut -d' ' -f3 | cut -d':' -f2) +export NIC=$(ip route get 8.8.8.8 | awk '{ print $5; exit }') +export IP_ADDRESS=$(ifconfig $NIC | grep "inet addr" | tr -s ' ' | cut -d' ' -f3 | cut -d':' -f2) mvn_conf_file=/root/.m2/settings.xml -git_src_folder=/opt # configure_dns() - DNS/GW IP address configuration function configure_dns { @@ -18,6 +17,14 @@ function configure_dns { resolvconf -u } +# get_next_ip() - Function that provides the next ip +function get_next_ip { + local ip=${1:-$IP_ADDRESS} + ip_hex=$(printf '%.2X%.2X%.2X%.2X\n' `echo $ip | sed -e 's/\./ /g'`) + next_ip_hex=$(printf %.8X `echo $(( 0x$ip_hex + 1 ))`) + echo $(printf '%d.%d.%d.%d\n' `echo $next_ip_hex | sed -r 's/(..)/0x\1 /g'`) +} + # _git_timed() - git can sometimes get itself infinitely stuck with transient network # errors or other issues with the remote end. This wraps git in a # timeout/retry loop and is intended to watch over non-local git @@ -44,11 +51,15 @@ function _git_timed { # clone_repo() - Clone Git repository into specific folder function clone_repo { - local repo_url=https://git.onap.org/ + local repo_url=${3:-"https://git.onap.org/"} local repo=$1 local dest_folder=${2:-$git_src_folder/$repo} if [ ! -d $dest_folder ]; then - _git_timed clone ${repo_url}${repo} $dest_folder + if [[ "$debug" == "False" ]]; then + _git_timed clone --quiet ${repo_url}${repo} $dest_folder + else + _git_timed clone ${repo_url}${repo} $dest_folder + fi else pushd $dest_folder _git_timed pull @@ -56,9 +67,14 @@ function clone_repo { fi } -# install_dev_tools() - Install basic dependencies -function install_dev_tools { - install_packages apt-transport-https ca-certificates curl +# clone_repos() - Function that clones source repositories for a given project +function clone_repos { + local project=$1 + local repo_name=${2:-$project} + + for repo in ${repos[$project]}; do + clone_repo $repo ${src_folders[$project]}${repo#*$repo_name} + done } # _install_bind() - Install bind utils @@ -71,8 +87,18 @@ function install_java { if is_package_installed openjdk-8-jdk; then return fi - install_package software-properties-common - add-apt-repository -y ppa:openjdk-r/ppa + source /etc/os-release || source /usr/lib/os-release + case ${ID,,} in + *suse) + ;; + ubuntu|debian) + install_package software-properties-common + add-apt-repository -y ppa:openjdk-r/ppa + ;; + rhel|centos|fedora) + ;; + esac + update_repos # Remove Java 7 uninstall_packages default-jre openjdk-7-jdk openjdk-7-jre openjdk-7-jre-headless @@ -88,8 +114,18 @@ function install_maven { return fi install_java - install_package software-properties-common - add-apt-repository -y ppa:andrei-pozolotin/maven3 + source /etc/os-release || source /usr/lib/os-release + case ${ID,,} in + *suse) + ;; + ubuntu|debian) + install_package software-properties-common + add-apt-repository -y ppa:andrei-pozolotin/maven3 + ;; + rhel|centos|fedora) + ;; + esac + update_repos install_package maven3 # Remove Java 7 @@ -103,8 +139,9 @@ function _configure_docker_settings { local docker_conf_backup=/tmp/docker.backup local docker_conf=/etc/default/docker local chameleonsocks_filename=chameleonsocks.sh + local max_concurrent_downloads=${1:-3} - cp $docker_conf $docker_conf_backup + cp ${docker_conf} ${docker_conf_backup} if [ $http_proxy ]; then echo "export http_proxy=$http_proxy" >> $docker_conf fi @@ -119,13 +156,25 @@ function _configure_docker_settings { port=$(echo $socks_proxy | sed -e "s/^.*://") PROXY=$socks PORT=$port ./$chameleonsocks_filename --install rm $chameleonsocks_filename - cp $docker_conf_backup $docker_conf + cp ${docker_conf_backup} ${docker_conf} fi fi - rm $docker_conf_backup - - echo "DOCKER_OPTS=\"-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock\"" >> $docker_conf - usermod -a -G docker vagrant + rm ${docker_conf_backup} + + echo "DOCKER_OPTS=\"-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --max-concurrent-downloads $max_concurrent_downloads \"" >> $docker_conf + usermod -aG docker $USER + + source /etc/os-release || source /usr/lib/os-release + case ${ID,,} in + *suse) + ;; + ubuntu|debian) + service docker restart + sleep 10 + ;; + rhel|centos|fedora) + ;; + esac } # install_nodejs() - Download and install NodeJS @@ -148,34 +197,52 @@ function install_python { # _install_pip() - Install Python Package Manager function _install_pip { install_python - if [ ! -f /usr/local/bin/pip ]; then + if ! which pip; then curl -sL https://bootstrap.pypa.io/get-pip.py | python fi } -# install_python_package() - Install a python module +# install_python_package() - Install python modules function install_python_package { - local python_package=$1 + local python_packages=$@ + + _install_pip + pip install $python_packages +} + +# install_python_requirements() - Install a list of python modules defined in requirement.txt file +function install_python_requirements { + local python_project_path=$1 _install_pip - pip install $python_package + pushd $python_project_path + pip install -r requirements.txt + popd } # install_docker() - Download and install docker-engine function install_docker { - if is_package_installed docker-ce; then + if $(docker version &>/dev/null); then return fi - install_package software-properties-common - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - - add-apt-repository \ - "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ - $(lsb_release -cs) \ - stable" + source /etc/os-release || source /usr/lib/os-release + case ${ID,,} in + *suse) + ;; + ubuntu|debian) + install_packages software-properties-common linux-image-extra-$(uname -r) linux-image-extra-virtual apt-transport-https ca-certificates curl + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - + add-apt-repository \ + "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ + $(lsb_release -cs) stable" + ;; + rhel|centos|fedora) + ;; + esac + update_repos + install_package docker-ce _configure_docker_settings - service docker restart - sleep 10 } # pull_docker_image() - Pull Docker container image from the Public Docker Registry Hub @@ -189,6 +256,12 @@ function pull_docker_image { fi } +# run_docker_image() - Starts a Docker instance +function run_docker_image { + install_docker + docker run $@ +} + # install_docker_compose() - Download and install docker-engine function install_docker_compose { local docker_compose_version=${1:-1.12.0} @@ -204,8 +277,8 @@ function _install_ODL { if [ ! -d /opt/opendaylight/current ]; then mkdir -p /opt/opendaylight/ wget "https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/distribution-karaf/"$odl_version"/distribution-karaf-"$odl_version".tar.gz" -P /opt/ - tar xvf "/opt/distribution-karaf-"$odl_version".tar.gz" -C /opt/ - mv "/opt/distribution-karaf-"$odl_version /opt/opendaylight/current + tar xvf "/opt/distribution-karaf-"$odl_version".tar.gz" -C /tmp/ + mv "/tmp/distribution-karaf-"$odl_version /opt/opendaylight/current rm -rf "/opt/distribution-karaf-"$odl_version".tar.gz" fi } @@ -225,43 +298,87 @@ function start_ODL { function compile_src { local src_folder=$1 pushd $src_folder + local mvn_build='mvn clean install -DskipTests=true -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Dadditionalparam=-Xdoclint:none' + if [[ "$debug" == "False" ]]; then + mvn_build+=" -q" + fi if [ -f pom.xml ]; then install_maven - mvn clean install -DskipTests=true -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Dadditionalparam=-Xdoclint:none + echo "Compiling $src_folder folder..." + eval $mvn_build fi popd } +# compile_repos() - Function that compiles source repositories for a given project +function compile_repos { + local project=$1 + + for repo in ${repos[$project]}; do + compile_src ${src_folders[$project]}${repo#*$project} + done +} + # build_docker_image() - Build Docker container image from source code function build_docker_image { local src_folder=$1 local profile=$2 - install_maven install_docker pushd $src_folder - # Cleanup external repo - sed -i 's|${docker.push.registry}/||g' pom.xml - local mvn_docker="mvn clean package docker:build" - if [ $profile ]; then - mvn_docker+=" -P $profile" - fi - if [ $http_proxy ]; then - if ! grep -ql "docker.buildArg.http_proxy" pom.xml ; then - mvn_docker+=" -Ddocker.buildArg.http_proxy=$http_proxy" + if [ -f pom.xml ]; then + install_maven + # Cleanup external repo + sed -i 's|${docker.push.registry}/||g' pom.xml + local docker_build="mvn clean package docker:build" + if [ $profile ]; then + docker_build+=" -P $profile" fi + if [ $http_proxy ]; then + if ! grep -ql "docker.buildArg.http_proxy" pom.xml ; then + docker_build+=" -Ddocker.buildArg.http_proxy=$http_proxy" + fi if ! grep -ql "docker.buildArg.HTTP_PROXY" pom.xml ; then - mvn_docker+=" -Ddocker.buildArg.HTTP_PROXY=$http_proxy" + docker_build+=" -Ddocker.buildArg.HTTP_PROXY=$http_proxy" fi - fi - if [ $https_proxy ]; then - if ! grep -ql "docker.buildArg.https_proxy" pom.xml ; then - mvn_docker+=" -Ddocker.buildArg.https_proxy=$https_proxy" fi - if ! grep -ql "docker.buildArg.HTTPS_PROXY" pom.xml ; then - mvn_docker+=" -Ddocker.buildArg.HTTPS_PROXY=$https_proxy" + if [ $https_proxy ]; then + if ! grep -ql "docker.buildArg.https_proxy" pom.xml ; then + docker_build+=" -Ddocker.buildArg.https_proxy=$https_proxy" + fi + if ! grep -ql "docker.buildArg.HTTPS_PROXY" pom.xml ; then + docker_build+=" -Ddocker.buildArg.HTTPS_PROXY=$https_proxy" + fi + fi + elif [ -f Dockerfile ]; then + # NOTE: Workaround for dmmapbc images + sed -i '/LocalKey/d' Dockerfile + sed -i "s/nexus3.onap.org\:10003\///g" Dockerfile + local docker_build="docker build -t $profile -f ./Dockerfile ." + if [ $http_proxy ]; then + docker_build+=" --build-arg http_proxy=$http_proxy" + docker_build+=" --build-arg HTTP_PROXY=$http_proxy" + fi + if [ $https_proxy ]; then + docker_build+=" --build-arg https_proxy=$https_proxy" + docker_build+=" --build-arg HTTPS_PROXY=$https_proxy" fi fi - eval $mvn_docker + echo $docker_build + eval $docker_build popd } + +# mount_external_partition() - Create partition and mount the external volume +function mount_external_partition { + local dev_name="/dev/$1" + local mount_dir=$2 + + sfdisk $dev_name << EOF +; +EOF + mkfs -t ext4 ${dev_name}1 + mkdir -p $mount_dir + mount ${dev_name}1 $mount_dir + echo "${dev_name}1 $mount_dir ext4 errors=remount-ro,noatime,barrier=0 0 1" >> /etc/fstab +} diff --git a/bootstrap/vagrant-onap/lib/mr b/bootstrap/vagrant-onap/lib/mr index f221817fa..499f53f6a 100755 --- a/bootstrap/vagrant-onap/lib/mr +++ b/bootstrap/vagrant-onap/lib/mr @@ -1,16 +1,7 @@ #!/bin/bash -set -o xtrace - source /var/onap/functions -mr_src_folder=$git_src_folder/dcae/message-router - -# clone_mr_repos() - Function that clones the Message Router repositories -function clone_mr_repos { - clone_repo dcae/demo/startup/message-router $mr_src_folder -} - # get_mr_images() - Function that retrieves the Message Router Docker images function get_mr_images { pull_docker_image attos/dmaap @@ -29,7 +20,7 @@ function install_message_router { # init_mr() - Function that initialize Message Router services function init_mr { if [[ "$clone_repo" == "True" ]]; then - clone_mr_repos + clone_repo dcae/demo/startup/message-router $mr_src_folder fi if [[ "$skip_get_images" == "False" ]]; then get_mr_images diff --git a/bootstrap/vagrant-onap/lib/msb b/bootstrap/vagrant-onap/lib/msb new file mode 100755 index 000000000..a14e8ea6c --- /dev/null +++ b/bootstrap/vagrant-onap/lib/msb @@ -0,0 +1,50 @@ +#!/bin/bash + +source /var/onap/functions + +# _build_msb_images() - Function that creates Microservices Docker images from source code +function _build_msb_images { + if [[ "$compile_repo" != "True" ]]; then + compile_repos "msb" + fi + + build_docker_image $msb_src_folder/apigateway/distributions/msb-apigateway/src/main/basedocker onap/msb/msb_base + build_docker_image $msb_src_folder/apigateway/distributions/msb-apigateway/src/main/docker onap/msb/msb_apigateway + build_docker_image $msb_src_folder/discovery/distributions/msb-discovery/src/main/docker onap/msb/msb_discovery +} + +# get_msb_images() - Function that retrieves the Microservices Bus images +function get_msb_images { + pull_docker_image "consul:0.9.3" + if [[ "$build_image" == "True" ]]; then + _build_msb_images + else + unset docker_version + pull_onap_image msb/msb_base + pull_onap_image msb/msb_apigateway + pull_onap_image msb/msb_discovery + fi +} + +# install_msb() - Downloads and configure Microservices Bus source code +function install_msb { + run_docker_image -d --net=host --name msb_consul consul:0.9.3 + run_docker_image -d --net=host --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery + run_docker_image -d --net=host -e "ROUTE_LABELS=visualRange:1" --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway +} + +# init_msb() - Function that initialize Message Router services +function init_msb { + if [[ "$clone_repo" == "True" ]]; then + clone_repos "msb" + if [[ "$compile_repo" == "True" ]]; then + compile_repos "msb" + fi + fi + if [[ "$skip_get_images" == "False" ]]; then + get_msb_images + if [[ "$skip_install" == "False" ]]; then + install_msb + fi + fi +} diff --git a/bootstrap/vagrant-onap/lib/mso b/bootstrap/vagrant-onap/lib/mso index 5439d991b..44d4a7b04 100755 --- a/bootstrap/vagrant-onap/lib/mso +++ b/bootstrap/vagrant-onap/lib/mso @@ -1,33 +1,13 @@ #!/bin/bash -set -o xtrace - source /var/onap/functions -src_folder=$git_src_folder/mso -mso_repos=("mso" "mso/chef-repo" "mso/docker-config" "mso/libs" -"mso/mso-config") - -# clone_all_mso_repos() - Function that clones MSO source repo. -function clone_all_mso_repos { - for repo in ${mso_repos[@]}; do - clone_repo $repo $src_folder${repo#*mso} - done -} - -# compile_all_mso_repos() - Function that compiles MSO source repo. -function compile_all_mso_repos { - for repo in ${mso_repos[@]}; do - compile_src $src_folder${repo#*mso} - done -} - # get_mso_images() - Function that retrieves or create MSO Docker images function get_mso_images { if [[ "$build_image" == "True" ]]; then export GIT_NO_PROJECT=/opt/ - compile_src $src_folder - build_docker_image $src_folder/packages/docker docker + compile_src $mso_src_folder + build_docker_image $mso_src_folder/packages/docker docker fi } @@ -82,10 +62,10 @@ EOF export MSO_CONFIG_UPDATES export MSO_DOCKER_IMAGE_VERSION=$docker_version - is_package_installed docker-ce || install_docker + install_docker install_docker_compose # Deploy the environment - pushd $src_folder/docker-config + pushd $mso_src_folder/docker-config chmod +x deploy.sh if [[ "$build_image" == "True" ]]; then bash deploy.sh @@ -99,9 +79,9 @@ EOF # init_mso() - Function that initialize MSO services function init_mso { if [[ "$clone_repo" == "True" ]]; then - clone_all_mso_repos + clone_repos "mso" if [[ "$compile_repo" == "True" ]]; then - compile_all_mso_repos + compile_repos "mso" fi fi diff --git a/bootstrap/vagrant-onap/lib/multicloud b/bootstrap/vagrant-onap/lib/multicloud index b4a185aaf..d2b09f2aa 100755 --- a/bootstrap/vagrant-onap/lib/multicloud +++ b/bootstrap/vagrant-onap/lib/multicloud @@ -1,44 +1,47 @@ #!/bin/bash -set -o xtrace - source /var/onap/functions -multicloud_src_folder=$git_src_folder/multicloud -multicloud_repos=("multicloud" "multicloud/framework" "multicloud/openstack" \ -"multicloud/openstack/vmware" "multicloud/openstack/windriver" \ -"multicloud/azure") - -# clone_multicloud_repos() - Function that clones the Multi Cloud repositories -function clone_multicloud_repos { - for repo in ${multicloud_repos[@]}; do - clone_repo $repo $multicloud_src_folder${repo#*multicloud} - done -} +openstack_release="newton" -# compile_multicloud_repos() - -function compile_multicloud_repos { - for repo in ${multicloud_repos[@]}; do - compile_src $multicloud_src_folder${repo#*multicloud} - done +# _build_multicloud_images() - Function that builds docker images from source code +function _build_multicloud_images { + install_docker + pushd ${src_folders[multicloud]}/openstack/$openstack_release + install_python_requirements . + python setup.py develop + #bash build_image.sh + popd } # get_multicloud_images() - function get_multicloud_images { - echo "pass" + if [[ "$build_image" == "True" ]]; then + _build_multicloud_images + else + pull_onap_image multicloud/openstack-$openstack_release + fi } # install_multicloud() - function install_multicloud { - echo "pass" + #pushd ${src_folders[multicloud]}/openstack/$openstack_release + #/opt/docker/docker-compose up -d + #popd + if [[ "$build_image" == "True" ]]; then + multicloud-api --port 9003 --host 0.0.0.0 & + else + docker_id=`docker images | grep onap/multicloud/openstack-$openstack_release | grep latest | awk '{print $3; exit}'` + docker run -d -p 0.0.0.0:9003:9003 $docker_id + fi } # init_multicloud() - Function that initialize Multi Cloud services function init_multicloud { if [[ "$clone_repo" == "True" ]]; then - clone_multicloud_repos + clone_repos "multicloud" if [[ "$compile_repo" == "True" ]]; then - compile_multicloud_repos + compile_repos "multicloud" fi fi if [[ "$skip_get_images" == "False" ]]; then diff --git a/bootstrap/vagrant-onap/lib/oom b/bootstrap/vagrant-onap/lib/oom new file mode 100755 index 000000000..ef7e5ede5 --- /dev/null +++ b/bootstrap/vagrant-onap/lib/oom @@ -0,0 +1,220 @@ +#!/bin/bash + +source /var/onap/functions + +RANCHER_PORT=8880 +oom_delay=30 +export RANCHER_URL=http://localhost:$RANCHER_PORT +export RANCHER_ACCESS_KEY='access_key' +export RANCHER_SECRET_KEY='secret_key' + +# _install_docker() - Function that installs Docker version for Rancher +function _install_docker { + if ! $(docker version &>/dev/null); then + curl https://releases.rancher.com/install-docker/1.12.sh | sh + _configure_docker_settings 15 + fi +} + +# _pull_rancher_images() - Function that retrieves Rancher images required for k8s +function _pull_rancher_images { + for image in "net:v0.13.5" "k8s:v1.8.5-rancher3" \ +"lb-service-rancher:v0.7.17" "network-manager:v0.7.18" "metadata:v0.9.5" \ +"kubectld:v0.8.5" "kubernetes-agent:v0.6.6" "dns:v0.15.3" \ +"kubernetes-auth:v0.0.8" "healthcheck:v0.3.3" "etcd:v2.3.7-13" \ +"etc-host-updater:v0.0.3" "net:holder"; do + pull_docker_image rancher/$image & + done +} + +# _pull_k8s_images() - Function that retrieves Google k8s images +function _pull_k8s_images { + for image in "kubernetes-dashboard-amd64:v1.7.1" \ +"k8s-dns-sidecar-amd64:1.14.5" "k8s-dns-kube-dns-amd64:1.14.5" \ +"k8s-dns-dnsmasq-nanny-amd64:1.14.5" "heapster-influxdb-amd64:v1.3.3" \ +"heapster-grafana-amd64:v4.4.3" "heapster-amd64:v1.4.0" "pause-amd64:3.0"; do + pull_docker_image gcr.io/google_containers/$image & + done +} + +# _install_rancher() - Function that installs Rancher CLI and container +function _install_rancher { + local rancher_version=v0.6.5 + local rancher_server_version=v1.6.10 + local rancher_server=rancher/server:$rancher_server_version + + if [ ! -d /opt/rancher/current ]; then + mkdir -p /opt/rancher/current + wget https://github.com/rancher/cli/releases/download/$rancher_version/rancher-linux-amd64-$rancher_version.tar.gz + tar -xzf rancher-linux-amd64-$rancher_version.tar.gz -C /tmp + mv /tmp/rancher-$rancher_version/rancher /opt/rancher/current/ + fi + + _install_docker + pull_docker_image $rancher_server + run_docker_image -d --restart=unless-stopped -p $RANCHER_PORT:8080 $rancher_server + while true; do + if curl --fail -X GET $RANCHER_URL; then + break + fi + echo "waiting for racher" + sleep $oom_delay + done +} + +# _install_kubernetes() - Function that deploys kubernetes via RancherOS host registration +function _install_kubernetes { + local rancher_agent_version=v1.2.7 + local rancher_agent=rancher/agent:$rancher_agent_version + + _install_rancher + + _pull_rancher_images + _pull_k8s_images + pull_docker_image $rancher_agent + _wait_docker_pull + + pushd /opt/rancher/current/ + export RANCHER_ENVIRONMENT=`./rancher env create -t kubernetes onap_on_kubernetes` + popd + + install_python_package rancher-agent-registration + export no_proxy=$no_proxy,$IP_ADDRESS + rancher-agent-registration --host-ip $IP_ADDRESS --url http://$IP_ADDRESS:$RANCHER_PORT --environment $RANCHER_ENVIRONMENT --key $RANCHER_ACCESS_KEY --secret $RANCHER_SECRET_KEY +} + +# _install_kubectl() - Function that installs kubectl as client for kubernetes +function _install_kubectl { + if ! $(kubectl version &>/dev/null); then + rm -rf ~/.kube + curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl + chmod +x ./kubectl + mv ./kubectl /usr/local/bin/kubectl + mkdir ~/.kube + pushd ~/.kube + python /var/onap/files/kubectl_config_generator.py + popd + fi +} + +# _install_helm() - Function that install Kubernetes Package Manager +function _install_helm { + local helm_version=v2.3.0 + + if ! $(helm version &>/dev/null); then + wget http://storage.googleapis.com/kubernetes-helm/helm-${helm_version}-linux-amd64.tar.gz + tar -zxvf helm-${helm_version}-linux-amd64.tar.gz -C /tmp + mv /tmp/linux-amd64/helm /usr/local/bin/helm + helm init + fi +} + +# _pull_images_from_yaml() - Function that parses a yaml file and pull their images +function _pull_images_from_yaml_file { + local values_file=$1 + local prefix=$2 + local s='[[:space:]]*' + local w='[a-zA-Z0-9_]*' + fs=`echo @|tr @ '\034'` + + for line in $(sed -ne "s|^\($s\):|\1|" \ +-e "s|^\($s\)\($w\)$s:$s[\"']\(.*\)[\"']$s\$|\1$fs\2$fs\3|p" \ +-e "s|^\($s\)\($w\)$s:$s\(.*\)$s\$|\1$fs\2$fs\3|p" $values_file | +awk -F$fs '{ +indent = length($1)/2; +vname[indent] = $2; +for (i in vname) { + if (i > indent) { + delete vname[i]} + } + if (length($3) > 0) { + vn=""; for (i=0; i<indent; i++) {vn=(vn)(vname[i])(".")} + printf("%s%s%s=%s\n", "'$prefix'",vn, $2, $3); + } +}' | grep image); do + echo $line + if echo $line | grep -q Version ; then + pull_docker_image "$image_name:$(echo $line | awk -F "=" '{print $2}')" & + else + image_name=`echo ${line#*=}` + if [[ ${image_name#*${nexus_docker_repo:-nexus3.onap.org:10001}} == *:* ]]; then + pull_docker_image $image_name & + else + pull_docker_image $image_name:latest + fi + fi + done +} + +# _wait_docker_pull() - Function that waits for all docker pull processes +function _wait_docker_pull { + local counter=150 + + while [ $(ps -ef | grep "docker pull" | wc -l) -gt 1 ]; do + sleep $oom_delay + counter=$((counter - 1)) + if [ "$counter" -eq 0 ]; then + break + fi + done +} + +# get_oom_images() - Function that retrieves ONAP images from official hub +function get_oom_images { + if [[ "$build_image" == "True" ]]; then + # TODO(electrocucaracha): Create a function for calling the build docker function of every ONAP project + echo "Not Implemented" + else + if [[ "$clone_repo" != "True" ]]; then + clone_repos "oom" + fi + + docker_openecomp_login + for values_file in `find ${src_folders[oom]}/kubernetes -name values.yaml -type f`; do + _pull_images_from_yaml_file $values_file + done + docker logout + _wait_docker_pull + fi +} + +# _install_oom() - Function that clones OOM and deploys ONAP +function install_oom { + if [[ "$clone_repo" != "True" ]]; then + clone_repos "oom" + fi + pushd ${src_folders[oom]}/kubernetes/oneclick + source setenv.bash + + pushd ${src_folders[oom]}/kubernetes/config + cp onap-parameters-sample.yaml onap-parameters.yaml + ./createConfig.sh -n onap + popd + + for app in consul msb mso message-router sdnc vid robot portal policy appc aai sdc dcaegen2 log cli multicloud clamp vnfsdk uui aaf vfc kube2msb; do + ./createAll.bash -n onap -a $app + done + popd +} + +# init_oom() - Function that deploys ONAP using OOM +function init_oom { + mount_external_partition sda /var/lib/docker/ + _install_kubernetes + _install_kubectl + _install_helm + if [[ "$clone_repo" == "True" ]]; then + clone_repos "oom" + fi + + if [[ "$skip_get_images" == "False" ]]; then + get_oom_images + if [[ "$skip_install" == "False" ]]; then + until kubectl cluster-info; do + echo "waiting for kubernetes host" + sleep $oom_delay + done + install_oom + fi + fi +} diff --git a/bootstrap/vagrant-onap/lib/openstack b/bootstrap/vagrant-onap/lib/openstack new file mode 100755 index 000000000..205d7ae80 --- /dev/null +++ b/bootstrap/vagrant-onap/lib/openstack @@ -0,0 +1,71 @@ +#!/bin/bash + +source /var/onap/functions + +kolla_config=/etc/kolla +kolla_build=$kolla_config/kolla-build.conf +kolla_passwords=$kolla_config/passwords.yml +kolla_globals=$kolla_config/globals.yml +kolla_inventory=/var/onap/files/all-in-one + +# install_dependencies() - Function that installs Kolla-Ansible requirements +function install_dependencies { + install_docker + + mkdir -p /etc/systemd/system/docker.service.d + tee /etc/systemd/system/docker.service.d/kolla.conf <<-'EOF' +[Service] +MountFlags=shared +EOF + systemctl daemon-reload + systemctl restart docker + + install_python_package ansible docker kolla-ansible python-openstackclient +} + +# configure_deploy() - Function that modifies configuration files +function configure_deploy { + local network_id=$1 + local enable_opendaylight=${2-False} + local openstack_services="main = ceilometer,cinder,glance,heat,horizon,isci,keystone,neutron,nova-,swift" + nic=$(ip route get $network_id | awk '{ print $4; exit }') + ip_address=$(ip route get $network_id | awk '{ print $6; exit }') + internal_vip_address=$(get_next_ip $ip_address) + + mkdir -p $kolla_config + cp /var/onap/files/globals.yml $kolla_globals + cp /var/onap/files/passwords.yml $kolla_passwords + cp /var/onap/files/kolla-build.conf $kolla_build + kolla-genpwd + echo "network_interface: \"$nic\"" >> $kolla_globals + echo "kolla_internal_vip_address: \"$internal_vip_address\"" >> $kolla_globals + echo "api_interface: \"{{ network_interface }}\"" >> $kolla_globals + if [[ $enable_opendaylight == True ]]; then + echo "enable_opendaylight: \"yes\"" >> $kolla_globals + openstack_services+=",opendaylight" + fi + echo $openstack_services >> $kolla_build + + echo "$ip_address $(hostname)" >> /etc/hosts +} + +# get_openstack_images() - Function that retrieves or builds docker images +function get_openstack_images { + if [[ "$build_image" == "True" ]]; then + install_python_package kolla + kolla-build --config-file $kolla_build + else + kolla-ansible pull -i $kolla_inventory + fi +} + +# deploy_openstack() - Function that provisions an OpenStack deployment +function deploy_openstack { + install_dependencies + configure_deploy ${1:-"192.168.53.0"} "True" + + get_openstack_images + kolla-ansible deploy -i $kolla_inventory + kolla-ansible post-deploy + echo "source /etc/kolla/admin-openrc.sh" >> ${HOME}/.bashrc +} diff --git a/bootstrap/vagrant-onap/lib/policy b/bootstrap/vagrant-onap/lib/policy index be4cb2c18..ad982ad95 100755 --- a/bootstrap/vagrant-onap/lib/policy +++ b/bootstrap/vagrant-onap/lib/policy @@ -1,28 +1,7 @@ #!/bin/bash -set -o xtrace - source /var/onap/functions -policy_src_folder=$git_src_folder/policy -policy_repos=("policy/api" "policy/common" "policy/docker" \ -"policy/drools-applications" "policy/drools-pdp" "policy/engine" \ -"policy/gui" "policy/pap" "policy/pdp") - -# clone_all_policy_repos() - Function that clones Policy source repo. -function clone_all_policy_repos { - for repo in ${policy_repos[@]}; do - clone_repo $repo $policy_src_folder${repo#*policy} - done -} - -# compile_all_policy_repos() - Function that compiles Policy source repo. -function compile_all_policy_repos { - for repo in ${policy_repos[@]}; do - compile_src $policy_src_folder${repo#*policy} - done -} - # _build_policy_images() - Function that build Policy docker images from source code function _build_policy_images { compile_src $policy_src_folder/docker @@ -61,9 +40,9 @@ function install_policy { # init_policy() - Function that initialize Policy services function init_policy { if [[ "$clone_repo" == "True" ]]; then - clone_all_policy_repos + clone_repos "policy" if [[ "$compile_repo" == "True" ]]; then - compile_all_policy_repos + compile_repos "policy" fi fi diff --git a/bootstrap/vagrant-onap/lib/portal b/bootstrap/vagrant-onap/lib/portal index b5e768b2c..fe5469822 100755 --- a/bootstrap/vagrant-onap/lib/portal +++ b/bootstrap/vagrant-onap/lib/portal @@ -1,33 +1,28 @@ #!/bin/bash -set -o xtrace - source /var/onap/functions -portal_src_folder=$git_src_folder/portal -portal_repos=("portal" "portal/sdk" "ecompsdkos" "ui/dmaapbc") - # clone_all_portal_repos() - Function that clones Portal source repo. function clone_all_portal_repos { - for repo in ${portal_repos[@]}; do + for repo in ${repos[portal]}; do if [[ "$repo" == "ui/dmaapbc" ]];then prefix="ui" else prefix="portal" fi - clone_repo $repo $portal_src_folder/${repo#*$prefix} + clone_repo $repo ${src_folders[portal]}/${repo#*$prefix} done } # compile_all_portal_repos() - Function that compiles Portal source repo. function compile_all_portal_repos { - for repo in ${portal_repos[@]}; do + for repo in ${repos[portal]}; do if [[ "$repo" == "ui/dmaapbc" ]];then prefix="ui" else prefix="portal" fi - compile_src $portal_src_folder/${repo#*$prefix} + compile_src ${src_folders[portal]}/${repo#*$prefix} done } @@ -35,7 +30,7 @@ function compile_all_portal_repos { function _build_portal_images { install_maven - pushd $portal_src_folder/deliveries + pushd ${src_folders[portal]}/deliveries chmod +x *.sh export MVN=$(which mvn) export GLOBAL_SETTINGS_FILE=/usr/share/maven3/conf/settings.xml @@ -66,7 +61,7 @@ function install_portal { docker rm -f ecompdb_portal docker rm -f 1610-1 - pushd $portal_src_folder/deliveries + pushd ${src_folders[portal]}/deliveries mkdir -p /PROJECT/OpenSource/UbuntuEP/logs install_package unzip unzip -o etc.zip -d /PROJECT/OpenSource/UbuntuEP/ diff --git a/bootstrap/vagrant-onap/lib/robot b/bootstrap/vagrant-onap/lib/robot index ebcca6e6b..90fbcf8c0 100755 --- a/bootstrap/vagrant-onap/lib/robot +++ b/bootstrap/vagrant-onap/lib/robot @@ -1,39 +1,15 @@ #!/bin/bash -set -o xtrace - source /var/onap/functions -robot_src_folder=$git_src_folder/testsuite -robot_repos=("heatbridge" "properties" "python-testing-utils") - -# clone_robot_repos() - Function that clones Robot source repo. -function clone_robot_repos { - clone_repo testsuite $robot_src_folder - - for dirc in ${robot_repos[@]}; do - clone_repo testsuite/$dirc $robot_src_folder/$dirc - done -} - -# compile_robot_repos() - Function that compile Robot source repo. -function compile_robot_repos { - install_python_package tox - compile_src $robot_src_folder - - for dirc in ${robot_repos[@]}; do - compile_src $robot_src_folder/$dirc - done -} - # _setup_ete_folder() - Create and copy ete folder structure function _setup_ete_folder { mkdir -p /opt/eteshare/config - cp $src_folder/integration_* /opt/eteshare/config - cp $src_folder/vm_config2robot.sh /opt/eteshare/config - cp $src_folder/ete.sh /opt - cp $src_folderdemo.sh /opt + cp $robot_src_folder/integration_* /opt/eteshare/config + cp $robot_src_folder/vm_config2robot.sh /opt/eteshare/config + cp $robot_src_folder/ete.sh /opt + cp $robot_src_folder/demo.sh /opt chmod +x /opt/ete.sh chmod +x /opt/demo.sh @@ -47,16 +23,16 @@ function get_robot_images { # install_robot() - Run Robot services function install_robot { docker rm -f openecompete_container - docker run -d --name openecompete_container -v /opt/eteshare:/share -p 88:88 $nexus_docker_repo/openecomp/testsuite:$docker_version + run_docker_image -d --name openecompete_container -v /opt/eteshare:/share -p 88:88 $nexus_docker_repo/openecomp/testsuite:$docker_version } # init_robot() - Function that initialize Robot services function init_robot { if [[ "$clone_repo" == "True" ]]; then - clone_robot_repos + clone_repos "robot" "testsuite" _setup_ete_folder if [[ "$compile_repo" == "True" ]]; then - compile_robot_repos + compile_repos "robot" fi fi diff --git a/bootstrap/vagrant-onap/lib/sdc b/bootstrap/vagrant-onap/lib/sdc index a21e2a418..fee583d79 100755 --- a/bootstrap/vagrant-onap/lib/sdc +++ b/bootstrap/vagrant-onap/lib/sdc @@ -1,32 +1,7 @@ #!/bin/bash -set -o xtrace - source /var/onap/functions -sdc_src_folder=$git_src_folder/sdc -sdc_repos=("sdc" "sdc/jtosca" "sdc/sdc-distribution-client" -"sdc/sdc-docker-base" "sdc/sdc-titan-cassandra" "sdc/sdc-tosca" -"sdc/sdc-vnfdesign" "sdc/sdc-workflow-designer" "sdc/sdc_common") - -# _mount_external_partition() - Create partition and mount the external volume -function _mount_external_partition { - cat <<EOL > /tmp/sdc_ext_volume_partitions.txt -# partition table of /dev/sdb -unit: sectors - -/dev/sdb1 : start= 2048, size=209713152, Id=83 -/dev/sdb2 : start= 0, size= 0, Id= 0 -/dev/sdb3 : start= 0, size= 0, Id= 0 -/dev/sdb4 : start= 0, size= 0, Id= 0 -EOL - sfdisk --force /dev/sdb < /tmp/sdc_ext_volume_partitions.txt - mkfs -t ext4 /dev/sdb1 - mkdir -p /data - mount /dev/sdb1 /data - echo "/dev/sdb1 /data ext4 errors=remount-ro,noatime,barrier=0 0 1" >> /etc/fstab -} - # _init_data_folders() - Function that initialize the data folders function _init_data_folders { mkdir -p /data/environments @@ -47,20 +22,6 @@ alias health='/data/scripts/docker_health.sh' EOL } -# clone_all_sdc_repos() - Function that clones SDC source repo. -function clone_all_sdc_repos { - for repo in ${sdc_repos[@]}; do - clone_repo $repo $sdc_src_folder${repo#*sdc} - done -} - -# compile_all_sdc_repos() - Function that compiles SDC source repo. -function compile_all_sdc_repos { - for repo in ${sdc_repos[@]}; do - compile_src $sdc_src_folder${repo#*sdc} - done -} - # get_sdc_images() - Function that retrieves the SDC docker images function get_sdc_images { if [[ "$build_image" == "True" ]]; then @@ -103,11 +64,11 @@ function install_sdc { # init_sdc() - Function that initialize SDC services function init_sdc { - _mount_external_partition + mount_external_partition sdb /data/ if [[ "$clone_repo" == "True" ]]; then - clone_all_sdc_repos + clone_repos "sdc" if [[ "$compile_repo" == "True" ]]; then - compile_all_sdc_repos + compile_repos "sdc" fi fi diff --git a/bootstrap/vagrant-onap/lib/sdnc b/bootstrap/vagrant-onap/lib/sdnc index 5faca942e..a8cf756b4 100755 --- a/bootstrap/vagrant-onap/lib/sdnc +++ b/bootstrap/vagrant-onap/lib/sdnc @@ -1,24 +1,11 @@ #!/bin/bash -set -o xtrace - source /var/onap/functions source /var/onap/ccsdk -sdnc_src_folder=$git_src_folder/openecomp/sdnc -sdnc_repos=("sdnc/adaptors" "sdnc/architecture" "sdnc/core" "sdnc/features" \ -"sdnc/northbound" "sdnc/oam" "sdnc/parent" "sdnc/plugins") - -# clone_all_sdnc_repos() - Function that clones SDNC source repo. -function clone_all_sdnc_repos { - for repo in ${sdnc_repos[@]}; do - clone_repo $repo $sdnc_src_folder${repo#*sdnc} - done -} - # compile_all_sdnc_repos() - Function that compiles SDNC source repo. function compile_all_sdnc_repos { - for repo in ${sdnc_repos[@]}; do + for repo in ${repos[sdnc]}; do if [[ "$repo" == "sdnc/core" ]]; then compile_src $sdnc_src_folder/core/rootpom fi @@ -32,7 +19,6 @@ function _build_sdnc_images { get_ccsdk_images install_package unzip - clone_repo sdnc/oam $folder # The OAM code depends on all the SDNC repos which should be downloaded and compiled first if [[ "$compile_repo" != "True" ]]; then compile_src $folder @@ -56,7 +42,6 @@ function get_sdnc_images { # install_sdnc() - Download and install SDNC services from source code function install_sdnc { - clone_repo sdnc/oam $sdnc_src_folder/oam pushd $sdnc_src_folder/oam/installation/src/main/yaml install_docker_compose /opt/docker/docker-compose up -d @@ -66,7 +51,7 @@ function install_sdnc { # init_sdnc() - Function that initialize SDNC services function init_sdnc { if [[ "$clone_repo" == "True" ]]; then - clone_all_sdnc_repos + clone_repos "sdnc" if [[ "$compile_repo" == "True" ]]; then compile_all_sdnc_repos fi diff --git a/bootstrap/vagrant-onap/lib/vfc b/bootstrap/vagrant-onap/lib/vfc index fc26af282..2b5407ca3 100755 --- a/bootstrap/vagrant-onap/lib/vfc +++ b/bootstrap/vagrant-onap/lib/vfc @@ -1,23 +1,7 @@ #!/bin/bash -set -o xtrace - source /var/onap/functions -vfc_src_folder=$git_src_folder/vfc -vfc_repos=("vfc/gvnfm" "vfc/gvnfm/vnflcm" "vfc/gvnfm/vnfmgr" \ -"vfc/gvnfm/vnfres" "vfc/nfvo" "vfc/nfvo/catalog" "vfc/nfvo/driver" \ -"vfc/nfvo/driver/ems" "vfc/nfvo/driver/sfc" "vfc/nfvo/driver/vnfm" \ -"vfc/nfvo/driver/vnfm/gvnfm" "vfc/nfvo/driver/vnfm/svnfm" "vfc/nfvo/lcm" \ -"vfc/nfvo/resmanagement" "vfc/nfvo/wfengine") - -# clone_all_vfc_repos() - Function that clones VF-C source repo. -function clone_all_vfc_repos { - for repo in ${vfc_repos[@]}; do - clone_repo $repo $vfc_src_folder${repo#*vfc} - done -} - # compile_all_vfc_repos() - Function that compiles VF-C source repo. function compile_all_vfc_repos { install_python_package tox @@ -85,11 +69,11 @@ function install_vfc { vnfres_image=`docker images | grep vnfres | grep latest| awk '{print $1 ":" $2}'` gvnfmdriver_image=`docker images | grep gvnfmdriver | grep latest| awk '{print $1 ":" $2}'` - docker run -d --name vfc-nslcm -p 8403:8403 -e MSB_ADDR=127.0.0.1 $nslcm_image - docker run -d --name vfc-vnflcm -p 8801:8801 -e MSB_ADDR=127.0.0.1 $vnflcm_image - docker run -d --name vfc-vnfmgr -p 8803:8803 -e MSB_ADDR=127.0.0.1 $vnfmgr_image - docker run -d --name vfc-vnfres -p 8802:8802 -e MSB_ADDR=127.0.0.1 $vnfres_image - docker run -d --name vfc-gvnfmdriver -p 8484:8484 -e MSB_ADDR=127.0.0.1 $gvnfmdriver_image + run_docker_image -d --name vfc-nslcm -p 8403:8403 -e MSB_ADDR=127.0.0.1 $nslcm_image + run_docker_image -d --name vfc-vnflcm -p 8801:8801 -e MSB_ADDR=127.0.0.1 $vnflcm_image + run_docker_image -d --name vfc-vnfmgr -p 8803:8803 -e MSB_ADDR=127.0.0.1 $vnfmgr_image + run_docker_image -d --name vfc-vnfres -p 8802:8802 -e MSB_ADDR=127.0.0.1 $vnfres_image + run_docker_image -d --name vfc-gvnfmdriver -p 8484:8484 -e MSB_ADDR=127.0.0.1 $gvnfmdriver_image # TODO(sshank): Run other VFC component docker images. } @@ -99,7 +83,7 @@ function init_vfc { install_package libmysqlclient-dev if [[ "$clone_repo" == "True" ]]; then - clone_all_vfc_repos + clone_repos "vfc" if [[ "$compile_repo" == "True" ]]; then compile_all_vfc_repos fi diff --git a/bootstrap/vagrant-onap/lib/vid b/bootstrap/vagrant-onap/lib/vid index f99fd6042..f5ca9d293 100755 --- a/bootstrap/vagrant-onap/lib/vid +++ b/bootstrap/vagrant-onap/lib/vid @@ -1,26 +1,7 @@ #!/bin/bash -set -o xtrace - source /var/onap/functions -vid_src_folder=$git_src_folder/vid -vid_repos=("vid" "vid/asdcclient") - -# clone_all_vid_repos() - Function that clones VID source code. -function clone_all_vid_repos { - for repo in ${vid_repos[@]}; do - clone_repo $repo $vid_src_folder${repo#*vid} - done -} - -# compile_all_vid_repos() - Function that compiles VID source repo. -function compile_all_vid_repos { - for repo in ${vid_repos[@]}; do - compile_src $vid_src_folder${repo#*vid} - done -} - # _build_vid_images() - Function that builds VID docker images function _build_vid_images { if [[ "$compile_repo" != "True" ]]; then @@ -46,16 +27,16 @@ function install_vid { docker rm -f vid-mariadb docker rm -f vid-server - docker run --name vid-mariadb -e MYSQL_DATABASE=vid_openecomp -e MYSQL_USER=vidadmin -e MYSQL_PASSWORD=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U -e MYSQL_ROOT_PASSWORD=LF+tp_1WqgSY -v /opt/vid/lf_config/vid-my.cnf:/etc/mysql/my.cnf -v /opt/vid/lf_config/vid-pre-init.sql:/docker-entrypoint-initdb.d/vid-pre-init.sql -v /var/lib/mysql -d mariadb:10 - docker run -e VID_MYSQL_DBNAME=vid_openecomp -e VID_MYSQL_PASS=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U --name vid-server -p 8080:8080 --link vid-mariadb:vid-mariadb-docker-instance -d $vid_image + run_docker_image --name vid-mariadb -e MYSQL_DATABASE=vid_openecomp -e MYSQL_USER=vidadmin -e MYSQL_PASSWORD=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U -e MYSQL_ROOT_PASSWORD=LF+tp_1WqgSY -v /opt/vid/lf_config/vid-my.cnf:/etc/mysql/my.cnf -v /opt/vid/lf_config/vid-pre-init.sql:/docker-entrypoint-initdb.d/vid-pre-init.sql -v /var/lib/mysql -d mariadb:10 + run_docker_image -e VID_MYSQL_DBNAME=vid_openecomp -e VID_MYSQL_PASS=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U --name vid-server -p 8080:8080 --link vid-mariadb:vid-mariadb-docker-instance -d $vid_image } # init_vid() - Function that initialize Vid services function init_vid { if [[ "$clone_repo" == "True" ]]; then - clone_all_vid_repos + clone_repos "vid" if [[ "$compile_repo" == "True" ]]; then - compile_all_vid_repos + compile_repos "vid" fi fi diff --git a/bootstrap/vagrant-onap/lib/vnfsdk b/bootstrap/vagrant-onap/lib/vnfsdk index c23ed8581..58e3a9aa2 100644..100755 --- a/bootstrap/vagrant-onap/lib/vnfsdk +++ b/bootstrap/vagrant-onap/lib/vnfsdk @@ -1,26 +1,7 @@ #!/bin/bash -set -o xtrace - source /var/onap/functions -vnfsdk_src_folder=$git_src_folder/vnfsdk -vnfsdk_repos=("vnfsdk/compliance" "vnfsdk/functest" "vnfsdk/lctest" "vnfsdk/model" "vnfsdk/pkgtools" "vnfsdk/refrepo" "vnfsdk/validation") - -# clone_all_vnfsdk_repos() - Function that clones vnfsdk source repo. -function clone_all_vnfsdk_repos { - for repo in ${vnfsdk_repos[@]}; do - clone_repo $repo $vnfsdk_src_folder${repo#*vnfsdk} - done -} - -# compile_all_vnfsdk_repos - Function that builds vnfsdk source repo -function compile_all_vnfsdk_repos { - for repo in ${vnfsdk_repos[@]}; do - compile_src $vnfsdk_src_folder${repo#*vnfsdk} - done -} - # _build_vnfsdk_images() - Builds VNFSDK images from source code function _build_vnfsdk_images { install_package unzip @@ -51,9 +32,9 @@ function install_vnfsdk { # init_vnfsdk() - Init VNFSDK services function init_vnfsdk { if [[ "$clone_repo" == "True" ]]; then - clone_all_vnfsdk_repos + clone_repos "vnfsdk" if [[ "$compile_repo" == "True" ]]; then - compile_all_vnfsdk_repos + compile_repos "vnfsdk" fi fi diff --git a/bootstrap/vagrant-onap/lib/vvp b/bootstrap/vagrant-onap/lib/vvp index 588f32b87..f24431ee6 100644..100755 --- a/bootstrap/vagrant-onap/lib/vvp +++ b/bootstrap/vagrant-onap/lib/vvp @@ -1,26 +1,7 @@ #!/bin/bash -set -o xtrace - source /var/onap/functions -vvp_src_folder=$git_src_folder/vvp -vvp_repos=("vvp/ansible-ice-bootstrap" "vvp/cms" "vvp/devkit" "vvp/documentation" "vvp/engagementmgr" "vvp/gitlab" "vvp/image-scanner" "vvp/jenkins" "vvp/portal" "vvp/postgresql" "vvp/test-engine" "vvp/validation-scripts") - -# clone_all_vvp_repos() - Function that clones vvp source repo. -function clone_all_vvp_repos { - for repo in ${vvp_repos[@]}; do - clone_repo $repo $vvp_src_folder${repo#*vvp} - done -} - -# compile_all_vvp_repos - Function that builds vvp source repo -function compile_all_vvp_repos { - for repo in ${vvp_repos[@]}; do - compile_src $vvp_src_folder${repo#*vvp} - done -} - # _build_vvp_images() - Builds VNFSDK images from source code function _build_vvp_images { echo "pass" @@ -44,9 +25,9 @@ function install_vvp { # init_vvp() - Init VNFSDK services function init_vvp { if [[ "$clone_repo" == "True" ]]; then - clone_all_vvp_repos + clone_repos "vvp" if [[ "$compile_repo" == "True" ]]; then - compile_all_vvp_repos + compile_repos "vvp" fi fi diff --git a/bootstrap/vagrant-onap/tests/_test_base b/bootstrap/vagrant-onap/tests/_test_base index 7d0415a44..b30632d26 100644..100755 --- a/bootstrap/vagrant-onap/tests/_test_base +++ b/bootstrap/vagrant-onap/tests/_test_base @@ -1,11 +1,17 @@ #!/bin/bash +if [[ "$debug" == "True" ]]; then + set -o xtrace +fi + source /var/onap_tests/asserts +source /var/onap/commons # main() - Starting point for Unit Tests function main { local covered_functions=("$@") + update_repos len=${#covered_functions[@]} echo "1..$len" for i in ${!covered_functions[@]}; do @@ -15,7 +21,7 @@ function main { echo "ok $((i+1)) - test_${covered_functions[$i]}" # Teardown process - if ! is_package_installed docker-ce; then + if is_package_installed docker-ce; then docker images -q | xargs docker rmi -f fi dpkg --get-selections > installed-software_new diff --git a/bootstrap/vagrant-onap/tests/asserts b/bootstrap/vagrant-onap/tests/asserts index 02c269b4c..8eda3ce25 100755 --- a/bootstrap/vagrant-onap/tests/asserts +++ b/bootstrap/vagrant-onap/tests/asserts @@ -1,9 +1,19 @@ #!/bin/bash -set -o xtrace - source /var/onap/commons +# asserts_http_status_code() - Function that determines if a HTTP status code is retrieved from URL +function asserts_http_status_code { + local url=$1 + local expected_code=${2:-"200"} + + code=$(curl -I $url | head -n 1 | cut -d$' ' -f2) + local error_msg=${3:-"The URL $url responded with $code status code"} + if [[ "$code" != "$expected_code" ]]; then + raise_error $error_msg + fi +} + # asserts_process() - Function that verifies if a specific process is running function asserts_process { local process=$1 diff --git a/bootstrap/vagrant-onap/tests/test_aai b/bootstrap/vagrant-onap/tests/test_aai index 10777d678..65917e092 100644..100755 --- a/bootstrap/vagrant-onap/tests/test_aai +++ b/bootstrap/vagrant-onap/tests/test_aai @@ -28,50 +28,50 @@ function test_install_haproxy { # test_clone_all_aai_repos() - Verify that all the AAI Repos are cloned function test_clone_all_aai_repos { - clone_all_aai_repos - - asserts_file_exist $aai_src_folder/aai-common/pom.xml - asserts_file_exist $aai_src_folder/aai-config/cookbooks/aai-resources/runlist-aai-resources.json - asserts_file_exist $aai_src_folder/aai-data/environments/solo.json - asserts_file_exist $aai_src_folder/aai-service/pom.xml - asserts_file_exist $aai_src_folder/babel/README.md - asserts_file_exist $aai_src_folder/champ/pom.xml - asserts_file_exist $aai_src_folder/data-router/pom.xml - asserts_file_exist $aai_src_folder/esr-gui/pom.xml - asserts_file_exist $aai_src_folder/esr-server/pom.xml - asserts_file_exist $aai_src_folder/gizmo/pom.xml - asserts_file_exist $aai_src_folder/logging-service/pom.xml - asserts_file_exist $aai_src_folder/model-loader/pom.xml - asserts_file_exist $aai_src_folder/resources/pom.xml - asserts_file_exist $aai_src_folder/rest-client/pom.xml - asserts_file_exist $aai_src_folder/router-core/pom.xml - asserts_file_exist $aai_src_folder/search-data-service/pom.xml - asserts_file_exist $aai_src_folder/sparky-be/pom.xml - asserts_file_exist $aai_src_folder/sparky-fe/pom.xml - asserts_file_exist $aai_src_folder/test-config/docker-compose-app.yml - asserts_file_exist $aai_src_folder/traversal/pom.xml + clone_repos "aai" + + asserts_file_exist ${src_folders[aai]}/aai-common/pom.xml + asserts_file_exist ${src_folders[aai]}/aai-config/cookbooks/aai-resources/runlist-aai-resources.json + asserts_file_exist ${src_folders[aai]}/aai-data/environments/solo.json + asserts_file_exist ${src_folders[aai]}/aai-service/pom.xml + asserts_file_exist ${src_folders[aai]}/babel/README.md + asserts_file_exist ${src_folders[aai]}/champ/pom.xml + asserts_file_exist ${src_folders[aai]}/data-router/pom.xml + asserts_file_exist ${src_folders[aai]}/esr-gui/pom.xml + asserts_file_exist ${src_folders[aai]}/esr-server/pom.xml + asserts_file_exist ${src_folders[aai]}/gizmo/pom.xml + asserts_file_exist ${src_folders[aai]}/logging-service/pom.xml + asserts_file_exist ${src_folders[aai]}/model-loader/pom.xml + asserts_file_exist ${src_folders[aai]}/resources/pom.xml + asserts_file_exist ${src_folders[aai]}/rest-client/pom.xml + asserts_file_exist ${src_folders[aai]}/router-core/pom.xml + asserts_file_exist ${src_folders[aai]}/search-data-service/pom.xml + asserts_file_exist ${src_folders[aai]}/sparky-be/pom.xml + asserts_file_exist ${src_folders[aai]}/sparky-fe/pom.xml + asserts_file_exist ${src_folders[aai]}/test-config/docker-compose-app.yml + asserts_file_exist ${src_folders[aai]}/traversal/pom.xml } # test_compile_aai_repos() - Verify that all the AAI Repositories complile properly function test_compile_aai_repos { - clone_all_aai_repos + clone_repos "aai" compile_aai_repos for common in annotations auth core schema utils; do - asserts_file_exist $aai_src_folder/aai-common/aai-$common/target/aai-$common-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[aai]}/aai-common/aai-$common/target/aai-$common-1.1.0-SNAPSHOT.jar done for service in common-logging eelf-logging logging-api; do - asserts_file_exist $aai_src_folder/logging-service/$service/target/$service-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[aai]}/logging-service/$service/target/$service-1.1.0-SNAPSHOT.jar done - asserts_file_exist $aai_src_folder/resources/aai-resources/target/aai-resources.jar - asserts_file_exist $aai_src_folder/traversal/aai-traversal/target/traversal.jar + asserts_file_exist ${src_folders[aai]}/resources/aai-resources/target/aai-resources.jar + asserts_file_exist ${src_folders[aai]}/traversal/aai-traversal/target/traversal.jar } # test_setup_titan() - Verify that Titan Cassandra DB is up and running function test_setup_titan { - clone_all_aai_repos + clone_repos "aai" install_hadoop setup_titan @@ -80,7 +80,7 @@ function test_setup_titan { # test_start_aai_microservices() - Verify that AAI Resources and Traversal images works function test_start_aai_microservices { - clone_all_aai_repos + clone_repos "aai" start_aai_microservices # TODO(electrocucaracha): Investigate how to run AAI microservices in background @@ -95,7 +95,7 @@ function test_install_hbase { # test_install_ajsc_aai() - Verify that AJSC AAI service is up and running properly function test_install_ajsc_aai { - clone_all_aai_repos + clone_repos "aai" install_ajsc_aai asserts_image_running openecomp/ajsc-aai @@ -103,7 +103,7 @@ function test_install_ajsc_aai { # test_install_model_loader() - Verify that Model AAI service is up and running properly function test_install_model_loader { - clone_all_aai_repos + clone_repos "aai" install_model_loader asserts_image openecomp/model-loader diff --git a/bootstrap/vagrant-onap/tests/test_appc b/bootstrap/vagrant-onap/tests/test_appc index 2290f16a2..f567d7f1b 100644..100755 --- a/bootstrap/vagrant-onap/tests/test_appc +++ b/bootstrap/vagrant-onap/tests/test_appc @@ -9,69 +9,71 @@ covered_functions=( # test_clone_all_appc_repos() - Verify that the APPC source code is cloned function test_clone_all_appc_repos { - clone_all_appc_repos + clone_repos "appc" - asserts_file_exist $appc_src_folder/pom.xml - asserts_file_exist $appc_src_folder/deployment/pom.xml + asserts_file_exist ${src_folders[appc]}/pom.xml + asserts_file_exist ${src_folders[appc]}/deployment/pom.xml } # test_compile_all_appc_repos() - Verify that the APPC source code is compiled properly function test_compile_all_appc_repos { - clone_all_appc_repos - compile_all_appc_repos + clone_repos "appc" + compile_repos "appc" for adapter in appc-ansible-adapter appc-chef-adapter appc-dmaap-adapter appc-iaas-adapter appc-netconf-adapter appc-rest-adapter appc-rest-healthcheck-adapter; do - asserts_file_exist $appc_src_folder/appc-adapters/$adapter/$adapter-bundle/target/$adapter-bundle-1.1.0-SNAPSHOT.jar - asserts_file_exist $appc_src_folder/appc-adapters/$adapter/$adapter-features/target/$adapter-features-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[appc]}/appc-adapters/$adapter/$adapter-bundle/target/$adapter-bundle-*-SNAPSHOT.jar + asserts_file_exist ${src_folders[appc]}/appc-adapters/$adapter/$adapter-features/target/$adapter-features-*-SNAPSHOT.jar if [[ "$adapter" == "appc-netconf-adapter" ]]; then - asserts_file_exist $appc_src_folder/appc-adapters/$adapter/appc-netconf-installer/target/$adapter-1.1.0-SNAPSHOT.zip + asserts_file_exist ${src_folders[appc]}/appc-adapters/$adapter/appc-netconf-installer/target/$adapter-*-SNAPSHOT.zip else - asserts_file_exist $appc_src_folder/appc-adapters/$adapter/$adapter-installer/target/$adapter-1.1.0-SNAPSHOT.zip + asserts_file_exist ${src_folders[appc]}/appc-adapters/$adapter/$adapter-installer/target/$adapter-*-SNAPSHOT.zip fi done - asserts_file_exist $appc_src_folder/appc-adapters/appc-dmaap-adapter/appc-message-adapter-api/target/appc-message-adapter-api-1.1.0-SNAPSHOT.jar - asserts_file_exist $appc_src_folder/appc-adapters/appc-dmaap-adapter/appc-message-adapter-factory/target/appc-message-adapter-factory-1.1.0-SNAPSHOT.jar - asserts_file_exist $appc_src_folder/appc-adapters/appc-ssh-adapter/appc-ssh-adapter-api/target/appc-ssh-adapter-api-1.1.0-SNAPSHOT.jar - asserts_file_exist $appc_src_folder/appc-adapters/appc-ssh-adapter/appc-ssh-adapter-features/target/appc-ssh-adapter-features-1.1.0-SNAPSHOT.jar - asserts_file_exist $appc_src_folder/appc-adapters/appc-ssh-adapter/appc-ssh-adapter-sshd/target/appc-ssh-adapter-sshd-1.1.0-SNAPSHOT.jar - asserts_file_exist $appc_src_folder/appc-adapters/appc-ssh-adapter/appc-ssh-adapter-tests/target/appc-ssh-adapter-tests-1.1.0-SNAPSHOT.jar - - for component in appc-event-listener appc-oam appc-provider; do - asserts_file_exist $appc_src_folder/$component/$component-bundle/target/$component-bundle-1.1.0-SNAPSHOT.jar - asserts_file_exist $appc_src_folder/$component/$component-features/target/$component-features-1.1.0-SNAPSHOT.jar - asserts_file_exist $appc_src_folder/$component/$component-installer/target/$component-1.1.0-SNAPSHOT.zip + asserts_file_exist ${src_folders[appc]}/appc-adapters/appc-dmaap-adapter/appc-message-adapter-api/target/appc-message-adapter-api-*-SNAPSHOT.jar + asserts_file_exist ${src_folders[appc]}/appc-adapters/appc-dmaap-adapter/appc-message-adapter-factory/target/appc-message-adapter-factory-*-SNAPSHOT.jar + asserts_file_exist ${src_folders[appc]}/appc-adapters/appc-ssh-adapter/appc-ssh-adapter-api/target/appc-ssh-adapter-api-*-SNAPSHOT.jar + asserts_file_exist ${src_folders[appc]}/appc-adapters/appc-ssh-adapter/appc-ssh-adapter-features/target/appc-ssh-adapter-features-*-SNAPSHOT.jar + asserts_file_exist ${src_folders[appc]}/appc-adapters/appc-ssh-adapter/appc-ssh-adapter-sshd/target/appc-ssh-adapter-sshd-*-SNAPSHOT.jar + asserts_file_exist ${src_folders[appc]}/appc-adapters/appc-ssh-adapter/appc-ssh-adapter-tests/target/appc-ssh-adapter-tests-*-SNAPSHOT.jar + + #for component in appc-event-listener appc-oam appc-provider; do + for component in appc-event-listener appc-provider; do + asserts_file_exist ${src_folders[appc]}/$component/$component-bundle/target/$component-bundle-*-SNAPSHOT.jar + asserts_file_exist ${src_folders[appc]}/$component/$component-features/target/$component-features-*-SNAPSHOT.jar + asserts_file_exist ${src_folders[appc]}/$component/$component-installer/target/$component-*-SNAPSHOT.zip done - for component in appc-oam appc-provider; do - asserts_file_exist $appc_src_folder/$component/$component-model/target/$component-model-1.1.0-SNAPSHOT.jar + #for component in appc-oam appc-provider; do + for component in appc-provider; do + asserts_file_exist ${src_folders[appc]}/$component/$component-model/target/$component-model-*-SNAPSHOT.jar done - asserts_file_exist $appc_src_folder/appc-common/target/appc-common-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[appc]}/appc-common/target/appc-common-*-SNAPSHOT.jar - asserts_file_exist $appc_src_folder/appc-dg/appc-dg-shared/appc-dg-dependency-model/target/appc-dg-dependency-model-1.1.0-SNAPSHOT.jar - asserts_file_exist $appc_src_folder/appc-dg/appc-dg-shared/appc-dg-domain-model-lib/target/appc-dg-domain-model-lib-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[appc]}/appc-dg/appc-dg-shared/appc-dg-dependency-model/target/appc-dg-dependency-model-*-SNAPSHOT.jar + asserts_file_exist ${src_folders[appc]}/appc-dg/appc-dg-shared/appc-dg-domain-model-lib/target/appc-dg-domain-model-lib-*-SNAPSHOT.jar - asserts_file_exist $appc_src_folder/appc-dispatcher/appc-command-executor/appc-command-executor-api/target/appc-command-executor-api-1.1.0-SNAPSHOT.jar - asserts_file_exist $appc_src_folder/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/target/appc-data-access-lib-1.1.0-SNAPSHOT.jar - asserts_file_exist $appc_src_folder/appc-dispatcher/appc-dispatcher-common/domain-model-lib/target/domain-model-lib-1.1.0-SNAPSHOT.jar - asserts_file_exist $appc_src_folder/appc-dispatcher/appc-dispatcher-common/execution-queue-management-lib/target/execution-queue-management-lib-1.1.0-SNAPSHOT.jar - asserts_file_exist $appc_src_folder/appc-dispatcher/appc-license-manager/appc-license-manager-api/target/appc-license-manager-api-1.1.0-SNAPSHOT.jar - asserts_file_exist $appc_src_folder/appc-dispatcher/appc-request-handler/appc-request-handler-api/target/appc-request-handler-api-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[appc]}/appc-dispatcher/appc-command-executor/appc-command-executor-api/target/appc-command-executor-api-*-SNAPSHOT.jar + asserts_file_exist ${src_folders[appc]}/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/target/appc-data-access-lib-*-SNAPSHOT.jar + asserts_file_exist ${src_folders[appc]}/appc-dispatcher/appc-dispatcher-common/domain-model-lib/target/domain-model-lib-*-SNAPSHOT.jar + asserts_file_exist ${src_folders[appc]}/appc-dispatcher/appc-dispatcher-common/execution-queue-management-lib/target/execution-queue-management-lib-*-SNAPSHOT.jar + asserts_file_exist ${src_folders[appc]}/appc-dispatcher/appc-license-manager/appc-license-manager-api/target/appc-license-manager-api-*-SNAPSHOT.jar + asserts_file_exist ${src_folders[appc]}/appc-dispatcher/appc-request-handler/appc-request-handler-api/target/appc-request-handler-api-*-SNAPSHOT.jar - asserts_file_exist $appc_src_folder/appc-lifecycle-management/appc-lifecycle-management-api/target/appc-lifecycle-management-api-1.1.0-SNAPSHOT.jar - asserts_file_exist $appc_src_folder/appc-lifecycle-management/appc-lifecycle-management-core/target/appc-lifecycle-management-core-1.1.0-SNAPSHOT.jar - asserts_file_exist $appc_src_folder/appc-lifecycle-management/appc-lifecycle-management-features/target/appc-lifecycle-management-features-1.1.0-SNAPSHOT.jar - asserts_file_exist $appc_src_folder/appc-lifecycle-management/appc-lifecycle-management-installer/target/appc-lifecycle-management-1.1.0-SNAPSHOT.zip - asserts_file_exist $appc_src_folder/appc-lifecycle-management/state-machine-lib/target/state-machine-lib-1.1.0-SNAPSHOT.jar + #asserts_file_exist ${src_folders[appc]}/appc-lifecycle-management/appc-lifecycle-management-api/target/appc-lifecycle-management-api-*-SNAPSHOT.jar + #asserts_file_exist ${src_folders[appc]}/appc-lifecycle-management/appc-lifecycle-management-core/target/appc-lifecycle-management-core-*-SNAPSHOT.jar + #asserts_file_exist ${src_folders[appc]}/appc-lifecycle-management/appc-lifecycle-management-features/target/appc-lifecycle-management-features-*-SNAPSHOT.jar + #asserts_file_exist ${src_folders[appc]}/appc-lifecycle-management/appc-lifecycle-management-installer/target/appc-lifecycle-management-*-SNAPSHOT.zip + #asserts_file_exist ${src_folders[appc]}/appc-lifecycle-management/state-machine-lib/target/state-machine-lib-*-SNAPSHOT.jar - asserts_file_exist $appc_src_folder/appc-metric/appc-metric-bundle/target/appc-metric-bundle-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[appc]}/appc-metric/appc-metric-bundle/target/appc-metric-bundle-*-SNAPSHOT.jar - asserts_file_exist $appc_src_folder/deployment/platform-logic/installer/target/platform-logic-installer-1.1.0-SNAPSHOT.zip + asserts_file_exist ${src_folders[appc]}/deployment/platform-logic/installer/target/platform-logic-installer-*-SNAPSHOT.zip } # test_get_appc_images() - Verify that APPC Docker images can be retrieved function test_get_appc_images { - clone_all_appc_repo + clone_repos "appc" get_appc_images asserts_image openecomp/appc-image @@ -79,7 +81,7 @@ function test_get_appc_images { # test_install_appc() - Verify that the APPC Docker images are up and running function test_install_appc { - clone_all_appc_repos + clone_repos "appc" get_appc_images install_appc diff --git a/bootstrap/vagrant-onap/tests/test_ccsdk b/bootstrap/vagrant-onap/tests/test_ccsdk index 81bdd4877..28de27065 100644..100755 --- a/bootstrap/vagrant-onap/tests/test_ccsdk +++ b/bootstrap/vagrant-onap/tests/test_ccsdk @@ -9,72 +9,73 @@ covered_functions=( # test_clone_ccsdk_repos() - Verify that CCSDL repositories are retrieved properly function test_clone_ccsdk_repos { - clone_ccsdk_repos + clone_repos "ccsdk" - asserts_file_exist $ccsdk_src_folder/dashboard/pom.xml - asserts_file_exist $ccsdk_src_folder/distribution/pom.xml - asserts_file_exist $ccsdk_src_folder/parent/pom.xml - asserts_file_exist $ccsdk_src_folder/platform/blueprints/pom.xml - asserts_file_exist $ccsdk_src_folder/platform/nbapi/pom.xml - asserts_file_exist $ccsdk_src_folder/platform/plugins/pom.xml - asserts_file_exist $ccsdk_src_folder/sli/adaptors/pom.xml - asserts_file_exist $ccsdk_src_folder/sli/core/pom.xml - asserts_file_exist $ccsdk_src_folder/sli/northbound/pom.xml - asserts_file_exist $ccsdk_src_folder/sli/plugins/pom.xml - asserts_file_exist $ccsdk_src_folder/storage/esaas/pom.xml - asserts_file_exist $ccsdk_src_folder/storage/pgaas/pom.xml - asserts_file_exist $ccsdk_src_folder/utils/pom.xml + asserts_file_exist ${src_folders[ccsdk]}/dashboard/pom.xml + asserts_file_exist ${src_folders[ccsdk]}/distribution/pom.xml + asserts_file_exist ${src_folders[ccsdk]}/parent/pom.xml + asserts_file_exist ${src_folders[ccsdk]}/platform/blueprints/pom.xml + asserts_file_exist ${src_folders[ccsdk]}/platform/nbapi/pom.xml + asserts_file_exist ${src_folders[ccsdk]}/platform/plugins/pom.xml + asserts_file_exist ${src_folders[ccsdk]}/sli/adaptors/pom.xml + asserts_file_exist ${src_folders[ccsdk]}/sli/core/pom.xml + asserts_file_exist ${src_folders[ccsdk]}/sli/northbound/pom.xml + asserts_file_exist ${src_folders[ccsdk]}/sli/plugins/pom.xml + asserts_file_exist ${src_folders[ccsdk]}/storage/esaas/pom.xml + asserts_file_exist ${src_folders[ccsdk]}/storage/pgaas/pom.xml + asserts_file_exist ${src_folders[ccsdk]}/utils/pom.xml } # test_compile_ccsdk_repos() - Verify the compilation of CCSDK repositories function test_compile_ccsdk_repos { - clone_ccsdk_repos - compile_ccsdk_repos + clone_repos "ccsdk" + compile_repos "ccsdk" - asserts_file_exist $ccsdk_src_folder/dashboard/ccsdk-app-common/target/ccsdk-app-common-1.1.0-SNAPSHOT.jar - asserts_file_exist $ccsdk_src_folder/dashboard/ccsdk-app-os/target/ccsdk-app-os-1.1.0-SNAPSHOT.war - asserts_file_exist $ccsdk_src_folder/dashboard/ccsdk-app-overlay/target/ccsdk-app-overlay-1.1.0-SNAPSHOT.war - asserts_file_exist $ccsdk_src_folder/distribution/dgbuilder/target/dgbuilder.0.1.0-SNAPSHOT.zip - asserts_file_exist $ccsdk_src_folder/distribution/platform-logic/installer/target/platform-logic-installer-0.1.0-SNAPSHOT.zip - asserts_file_exist $ccsdk_src_folder/platform/nbapi/target/commonnbapi-0.0.3.war + asserts_file_exist ${src_folders[ccsdk]}/dashboard/ccsdk-app-common/target/ccsdk-app-common-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[ccsdk]}/dashboard/ccsdk-app-os/target/ccsdk-app-os-1.1.0-SNAPSHOT.war + asserts_file_exist ${src_folders[ccsdk]}/dashboard/ccsdk-app-overlay/target/ccsdk-app-overlay-1.1.0-SNAPSHOT.war + asserts_file_exist ${src_folders[ccsdk]}/distribution/dgbuilder/target/dgbuilder.0.1.0-SNAPSHOT.zip + asserts_file_exist ${src_folders[ccsdk]}/distribution/platform-logic/installer/target/platform-logic-installer-0.1.0-SNAPSHOT.zip + asserts_file_exist ${src_folders[ccsdk]}/platform/nbapi/target/commonnbapi-*.war - for adaptor in aai-service mdsal-resource resource-assignment sql-resource; do - for component in features provider; do - asserts_file_exist $ccsdk_src_folder/sli/adaptors/$adaptor/$component/target/$adaptor-$component-0.1.0-SNAPSHOT.jar - done - asserts_file_exist $ccsdk_src_folder/sli/adaptors/$adaptor/installer/target/sdnc-$adaptor-0.1.0-SNAPSHOT-installer.zip - done + #for adaptor in aai-service mdsal-resource resource-assignment sql-resource; do + #for component in features provider; do + #asserts_file_exist ${src_folders[ccsdk]}/sli/adaptors/$adaptor/$component/target/$adaptor-$component-0.1.0-SNAPSHOT.jar + #done + #asserts_file_exist ${src_folders[ccsdk]}/sli/adaptors/$adaptor/installer/target/sdnc-$adaptor-0.1.0-SNAPSHOT-installer.zip + #done - for core in dblib filters sli sliapi sliPluginUtils; do + #for core in dblib filters sli sliapi sliPluginUtils; do + for core in dblib; do for component in features provider; do - asserts_file_exist $ccsdk_src_folder/sli/core/$core/$component/target/$core-$component-0.1.2-SNAPSHOT.jar + asserts_file_exist ${src_folders[ccsdk]}/sli/core/$core/$component/target/$core-$component-*-SNAPSHOT.jar done - asserts_file_exist $ccsdk_src_folder/sli/core/$core/installer/target/sdnc-$core-0.1.2-SNAPSHOT-installer.zip + asserts_file_exist ${src_folders[ccsdk]}/sli/core/$core/installer/target/sdnc-$core-*-SNAPSHOT-installer.zip done - asserts_file_exist $ccsdk_src_folder/sli/core/sli/common/target/sli-common-0.1.2-SNAPSHOT.jar - asserts_file_exist $ccsdk_src_folder/sli/core/sli/recording/target/sli-recording-0.1.2-SNAPSHOT.jar - asserts_file_exist $ccsdk_src_folder/sli/core/sliapi/model/target/sliapi-model-0.1.2-SNAPSHOT.jar + #asserts_file_exist ${src_folders[ccsdk]}/sli/core/sli/common/target/sli-common-*-SNAPSHOT.jar + #asserts_file_exist ${src_folders[ccsdk]}/sli/core/sli/recording/target/sli-recording-*-SNAPSHOT.jar + #asserts_file_exist ${src_folders[ccsdk]}/sli/core/sliapi/model/target/sliapi-model-*-SNAPSHOT.jar for northbound in asdcApi dataChange; do for component in features model provider; do - asserts_file_exist $ccsdk_src_folder/sli/northbound/$northbound/$component/target/$northbound-$component-0.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[ccsdk]}/sli/northbound/$northbound/$component/target/$northbound-$component-*-SNAPSHOT.jar done - asserts_file_exist $ccsdk_src_folder/sli/northbound/$northbound/installer/target/sdnc-$northbound-0.1.0-SNAPSHOT-installer.zip + asserts_file_exist ${src_folders[ccsdk]}/sli/northbound/$northbound/installer/target/sdnc-$northbound-*-SNAPSHOT-installer.zip done - asserts_file_exist $ccsdk_src_folder/sli/northbound/dmaap-listener/target/dmaap-listener-0.1.0-SNAPSHOT.jar - asserts_file_exist $ccsdk_src_folder/sli/northbound/ueb-listener/target/ueb-listener-0.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[ccsdk]}/sli/northbound/dmaap-listener/target/dmaap-listener-*-SNAPSHOT.jar + asserts_file_exist ${src_folders[ccsdk]}/sli/northbound/ueb-listener/target/ueb-listener-*-SNAPSHOT.jar for plugin in properties-node restapi-call-node; do for component in features provider; do - asserts_file_exist $ccsdk_src_folder/sli/plugins/$plugin/$component/target/$plugin-$component-0.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[ccsdk]}/sli/plugins/$plugin/$component/target/$plugin-$component-*-SNAPSHOT.jar done - asserts_file_exist $ccsdk_src_folder/sli/plugins/$plugin/installer/target/sdnc-$plugin-0.1.0-SNAPSHOT-installer.zip + asserts_file_exist ${src_folders[ccsdk]}/sli/plugins/$plugin/installer/target/sdnc-$plugin-*-SNAPSHOT-installer.zip done } # test_get_ccsdk_images() - Verify that CCSDK images are retrieved or built properly function test_get_ccsdk_images { - clone_ccsdk_repos + clone_repos "ccsdk" get_ccsdk_images for image in dgbuilder odlsli odl ubuntu; do diff --git a/bootstrap/vagrant-onap/tests/test_dcae b/bootstrap/vagrant-onap/tests/test_dcae index c6887cd78..3c5400fa1 100644..100755 --- a/bootstrap/vagrant-onap/tests/test_dcae +++ b/bootstrap/vagrant-onap/tests/test_dcae @@ -9,82 +9,82 @@ covered_functions=( # test_clone_all_dcae_repos() - Verifies that can retrieve DCAE repositories properly function test_clone_all_dcae_repos { - clone_all_dcae_repos - - asserts_file_exist $dcae_src_folder/apod/README.md - asserts_file_exist $dcae_src_folder/apod/analytics/pom.xml - asserts_file_exist $dcae_src_folder/apod/buildtools/LICENSE.txt - asserts_file_exist $dcae_src_folder/apod/cdap/LICENSE.txt - asserts_file_exist $dcae_src_folder/collectors/README.md - asserts_file_exist $dcae_src_folder/collectors/ves/pom.xml - asserts_file_exist $dcae_src_folder/controller/pom.xml - asserts_file_exist $dcae_src_folder/controller/analytics/pom.xml - asserts_file_exist $dcae_src_folder/dcae-inventory/pom.xml - asserts_file_exist $dcae_src_folder/demo/pom.xml - asserts_file_exist $dcae_src_folder/demo/startup/README.md - asserts_file_exist $dcae_src_folder/demo/startup/aaf/LICENSE.txt - asserts_file_exist $dcae_src_folder/demo/startup/controller/LICENSE.txt - asserts_file_exist $dcae_src_folder/demo/startup/message-router/LICENSE.txt - asserts_file_exist $dcae_src_folder/dmaapbc/pom.xml - asserts_file_exist $dcae_src_folder/operation/README.md - asserts_file_exist $dcae_src_folder/operation/utils/pom.xml - asserts_file_exist $dcae_src_folder/orch-dispatcher/LICENSE.txt - asserts_file_exist $dcae_src_folder/pgaas/LICENSE.txt - asserts_file_exist $dcae_src_folder/utils/README.md - asserts_file_exist $dcae_src_folder/utils/buildtools/LICENSE.txt + clone_repos "dcae" + + asserts_file_exist ${src_folders[dcae]}/apod/README.md + asserts_file_exist ${src_folders[dcae]}/apod/analytics/pom.xml + asserts_file_exist ${src_folders[dcae]}/apod/buildtools/LICENSE.txt + asserts_file_exist ${src_folders[dcae]}/apod/cdap/LICENSE.txt + asserts_file_exist ${src_folders[dcae]}/collectors/README.md + asserts_file_exist ${src_folders[dcae]}/collectors/ves/pom.xml + asserts_file_exist ${src_folders[dcae]}/controller/pom.xml + asserts_file_exist ${src_folders[dcae]}/controller/analytics/pom.xml + asserts_file_exist ${src_folders[dcae]}/dcae-inventory/pom.xml + asserts_file_exist ${src_folders[dcae]}/demo/pom.xml + asserts_file_exist ${src_folders[dcae]}/demo/startup/README.md + asserts_file_exist ${src_folders[dcae]}/demo/startup/aaf/LICENSE.txt + asserts_file_exist ${src_folders[dcae]}/demo/startup/controller/LICENSE.txt + asserts_file_exist ${src_folders[dcae]}/demo/startup/message-router/LICENSE.txt + asserts_file_exist ${src_folders[dcae]}/dmaapbc/pom.xml + asserts_file_exist ${src_folders[dcae]}/operation/README.md + asserts_file_exist ${src_folders[dcae]}/operation/utils/pom.xml + asserts_file_exist ${src_folders[dcae]}/orch-dispatcher/LICENSE.txt + asserts_file_exist ${src_folders[dcae]}/pgaas/LICENSE.txt + asserts_file_exist ${src_folders[dcae]}/utils/README.md + asserts_file_exist ${src_folders[dcae]}/utils/buildtools/LICENSE.txt } # test_compile_all_dcae_repos() - Verify that the DCAE source code is compiled properly function test_compile_all_dcae_repos { - clone_all_dcae_repos - compile_all_dcae_repos + clone_repos "dcae" + compile_repos "dcae" - asserts_file_exist $dcae_src_folder/collectors/ves/target/VESCollector-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/collectors/ves/target/VESCollector-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/analytics/dcae-analytics-cdap-common-model/target/dcae-analytics-cdap-common-model-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/analytics/dcae-analytics-cdap-common-model/target/dcae-analytics-cdap-common-model-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/dcae-controller-core/dcae-controller-core-model/target/dcae-controller-core-model-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/dcae-controller-core/dcae-controller-core-utils/target/dcae-controller-core-utils-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/dcae-controller-core/dcae-controller-operation-utils/target/dcae-controller-operation-utils-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/dcae-controller-core/dcae-controller-platform-model/target/dcae-controller-platform-model-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/dcae-controller-core/dcae-controller-platform-server/target/dcae-controller-platform-server-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/dcae-controller-core/dcae-controller-core-model/target/dcae-controller-core-model-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/dcae-controller-core/dcae-controller-core-utils/target/dcae-controller-core-utils-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/dcae-controller-core/dcae-controller-operation-utils/target/dcae-controller-operation-utils-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/dcae-controller-core/dcae-controller-platform-model/target/dcae-controller-platform-model-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/dcae-controller-core/dcae-controller-platform-server/target/dcae-controller-platform-server-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/dcae-controller-service/dcae-controller-service-dmaap-drsub/dcae-controller-service-dmaap-drsub-manager/target/dcae-controller-service-dmaap-drsub-manager-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/dcae-controller-service/dcae-controller-service-dmaap-drsub/dcae-controller-service-dmaap-drsub-model/target/dcae-controller-service-dmaap-drsub-model-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/dcae-controller-service/dcae-controller-service-standardeventcollector/dcae-controller-service-standardeventcollector-manager/target/dcae-controller-service-standardeventcollector-manager-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/dcae-controller-service/dcae-controller-service-standardeventcollector/dcae-controller-service-standardeventcollector-model/target/dcae-controller-service-standardeventcollector-model-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/dcae-controller-service/dcae-controller-service-storage-postgres-model/target/dcae-controller-service-storage-postgres-model-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/dcae-controller-service/dcae-controller-service-dmaap-drsub/dcae-controller-service-dmaap-drsub-manager/target/dcae-controller-service-dmaap-drsub-manager-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/dcae-controller-service/dcae-controller-service-dmaap-drsub/dcae-controller-service-dmaap-drsub-model/target/dcae-controller-service-dmaap-drsub-model-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/dcae-controller-service/dcae-controller-service-standardeventcollector/dcae-controller-service-standardeventcollector-manager/target/dcae-controller-service-standardeventcollector-manager-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/dcae-controller-service/dcae-controller-service-standardeventcollector/dcae-controller-service-standardeventcollector-model/target/dcae-controller-service-standardeventcollector-model-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/dcae-controller-service/dcae-controller-service-storage-postgres-model/target/dcae-controller-service-storage-postgres-model-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/dcae-controller-service-cdap/dcae-controller-service-cdap-adaptor/target/dcae-controller-service-cdap-adaptor-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/target/dcae-controller-service-cdap-cluster-manager-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-model/target/dcae-controller-service-cdap-cluster-model-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/dcae-controller-service-cdap/dcae-controller-service-cdap-model/target/dcae-controller-service-cdap-model-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/dcae-controller-service-cdap/dcae-controller-service-cdap-adaptor/target/dcae-controller-service-cdap-adaptor-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/target/dcae-controller-service-cdap-cluster-manager-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-model/target/dcae-controller-service-cdap-cluster-model-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/dcae-controller-service-cdap/dcae-controller-service-cdap-model/target/dcae-controller-service-cdap-model-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/dcae-controller-service-docker/dcae-controller-service-common-docker/dcae-controller-service-common-docker-manager/target/dcae-controller-service-common-docker-manager-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/dcae-controller-service-docker/dcae-controller-service-common-docker/dcae-controller-service-common-docker-model/target/dcae-controller-service-common-docker-model-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/dcae-controller-service-docker/dcae-controller-service-docker-adaptor/target/dcae-controller-service-docker-adaptor-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/dcae-controller-service-docker/dcae-controller-service-docker-host/dcae-controller-service-docker-host-manager/target/dcae-controller-service-docker-host-manager-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/dcae-controller-service-docker/dcae-controller-service-docker-host/dcae-controller-service-docker-host-model/target/dcae-controller-service-docker-host-model-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/dcae-controller-service-docker/dcae-controller-service-docker-model/target/dcae-controller-service-docker-model-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/dcae-controller-service-docker/dcae-controller-service-common-docker/dcae-controller-service-common-docker-manager/target/dcae-controller-service-common-docker-manager-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/dcae-controller-service-docker/dcae-controller-service-common-docker/dcae-controller-service-common-docker-model/target/dcae-controller-service-common-docker-model-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/dcae-controller-service-docker/dcae-controller-service-docker-adaptor/target/dcae-controller-service-docker-adaptor-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/dcae-controller-service-docker/dcae-controller-service-docker-host/dcae-controller-service-docker-host-manager/target/dcae-controller-service-docker-host-manager-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/dcae-controller-service-docker/dcae-controller-service-docker-host/dcae-controller-service-docker-host-model/target/dcae-controller-service-docker-host-model-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/dcae-controller-service-docker/dcae-controller-service-docker-model/target/dcae-controller-service-docker-model-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/dcae-controller-service-vm/dcae-controller-service-common-vm/dcae-controller-service-common-vm-manager/target/dcae-controller-service-common-vm-manager-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/dcae-controller-service-vm/dcae-controller-service-common-vm/dcae-controller-service-common-vm-model/target/dcae-controller-service-common-vm-model-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/dcae-controller-service-vm/dcae-controller-service-vm-adaptor/target/dcae-controller-service-vm-adaptor-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/controller/dcae-controller-service-vm/dcae-controller-service-vm-model/target/dcae-controller-service-vm-model-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/dcae-controller-service-vm/dcae-controller-service-common-vm/dcae-controller-service-common-vm-manager/target/dcae-controller-service-common-vm-manager-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/dcae-controller-service-vm/dcae-controller-service-common-vm/dcae-controller-service-common-vm-model/target/dcae-controller-service-common-vm-model-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/dcae-controller-service-vm/dcae-controller-service-vm-adaptor/target/dcae-controller-service-vm-adaptor-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/controller/dcae-controller-service-vm/dcae-controller-service-vm-model/target/dcae-controller-service-vm-model-1.1.0-SNAPSHOT.jar - asserts_file_exist $dcae_src_folder/dcae-inventory/target/dcae-inventory-1.1.0.jar + asserts_file_exist ${src_folders[dcae]}/dcae-inventory/target/dcae-inventory-1.1.0.jar - asserts_file_exist $dcae_src_folder/demo/dcae-demo-controller/target/dcae-demo-controller-1.1.0-SNAPSHOT-runtime.zip + asserts_file_exist ${src_folders[dcae]}/demo/dcae-demo-controller/target/dcae-demo-controller-1.1.0-SNAPSHOT-runtime.zip - asserts_file_exist $dcae_src_folder/dmaapbc/target/dcae_dmaapbc.jar + asserts_file_exist ${src_folders[dcae]}/dmaapbc/target/dcae_dmaapbc.jar - asserts_file_exist $dcae_src_folder/operation/utils/operation-utils/target/operation-utils-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[dcae]}/operation/utils/operation-utils/target/operation-utils-1.1.0-SNAPSHOT.jar } # test_get_dcae_images() - Function that verifies DCAE images are retrieved properly function test_get_dcae_images { - clone_all_dcae_repos - compile_all_dcae_repos + clone_repos "dcae" + compile_repos "dcae" get_dcae_images asserts_image openecomp/dcae-dmaapbc @@ -95,7 +95,7 @@ function test_get_dcae_images { # test_install_dcae() - Function that verifies that DCAE services are up and running function test_install_dcae { - clone_all_dcae_repos + clone_repos "dcae" compile_all_dcae_repos get_dcae_images install_dcae diff --git a/bootstrap/vagrant-onap/tests/test_functions b/bootstrap/vagrant-onap/tests/test_functions index 3ab5828cb..9411b46f4 100644..100755 --- a/bootstrap/vagrant-onap/tests/test_functions +++ b/bootstrap/vagrant-onap/tests/test_functions @@ -4,7 +4,7 @@ source /var/onap_tests/_test_base source /var/onap/functions covered_functions=( -"create_configuration_files" "clone_repo" "install_dev_tools" +"create_configuration_files" "clone_repo" "configure_bind" "install_java" "install_maven" "install_nodejs" "install_python" "install_docker" "pull_docker_image" "install_docker_compose" "configure_service" "start_ODL" "compile_src" "build_docker_image" "docker_openecomp_login" @@ -55,15 +55,6 @@ function test_clone_repo { asserts_file_exist $git_src_folder/demo/LICENSE.TXT } -# test_install_dev_tools() - Verify the correct installation of developer tools -function test_install_dev_tools { - install_dev_tools - - asserts_installed_package apt-transport-https - asserts_installed_package ca-certificates - asserts_installed_package curl -} - # test_configure_bind() - Verify the correct installation and configuration of bind function test_configure_bind { configure_bind @@ -167,18 +158,12 @@ function test_build_docker_image { # test_coverity_repos() - Verify that all the repos are covered by scripts function test_coverity_repos { - # Get repositories list from source code files - repos_list=() - for module in $( stat -c "%F %n" /var/onap/* | grep -v "_\|functions\|commons\|files" | cut -d' ' -f 3-); do - source $module - module_repo_list=$(eval echo \${$(basename $module)_repos[@]}) - repos_list=(${repos_list[@]} ${module_repo_list[@]}) - done - pushd /var/onap_tests/ cp projects.txt remaining_projects.txt - for covered_repo in "${repos_list[@]}"; do - sed -i '/^'${covered_repo//\//\\/}'$/d' remaining_projects.txt + for project in "${repos[@]}"; do + for covered_repo in $project; do + sed -i '/^'${covered_repo//\//\\/}'$/d' remaining_projects.txt + done done threshold=75 diff --git a/bootstrap/vagrant-onap/tests/test_mr b/bootstrap/vagrant-onap/tests/test_mr index a863b99ba..ad1bcd2f5 100644..100755 --- a/bootstrap/vagrant-onap/tests/test_mr +++ b/bootstrap/vagrant-onap/tests/test_mr @@ -9,9 +9,9 @@ covered_functions=( # test_clone_mr_repos() - Verify that Message Router repositories are cloned properly function test_clone_mr_repos { - clone_mr_repos + clone_repo dcae/demo/startup/message-router ${src_folders[mr]} - asserts_file_exist $mr_src_folder/deploy.sh + asserts_file_exist ${src_folders[mr]}/deploy.sh } # test_get_mr_images() - Verify that Message Router Docker images are retrieved @@ -24,7 +24,7 @@ function test_get_mr_images { # test_install_message_router() - Verify the built and start of Message Router services function test_install_message_router { - clone_mr_repos + clone_repo dcae/demo/startup/message-router ${src_folders[mr]} get_mr_images install_message_router diff --git a/bootstrap/vagrant-onap/tests/test_msb b/bootstrap/vagrant-onap/tests/test_msb new file mode 100755 index 000000000..0848d333b --- /dev/null +++ b/bootstrap/vagrant-onap/tests/test_msb @@ -0,0 +1,61 @@ +#!/bin/bash + +source /var/onap_tests/_test_base +source /var/onap/msb + +covered_functions=( +"clone_all_msb_repos" "compile_all_msb_repos" "get_msb_images" "install_msb" +) + +# test_clone_all_msb_repos() - Verify the source code retrieve of Microservice Bus project +function test_clone_all_msb_repos { + clone_repos "msb" + + asserts_file_exist ${src_folders[msb]}/apigateway/pom.xml + asserts_file_exist ${src_folders[msb]}/discovery/pom.xml + asserts_file_exist ${src_folders[msb]}/java-sdk/pom.xml + asserts_file_exist ${src_folders[msb]}/swagger-sdk/pom.xml +} + +# test_compile_all_msb_repos() - Verify the correct compilation of MSB project +function test_compile_all_msb_repos { + clone_repos "msb" + compile_repos "msb" + + asserts_file_exist ${src_folders[msb]}/apigateway/apiroute/apiroute-service/target/original-apiroute-service-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[msb]}/apigateway/apiroute/apiroute-standalone/target/apiroute-1.1.0-SNAPSHOT.zip + asserts_file_exist ${src_folders[msb]}/discovery/discovery-ui/target/discovery-ui-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[msb]}/discovery/sdclient/discovery-service/target/original-discovery-service-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[msb]}/java-sdk/target/msb-java-sdk-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[msb]}/swagger-sdk/target/swagger-sdk-1.1.0-SNAPSHOT.jar +} + +# test_get_msb_images() - Verify the creation of MSB Docker images +function test_get_msb_images { + clone_repos "msb" + get_msb_images + + for image in base apigateway discovery; do + asserts_image $nexus_docker_repo/onap/msb/msb_$image + done +} + +# test_install_msb - Verify the execution of MSB Docker images +function test_install_msb { + clone_repos "msb" + get_msb_images + install_msb + + for image in apigateway discovery; do + asserts_image_running $nexus_docker_repo/onap/msb/msb_$image + done + + asserts_http_status_code "http://127.0.0.1:10081/api/microservices/v1/services" + asserts_http_status_code "http://127.0.0.1/api/aai/v8/cloud-infrastructure/cloud-regions" +} + +if [ "$1" != '*' ]; then + unset covered_functions + covered_functions=$1 +fi +main "${covered_functions[@]}" diff --git a/bootstrap/vagrant-onap/tests/test_mso b/bootstrap/vagrant-onap/tests/test_mso index deea7bbf8..6a6bef772 100644..100755 --- a/bootstrap/vagrant-onap/tests/test_mso +++ b/bootstrap/vagrant-onap/tests/test_mso @@ -9,40 +9,40 @@ covered_functions=( # test_clone_all_mso_repos() - Verify the source code retrieve of MSO project function test_clone_all_mso_repos { - clone_all_mso_repos + clone_repos "mso" - asserts_file_exist $src_folder/pom.xml - asserts_file_exist $src_folder/chef-repo/LICENSE.txt - asserts_file_exist $src_folder/docker-config/LICENSE.txt - asserts_file_exist $src_folder/libs/pom.xml - asserts_file_exist $src_folder/mso-config/LICENSE.txt + asserts_file_exist ${src_folders[mso]}/pom.xml + asserts_file_exist ${src_folders[mso]}/chef-repo/LICENSE.txt + asserts_file_exist ${src_folders[mso]}/docker-config/LICENSE.txt + asserts_file_exist ${src_folders[mso]}/libs/pom.xml + asserts_file_exist ${src_folders[mso]}/mso-config/LICENSE.txt } # test_compile_all_mso_repos() - Verify the correct compilation of MSO projects function test_compile_all_mso_repos { - clone_all_mso_repos - compile_all_mso_repos + clone_repos "mso" + compile_repos "mso" - asserts_file_exist $src_folder/libs/ceilometer-client/target/ceilometer-client-1.1.0-SNAPSHOT.jar - asserts_file_exist $src_folder/libs/ceilometer-model/target/ceilometer-model-1.1.0-SNAPSHOT.jar - asserts_file_exist $src_folder/libs/glance-client/target/glance-client-1.1.0-SNAPSHOT.jar - asserts_file_exist $src_folder/libs/glance-model/target/glance-model-1.1.0-SNAPSHOT.jar - asserts_file_exist $src_folder/libs/heat-client/target/heat-client-1.1.0-SNAPSHOT.jar - asserts_file_exist $src_folder/libs/heat-model/target/heat-model-1.1.0-SNAPSHOT.jar - asserts_file_exist $src_folder/libs/keystone-client/target/keystone-client-1.1.0-SNAPSHOT.jar - asserts_file_exist $src_folder/libs/keystone-model/target/keystone-model-1.1.0-SNAPSHOT.jar - asserts_file_exist $src_folder/libs/nova-client/target/nova-client-1.1.0-SNAPSHOT.jar - asserts_file_exist $src_folder/libs/nova-model/target/nova-model-1.1.0-SNAPSHOT.jar - asserts_file_exist $src_folder/libs/openstack-client/target/openstack-client-1.1.0-SNAPSHOT.jar - asserts_file_exist $src_folder/libs/quantum-client/target/quantum-client-1.1.0-SNAPSHOT.jar - asserts_file_exist $src_folder/libs/quantum-model/target/quantum-model-1.1.0-SNAPSHOT.jar - asserts_file_exist $src_folder/libs/swift-client/target/swift-client-1.1.0-SNAPSHOT.jar - asserts_file_exist $src_folder/libs/swift-model/target/swift-model-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[mso]}/libs/ceilometer-client/target/ceilometer-client-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[mso]}/libs/ceilometer-model/target/ceilometer-model-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[mso]}/libs/glance-client/target/glance-client-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[mso]}/libs/glance-model/target/glance-model-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[mso]}/libs/heat-client/target/heat-client-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[mso]}/libs/heat-model/target/heat-model-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[mso]}/libs/keystone-client/target/keystone-client-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[mso]}/libs/keystone-model/target/keystone-model-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[mso]}/libs/nova-client/target/nova-client-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[mso]}/libs/nova-model/target/nova-model-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[mso]}/libs/openstack-client/target/openstack-client-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[mso]}/libs/quantum-client/target/quantum-client-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[mso]}/libs/quantum-model/target/quantum-model-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[mso]}/libs/swift-client/target/swift-client-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[mso]}/libs/swift-model/target/swift-model-1.1.0-SNAPSHOT.jar } # test_get_mso_images() - Verify the creation of MSO Docker images function test_get_mso_images { - clone_all_mso_repos + clone_repos "mso" install_mso for image in mso mso-arquillian wildfly ubuntu-update jacoco; do @@ -52,7 +52,7 @@ function test_get_mso_images { # test_install_mso - Verify the execution of MSO Docker images function test_install_mso { - clone_all_mso_repos + clone_repos "mso" install_mso install_mso_docker_config diff --git a/bootstrap/vagrant-onap/tests/test_multicloud b/bootstrap/vagrant-onap/tests/test_multicloud index b0b674894..1b5b85de6 100644..100755 --- a/bootstrap/vagrant-onap/tests/test_multicloud +++ b/bootstrap/vagrant-onap/tests/test_multicloud @@ -9,37 +9,42 @@ covered_functions=( # test_clone_multicloud_repos() - Verify that Multi Cloud repositories are cloned properly function test_clone_multicloud_repos { - clone_multicloud_repos - - #asserts_file_exist $multicloud_src_folder/ - asserts_file_exist $multicloud_src_folder/framework/pom.xml - asserts_file_exist $multicloud_src_folder/openstack/pom.xml - asserts_file_exist $multicloud_src_folder/openstack/vmware/pom.xml - asserts_file_exist $multicloud_src_folder/openstack/windriver/pom.xml - #asserts_file_exist $multicloud_src_folder/azure/ + clone_repos "multicloud" + + #asserts_file_exist ${src_folders[multicloud]}/ + asserts_file_exist ${src_folders[multicloud]}/framework/pom.xml + asserts_file_exist ${src_folders[multicloud]}/openstack/pom.xml + asserts_file_exist ${src_folders[multicloud]}/openstack/vmware/pom.xml + asserts_file_exist ${src_folders[multicloud]}/openstack/windriver/pom.xml + #asserts_file_exist ${src_folders[multicloud]}/azure/ } # test_compile_multicloud_repos() - function test_compile_multicloud_repos { - clone_multicloud_repos - compile_multicloud_repos + clone_repos "multicloud" + compile_repos "multicloud" - asserts_file_exist $multicloud_src_folder/openstack/newton/target/multicloud-openstack-newton-1.0.0-SNAPSHOT.zip - asserts_file_exist $multicloud_src_folder/openstack/ocata/target/multicloud-openstack-ocata-1.0.0-SNAPSHOT.zip - asserts_file_exist $multicloud_src_folder/openstack/windriver/target/multicloud-openstack-windriver-1.0.0-SNAPSHOT.zip + asserts_file_exist ${src_folders[multicloud]}/openstack/newton/target/multicloud-openstack-newton-1.0.0-SNAPSHOT.zip + asserts_file_exist ${src_folders[multicloud]}/openstack/ocata/target/multicloud-openstack-ocata-1.0.0-SNAPSHOT.zip + asserts_file_exist ${src_folders[multicloud]}/openstack/windriver/target/multicloud-openstack-windriver-1.0.0-SNAPSHOT.zip } # test_get_multicloud_images() - function test_get_multicloud_images { - clone_multicloud_repos + clone_repos "multicloud" get_multicloud_images + + asserts_image onap/multicloud/openstack-$openstack_release } # test_install_multicloud() - Verify the built and start of Multi Cloud services function test_install_multicloud { - clone_multicloud_repos + clone_repos "multicloud" get_multicloud_images install_multicloud + + # NOTE(electrocucaracha): Depends on https://gerrit.onap.org/r/#/c/23631/ + asserts_http_status_code http://127.0.0.1:9003/api/multicloud-$openstack_release/v0/swagger.json } if [ "$1" != '*' ]; then diff --git a/bootstrap/vagrant-onap/tests/test_policy b/bootstrap/vagrant-onap/tests/test_policy index 08231fc7a..b666cf9db 100644..100755 --- a/bootstrap/vagrant-onap/tests/test_policy +++ b/bootstrap/vagrant-onap/tests/test_policy @@ -12,69 +12,69 @@ covered_functions=( # test_clone_all_policy_repos() - Verify cloning of Policy source code function test_clone_all_policy_repos { - clone_all_policy_repos + clone_repos "policy" - asserts_file_exist $policy_src_folder/api/pom.xml - asserts_file_exist $policy_src_folder/common/pom.xml - asserts_file_exist $policy_src_folder/docker/pom.xml - asserts_file_exist $policy_src_folder/drools-applications/pom.xml - asserts_file_exist $policy_src_folder/drools-pdp/pom.xml - asserts_file_exist $policy_src_folder/engine/pom.xml - asserts_file_exist $policy_src_folder/gui/pom.xml - asserts_file_exist $policy_src_folder/pap/pom.xml - asserts_file_exist $policy_src_folder/pdp/pom.xml + asserts_file_exist ${src_folders[policy]}/api/pom.xml + asserts_file_exist ${src_folders[policy]}/common/pom.xml + asserts_file_exist ${src_folders[policy]}/docker/pom.xml + asserts_file_exist ${src_folders[policy]}/drools-applications/pom.xml + asserts_file_exist ${src_folders[policy]}/drools-pdp/pom.xml + asserts_file_exist ${src_folders[policy]}/engine/pom.xml + asserts_file_exist ${src_folders[policy]}/gui/pom.xml + asserts_file_exist ${src_folders[policy]}/pap/pom.xml + asserts_file_exist ${src_folders[policy]}/pdp/pom.xml } # test_compile_all_policy_repos() - Verify compiling of Policy source code function test_compile_all_policy_repos { - clone_all_policy_repos - compile_all_policy_repos + clone_repos "policy" + compile_repos "policy" - asserts_file_exist $policy_src_folder/common/common-logging/target/ONAP-Logging-1.1.0-SNAPSHOT.jar - asserts_file_exist $policy_src_folder/common/integrity-audit/target/integrity-audit-1.1.0-SNAPSHOT.jar - asserts_file_exist $policy_src_folder/common/integrity-monitor/target/integrity-monitor-1.1.0-SNAPSHOT.jar - asserts_file_exist $policy_src_folder/common/site-manager/target/site-manager-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[policy]}/common/common-logging/target/ONAP-Logging-*-SNAPSHOT.jar + asserts_file_exist ${src_folders[policy]}/common/integrity-audit/target/integrity-audit-*-SNAPSHOT.jar + asserts_file_exist ${src_folders[policy]}/common/integrity-monitor/target/integrity-monitor-*-SNAPSHOT.jar + asserts_file_exist ${src_folders[policy]}/common/site-manager/target/site-manager-*-SNAPSHOT.jar for actor in appc appclcm so test vfc; do - asserts_file_exist $policy_src_folder/drools-applications/controlloop/common/actors/actor.$actor/target/actor.$actor-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[policy]}/drools-applications/controlloop/common/actors/actor.$actor/target/actor.$actor-*-SNAPSHOT.jar done - asserts_file_exist $policy_src_folder/drools-applications/controlloop/common/actors/actorServiceProvider/target/actorServiceProvider-1.1.0-SNAPSHOT.jar - asserts_file_exist $policy_src_folder/drools-applications/controlloop/common/eventmanager/target/eventmanager-1.1.0-SNAPSHOT.jar - asserts_file_exist $policy_src_folder/drools-applications/controlloop/common/guard/target/guard-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[policy]}/drools-applications/controlloop/common/actors/actorServiceProvider/target/actorServiceProvider-*-SNAPSHOT.jar + asserts_file_exist ${src_folders[policy]}/drools-applications/controlloop/common/eventmanager/target/eventmanager-*-SNAPSHOT.jar + asserts_file_exist ${src_folders[policy]}/drools-applications/controlloop/common/guard/target/guard-*-SNAPSHOT.jar for module in aai appc appclcm events rest sdc so trafficgenerator vfc; do - asserts_file_exist $policy_src_folder/drools-applications/controlloop/common/model-impl/$module/target/$module-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[policy]}/drools-applications/controlloop/common/model-impl/$module/target/$module-*-SNAPSHOT.jar done - asserts_file_exist $policy_src_folder/drools-applications/controlloop/common/policy-yaml/target/policy-yaml-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[policy]}/drools-applications/controlloop/common/policy-yaml/target/policy-yaml-*-SNAPSHOT.jar for package in apps artifacts; do - asserts_file_exist $policy_src_folder/drools-applications/controlloop/packages/$package/target/$package-1.1.0-SNAPSHOT.zip + asserts_file_exist ${src_folders[policy]}/drools-applications/controlloop/packages/$package/target/$package-*-SNAPSHOT.zip done - asserts_file_exist $policy_src_folder/drools-applications/controlloop/packages/basex/target/basex-1.1.0-SNAPSHOT.tar.gz - asserts_file_exist $policy_src_folder/drools-applications/controlloop/templates/template.demo/target/template.demo-1.1.0-SNAPSHOT.jar - asserts_file_exist $policy_src_folder/drools-applications/controlloop/templates/template.demo/target/template.demo-1.1.0-SNAPSHOT.jar + #asserts_file_exist ${src_folders[policy]}/drools-applications/controlloop/packages/basex/target/basex-*-SNAPSHOT.tar.gz + asserts_file_exist ${src_folders[policy]}/drools-applications/controlloop/templates/template.demo/target/template.demo-*-SNAPSHOT.jar + asserts_file_exist ${src_folders[policy]}/drools-applications/controlloop/templates/template.demo/target/template.demo-*-SNAPSHOT.jar for feature in eelf healthcheck session-persistence; do - asserts_file_exist $policy_src_folder/drools-pdp/feature-$feature/target/feature-$feature-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[policy]}/drools-pdp/feature-$feature/target/feature-$feature-*-SNAPSHOT.jar done - asserts_file_exist $policy_src_folder/drools-pdp/packages/base/target/base-1.1.0-SNAPSHOT.tar.gz - asserts_file_exist $policy_src_folder/drools-pdp/packages/install/target/install-drools-1.1.0-SNAPSHOT.zip + #asserts_file_exist ${src_folders[policy]}/drools-pdp/packages/base/target/base-*-SNAPSHOT.tar.gz + #asserts_file_exist ${src_folders[policy]}/drools-pdp/packages/install/target/install-drools-*-SNAPSHOT.zip for policy in core endpoints management utils; do - asserts_file_exist $policy_src_folder/drools-pdp/policy-$policy/target/policy-$policy-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[policy]}/drools-pdp/policy-$policy/target/policy-$policy-*-SNAPSHOT.jar done for engine in BRMSGateway LogParser ONAP-PDP ONAP-XACML ONAP-REST; do - asserts_file_exist $policy_src_folder/engine/$engine/target/$engine-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[policy]}/engine/$engine/target/$engine-*-SNAPSHOT.jar done for engine in ONAP-PAP-REST ONAP-PDP-REST ONAP-SDK-APP; do - asserts_file_exist $policy_src_folder/engine/$engine/target/$engine-1.1.0-SNAPSHOT.war + asserts_file_exist ${src_folders[policy]}/engine/$engine/target/$engine-*-SNAPSHOT.war done - asserts_file_exist $policy_src_folder/engine/packages/base/target/base-1.1.0-SNAPSHOT.tar.gz - asserts_file_exist $policy_src_folder/engine/packages/install/target/install-1.1.0-SNAPSHOT.zip - asserts_file_exist $policy_src_folder/engine/POLICY-SDK-APP/target/POLICY-SDK-APP-1.1.0-SNAPSHOT.war - asserts_file_exist $policy_src_folder/engine/PolicyEngineAPI/target/PolicyEngineAPI-1.1.0-SNAPSHOT.jar - asserts_file_exist $policy_src_folder/engine/PolicyEngineClient/target/PolicyEngineClient-1.1.0-SNAPSHOT.jar - asserts_file_exist $policy_src_folder/engine/PolicyEngineUtils/target/PolicyEngineUtils-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[policy]}/engine/packages/base/target/base-*-SNAPSHOT.tar.gz + asserts_file_exist ${src_folders[policy]}/engine/packages/install/target/install-*-SNAPSHOT.zip + asserts_file_exist ${src_folders[policy]}/engine/POLICY-SDK-APP/target/POLICY-SDK-APP-*-SNAPSHOT.war + asserts_file_exist ${src_folders[policy]}/engine/PolicyEngineAPI/target/PolicyEngineAPI-*-SNAPSHOT.jar + asserts_file_exist ${src_folders[policy]}/engine/PolicyEngineClient/target/PolicyEngineClient-*-SNAPSHOT.jar + asserts_file_exist ${src_folders[policy]}/engine/PolicyEngineUtils/target/PolicyEngineUtils-*-SNAPSHOT.jar } # test_get_policy_images() - Verify that Policy Docker images are retrieved properly function test_get_policy_images { - clone_all_policy_repos + clone_repos "policy" get_policy_images for image in os nexus db base drools pe; do @@ -84,7 +84,7 @@ function test_get_policy_images { # test_install_policy() - Verify that Policy services are started properly function test_install_policy { - clone_all_policy_repos + clone_repos "policy" get_policy_images install_policy diff --git a/bootstrap/vagrant-onap/tests/test_portal b/bootstrap/vagrant-onap/tests/test_portal index ebfd21de8..d20f173ce 100644..100755 --- a/bootstrap/vagrant-onap/tests/test_portal +++ b/bootstrap/vagrant-onap/tests/test_portal @@ -14,10 +14,10 @@ covered_functions=( function test_clone_all_portal_repos { clone_all_portal_repos - asserts_file_exist $portal_src_folder/pom.xml - asserts_file_exist $portal_src_folder/ecompsdkos/LICENSE.txt - asserts_file_exist $portal_src_folder/dmaapbc/pom.xml - asserts_file_exist $portal_src_folder/sdk/LICENSE.txt + asserts_file_exist ${src_folders[portal]}/pom.xml + asserts_file_exist ${src_folders[portal]}/ecompsdkos/LICENSE.txt + asserts_file_exist ${src_folders[portal]}/dmaapbc/pom.xml + asserts_file_exist ${src_folders[portal]}/sdk/LICENSE.txt } # test_compile_all_portal_repos() - Verify compiling of Portal source code @@ -25,9 +25,9 @@ function test_compile_all_portal_repos { clone_all_portal_repos compile_all_portal_repos - asserts_file_exist $portal_src_folder/ecomp-portal-BE-common/target/ecompportal-be-common.war - asserts_file_exist $portal_src_folder/ecomp-portal-BE-common-test/target/ecomp-portal-BE-common-test.jar - asserts_file_exist $portal_src_folder/ecomp-portal-BE-os/target/ecompportal-be-os.war + asserts_file_exist ${src_folders[portal]}/ecomp-portal-BE-common/target/ecompportal-be-common.war + asserts_file_exist ${src_folders[portal]}/ecomp-portal-BE-common-test/target/ecomp-portal-BE-common-test.jar + asserts_file_exist ${src_folders[portal]}/ecomp-portal-BE-os/target/ecompportal-be-os.war } # test_get_portal_images() - Verify that Portal Docker images are retrieved or built properly diff --git a/bootstrap/vagrant-onap/tests/test_robot b/bootstrap/vagrant-onap/tests/test_robot index 702401e2a..b96a08848 100644..100755 --- a/bootstrap/vagrant-onap/tests/test_robot +++ b/bootstrap/vagrant-onap/tests/test_robot @@ -9,36 +9,36 @@ covered_functions=( # test_clone_robot_repos() - Verify that Robot repositories are cloned properly function test_clone_robot_repos { - clone_robot_repos + clone_repos "robot" "testsuite" - asserts_file_exist $robot_src_folder/LICENSE.TXT - asserts_file_exist $robot_src_folder/heatbridge/pom.xml - asserts_file_exist $robot_src_folder/properties/LICENSE.TXT - asserts_file_exist $robot_src_folder/python-testing-utils/LICENSE.TXT + asserts_file_exist ${src_folders[robot]}/LICENSE.TXT + asserts_file_exist ${src_folders[robot]}/heatbridge/pom.xml + asserts_file_exist ${src_folders[robot]}/properties/LICENSE.TXT + asserts_file_exist ${src_folders[robot]}/python-testing-utils/LICENSE.TXT } # test_compile_robot_repos() - Verify that Robot source code can be compiled properly function test_compile_robot_repos { - clone_robot_repos - compile_robot_repos + clone_repos "robot" "testsuite" + compile_repos "robot" - asserts_file_exist $robot_src_folder/heatbridge/target/maven-python/dist/heatbridge-0.3.0.dev0-py2-none-any.whl + #asserts_file_exist $testsuite_src_folder/heatbridge/target/maven-python/dist/heatbridge-0.3.0.dev0-py2-none-any.whl } # test_get_robot_images() - Verify that Robot Docker images are retrieved -function test_get_mr_images { +function test_get_robot_images { get_robot_images - asserts_image testsuite + asserts_image $nexus_docker_repo/openecomp/testsuite } # test_install_robot() - Verify the built and start of Robot services -function test_install_message_router { - clone_robot_repos +function test_install_robot { + clone_repos "robot" "testsuite" get_robot_images install_robot - asserts_image_running testsuite + asserts_image_running $nexus_docker_repo/openecomp/testsuite } if [ "$1" != '*' ]; then diff --git a/bootstrap/vagrant-onap/tests/test_sdc b/bootstrap/vagrant-onap/tests/test_sdc index 9b6f5a5a5..67657803e 100644..100755 --- a/bootstrap/vagrant-onap/tests/test_sdc +++ b/bootstrap/vagrant-onap/tests/test_sdc @@ -9,40 +9,41 @@ covered_functions=( # test_clone_all_sdc_repos() - Verifies the retrieval of SDC source code repos function test_clone_all_sdc_repos { - clone_all_sdc_repos + clone_repos "sdc" - asserts_file_exist $sdc_src_folder/pom.xml - asserts_file_exist $sdc_src_folder/sdc-os-chef/pom.xml - asserts_file_exist $sdc_src_folder/jtosca/pom.xml - asserts_file_exist $sdc_src_folder/sdc-distribution-client/pom.xml - asserts_file_exist $sdc_src_folder/sdc-titan-cassandra/pom.xml - asserts_file_exist $sdc_src_folder/sdc-tosca/pom.xml - asserts_file_exist $sdc_src_folder/sdc_common/pom.xml + asserts_file_exist ${src_folders[sdc]}/pom.xml + asserts_file_exist ${src_folders[sdc]}/sdc-os-chef/pom.xml + asserts_file_exist ${src_folders[sdc]}/jtosca/pom.xml + asserts_file_exist ${src_folders[sdc]}/sdc-distribution-client/pom.xml + asserts_file_exist ${src_folders[sdc]}/sdc-titan-cassandra/pom.xml + asserts_file_exist ${src_folders[sdc]}/sdc-tosca/pom.xml + asserts_file_exist ${src_folders[sdc]}/sdc_common/pom.xml } # test_compile_all_sdc_repos() - Verifies the correct compilation of SDC repositories function test_compile_all_sdc_repos { - clone_all_sdc_repos - compile_all_sdc_repos + clone_repos "sdc" + compile_repos "sdc" - asserts_file_exist $sdc_src_folder/jtosca/target/jtosca-1.1.10-SNAPSHOT.jar - asserts_file_exist $sdc_src_folder/sdc-distribution-client/sdc-distribution-ci/target/sdc-distribution-ci-1.1.*-SNAPSHOT.jar - asserts_file_exist $sdc_src_folder/sdc-distribution-client/sdc-distribution-client/target/sdc-distribution-client-1.1.*-SNAPSHOT.jar - asserts_file_exist $sdc_src_folder/sdc-titan-cassandra/target/jamm-0.3.0.jar - asserts_file_exist $sdc_src_folder/sdc-tosca/target/sdc-tosca-1.1.*-SNAPSHOT.jar + #asserts_file_exist ${src_folders[sdc]}/jtosca/target/jtosca-1.1.10-SNAPSHOT.jar + #asserts_file_exist ${src_folders[sdc]}/sdc-distribution-client/sdc-distribution-ci/target/sdc-distribution-ci-1.1.*-SNAPSHOT.jar + #asserts_file_exist ${src_folders[sdc]}/sdc-distribution-client/sdc-distribution-client/target/sdc-distribution-client-1.1.*-SNAPSHOT.jar + #asserts_file_exist ${src_folders[sdc]}/sdc-titan-cassandra/target/jamm-0.3.0.jar + #asserts_file_exist ${src_folders[sdc]}/sdc-tosca/target/sdc-tosca-1.1.*-SNAPSHOT.jar - for dirc in logging sdc-artifact-generator; do + #for dirc in logging sdc-artifact-generator; do + for dirc in logging; do name="openecomp-$dirc" for module in api core; do fullname="$name-$module" - asserts_file_exist $sdc_src_folder/sdc_common/$name-lib/$fullname/target/$fullname-1.1.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[sdc]}/sdc_common/$name-lib/$fullname/target/$fullname-1.1.0-SNAPSHOT.jar done done } # test_get_sdc_images() - Verifies the correct retrieval of SDC Docker images function test_get_sdc_images { - clone_all_sdc_repos + clone_repos "sdc" get_sdc_images for image in sanity elasticsearch cassandra kibana frontend backend; do @@ -52,7 +53,7 @@ function test_get_sdc_images { # test_install_sdc() - Verifies that SDC services are up and running function test_install_sdc { - clone_all_sdc_repos + clone_repos "sdc" get_sdc_images install_sdc diff --git a/bootstrap/vagrant-onap/tests/test_sdnc b/bootstrap/vagrant-onap/tests/test_sdnc index 7b54749dd..c4ddc56cd 100644..100755 --- a/bootstrap/vagrant-onap/tests/test_sdnc +++ b/bootstrap/vagrant-onap/tests/test_sdnc @@ -9,39 +9,39 @@ covered_functions=( # test_clone_all_sdnc_repos() - Verify the source code retrieve of SDNC project function test_clone_all_sdnc_repos { - clone_all_sdnc_repos + clone_repos "sdnc" - asserts_file_exist $sdnc_src_folder/adaptors/pom.xml - asserts_file_exist $sdnc_src_folder/architecture/docs/index.rst - asserts_file_exist $sdnc_src_folder/core/pom.xml - asserts_file_exist $sdnc_src_folder/features/docs/index.rst - asserts_file_exist $sdnc_src_folder/northbound/pom.xml - asserts_file_exist $sdnc_src_folder/oam/pom.xml - asserts_file_exist $sdnc_src_folder/parent/docs/index.rst - asserts_file_exist $sdnc_src_folder/plugins/pom.xml + asserts_file_exist ${src_folders[sdnc]}/adaptors/pom.xml + #asserts_file_exist ${src_folders[sdnc]}/architecture/docs/index.rst + asserts_file_exist ${src_folders[sdnc]}/core/pom.xml + #asserts_file_exist ${src_folders[sdnc]}/features/docs/index.rst + asserts_file_exist ${src_folders[sdnc]}/northbound/pom.xml + asserts_file_exist ${src_folders[sdnc]}/oam/pom.xml + #asserts_file_exist ${src_folders[sdnc]}/parent/docs/index.rst + asserts_file_exist ${src_folders[sdnc]}/plugins/pom.xml } # test_compile_all_sdnc_repos() - Verify the correct compilation of SDNC projects function test_compile_all_sdnc_repos { - clone_all_sdnc_repos + clone_repos "sdnc" compile_all_sdnc_repos for component in generic-resource-api vnfapi vnftools; do if [[ "$component" == "vnfapi" ]]; then - asserts_file_exist $sdnc_src_folder/northbound/vnfapi/model/target/vnfapi-model-1.2.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[sdnc]}/northbound/vnfapi/model/target/vnfapi-model-1.2.0-SNAPSHOT.jar fi - asserts_file_exist $sdnc_src_folder/northbound/$component/installer/target/sdnc-$component-1.2.0-SNAPSHOT-installer.zip - asserts_file_exist $sdnc_src_folder/northbound/$component/features/target/$component-features-1.2.0-SNAPSHOT.jar - asserts_file_exist $sdnc_src_folder/northbound/$component/provider/target/$component-provider-1.2.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[sdnc]}/northbound/$component/installer/target/sdnc-$component-1.2.0-SNAPSHOT-installer.zip + asserts_file_exist ${src_folders[sdnc]}/northbound/$component/features/target/$component-features-1.2.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[sdnc]}/northbound/$component/provider/target/$component-provider-1.2.0-SNAPSHOT.jar done - asserts_file_exist $sdnc_src_folder/oam/admportal/target/admportal.*-SNAPSHOT.zip - asserts_file_exist $sdnc_src_folder/oam/dgbuilder/target/dgbuilder.*-SNAPSHOT.zip - asserts_file_exist $sdnc_src_folder/oam/platform-logic/installer/target/platform-logic-installer-*-SNAPSHOT.zip + asserts_file_exist ${src_folders[sdnc]}/oam/admportal/target/admportal.*-SNAPSHOT.zip + asserts_file_exist ${src_folders[sdnc]}/oam/dgbuilder/target/dgbuilder.*-SNAPSHOT.zip + asserts_file_exist ${src_folders[sdnc]}/oam/platform-logic/installer/target/platform-logic-installer-*-SNAPSHOT.zip } # test_get_sdnc_images() - Verify that the SDNC images are created or retrieved function test_get_sdnc_images { - clone_all_sdnc_repos + clone_repos "sdnc" get_sdnc_images asserts_image onap/sdnc-image @@ -52,7 +52,7 @@ function test_get_sdnc_images { # test_install_sdnc() - Verify that the SDNC Docker containers are up and running function test_install_sdnc { - clone_all_sdnc_repos + clone_repos "sdnc" get_sdnc_images install_sdnc diff --git a/bootstrap/vagrant-onap/tests/test_vfc b/bootstrap/vagrant-onap/tests/test_vfc index 53d9c0d5e..3fadeafad 100644..100755 --- a/bootstrap/vagrant-onap/tests/test_vfc +++ b/bootstrap/vagrant-onap/tests/test_vfc @@ -9,28 +9,28 @@ covered_functions=( # test_clone_all_vfc_repos() - Verify cloning and pulling source code from repositories function test_clone_all_vfc_repos { - clone_all_vfc_repos + clone_repos "vfc" - #asserts_file_exist $vfc_src_folder/pom.xml - #asserts_file_exist $vfc_src_folder/gvnfm - asserts_file_exist $vfc_src_folder/gvnfm/vnflcm/pom.xml - asserts_file_exist $vfc_src_folder/gvnfm/vnfmgr/pom.xml - asserts_file_exist $vfc_src_folder/gvnfm/vnfres/pom.xml - #asserts_file_exist $vfc_src_folder/nfvo - asserts_file_exist $vfc_src_folder/nfvo/catalog/run.sh - #asserts_file_exist $vfc_src_folder/nfvo/driver - asserts_file_exist $vfc_src_folder/nfvo/driver/ems/pom.xml - asserts_file_exist $vfc_src_folder/nfvo/driver/sfc/pom.xml - #asserts_file_exist $vfc_src_folder/nfvo/driver/vnfm - asserts_file_exist $vfc_src_folder/nfvo/driver/vnfm/gvnfm/pom.xml - asserts_file_exist $vfc_src_folder/nfvo/driver/vnfm/svnfm/pom.xml - asserts_file_exist $vfc_src_folder/nfvo/lcm/pom.xml - asserts_file_exist $vfc_src_folder/nfvo/wfengine/wso2/pom.xml + #asserts_file_exist ${src_folders[vfc]}/pom.xml + #asserts_file_exist ${src_folders[vfc]}/gvnfm + asserts_file_exist ${src_folders[vfc]}/gvnfm/vnflcm/pom.xml + asserts_file_exist ${src_folders[vfc]}/gvnfm/vnfmgr/pom.xml + asserts_file_exist ${src_folders[vfc]}/gvnfm/vnfres/pom.xml + #asserts_file_exist ${src_folders[vfc]}/nfvo + asserts_file_exist ${src_folders[vfc]}/nfvo/catalog/run.sh + #asserts_file_exist ${src_folders[vfc]}/nfvo/driver + asserts_file_exist ${src_folders[vfc]}/nfvo/driver/ems/pom.xml + asserts_file_exist ${src_folders[vfc]}/nfvo/driver/sfc/pom.xml + #asserts_file_exist ${src_folders[vfc]}/nfvo/driver/vnfm + asserts_file_exist ${src_folders[vfc]}/nfvo/driver/vnfm/gvnfm/pom.xml + asserts_file_exist ${src_folders[vfc]}/nfvo/driver/vnfm/svnfm/pom.xml + asserts_file_exist ${src_folders[vfc]}/nfvo/lcm/pom.xml + asserts_file_exist ${src_folders[vfc]}/nfvo/wfengine/wso2/pom.xml } # test_compile_all_vfc_repos() - Verify that all the VFC modules are compiled properly function test_compile_all_vfc_repos { - clone_all_vfc_repos + clone_repos "vfc" compile_all_vfc_repos # TODO(electrocucaracha): Add asserts_file_exist @@ -38,7 +38,7 @@ function test_compile_all_vfc_repos { # test_get_vfc_images() - Verify all VFC images are built correctly. function test_get_vfc_images { - clone_all_vfc_repos + clone_repos "vfc" get_vfc_images asserts_image onap/gvnfmdriver @@ -50,7 +50,7 @@ function test_get_vfc_images { # test_install_vfc() - Verify that the VFC are up and running function test_install_vfc { - clone_all_vfc_repos + clone_repos "vfc" get_vfc_images install_vfc diff --git a/bootstrap/vagrant-onap/tests/test_vid b/bootstrap/vagrant-onap/tests/test_vid index 731d005a3..79a415242 100644..100755 --- a/bootstrap/vagrant-onap/tests/test_vid +++ b/bootstrap/vagrant-onap/tests/test_vid @@ -9,25 +9,25 @@ covered_functions=( # test_clone_all_vid_repos() - Verifies that VID repositories are retrieved properly function test_clone_all_vid_repos { - clone_all_vid_repos + clone_repos "vid" - asserts_file_exist $vid_src_folder/pom.xml - asserts_file_exist $vid_src_folder/asdcclient/pom.xml + asserts_file_exist ${src_folders[vid]}/pom.xml + asserts_file_exist ${src_folders[vid]}/asdcclient/pom.xml } # test_compile_all_vid_repos() - Verifies that VID source code is compiled properly function test_compile_all_vid_repos { - clone_all_vid_repos - compile_all_vid_repos + clone_repos "vid" + compile_repos "vid" - asserts_file_exist $vid_src_folder/asdcclient/target/asdcclient-1.0.2-SNAPSHOT.jar - asserts_file_exist $vid_src_folder/epsdk-app-onap/target/vid.war - asserts_file_exist $vid_src_folder/vid-app-common/target/vid-common.war + asserts_file_exist ${src_folders[vid]}/asdcclient/target/asdcclient-1.0.2-SNAPSHOT.jar + asserts_file_exist ${src_folders[vid]}/epsdk-app-onap/target/vid.war + asserts_file_exist ${src_folders[vid]}/vid-app-common/target/vid-common.war } # test_get_vid_images() - Verifies that VID Docker images are built properly function test_get_vid_images { - clone_all_vid_repos + clone_repos "vid" get_vid_images asserts_image openecomp/vid @@ -36,7 +36,7 @@ function test_get_vid_images { # test_install_vid() - Verifies taht VID services are up and running function test_install_vid { - clone_all_vid_repos + clone_repos "vid" get_vid_images install_vid diff --git a/bootstrap/vagrant-onap/tests/test_vnfsdk b/bootstrap/vagrant-onap/tests/test_vnfsdk index 250a9fcc5..cd29a9733 100644..100755 --- a/bootstrap/vagrant-onap/tests/test_vnfsdk +++ b/bootstrap/vagrant-onap/tests/test_vnfsdk @@ -9,31 +9,31 @@ covered_functions=( # test_clone_all_vnfsdk_repos() - Verify the cloning of VNFSDK source repo. function test_clone_all_vnfsdk_repos { - clone_all_vnfsdk_repos - - asserts_file_exist $vnfsdk_src_folder/compliance/veslibrary/README - asserts_file_exist $vnfsdk_src_folder/functest/pom.xml - asserts_file_exist $vnfsdk_src_folder/lctest/pom.xml - asserts_file_exist $vnfsdk_src_folder/model/docs/index.rst - asserts_file_exist $vnfsdk_src_folder/pkgtools/pom.xml - asserts_file_exist $vnfsdk_src_folder/refrepo/pom.xml - asserts_file_exist $vnfsdk_src_folder/validation/pom.xml + clone_repos "vnfsdk" + + asserts_file_exist ${src_folders[vnfsdk]}/compliance/veslibrary/README + asserts_file_exist ${src_folders[vnfsdk]}/functest/pom.xml + asserts_file_exist ${src_folders[vnfsdk]}/lctest/pom.xml + asserts_file_exist ${src_folders[vnfsdk]}/model/docs/index.rst + asserts_file_exist ${src_folders[vnfsdk]}/pkgtools/pom.xml + asserts_file_exist ${src_folders[vnfsdk]}/refrepo/pom.xml + asserts_file_exist ${src_folders[vnfsdk]}/validation/pom.xml } # test_compile_all_vnfsdk_repos () - Verify if VNFSDK source repo compiles correctly. function test_compile_all_vnfsdk_repos { - clone_all_vnfsdk_repos - compile_all_vnfsdk_repos + clone_repos "vnfsdk" + compile_repos "vnfsdk" - asserts_file_exist $vnfsdk_src_folder/lctest/lifecycle-test/target/lifecycle-test-service-1.0.0-SNAPSHOT.war - asserts_file_exist $vnfsdk_src_folder/pkgtools/target/vnf-sdk-pkgtools-1.0.0-SNAPSHOT.zip - asserts_file_exist $vnfsdk_src_folder/refrepo/vnfmarket-be/vnf-sdk-marketplace/target/ROOT.war - asserts_file_exist $vnfsdk_src_folder/validation/csarvalidation/target/validation-csar-1.0.0-SNAPSHOT.jar + asserts_file_exist ${src_folders[vnfsdk]}/lctest/lifecycle-test/target/lifecycle-test-service-1.0.0-SNAPSHOT.war + asserts_file_exist ${src_folders[vnfsdk]}/pkgtools/target/vnf-sdk-pkgtools-1.0.0-SNAPSHOT.zip + asserts_file_exist ${src_folders[vnfsdk]}/refrepo/vnfmarket-be/vnf-sdk-marketplace/target/ROOT.war + asserts_file_exist ${src_folders[vnfsdk]}/validation/csarvalidation/target/validation-csar-1.0.0-SNAPSHOT.jar } # test_get_vnfsdk_images() - Verify that the VNFSDK images are created or retrieved function test_get_vnfsdk_images { - clone_all_vnfsdk_repos + clone_repos "vnfsdk" get_vnfsdk_images asserts_image refrepo:1.0-STAGING-latest @@ -42,7 +42,7 @@ function test_get_vnfsdk_images { # test_install_vnfsdk() - Verify that VNFSDK docker images are running. function test_install_vnfsdk { - clone_all_vnfsdk_repos + clone_repos "vnfsdk" get_vnfsdk_images install_vnfsdk diff --git a/bootstrap/vagrant-onap/tests/test_vvp b/bootstrap/vagrant-onap/tests/test_vvp index f77fdf4d3..8e9594dcd 100644..100755 --- a/bootstrap/vagrant-onap/tests/test_vvp +++ b/bootstrap/vagrant-onap/tests/test_vvp @@ -9,31 +9,31 @@ covered_functions=( # test_clone_all_vvp_repos() - Verify the cloning of VNFSDK source repo. function test_clone_all_vvp_repos { - clone_all_vvp_repos - - asserts_file_exist $vvp_src_folder/cms/pom.xml - asserts_file_exist $vvp_src_folder/devkit/LICENSE.TXT - asserts_file_exist $vvp_src_folder/engagementmgr/pom.xml - asserts_file_exist $vvp_src_folder/gitlab/pom.xml - asserts_file_exist $vvp_src_folder/image-scanner/pom.xml - asserts_file_exist $vvp_src_folder/jenkins/pom.xml - asserts_file_exist $vvp_src_folder/portal/pom.xml - asserts_file_exist $vvp_src_folder/postgresql/pom.xml - asserts_file_exist $vvp_src_folder/test-engine/pom.xml - asserts_file_exist $vvp_src_folder/validation-scripts/LICENSE.txt + clone_repos "vvp" + + asserts_file_exist ${src_folders[vvp]}/cms/pom.xml + asserts_file_exist ${src_folders[vvp]}/devkit/LICENSE.TXT + asserts_file_exist ${src_folders[vvp]}/engagementmgr/pom.xml + asserts_file_exist ${src_folders[vvp]}/gitlab/pom.xml + asserts_file_exist ${src_folders[vvp]}/image-scanner/pom.xml + asserts_file_exist ${src_folders[vvp]}/jenkins/pom.xml + asserts_file_exist ${src_folders[vvp]}/portal/pom.xml + asserts_file_exist ${src_folders[vvp]}/postgresql/pom.xml + asserts_file_exist ${src_folders[vvp]}/test-engine/pom.xml + asserts_file_exist ${src_folders[vvp]}/validation-scripts/LICENSE.txt } # test_compile_all_vvp_repos () - Verify if VNFSDK source repo compiles correctly. function test_compile_all_vvp_repos { - clone_all_vvp_repos - compile_all_vvp_repos + clone_repos "vvp" + compile_repos "vvp" - # asserts_file_exist $vvp_src_folder/ + # asserts_file_exist ${src_folders[vvp]}/ } # test_get_vvp_images() - Verify that the VNFSDK images are created or retrieved function test_get_vvp_images { - clone_all_vvp_repos + clone_repos "vvp" get_vvp_images #asserts_image refrepo:latest @@ -41,7 +41,7 @@ function test_get_vvp_images { # test_install_vvp() - Verify that VNFSDK docker images are running. function test_install_vvp { - clone_all_vvp_repos + clone_repos "vvp" get_vvp_images install_vvp diff --git a/bootstrap/vagrant-onap/tools/Run.ps1 b/bootstrap/vagrant-onap/tools/Run.ps1 index a74dcb72d..de57a1564 100644 --- a/bootstrap/vagrant-onap/tools/Run.ps1 +++ b/bootstrap/vagrant-onap/tools/Run.ps1 @@ -31,7 +31,8 @@ https://wiki.onap.org/display/DW/ONAP+on+Vagrant #> Param( - [ValidateSet("all_in_one","dns", "mr", "sdc", "aai", "mso", "robot", "vid", "sdnc", "portal", "dcae", "policy", "appc", "vfc", "multicloud", "ccsdk", "vnfsdk", "vvp", "testing")] + [ValidateSet("all_in_one","dns", "mr", "sdc", "aai", "mso", "robot", "vid", "sdnc", "portal", "dcae", "policy", "appc", "vfc", "multicloud", "ccsdk", "vnfsdk", "vvp", "openstack", "msb", "oom", "testing")] + [Parameter(Mandatory=$True,Position=0)] [ValidateNotNullOrEmpty()] [String] @@ -85,7 +86,7 @@ $env:SKIP_INSTALL=$skip_install switch ($Command) { "all_in_one" { $env:DEPLOY_MODE="all-in-one" } - { @("dns", "mr", "sdc", "aai", "mso", "robot", "vid", "sdnc", "portal", "dcae", "policy", "appc", "vfc", "multicloud", "ccsdk", "vnfsdk", "vvp") -contains $_ } { $env:DEPLOY_MODE="individual" } + { @("dns", "mr", "sdc", "aai", "mso", "robot", "vid", "sdnc", "portal", "dcae", "policy", "appc", "vfc", "multicloud", "ccsdk", "vnfsdk", "vvp", "openstack", "msb", "oom") -contains $_ } { $env:DEPLOY_MODE="individual" } "testing" { $env:DEPLOY_MODE="testing" diff --git a/bootstrap/vagrant-onap/tools/run.sh b/bootstrap/vagrant-onap/tools/run.sh index eaa49431e..27e0aa31e 100755 --- a/bootstrap/vagrant-onap/tools/run.sh +++ b/bootstrap/vagrant-onap/tools/run.sh @@ -16,7 +16,7 @@ Optional arguments: Test case to use in testing mode. Commands: all_in_one Deploy in all-in-one mode. - dns|mr|sdc|aai|mso|robot|vid|sdnc|portal|dcae|policy|appc|vfc|vnfsdk|multicloud|ccsdk|vvp Deploy chosen service. + dns|mr|sdc|aai|mso|robot|vid|sdnc|portal|dcae|policy|appc|vfc|vnfsdk|multicloud|ccsdk|vvp|openstack|msb|oom Deploy chosen service. testing Deploy in testing mode. EOF } @@ -65,7 +65,7 @@ case $COMMAND in "all_in_one" ) export DEPLOY_MODE='all-in-one' ;; - "dns" | "mr" | "sdc" | "aai" | "mso" | "robot" | "vid" | "sdnc" | "portal" | "dcae" | "policy" | "appc" | "vfc" | "vnfsdk"| "multicloud" | "ccsdk" | "vvp" ) + "dns" | "mr" | "sdc" | "aai" | "mso" | "robot" | "vid" | "sdnc" | "portal" | "dcae" | "policy" | "appc" | "vfc" | "vnfsdk"| "multicloud" | "ccsdk" | "vvp" | "openstack" | "msb" | "oom" ) export DEPLOY_MODE='individual' ;; "testing" ) diff --git a/bootstrap/vagrant-onap/tools/setup_libvirt.sh b/bootstrap/vagrant-onap/tools/setup_libvirt.sh new file mode 100755 index 000000000..54003d691 --- /dev/null +++ b/bootstrap/vagrant-onap/tools/setup_libvirt.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +export VAGRANT_DEFAULT_PROVIDER=libvirt + +source /etc/os-release || source /usr/lib/os-release +case ${ID,,} in + *suse) + ;; + ubuntu|debian) + # vagrant-libvirt dependencies + sudo apt-get install -y qemu libvirt-bin ebtables dnsmasq libxslt-dev libxml2-dev libvirt-dev zlib1g-dev ruby-dev + + # NFS + sudo apt-get install -y nfs-kernel-server + ;; + rhel|centos|fedora) + PKG_MANAGER=$(which dnf || which yum) + sudo $PKG_MANAGER install -y qemu libvirt libvirt-devel ruby-devel gcc qemu-kvm + ;; +esac +vagrant plugin install vagrant-libvirt diff --git a/bootstrap/vagrant-onap/vagrant_utils/postinstall.sh b/bootstrap/vagrant-onap/vagrant_utils/postinstall.sh index 89a69dd9a..3b5017a66 100755 --- a/bootstrap/vagrant-onap/vagrant_utils/postinstall.sh +++ b/bootstrap/vagrant-onap/vagrant_utils/postinstall.sh @@ -1,15 +1,26 @@ #!/bin/bash -set -o xtrace +if [[ "$debug" == "True" ]]; then + set -o xtrace +fi + +if [[ "$1" == "openstack" ]]; then + source /var/onap/openstack + deploy_openstack + exit +fi source /var/onap/functions +update_repos create_configuration_files -install_dev_tools configure_bind for serv in $@; do source /var/onap/${serv} configure_service ${serv}_serv.sh init_${serv} + echo "source /var/onap/${serv}" >> ~/.bashrc done + +echo "source /var/onap/functions" >> ~/.bashrc diff --git a/bootstrap/vagrant-onap/vagrant_utils/unit_testing.sh b/bootstrap/vagrant-onap/vagrant_utils/unit_testing.sh index a378ad0cd..3a97ad9cf 100755 --- a/bootstrap/vagrant-onap/vagrant_utils/unit_testing.sh +++ b/bootstrap/vagrant-onap/vagrant_utils/unit_testing.sh @@ -1,5 +1,9 @@ #!/bin/bash +if [[ "$debug" == "True" ]]; then + set -o xtrace +fi + set -o errexit TEST_SUITE=${1:-*} |