Update AAI instructions
[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 # docker_openecomp_login() - Login to OpenECOMP Docker Hub
16 function docker_openecomp_login {
17     install_docker
18     docker login -u ${nexus_username:-docker} -p ${nexus_password:-docker} ${nexus_docker_repo:-nexus3.onap.org:10001}
19 }
20
21 # pull_openecomp_image() - Pull Docker container image from a Docker Registry Hub
22 function pull_openecomp_image {
23     local image=$1
24     local tag=$2
25     docker_openecomp_login
26     pull_docker_image ${nexus_docker_repo:-nexus3.onap.org:10001}/openecomp/${image}:${docker_version:-latest} $tag
27     docker logout
28 }
29
30 # pull_onap_image() - Pull Docker container image from a Docker Registry Hub
31 function pull_onap_image {
32     local image=$1
33     local tag=$2
34     docker_openecomp_login
35     pull_docker_image ${nexus_docker_repo:-nexus3.onap.org:10001}/onap/${image}:${docker_version:-latest} $tag
36     docker logout
37 }
38
39 # configure_bind()- Configure bind utils
40 function configure_bind {
41     _install_bind
42     mkdir /etc/bind/zones
43
44     curl -k $nexus_repo/org.openecomp.demo/boot/$artifacts_version/db_simpledemo_openecomp_org -o /etc/bind/zones/db.simpledemo.openecomp.org
45     curl -k $nexus_repo/org.openecomp.demo/boot/$artifacts_version/named.conf.options -o /etc/bind/named.conf.options
46     curl -k $nexus_repo/org.openecomp.demo/boot/$artifacts_version/named.conf.local -o /etc/bind/named.conf.local
47
48     modprobe ip_gre
49     sed -i "s/OPTIONS=.*/OPTIONS=\"-4 -u bind\"/g" /etc/default/bind9
50     service bind9 restart
51 }
52
53 # _configure_maven() - This function creates a maven configuration file in case that doesn't exist
54 function _configure_maven {
55     local proxies_start="  <!--"
56     local proxies="   \|"
57     local proxies_end="   \|-->"
58     local mvn_http=""
59     local mvn_https=""
60
61     if [ $http_proxy ] | [ $https_proxy ]; then
62         proxies_start="   <proxies>"
63         proxies="   "
64         proxies_end="   <\/proxies>"
65         if [ $http_proxy ]; then
66             proxy_domain=`echo $http_proxy | awk -F/ '{print $3}' | awk -F: '{print $1}'`
67             proxy_port=`echo $http_proxy | awk -F/ '{print $3}' | awk -F: '{print $2}'`
68             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>"
69         fi
70         if [ $https_proxy ]; then
71             proxy_domain=`echo $https_proxy | awk -F/ '{print $3}' | awk -F: '{print $1}'`
72             proxy_port=`echo $https_proxy | awk -F/ '{print $3}' | awk -F: '{print $2}'`
73             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>"
74         fi
75     fi
76
77     mkdir -p $(dirname $mvn_conf_file)
78     if [ ! -f $mvn_conf_file ]; then
79         if [[ "$enable_oparent" == "True" ]]; then
80             clone_repo oparent
81             cp $git_src_folder/oparent/settings.xml $mvn_conf_file
82             sed -i "s|<\/profiles>|<\/profiles>\n%PROXIES_START%\n%PROXIES% %HTTP_PROXY%\n%PROXIES% %HTTPS_PROXY%\n%PROXIES_END%|g" $mvn_conf_file
83         else
84             cp /var/onap/files/settings.xml $mvn_conf_file
85         fi
86
87         sed -e "
88             s|%PROXIES_START%|$proxies_start|g;
89             s|%PROXIES%|$proxies|g;
90             s|%HTTP_PROXY%|$mvn_http|g;
91             s|%HTTPS_PROXY%|$mvn_https|g;
92             s|%PROXIES_END%|$proxies_end|g
93         " -i $mvn_conf_file
94     fi
95 }
96
97 # configure_service() - Download and configure a specific service in upstart
98 function configure_service {
99     local service_script=$1
100     curl -k $nexus_repo/org.openecomp.demo/boot/$artifacts_version/$service_script -o /etc/init.d/$service_script
101     chmod +x /etc/init.d/$service_script
102     update-rc.d $service_script defaults
103 }