Merge "Change from using chef to local config files"
[integration.git] / bootstrap / vagrant-onap / lib / sdc
1 #!/bin/bash
2
3 source /var/onap/functions
4
5 # _init_data_folders() - Function that initialize the data folders
6 function _init_data_folders {
7     mkdir -p /data/environments
8     mkdir -p /data/scripts
9     mkdir -p /data/logs/BE
10     mkdir -p /data/logs/FE
11     chmod 777 /data
12     chmod 777 /data/logs
13 }
14
15 # _setup_docker_aliases() - Function that setups the aliases required by sdc scripts
16 function _setup_docker_aliases {
17     cat <<EOL > /root/.bash_aliases
18 alias dcls='/data/scripts/docker_clean.sh \$1'
19 alias dlog='/data/scripts/docker_login.sh \$1'
20 alias drun='/data/scripts/docker_run.sh'
21 alias health='/data/scripts/docker_health.sh'
22 EOL
23 }
24
25 # get_sdc_images() - Function that retrieves the SDC docker images
26 function get_sdc_images {
27     build_docker_image ${src_folders[sdc]}/sdc-docker-base
28     build_docker_image ${src_folders[sdc]}/utils/webseal-simulator docker
29     if [[ "$build_image" == "True" ]]; then
30         compile_src  ${src_folders[sdc]}
31         for project in catalog-fe test-apis-ci; do
32             compile_src  ${src_folders[sdc]}/$project
33         done
34         build_docker_image ${src_folders[sdc]}/sdc-os-chef docker
35     else
36         for image in elasticsearch init-elasticsearch cassandra kibana backend frontend sanity; do
37             pull_onap_image sdc-$image &
38         done
39         wait_docker_pull
40     fi
41 }
42
43 # install_sdc() - Function that pull templates and executes
44 function install_sdc {
45     local ENV_NAME=$dmaap_topic
46     local MR_IP_ADDR='10.0.11.1'
47
48     pushd ${src_folders[sdc]}/utils/webseal-simulator
49     bash scripts/simulator_docker_run.sh
50     popd
51
52     _init_data_folders
53
54     cp ${src_folders[sdc]}/sdc-os-chef/scripts/{docker_run.sh,docker_health.sh,docker_login.sh,docker_clean.sh,simulator_docker_run.sh} /data/scripts
55     chmod +x /data/scripts/*.sh
56
57     cat ${src_folders[sdc]}/sdc-os-chef/environments/Template.json | sed "s/yyy/"$IP_ADDRESS"/g" > /data/environments/$ENV_NAME.json
58     sed -i "s/xxx/"$ENV_NAME"/g" /data/environments/$ENV_NAME.json
59     sed -i "s/\"ueb_url_list\":.*/\"ueb_url_list\": \""$MR_IP_ADDR","$MR_IP_ADDR"\",/g" /data/environments/$ENV_NAME.json
60     sed -i "s/\"fqdn\":.*/\"fqdn\": [\""$MR_IP_ADDR"\", \""$MR_IP_ADDR"\"]/g" /data/environments/$ENV_NAME.json
61
62     install_docker
63     if [[ "$skip_get_images" == "False" ]]; then
64         bash /data/scripts/docker_run.sh -e $ENV_NAME -l
65     else
66         bash /data/scripts/docker_run.sh -e $ENV_NAME -r $docker_version -p $(echo $nexus_docker_repo | cut -d':' -f2)
67     fi
68     install_chefdk
69 }
70
71 # init_sdc() - Function that initialize SDC services
72 function init_sdc {
73     mount_external_partition sdb /data/
74     if [[ "$clone_repo" == "True" ]]; then
75         clone_repos "sdc"
76         if [[ "$compile_repo" == "True" ]]; then
77             compile_repos "sdc"
78         fi
79     fi
80
81     if [[ "$skip_get_images" == "False" ]]; then
82         get_sdc_images
83     fi
84     if [[ "$skip_install" == "False" ]]; then
85         install_sdc
86     fi
87     _setup_docker_aliases
88 }