Add MultCloud/MultiVIM support 69/9769/1
authorVictor Morales <victor.morales@intel.com>
Thu, 31 Aug 2017 22:28:10 +0000 (17:28 -0500)
committerVictor Morales <victor.morales@intel.com>
Thu, 31 Aug 2017 22:28:10 +0000 (17:28 -0500)
These changes allows to provide MultiCloud support.

Change-Id: Ic420817df1471077f71290a926fd7e509c052d75
Signed-off-by: Victor Morales <victor.morales@intel.com>
Issue-Id: MULTICLOUD-53

bootstrap/vagrant-onap/README.md
bootstrap/vagrant-onap/Vagrantfile
bootstrap/vagrant-onap/lib/multicloud [new file with mode: 0755]
bootstrap/vagrant-onap/tests/test_multicloud [new file with mode: 0644]
bootstrap/vagrant-onap/tools/Run.ps1
bootstrap/vagrant-onap/tools/run.sh

index 9e7054c..08c5a57 100644 (file)
@@ -54,7 +54,8 @@ current options include:
 | sdc        | Service Design & Creation           |
 | sdnc       | Software Defined Network Controller |
 | vid        | Virtual Infrastructure Development  |
-| vfc        | Virtual Function Controller (WIP)   |
+| vfc        | Virtual Function Controller         |
+| multicloud | Multi Cloud                         |
 | all_in_one | All ONAP services in a VM           |
 | testing    | Unit Test VM                        |
 
index 5eb22d7..ff35908 100644 (file)
@@ -352,6 +352,19 @@ Vagrant.configure("2") do |config|
       end
     end
 
+    config.vm.define :multicloud do |multicloud|
+      multicloud.vm.hostname = 'multicloud'
+      multicloud.vm.network :private_network, ip: '192.168.50.16'
+      multicloud.vm.provider "openstack" do |v|
+        v.server_name = 'multicloud'
+      end
+      multicloud.vm.provision 'shell' do |s|
+        s.path = 'vagrant_utils/postinstall.sh'
+        s.args = ['multicloud']
+        s.env = conf
+      end
+    end
+
   when 'testing'
 
     config.vm.define :testing do |testing|
diff --git a/bootstrap/vagrant-onap/lib/multicloud b/bootstrap/vagrant-onap/lib/multicloud
new file mode 100755 (executable)
index 0000000..1126d61
--- /dev/null
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+set -o xtrace
+
+source /var/onap/functions
+
+multicloud_src_folder=$git_src_folder/multicloud
+multicloud_repos=("azure" "framework" "openstack" "openstack/vmware" "openstack/windriver")
+
+# clone_multicloud_repos() - Function that clones the Multi Cloud repositories
+function clone_multicloud_repos {
+    clone_repo multicloud $multicloud_src_folder
+
+    for dirc in ${multicloud_repos[@]}; do
+        clone_repo multicloud/$dirc $multicloud_src_folder/$dirc
+    done
+}
+
+# compile_multicloud_repos() - 
+function compile_multicloud_repos {
+    compile_src multicloud $multicloud_src_folder
+
+    for dirc in ${multicloud_repos[@]}; do
+        compile_src $multicloud_src_folder/$dirc
+    done
+}
+
+# install_multicloud() - 
+function install_multicloud {
+    echo "pass"
+}
+
+# init_multicloud() - Function that initialize Multi Cloud services
+function init_multicloud {
+    if [[ "$clone_repo" == "True" ]]; then
+        clone_multicloud_repos
+        if [[ "$compile_repo" == "True" ]]; then
+            compile_multicloud_repos
+        fi
+    fi
+    install_multicloud
+}
diff --git a/bootstrap/vagrant-onap/tests/test_multicloud b/bootstrap/vagrant-onap/tests/test_multicloud
new file mode 100644 (file)
index 0000000..4767152
--- /dev/null
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+source /var/onap_tests/_test_base
+source /var/onap/multicloud
+
+covered_functions=(
+"clone_multicloud_repos" "compile_multicloud_repos" "install_multicloud"
+)
+
+# 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/framework/multivimbroker/pom.xml
+    asserts_file_exist $multicloud_src_folder/openstack/pom.xml
+    asserts_file_exist $multicloud_src_folder/openstack/vmware/pom.xml
+}
+
+# test_compile_multicloud_repos() -
+function test_compile_multicloud_repos {
+    clone_multicloud_repos
+    compile_multicloud_repos
+
+    asserts_file_exist $multicloud_src_folder/openstack/newton/target/multicloud-openstack-newton-1.0.0-SNAPSHOT.zip
+    asserts_file_exist $multicloud_src_folder/openstack/vmware/vio/target/multivimdriver-vio-1.1.0-SNAPSHOT.zip
+}
+
+# test_install_multicloud() - Verify the built and start of Multi Cloud services
+function test_install_multicloud {
+    clone_multicloud_repos
+    install_multicloud
+}
+
+if [ "$1" != '*' ]; then
+    unset covered_functions
+    covered_functions=$1
+fi
+main "${covered_functions[@]}"
index 4d70140..103dfee 100644 (file)
@@ -25,7 +25,7 @@ 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", "testing")]
+    [ValidateSet("all_in_one","dns", "mr", "sdc", "aai", "mso", "robot", "vid", "sdnc", "portal", "dcae", "policy", "appc", "vfc", "multicloud", "testing")]
     [Parameter(Mandatory=$True,Position=0)]
     [ValidateNotNullOrEmpty()]
     [String]
index c606a09..094577f 100755 (executable)
@@ -12,7 +12,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  Deploy chosen service.
+    dns|mr|sdc|aai|mso|robot|vid|sdnc|portal|dcae|policy|appc|vfc|multicloud  Deploy chosen service.
     testing  Deploy in testing mode.
 EOF
 }
@@ -55,7 +55,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" )
+    "dns" | "mr" | "sdc" | "aai" | "mso" | "robot" | "vid" | "sdnc" | "portal" | "dcae" | "policy" | "appc" | "vfc" | "multicloud" )
         export DEPLOY_MODE='individual'
         ;;
     "testing" )