Merge "Add csit usecase for ems."
[integration.git] / bootstrap / vagrant-onap / lib / sdnc
1 #!/bin/bash
2
3 set -o xtrace
4
5 source /var/onap/functions
6 source /var/onap/ccsdk
7
8 sdnc_src_folder=$git_src_folder/openecomp/sdnc
9 sdnc_repos=("adaptors" "architecture" "core" "features" "northbound" "oam" "parent" "plugins")
10
11 # clone_all_sdnc_repos() - Function that clones SDNC source repo.
12 function clone_all_sdnc_repos {
13     for dirc in ${sdnc_repos[@]}; do
14         clone_repo sdnc/$dirc $sdnc_src_folder/$dirc
15     done
16 }
17
18 # compile_all_sdnc_repos() - Function that compiles SDNC source repo.
19 function compile_all_sdnc_repos {
20     for dirc in ${sdnc_repos[@]}; do
21         if [[ "$dirc" == "core" ]]; then
22             compile_src $sdnc_src_folder/core/rootpom
23         fi
24         compile_src $sdnc_src_folder/$dirc
25     done
26 }
27
28 # _build_sdnc_images() - Builds SDNC images from source code
29 function _build_sdnc_images {
30     local folder=$sdnc_src_folder/oam
31
32     get_ccsdk_images
33     install_package unzip
34     clone_repo sdnc/oam $folder
35     # The OAM code depends on all the SDNC repos which should be downloaded and compiled first
36     if [[ "$compile_repo" != "True" ]]; then
37         compile_src $folder
38     fi
39     for dirc in ubuntu sdnc admportal dgbuilder; do
40         build_docker_image $folder/installation/$dirc
41     done
42 }
43
44 # get_sdnc_images() - Build or retrieve necessary images
45 function get_sdnc_images {
46     if [[ "$build_image" == "True" ]]; then
47         _build_sdnc_images
48     else
49         pull_openecomp_image sdnc-image openecomp/sdnc-image:latest
50         pull_openecomp_image admportal-sdnc-image openecomp/admportal-sdnc-image:latest
51         pull_openecomp_image dgbuilder-sdnc-image openecomp/dgbuilder-sdnc-image:latest
52     fi
53     pull_docker_image mysql/mysql-server:5.6
54 }
55
56 # install_sdnc() -  Download and install SDNC services from source code
57 function install_sdnc {
58     clone_repo sdnc/oam $sdnc_src_folder/oam
59     pushd $sdnc_src_folder/oam/installation/src/main/yaml
60     install_docker_compose
61     /opt/docker/docker-compose up -d
62     popd
63 }
64
65 # init_sdnc() - Function that initialize SDNC services
66 function init_sdnc {
67     start_ODL
68     if [[ "$clone_repo" == "True" ]]; then
69         clone_all_sdnc_repos
70         if [[ "$compile_repo" == "True" ]]; then
71             compile_all_sdnc_repos
72         fi
73     fi
74
75     if [[ "$skip_get_images" == "False" ]]; then
76         get_sdnc_images
77         if [[ "$skip_install" == "False" ]]; then
78             install_sdnc
79         fi
80     fi
81 }