blob: 3e702d9896fb5199812ee6749199d3cfc496f0be (
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
134
135
136
137
|
#!/bin/bash
set -o xtrace
source /var/onap/functions
dcae_src_folder=$git_src_folder/dcae
dcae_repos=("apod" "apod/analytics" "apod/buildtools" "apod/cdap" "collectors" "collectors/ves" "controller" "controller/analytics" "dcae-inventory"
"demo" "demo/startup" "demo/startup/aaf" "demo/startup/controller" "demo/startup/message-router" "dmaapbc" "operation" "operation/utils" "pgaas" "utils" "utils/buildtools")
# _create_config_file() - Creates a configuration yaml file for the controller
function _create_config_file {
cat > $dcae_src_folder/controller/config.yaml << EOL
ZONE: $dcae_zone
STATE: $dcae_state
DCAE-VERSION: $artifacts_version
HORIZON-URL: https://mycloud.rackspace.com/cloud/$tenant_id
KEYSTONE-URL: https://identity.api.rackspacecloud.com/v2.0
OPENSTACK-TENANT-ID: $tenant_id
OPENSTACK-TENANT-NAME: OPEN-ECOMP
OPENSTACK-REGION: $openstack_region
OPENSTACK-PRIVATE-NETWORK: $openstack_private_network_name
OPENSTACK-USER: $openstack_user
OPENSTACK-PASSWORD: $openstack_password
OPENSTACK-KEYNAME: ${key_name}${rand_str}_dcae
OPENSTACK-PUBKEY: $pub_key
NEXUS-URL-ROOT: $nexus_repo_root
NEXUS-USER: $nexus_username
NEXUS-PASSWORD: $nexus_password
NEXUS-URL-SNAPSHOTS: $nexus_url_snapshots
NEXUS-RAWURL: $nexus_repo
DOCKER-REGISTRY: $nexus_docker_repo
GIT-MR-REPO: http://gerrit.onap.org/r/dcae/demo/startup/message-router.git
EOL
}
# _build_docker_image() - Function that clones, compiles and build a Docker image
function _build_docker_image {
local src_folder=$1
local name=$2
install_docker
pushd $src_folder
# TODO(electrocucaracha) Workaround for dmmapbc images
sed -i '/LocalKey/d' Dockerfile
local docker_build="docker build -t $name -f ./Dockerfile ."
if [ $http_proxy ]; then
docker_build+=" --build-arg http_proxy=$http_proxy"
fi
if [ $https_proxy ]; then
docker_build+=" --build-arg https_proxy=$https_proxy"
fi
eval $docker_build
popd
}
# clone_all_dcae_repos() - Function that clones DCAE source repo.
function clone_all_dcae_repos {
clone_repo dcae $dcae_src_folder
for dirc in ${dcae_repos[@]}; do
clone_repo dcae/$dirc $dcae_src_folder/$dirc
done
}
# compile_all_dcae_repos() - Function that compiles DCAE source repo.
function compile_all_dcae_repos {
for dirc in ${dcae_repos[@]}; do
compile_src $dcae_src_folder/$dirc
done
}
# _build_dcae_images() Function that builds DCAE docker images from source code.
function _build_dcae_images {
if [[ "$compile_repo" != "True" ]]; then
compile_src $dcae_src_folder/dmaapbc
compile_src $dcae_src_folder/orch-dispatcher
compile_src $dcae_src_folder/demo
compile_src $dcae_src_folder/dcae-inventory
fi
_build_docker_image $dcae_src_folder/dmaapbc openecomp/dcae-dmaapbc
_build_docker_image $dcae_src_folder/orch-dispatcher dcae/orch-dispatcher
pushd $dcae_src_folder/demo
bash dcae-demo-controller/src/main/docker-build/build.sh
popd
build_docker_image $dcae_src_folder/dcae-inventory
}
# get_dcae_images() - Function that retrieves or builds DCAE docker images.
function get_dcae_images {
if [[ "$build_image" == "True" ]]; then
_build_dcae_images
else
pull_openecomp_image dcae-dmaapbc openecomp/dcae-dmaapbc
pull_openecomp_image dcae-controller
fi
}
# install_dcae() - Function that clones and installs the DCAE controller services from source code
function install_dcae {
install_docker_compose
pushd $dcae_src_folder/demo/startup/controller
if [[ "$build_image" == "True" ]]; then
dcae_image=`docker images | grep dcae-controller | awk '{print $1 ":" $2}'`
sed -i "s|DOCKER-REGISTRY/openecomp/dcae-controller:DCAE-VERSION|$dcae_image|g" docker-compose.yml
sed -i "s|MTU|$MTU|g" docker-compose.yml
/opt/docker/docker-compose up -d
else
bash init.sh
install_package make
make up
fi
popd
# docker run -p 8080:8080 -d -v <some local directory>/config.yml:/opt/config.yml --name dcae-inventory <docker registry>/dcae-inventory:<version>
}
# init_dcae() - Function that initialize DCAE Controller services
function init_dcae {
if [[ "$clone_repo" == "True" ]]; then
clone_all_dcae_repos
if [[ "$compile_repo" == "True" ]]; then
compile_all_dcae_repos
fi
fi
_create_config_file
if [[ "$skip_get_images" == "False" ]]; then
get_dcae_images
if [[ "$skip_install" == "False" ]]; then
install_dcae
fi
fi
}
|