aboutsummaryrefslogtreecommitdiffstats
path: root/lib/_onap_functions
blob: 07dc637640abd7a9b4be7fade6b6aacfa7cb2f2e (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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#!/bin/bash
# SPDX-license-identifier: Apache-2.0
##############################################################################
# Copyright (c) 2017-2018
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
#############################################################################

# create_configuration_files() -  Store credentials in files
function create_configuration_files {
    local onap_config_folder="/opt/config"

    mkdir -p $onap_config_folder
    pushd $onap_config_folder
    echo $nexus_docker_repo > nexus_docker_repo.txt
    echo $nexus_username > nexus_username.txt
    echo $nexus_password > nexus_password.txt
    echo $openstack_username > openstack_username.txt
    echo $openstack_tenant_id > tenant_id.txt
    echo $dmaap_topic > dmaap_topic.txt
    echo $docker_version > docker_version.txt
    popd
}

# docker_openecomp_login() - Login to OpenECOMP Docker Hub
function docker_openecomp_login {
    install_docker
    docker login -u ${nexus_username:-docker} -p ${nexus_password:-docker} ${nexus_docker_repo:-nexus3.onap.org:10001}
}

# pull_openecomp_image() - Pull Docker container image from a Docker Registry Hub
function pull_openecomp_image {
    local image=$1
    local version=${2:-$docker_version}
    local tag=$3
    docker_openecomp_login
    pull_docker_image ${nexus_docker_repo:-nexus3.onap.org:10001}/openecomp/${image}:${version} $tag
    docker logout
}

# pull_onap_image() - Pull Docker container image from a Docker Registry Hub
function pull_onap_image {
    local image=$1
    local version=${2:-$docker_version}
    local tag=$3
    docker_openecomp_login
    pull_docker_image ${nexus_docker_repo:-nexus3.onap.org:10001}/onap/${image}:${version} $tag
    docker logout
}

# configure_bind()- Configure bind utils
function configure_bind {
    _install_bind
    mkdir /etc/bind/zones

    curl -k $nexus_repo/org.openecomp.demo/boot/$artifacts_version/db_simpledemo_openecomp_org -o /etc/bind/zones/db.simpledemo.openecomp.org
    curl -k $nexus_repo/org.openecomp.demo/boot/$artifacts_version/named.conf.options -o /etc/bind/named.conf.options
    curl -k $nexus_repo/org.openecomp.demo/boot/$artifacts_version/named.conf.local -o /etc/bind/named.conf.local

    modprobe ip_gre
    sed -i "s/OPTIONS=.*/OPTIONS=\"-4 -u bind\"/g" /etc/default/bind9
    service bind9 restart
}

# _configure_maven() - This function creates a maven configuration file in case that doesn't exist
function _configure_maven {
    local proxies_start="  <!--"
    local proxies="   \|"
    local proxies_end="   \|-->"
    local mvn_http=""
    local mvn_https=""

    if [ $http_proxy ] | [ $https_proxy ]; then
        proxies_start="   <proxies>"
        proxies="   "
        proxies_end="   <\/proxies>"
        if [ $http_proxy ]; then
            proxy_domain=`echo $http_proxy | awk -F/ '{print $3}' | awk -F: '{print $1}'`
            proxy_port=`echo $http_proxy | awk -F/ '{print $3}' | awk -F: '{print $2}'`
            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>"
        fi
        if [ $https_proxy ]; then
            proxy_domain=`echo $https_proxy | awk -F/ '{print $3}' | awk -F: '{print $1}'`
            proxy_port=`echo $https_proxy | awk -F/ '{print $3}' | awk -F: '{print $2}'`
            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>"
        fi
    fi

    mkdir -p $(dirname $mvn_conf_file)
    if [ ! -f $mvn_conf_file ]; then
        if [[ "$enable_oparent" == "True" ]]; then
            clone_repo oparent
            cp $git_src_folder/oparent/settings.xml $mvn_conf_file
            sed -i "s|<\/profiles>|<\/profiles>\n%PROXIES_START%\n%PROXIES% %HTTP_PROXY%\n%PROXIES% %HTTPS_PROXY%\n%PROXIES_END%|g" $mvn_conf_file
        else
            cp /var/onap/files/settings.xml $mvn_conf_file
        fi

        sed -e "
            s|%PROXIES_START%|$proxies_start|g;
            s|%PROXIES%|$proxies|g;
            s|%HTTP_PROXY%|$mvn_http|g;
            s|%HTTPS_PROXY%|$mvn_https|g;
            s|%PROXIES_END%|$proxies_end|g
        " -i $mvn_conf_file
    fi
}

# configure_service() - Download and configure a specific service in upstart
function configure_service {
    local service=$1
    declare -A service_paths
    service_paths=(
["aai"]="aai"
["appc"]="appc"
["sdc"]="asdc"
["dcae"]="dcae"
["mr"]="mr"
["mso"]="mso"
["policy"]="policy"
["portal"]="portal"
["robot"]="robot"
["sdnc"]="sdnc"
["vid"]="vid"
)
    if [ ${service_paths[$service]} ]; then
        curl -k $nexus_repo/org.openecomp.demo/boot/$artifacts_version/$service_script -o /etc/init.d/$service_script
        chmod +x /etc/init.d/$service_script
        update-rc.d $service_script defaults
    fi
}