summaryrefslogtreecommitdiffstats
path: root/bootstrap/vagrant-onap/lib/sdnc
blob: 33263213818b40f441ed25ff1d6c14f2a8760c68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/bin/bash

set -o xtrace

source /var/onap/functions

src_folder=$git_src_folder/openecomp/sdnc
sdnc_repos=("core" "adaptors" "northbound" "plugins" "oam")

# clone_all_sdnc_repos() - Function that clones SDNC source repo.
function clone_all_sdnc_repos {
    for dirc in ${sdnc_repos[@]}; do
        clone_repo sdnc/$dirc $src_folder/$dirc
    done
}

# compile_all_sdnc_repos() - Function that compiles SDNC source repo.
function compile_all_sdnc_repos {
    for dirc in ${sdnc_repos[@]}; do
        if [[ "$dirc" == "core" ]]; then
            compile_src $src_folder/core/rootpom
        fi
        compile_src $src_folder/$dirc
    done
}

# build_sdnc_images() - Builds SDNC images from source code
function build_sdnc_images {
    local folder=${1:-$src_folder/oam}

    install_package unzip
    clone_repo sdnc/oam $src_folder/oam
    # The OAM code depends on all the SDNC repos which should be downloaded and compiled first
    if [[ "$compile_repo" == "False" ]]; then
        compile_src $src_folder/oam/
    fi
    for dirc in ubuntu sdnc admportal dgbuilder; do
        build_docker_image $folder/installation/$dirc
    done
}

# get_sdnc_images() - Build or retrieve necessary images
function get_sdnc_images {
    if [[ "$build_image" == "True" ]]; then
        build_sdnc_images
    else
        pull_openecomp_image sdnc-image openecomp/sdnc-image:latest
        pull_openecomp_image admportal-sdnc-image openecomp/admportal-sdnc-image:latest
        pull_openecomp_image dgbuilder-sdnc-image openecomp/dgbuilder-sdnc-image:latest
    fi
    pull_docker_image mysql/mysql-server:5.6
}

# install_sdnc() -  Download and install SDNC services from source code
function install_sdnc {
    clone_repo sdnc/oam $src_folder/oam
    pushd $src_folder/oam/installation/src/main/yaml
    install_docker_compose
    /opt/docker/docker-compose up -d
    popd
}

# init_sdnc() - Function that initialize SDNC services
function init_sdnc {
    start_ODL
    clone_all_sdnc_repos
    if [[ "$compile_repo" == "True" ]]; then
        compile_all_sdnc_repos
    fi
    get_sdnc_images
    install_sdnc
}