Merge "Add csit cases for ems-driver"
[integration.git] / bootstrap / vagrant-onap / lib / _onap_functions
1 #!/bin/bash
2
3 # create_configuration_files() -  Store credentials in files
4 function create_configuration_files {
5     mkdir -p /opt/config
6     echo $nexus_docker_repo > /opt/config/nexus_docker_repo.txt
7     echo $nexus_username > /opt/config/nexus_username.txt
8     echo $nexus_password > /opt/config/nexus_password.txt
9     echo $openstack_username > /opt/config/openstack_username.txt
10     echo $openstack_tenant_id > /opt/config/tenant_id.txt
11     echo $dmaap_topic > /opt/config/dmaap_topic.txt
12     echo $docker_version > /opt/config/docker_version.txt
13 }
14
15 # TODO(electrocucaracha): Determine how to use this behind a proxy
16 # docker_openecomp_login() - Login to OpenECOMP Docker Hub
17 function docker_openecomp_login {
18     install_docker
19     docker login -u $nexus_username -p $nexus_password $nexus_docker_repo
20 }
21
22 # pull_openecomp_image() - Pull Docker container image from a Docker Registry Hub
23 function pull_openecomp_image {
24     local image=$1
25     local tag=$2
26     docker_openecomp_login
27     pull_docker_image $nexus_docker_repo/openecomp/${image}:$docker_version $tag
28     docker logout
29 }
30
31 # pull_onap_image() - Pull Docker container image from a Docker Registry Hub
32 function pull_onap_image {
33     local image=$1
34     local tag=$2
35     docker_openecomp_login
36     pull_docker_image $nexus_docker_repo/onap/${image}:$docker_version $tag
37     docker logout
38 }
39
40 # configure_bind()- Configure bind utils
41 function configure_bind {
42     _install_bind
43     mkdir /etc/bind/zones
44
45     curl -k $nexus_repo/org.openecomp.demo/boot/$artifacts_version/db_simpledemo_openecomp_org -o /etc/bind/zones/db.simpledemo.openecomp.org
46     curl -k $nexus_repo/org.openecomp.demo/boot/$artifacts_version/named.conf.options -o /etc/bind/named.conf.options
47     curl -k $nexus_repo/org.openecomp.demo/boot/$artifacts_version/named.conf.local -o /etc/bind/named.conf.local
48
49     modprobe ip_gre
50     sed -i "s/OPTIONS=.*/OPTIONS=\"-4 -u bind\"/g" /etc/default/bind9
51     service bind9 restart
52 }
53
54 # _configure_maven() - This function creates a maven configuration file in case that doesn't exist
55 function _configure_maven {
56     local proxies_start="  <!--"
57     local proxies="   \|"
58     local proxies_end="   \|-->"
59     local mvn_http=""
60     local mvn_https=""
61
62     if [ $http_proxy ] | [ $https_proxy ]; then
63         proxies_start="   <proxies>"
64         proxies="   "
65         proxies_end="   <\/proxies>"
66         if [ $http_proxy ]; then
67             proxy_domain=`echo $http_proxy | awk -F/ '{print $3}' | awk -F: '{print $1}'`
68             proxy_port=`echo $http_proxy | awk -F/ '{print $3}' | awk -F: '{print $2}'`
69             mvn_http="<proxy>\n      <id>http</id>\n      <active>true</active>\n      <protocol>http</protocol>\n      <host>$proxy_domain</host>\n      <port>$proxy_port</port>\n      <nonProxyHosts>${no_proxy}</nonProxyHosts>\n    </proxy>"
70         fi
71         if [ $https_proxy ]; then
72             proxy_domain=`echo $https_proxy | awk -F/ '{print $3}' | awk -F: '{print $1}'`
73             proxy_port=`echo $https_proxy | awk -F/ '{print $3}' | awk -F: '{print $2}'`
74             mvn_https="<proxy>\n      <id>https</id>\n      <active>true</active>\n      <protocol>https</protocol>\n      <host>$proxy_domain</host>\n      <port>$proxy_port</port>\n      <nonProxyHosts>${no_proxy}</nonProxyHosts>\n    </proxy>"
75         fi
76     fi
77
78     mkdir -p $(dirname $mvn_conf_file)
79     if [ ! -f $mvn_conf_file ]; then
80         if [[ "$enable_oparent" == "True" ]]; then
81             clone_repo oparent
82             cp $git_src_folder/oparent/settings.xml $mvn_conf_file
83             sed -i "s|<\/profiles>|<\/profiles>\n%PROXIES_START%\n%PROXIES% %HTTP_PROXY%\n%PROXIES% %HTTPS_PROXY%\n%PROXIES_END%|g" $mvn_conf_file
84         else
85             cp /var/onap/files/settings.xml $mvn_conf_file
86         fi
87
88         sed -e "
89             s|%PROXIES_START%|$proxies_start|g;
90             s|%PROXIES%|$proxies|g;
91             s|%HTTP_PROXY%|$mvn_http|g;
92             s|%HTTPS_PROXY%|$mvn_https|g;
93             s|%PROXIES_END%|$proxies_end|g
94         " -i $mvn_conf_file
95     fi
96 }
97
98 # configure_service() - Download and configure a specific service in upstart
99 function configure_service {
100     local service_script=$1
101     curl -k $nexus_repo/org.openecomp.demo/boot/$artifacts_version/$service_script -o /etc/init.d/$service_script
102     chmod +x /etc/init.d/$service_script
103     update-rc.d $service_script defaults
104 }