aboutsummaryrefslogtreecommitdiffstats
path: root/bootstrap/vagrant-onap/lib/_onap_functions
blob: c65e58958b709e6963faf47e866e376eab0eff37 (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
#!/bin/bash

# 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 tag=$2
    docker_openecomp_login
    pull_docker_image ${nexus_docker_repo:-nexus3.onap.org:10001}/openecomp/${image}:${docker_version:-latest} $tag
    docker logout
}

# pull_onap_image() - Pull Docker container image from a Docker Registry Hub
function pull_onap_image {
    local image=$1
    local tag=$2
    docker_openecomp_login
    pull_docker_image ${nexus_docker_repo:-nexus3.onap.org:10001}/onap/${image}:${docker_version:-latest} $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_script=$1
    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
}