blob: c6d013b7991c204c867cf4f2c79db36920f194bd [file] [log] [blame]
#!/bin/bash
set -o xtrace
source /var/onap/functions
source /var/onap/ccsdk
sdnc_src_folder=$git_src_folder/openecomp/sdnc
sdnc_repos=("adaptors" "architecture" "core" "features" "northbound" "oam" "parent" "plugins")
# 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 $sdnc_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 $sdnc_src_folder/core/rootpom
fi
compile_src $sdnc_src_folder/$dirc
done
}
# _build_sdnc_images() - Builds SDNC images from source code
function _build_sdnc_images {
local folder=$sdnc_src_folder/oam
get_ccsdk_images
install_package unzip
clone_repo sdnc/oam $folder
# The OAM code depends on all the SDNC repos which should be downloaded and compiled first
if [[ "$compile_repo" != "True" ]]; then
compile_src $folder
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 $sdnc_src_folder/oam
pushd $sdnc_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
if [[ "$clone_repo" == "True" ]]; then
clone_all_sdnc_repos
if [[ "$compile_repo" == "True" ]]; then
compile_all_sdnc_repos
fi
fi
get_sdnc_images
install_sdnc
}