Add VVP support in Vagrant ONAP
This commit provides a capability to provision a VVP development
environment.
Change-Id: Ic8623095194ce13420c8dc71da1dd1d84ef010fc
Signed-off-by: Victor Morales <victor.morales@intel.com>
Issue-Id: INT-303
diff --git a/bootstrap/vagrant-onap/README.md b/bootstrap/vagrant-onap/README.md
index e1815e7..7a3641e 100644
--- a/bootstrap/vagrant-onap/README.md
+++ b/bootstrap/vagrant-onap/README.md
@@ -56,6 +56,7 @@
| multicloud | Multi Cloud |
| ccsdk | Common Controller SDK |
| vnfsdk | VNF SDK |
+| vpp | VNF Validation Program |
| all_in_one | All ONAP services in a VM |
| testing | Unit Test VM |
diff --git a/bootstrap/vagrant-onap/Vagrantfile b/bootstrap/vagrant-onap/Vagrantfile
index dc8b347..d70cf8f 100644
--- a/bootstrap/vagrant-onap/Vagrantfile
+++ b/bootstrap/vagrant-onap/Vagrantfile
@@ -211,6 +211,16 @@
:groups => ["individual"],
:args => ['vid'],
},
+ {
+ :name => "vvp",
+ :ips => ['10.252.0.17', "192.168.50.17"],
+ :macs => [],
+ :cpus => 2,
+ :cpu => "50",
+ :ram => 4 * 1024,
+ :groups => ["individual"],
+ :args => ['vvp'],
+ },
]
run_path = 'vagrant_utils/postinstall.sh'
diff --git a/bootstrap/vagrant-onap/lib/vvp b/bootstrap/vagrant-onap/lib/vvp
new file mode 100644
index 0000000..588f32b
--- /dev/null
+++ b/bootstrap/vagrant-onap/lib/vvp
@@ -0,0 +1,59 @@
+#!/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"
+}
+
+# get_vvp_images - Function that clones vvp Docker images
+function get_vvp_images {
+ if [[ "$build_image" == "True" ]]; then
+ _build_vvp_images
+ else
+ pull_docker_image refrepo:1.0-STAGING-latest
+ pull_docker_image refrepo:latest
+ fi
+}
+
+# install_vvp - Function that installs vvp Docker images
+function install_vvp {
+ echo "pass"
+}
+
+# init_vvp() - Init VNFSDK services
+function init_vvp {
+ if [[ "$clone_repo" == "True" ]]; then
+ clone_all_vvp_repos
+ if [[ "$compile_repo" == "True" ]]; then
+ compile_all_vvp_repos
+ fi
+ fi
+
+ if [[ "$skip_get_images" == "False" ]]; then
+ get_vvp_images
+ if [[ "$skip_install" == "False" ]]; then
+ install_vvp
+ fi
+ fi
+}
diff --git a/bootstrap/vagrant-onap/tests/test_vvp b/bootstrap/vagrant-onap/tests/test_vvp
new file mode 100644
index 0000000..f77fdf4
--- /dev/null
+++ b/bootstrap/vagrant-onap/tests/test_vvp
@@ -0,0 +1,55 @@
+#!/bin/bash
+
+source /var/onap_tests/_test_base
+source /var/onap/vvp
+
+covered_functions=(
+"clone_all_vvp_repos" "compile_all_vvp_repos" "get_vvp_images" "install_vvp"
+)
+
+# 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
+}
+
+# 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
+
+ # asserts_file_exist $vvp_src_folder/
+}
+
+# test_get_vvp_images() - Verify that the VNFSDK images are created or retrieved
+function test_get_vvp_images {
+ clone_all_vvp_repos
+ get_vvp_images
+
+ #asserts_image refrepo:latest
+}
+
+# test_install_vvp() - Verify that VNFSDK docker images are running.
+function test_install_vvp {
+ clone_all_vvp_repos
+ get_vvp_images
+ install_vvp
+
+ #asserts_image_running refrepo:1.0-STAGING-latest
+}
+
+if [ "$1" != '*' ]; then
+ unset covered_functions
+ covered_functions=$1
+fi
+main "${covered_functions[@]}"
diff --git a/bootstrap/vagrant-onap/tools/Run.ps1 b/bootstrap/vagrant-onap/tools/Run.ps1
index 71e595b..a74dcb7 100644
--- a/bootstrap/vagrant-onap/tools/Run.ps1
+++ b/bootstrap/vagrant-onap/tools/Run.ps1
@@ -31,7 +31,7 @@
#>
Param(
- [ValidateSet("all_in_one","dns", "mr", "sdc", "aai", "mso", "robot", "vid", "sdnc", "portal", "dcae", "policy", "appc", "vfc", "multicloud", "ccsdk", "testing")]
+ [ValidateSet("all_in_one","dns", "mr", "sdc", "aai", "mso", "robot", "vid", "sdnc", "portal", "dcae", "policy", "appc", "vfc", "multicloud", "ccsdk", "vnfsdk", "vvp", "testing")]
[Parameter(Mandatory=$True,Position=0)]
[ValidateNotNullOrEmpty()]
[String]
@@ -85,7 +85,7 @@
switch ($Command)
{
"all_in_one" { $env:DEPLOY_MODE="all-in-one" }
- { @("dns", "mr", "sdc", "aai", "mso", "robot", "vid", "sdnc", "portal", "dcae", "policy", "appc") -contains $_ } { $env:DEPLOY_MODE="individual" }
+ { @("dns", "mr", "sdc", "aai", "mso", "robot", "vid", "sdnc", "portal", "dcae", "policy", "appc", "vfc", "multicloud", "ccsdk", "vnfsdk", "vvp") -contains $_ } { $env:DEPLOY_MODE="individual" }
"testing"
{
$env:DEPLOY_MODE="testing"
@@ -110,7 +110,7 @@
}
default
{
- Write-Output $"Usage: $0 {all_in_one|dns|mr|sdc|aai|mso|robot|vid|sdnc|portal|dcae|policy|appc|testing}"
+ Write-Output $"Usage: $0 {all_in_one|dns|mr|sdc|aai|mso|robot|vid|sdnc|portal|dcae|policy|appc|vfc|multicloud|ccsdk|vnfsdk|vvp|testing}"
exit 1
}
}
diff --git a/bootstrap/vagrant-onap/tools/run.sh b/bootstrap/vagrant-onap/tools/run.sh
index 2f2743a..eaa4943 100755
--- a/bootstrap/vagrant-onap/tools/run.sh
+++ b/bootstrap/vagrant-onap/tools/run.sh
@@ -16,7 +16,7 @@
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 Deploy chosen service.
+ dns|mr|sdc|aai|mso|robot|vid|sdnc|portal|dcae|policy|appc|vfc|vnfsdk|multicloud|ccsdk|vvp Deploy chosen service.
testing Deploy in testing mode.
EOF
}
@@ -65,7 +65,7 @@
"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" )
+ "dns" | "mr" | "sdc" | "aai" | "mso" | "robot" | "vid" | "sdnc" | "portal" | "dcae" | "policy" | "appc" | "vfc" | "vnfsdk"| "multicloud" | "ccsdk" | "vvp" )
export DEPLOY_MODE='individual'
;;
"testing" )