Sync latest changes for vagrant-onap
[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/asserts
7
8 src_folder=$git_src_folder/openecomp/sdnc
9 sdnc_repos=("core" "adaptors" "northbound" "plugins" "oam")
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 $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 $src_folder/core/rootpom
23         fi
24         compile_src $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=$1
31
32     build_docker_image $folder/installation/ubuntu
33     asserts_image openecomp/ubuntu-sdnc-image
34
35     /var/lib/dpkg/info/ca-certificates-java.postinst configure
36     build_docker_image $folder/installation/sdnc
37     asserts_image openecomp/sdnc-image
38
39     build_docker_image $folder/installation/admportal
40     asserts_image openecomp/admportal-sdnc-image
41
42     build_docker_image $folder/installation/dgbuilder
43     asserts_image openecomp/dgbuilder-sdnc-image
44 }
45
46 # get_sdnc_images() - Build or retrieve necessary images
47 function get_sdnc_images {
48     if [[ "$build_image" == "True" ]]; then
49         # The OAM code depends on all the SDNC repos which should be downloaded and compiled first
50         if [[ "$compile_repo" == "False" ]]; then
51             compile_all_sdnc_repos
52         fi
53         _build_sdnc_images $src_folder/oam
54     else
55         pull_openecomp_image sdnc-image openecomp/sdnc-image:latest
56         pull_openecomp_image admportal-sdnc-image openecomp/admportal-sdnc-image:latest
57         pull_openecomp_image dgbuilder-sdnc-image openecomp/dgbuilder-sdnc-image:latest
58     fi
59 }
60
61 # install_sdnc() -  Download and install SDNC services from source code
62 function install_sdnc {
63     install_package unzip
64     clone_repo sdnc/oam $src_folder/oam
65     pushd $src_folder/oam/installation/src/main/yaml
66     install_docker_compose
67     /opt/docker/docker-compose up -d
68     popd
69 }
70
71 # init_sdnc() - Function that initialize SDNC services
72 function init_sdnc {
73     start_ODL
74     clone_all_sdnc_repos
75     if [[ "$compile_repo" == "True" ]]; then
76         compile_all_sdnc_repos
77     fi
78     get_sdnc_images
79     install_sdnc
80 }