removing proxy sample
[oom.git] / kubernetes / config / docker / init / config-init.sh
1 #!/bin/bash -x
2
3 concat_array() {
4   local arr=("$@")
5   local str=''
6   for i in ${!arr[@]}; do
7     if (( $i > 0 )); then
8       str="${str};"
9     fi
10     str="${str}${arr[$i]}"
11   done
12   echo "$str"
13 }
14
15 echo "Validating onap-parameters.yaml has been populated"
16
17 [[ -z "$NEXUS_HTTP_REPO" ]] && { echo "Error: NEXUS_HTTP_REPO must be set in onap-parameters.yaml"; exit 1; }
18 [[ -z "$NEXUS_DOCKER_REPO" ]] && { echo "Error: NEXUS_DOCKER_REPO must be set in onap-parameters.yaml"; exit 1; }
19 [[ -z "$NEXUS_USERNAME" ]] && { echo "Error: NEXUS_USERNAME must be set in onap-parameters.yaml"; exit 1; }
20 [[ -z "$NEXUS_PASSWORD" ]] && { echo "Error: NEXUS_PASSWORD must be set in onap-parameters.yaml"; exit 1; }
21
22 [[ -z "$OPENSTACK_USERNAME" ]] && { echo "Error: OPENSTACK_USERNAME must be set in onap-parameters.yaml"; exit 1; }
23 [[ -z "$OPENSTACK_PASSWORD" ]] && { echo "Error: OPENSTACK_PASSWORD must be set in onap-parameters.yaml"; exit 1; }
24 [[ -z "$OPENSTACK_TENANT_NAME" ]] && { echo "Error: OPENSTACK_TENANT_NAME must be set in onap-parameters.yaml"; exit 1; }
25 [[ -z "$OPENSTACK_TENANT_ID" ]] && { echo "Error: OPENSTACK_TENANT_ID must be set in onap-parameters.yaml"; exit 1; }
26 [[ -z "$OPENSTACK_REGION" ]] && { echo "Error: OPENSTACK_REGION must be set in onap-parameters.yaml"; exit 1; }
27 [[ -z "$OPENSTACK_API_VERSION" ]] && { echo "Error: OPENSTACK_API_VERSION must be set in onap-parameters.yaml"; exit 1; }
28 [[ -z "$OPENSTACK_KEYSTONE_URL" ]] && { echo "Error: OPENSTACK_KEYSTONE_URL must be set in onap-parameters.yaml"; exit 1; }
29 [[ -z "$OPENSTACK_SERVICE_TENANT_NAME" ]] && { echo "Error: OPENSTACK_SERVICE_TENANT_NAME must be set in onap-parameters.yaml"; exit 1; }
30
31 [[ -z "$DMAAP_TOPIC" ]] && { echo "Error: DMAAP_TOPIC must be set in onap-parameters.yaml"; exit 1; }
32 [[ -z "$DEMO_ARTIFACTS_VERSION" ]] && { echo "Error: DEMO_ARTIFACTS_VERSION must be set in onap-parameters.yaml"; exit 1; }
33
34 [[ -z "$DEPLOY_DCAE" ]] && { echo "Error: DEPLOY_DCAE must be set in onap-parameters.yaml"; exit 1; }
35 if [ "$DEPLOY_DCAE" = "true" ]
36 then
37     [[ -z "$DCAE_VM_BASE_NAME" ]] && { echo "Error: DCAE_VM_BASE_NAME must be set in onap-parameters.yaml"; exit 1; }
38     [[ -z "$DCAE_DOCKER_VERSION" ]] && { echo "Error: DCAE_DOCKER_VERSION must be set in onap-parameters.yaml"; exit 1; }
39
40     [[ -z "$IS_SAME_OPENSTACK_AS_VNF" ]] && { echo "Error: IS_SAME_OPENSTACK_AS_VNF must be set in onap-parameters.yaml"; exit 1; }
41     if [ "$IS_SAME_OPENSTACK_AS_VNF" = "false" ]
42     then
43         [[ -z "$DCAE_OS_API_VERSION" ]] && { echo "Error: DCAE_OS_API_VERSION must be set in onap-parameters.yaml"; exit 1; }
44         [[ -z "$DCAE_OS_KEYSTONE_URL" ]] && { echo "Error: DCAE_OS_KEYSTONE_URL must be set in onap-parameters.yaml"; exit 1; }
45         [[ -z "$DCAE_OS_USERNAME" ]] && { echo "Error: DCAE_OS_USERNAME must be set in onap-parameters.yaml"; exit 1; }
46         [[ -z "$DCAE_OS_PASSWORD" ]] && { echo "Error: DCAE_OS_PASSWORD must be set in onap-parameters.yaml"; exit 1; }
47         [[ -z "$DCAE_OS_TENANT_NAME" ]] && { echo "Error: DCAE_OS_TENANT_NAME must be set in onap-parameters.yaml"; exit 1; }
48         [[ -z "$DCAE_OS_TENANT_ID" ]] && { echo "Error: DCAE_OS_TENANT_ID must be set in onap-parameters.yaml"; exit 1; }
49         [[ -z "$DCAE_OS_REGION" ]] && { echo "Error: DCAE_OS_REGION must be set in onap-parameters.yaml"; exit 1; }
50     fi
51
52     [[ -z "$DCAE_OS_PUBLIC_NET_ID" ]] && { echo "Error: DCAE_OS_PUBLIC_NET_ID must be set in onap-parameters.yaml"; exit 1; }
53     [[ -z "$DCAE_OS_PUBLIC_NET_NAME" ]] && { echo "Error: DCAE_OS_PUBLIC_NET_NAME must be set in onap-parameters.yaml"; exit 1; }
54     [[ -z "$DCAE_OS_OAM_NETWORK_CIDR" ]] && { echo "Error: DCAE_OS_OAM_NETWORK_CIDR must be set in onap-parameters.yaml"; exit 1; }
55     [[ -z "$DCAE_IP_ADDR" ]] && { echo "Error: DCAE_IP_ADDR must be set in onap-parameters.yaml"; exit 1; }
56
57     [[ -z "$DCAE_OS_FLAVOR_SMALL" ]] && { echo "Error: DCAE_OS_FLAVOR_SMALL must be set in onap-parameters.yaml"; exit 1; }
58     [[ -z "$DCAE_OS_FLAVOR_MEDIUM" ]] && { echo "Error: DCAE_OS_FLAVOR_MEDIUM must be set in onap-parameters.yaml"; exit 1; }
59     [[ -z "$DCAE_OS_FLAVOR_LARGE" ]] && { echo "Error: DCAE_OS_FLAVOR_LARGE must be set in onap-parameters.yaml"; exit 1; }
60
61     [[ -z "$DCAE_OS_UBUNTU_14_IMAGE" ]] && { echo "Error: DCAE_OS_UBUNTU_14_IMAGE must be set in onap-parameters.yaml"; exit 1; }
62     [[ -z "$DCAE_OS_UBUNTU_16_IMAGE" ]] && { echo "Error: DCAE_OS_UBUNTU_16_IMAGE must be set in onap-parameters.yaml"; exit 1; }
63     [[ -z "$DCAE_OS_CENTOS_7_IMAGE" ]] && { echo "Error: DCAE_OS_CENTOS_7_IMAGE must be set in onap-parameters.yaml"; exit 1; }
64
65     [[ -z "$DCAE_OS_KEY_NAME" ]] && { echo "Error: DCAE_OS_KEY_NAME must be set in onap-parameters.yaml"; exit 1; }
66     [[ -z "$DCAE_OS_PUB_KEY" ]] && { echo "Error: DCAE_OS_PUB_KEY must be set in onap-parameters.yaml"; exit 1; }
67     [[ -z "$DCAE_OS_PRIVATE_KEY" ]] && { echo "Error: DCAE_OS_PRIVATE_KEY must be set in onap-parameters.yaml"; exit 1; }
68
69     [[ -z "$DNS_IP" ]] && { echo "Error: DNS_LIST must be set in onap-parameters.yaml"; exit 1; }
70     [[ -z "$DNS_FORWARDER" ]] && { echo "Error: DNS_FORWARDER must be set in onap-parameters.yaml"; exit 1; }
71     [[ -z "$EXTERNAL_DNS" ]] && { echo "Error: EXTERNAL_DNS must be set in onap-parameters.yaml"; exit 1; }
72
73     [[ -z "$DCAE_DOMAIN" ]] && { echo "Error: DCAE_DOMAIN must be set in onap-parameters.yaml"; exit 1; }
74
75     [[ -z "$DNSAAS_PROXY_ENABLE" ]] && { echo "Error: DNSAAS_PROXY_ENABLE must be set in onap-parameters.yaml"; exit 1; }
76     if [ "$$DNSAAS_PROXY_ENABLE" = "true" ]
77     then
78         [[ -z "$DCAE_PROXIED_KEYSTONE_URL" ]] && { echo "Error: DCAE_PROXIED_KEYSTONE_URL must be set in onap-parameters.yaml"; exit 1; }
79     fi
80     [[ -z "$DNSAAS_API_VERSION" ]] && { echo "Error: DNSAAS_API_VERSION must be set in onap-parameters.yaml"; exit 1; }
81     [[ -z "$DNSAAS_REGION" ]] && { echo "Error: DNSAAS_REGION must be set in onap-parameters.yaml"; exit 1; }
82     [[ -z "$DNSAAS_KEYSTONE_URL" ]] && { echo "Error: DNSAAS_KEYSTONE_URL must be set in onap-parameters.yaml"; exit 1; }
83     [[ -z "$DNSAAS_TENANT_ID" ]] && { echo "Error: DNSAAS_TENANT_ID must be set in onap-parameters.yaml"; exit 1; }
84     [[ -z "$DNSAAS_TENANT_NAME" ]] && { echo "Error: DNSAAS_TENANT_NAME must be set in onap-parameters.yaml"; exit 1; }
85     [[ -z "$DNSAAS_USERNAME" ]] && { echo "Error: DNSAAS_USERNAME must be set in onap-parameters.yaml"; exit 1; }
86     [[ -z "$DNSAAS_PASSWORD" ]] && { echo "Error: DNSAAS_PASSWORD must be set in onap-parameters.yaml"; exit 1; }
87 fi
88
89 #make NAMESPACE directory
90 echo "Creating $NAMESPACE directory if it doesn't exist"
91 mkdir -p /config-init/$NAMESPACE/
92
93 #unzip the configs in the NAMESPACEs directory ensuring no overwriting of files
94 echo "Installing configuration files"
95 cp -vnpr /opt/config/src/* /config-init/$NAMESPACE/
96
97 #ensure db directories exist.
98 mkdir -p /config-init/$NAMESPACE/appc/data/
99 mkdir -p /config-init/$NAMESPACE/dcae/pgaas/pgdata/
100 mkdir -p /config-init/$NAMESPACE/portal/mariadb/data/
101 mkdir -p /config-init/$NAMESPACE/portal/logs/
102 mkdir -p /config-init/$NAMESPACE/sdnc/data/
103 mkdir -p /config-init/$NAMESPACE/vid/mariadb/data/
104 mkdir -p /config-init/$NAMESPACE/sdc/sdc-cs/CS/
105 mkdir -p /config-init/$NAMESPACE/sdc/logs/ASDC/ASDC-ES/
106 mkdir -p /config-init/$NAMESPACE/sdc/logs/ASDC/ASDC-CS/
107 mkdir -p /config-init/$NAMESPACE/sdc/logs/ASDC/ASDC-KB/
108 mkdir -p /config-init/$NAMESPACE/sdc/logs/ASDC/ASDC-BE/
109 mkdir -p /config-init/$NAMESPACE/sdc/logs/ASDC/ASDC-FE/
110 mkdir -p /config-init/$NAMESPACE/aai/opt/aai/logroot/
111 mkdir -p /config-init/$NAMESPACE/aai/model-loader/logs/
112 mkdir -p /config-init/$NAMESPACE/aai/aai-traversal/logs/
113 mkdir -p /config-init/$NAMESPACE/aai/aai-resources/logs/
114 mkdir -p /config-init/$NAMESPACE/aai/sparky-be/logs/
115 mkdir -p /config-init/$NAMESPACE/aai/elasticsearch/es-data/
116 mkdir -p /config-init/$NAMESPACE/aai/search-data-service/logs/
117 mkdir -p /config-init/$NAMESPACE/aai/data-router/logs/
118 mkdir -p /config-init/$NAMESPACE/mso/mariadb/data
119 mkdir -p /config-init/$NAMESPACE/clamp/mariadb/data
120 mkdir -p /config-init/$NAMESPACE/log/elasticsearch/data
121 mkdir -p /config-init/$NAMESPACE/consul/consul-agent-config/bin
122 mkdir -p /config-init/$NAMESPACE/consul/consul-agent-config/scripts
123 mkdir -p /config-init/$NAMESPACE/consul/consul-server-config
124
125 echo "Setting permissions to container writeable directories"
126 chmod -R 777 /config-init/$NAMESPACE/sdc/logs/
127 chmod -R 777 /config-init/$NAMESPACE/portal/logs/
128 chmod -R 777 /config-init/$NAMESPACE/aai/aai-config/
129 chmod -R 777 /config-init/$NAMESPACE/aai/aai-data/
130 chmod -R 777 /config-init/$NAMESPACE/aai/opt/aai/logroot/
131 chmod -R 777 /config-init/$NAMESPACE/aai/model-loader/logs/
132 chmod -R 777 /config-init/$NAMESPACE/aai/haproxy/log/
133 chmod -R 777 /config-init/$NAMESPACE/aai/aai-traversal/logs/
134 chmod -R 777 /config-init/$NAMESPACE/aai/aai-resources/logs/
135 chmod -R 777 /config-init/$NAMESPACE/aai/sparky-be/logs/
136 chmod -R 777 /config-init/$NAMESPACE/aai/elasticsearch/es-data/
137 chmod -R 777 /config-init/$NAMESPACE/aai/search-data-service/logs/
138 chmod -R 777 /config-init/$NAMESPACE/aai/data-router/logs/
139 chmod -R 777 /config-init/$NAMESPACE/policy/mariadb/
140 chmod -R 777 /config-init/$NAMESPACE/log/elasticsearch
141 chown -R root:root /config-init/$NAMESPACE/log
142
143 # SDNC/Robot preload files manipulation
144 OPENSTACK_OAM_NETWORK_CIDR_PREFIX=`cut -d. -f1-3 <<<"$OPENSTACK_OAM_NETWORK_CIDR"`
145
146 # MSO post install steps to encrypt openstack password
147 MSO_ENCRYPTION_KEY=$(cat /config-init/$NAMESPACE/mso/mso/encryption.key)
148 OPENSTACK_API_ENCRYPTED_KEY=`echo -n "$OPENSTACK_PASSWORD" | openssl aes-128-ecb -e -K $MSO_ENCRYPTION_KEY -nosalt | xxd -c 256 -p`
149
150 echo "Substituting configuration parameters"
151
152 # replace the default 'onap' namespace qualification of K8s hostnames within the config files
153 SED_NS_PATHS="/config-init/$NAMESPACE/"
154 SED_NS_STRINGS=(
155   "s/\.onap-/\.${NAMESPACE}-/g"
156   "s/kubectl -n onap/kubectl -n ${NAMESPACE}/g"
157 )
158 SED_NS_STRING=$(concat_array "${SED_NS_STRINGS[@]}")
159 find $SED_NS_PATHS -type f -exec sed -i -e "${SED_NS_STRING}" {} \;
160
161 # set variable parameters
162 # ATTENTION: the list of the paths must be verified if more parameters are added!
163 SED_CONFIG_PATHS="/config-init/$NAMESPACE/robot/ /config-init/$NAMESPACE/mso/ /config-init/$NAMESPACE/dcaegen2/heat/"
164 SED_CONFIG_STRINGS=( \
165   "s,NEXUS_HTTP_REPO_HERE,$NEXUS_HTTP_REPO,g" \
166   "s,NEXUS_DOCKER_REPO_HERE,$NEXUS_DOCKER_REPO,g" \
167   "s/NEXUS_USERNAME_HERE/$NEXUS_USERNAME/g" \
168   "s/NEXUS_PASSWORD_HERE/$NEXUS_PASSWORD/g" \
169   "s/DMAAP_TOPIC_HERE/${DMAAP_TOPIC}/g" \
170   "s/DEMO_ARTIFACTS_VERSION_HERE/${DEMO_ARTIFACTS_VERSION}/g" \
171   "s/OPENSTACK_USERNAME_HERE/${OPENSTACK_USERNAME}/g" \
172   "s/OPENSTACK_TENANT_ID_HERE/${OPENSTACK_TENANT_ID}/g" \
173   "s/OPENSTACK_TENANT_NAME_HERE/$OPENSTACK_TENANT_NAME/g" \
174   "s/OPENSTACK_PASSWORD_HERE/${OPENSTACK_PASSWORD}/g" \
175   "s/OPENSTACK_REGION_HERE/${OPENSTACK_REGION}/g" \
176   "s,OPENSTACK_KEYSTONE_IP_HERE,${OPENSTACK_KEYSTONE_URL},g" \
177   "s,OPENSTACK_API_VERSION_HERE,$OPENSTACK_API_VERSION,g" \
178   "s/OPENSTACK_SERVICE_TENANT_NAME_HERE/$OPENSTACK_SERVICE_TENANT_NAME/g" \
179   "s/OPENSTACK_ENCRYPTED_PASSWORD_HERE/${OPENSTACK_API_ENCRYPTED_KEY}/g" \
180   "s/VNF_OPENSTACK_OAM_NETWORK_ID_HERE/$OPENSTACK_OAM_NETWORK_ID/g" \
181   "s/VNF_OPENSTACK_PUBLIC_ID_HERE/$OPENSTACK_PUBLIC_NETWORK_ID/g" \
182   "s/VNF_OPENSTACK_FLAVOR_HERE/$OPENSTACK_FLAVOR/g" \
183   "s/VNF_OPENSTACK_IMAGE_HERE/$OPENSTACK_IMAGE/g" \
184 )
185 SED_CONFIG_STRING=$(concat_array "${SED_CONFIG_STRINGS[@]}")
186 find $SED_CONFIG_PATHS -type f -exec sed -i -e "${SED_CONFIG_STRING}" {} \;
187
188 if [ "$DEPLOY_DCAE" = "true" ]
189 then
190     SED_CONFIG_PATHS="/config-init/$NAMESPACE/dcaegen2/heat/"
191     SED_CONFIG_STRINGS=( \
192       "s,DCAE_IP_ADDR_HERE,$DCAE_IP_ADDR,g" \
193       "s,DCAE_VM_BASE_NAME_HERE,$DCAE_VM_BASE_NAME,g" \
194       "s,DCAE_DOCKER_VERSION_HERE,$DCAE_DOCKER_VERSION,g" \
195       "s,DCAE_OS_PUBLIC_NET_ID_HERE,$DCAE_OS_PUBLIC_NET_ID,g" \
196       "s,DCAE_OS_PUBLIC_NET_NAME_HERE,$DCAE_OS_PUBLIC_NET_NAME,g" \
197       "s,DCAE_OS_OAM_NETWORK_CIDR_HERE,$DCAE_OS_OAM_NETWORK_CIDR,g" \
198       "s,DCAE_IP_ADDR_HERE,$DCAE_IP_ADDR,g" \
199       "s,DCAE_DOMAIN_HERE,$DCAE_DOMAIN,g" \
200       "s,OPENSTACK_FLAVOR_SMALL_HERE,$DCAE_OS_FLAVOR_SMALL,g" \
201       "s,OPENSTACK_FLAVOR_MEDIUM_HERE,$DCAE_OS_FLAVOR_MEDIUM,g" \
202       "s,OPENSTACK_FLAVOR_LARGE_HERE,$DCAE_OS_FLAVOR_LARGE,g" \
203       "s,UBUNTU_14_IMAGE_NAME_HERE,$DCAE_OS_UBUNTU_14_IMAGE,g" \
204       "s,UBUNTU_16_IMAGE_NAME_HERE,$DCAE_OS_UBUNTU_16_IMAGE,g" \
205       "s,OPENSTACK_CENTOS_7_IMAGE_HERE,$DCAE_OS_CENTOS_7_IMAGE,g" \
206       "s,OPENSTACK_KEY_NAME_HERE,$DCAE_OS_KEY_NAME,g" \
207       "s,OPENSTACK_PUB_KEY_HERE,$DCAE_OS_PUB_KEY,g" \
208       "s,OPENSTACK_PRIVATE_KEY_HERE,$DCAE_OS_PRIVATE_KEY,g" \
209       "s,DNS_LIST_HERE,$DNS_IP,g" \
210       "s,EXTERNAL_DNS_HERE,$EXTERNAL_DNS,g" \
211       "s,DNS_FORWARDER_HERE,$DNS_FORWARDER,g" \
212       "s,DNSAAS_API_VERSION_HERE,$DNSAAS_API_VERSION,g" \
213       "s,DNSAAS_REGION_HERE,$DNSAAS_REGION,g" \
214       "s,DNSAAS_KEYSTONE_URL_HERE,$DNSAAS_KEYSTONE_URL,g" \
215       "s,DNSAAS_TENANT_NAME_HERE,$DNSAAS_TENANT_NAME,g" \
216       "s,DNSAAS_TENANT_ID_HERE,$DNSAAS_TENANT_ID,g" \
217       "s,DNSAAS_USERNAME_HERE,$DNSAAS_USERNAME,g" \
218       "s,DNSAAS_PASSWORD_HERE,$DNSAAS_PASSWORD,g" \
219     )
220     SED_CONFIG_STRING=$(concat_array "${SED_CONFIG_STRINGS[@]}")
221     find $SED_CONFIG_PATHS -type f -exec sed -i -e "${SED_CONFIG_STRING}" {} \;
222
223     if [ "$IS_SAME_OPENSTACK_AS_VNF" = "false" ]
224     then
225         find /config-init/$NAMESPACE/dcaegen2/heat/ -type f -exec sed -i -e "s/DCAE_OS_USERNAME_HERE/$DCAE_OS_USERNAME/g" {} \;
226         find /config-init/$NAMESPACE/dcaegen2/heat/ -type f -exec sed -i -e "s/DCAE_OS_PASSWORD_HERE/$DCAE_OS_PASSWORD/g" {} \;
227         find /config-init/$NAMESPACE/dcaegen2/heat/ -type f -exec sed -i -e "s/DCAE_OS_TENANT_NAME_HERE/$DCAE_OS_TENANT_NAME/g" {} \;
228         find /config-init/$NAMESPACE/dcaegen2/heat/ -type f -exec sed -i -e "s/DCAE_OS_TENANT_ID_HERE/$DCAE_OS_TENANT_ID/g" {} \;
229         find /config-init/$NAMESPACE/dcaegen2/heat/ -type f -exec sed -i -e "s/DCAE_OS_REGION_HERE/$DCAE_OS_REGION/g" {} \;
230         find /config-init/$NAMESPACE/dcaegen2/heat/ -type f -exec sed -i -e "s/DCAE_OS_API_VERSION_HERE/$DCAE_OS_API_VERSION/g" {} \;
231         find /config-init/$NAMESPACE/dcaegen2/heat/ -type f -exec sed -i -e "s,DCAE_OS_KEYSTONE_URL_HERE,$DCAE_OS_KEYSTONE_URL,g" {} \;
232     else
233         find /config-init/$NAMESPACE/dcaegen2/heat/ -type f -exec sed -i -e "s/DCAE_OS_USERNAME_HERE/$OPENSTACK_USERNAME/g" {} \;
234         find /config-init/$NAMESPACE/dcaegen2/heat/ -type f -exec sed -i -e "s/DCAE_OS_PASSWORD_HERE/$OPENSTACK_PASSWORD/g" {} \;
235         find /config-init/$NAMESPACE/dcaegen2/heat/ -type f -exec sed -i -e "s/DCAE_OS_TENANT_NAME_HERE/$OPENSTACK_TENANT_NAME/g" {} \;
236         find /config-init/$NAMESPACE/dcaegen2/heat/ -type f -exec sed -i -e "s/DCAE_OS_TENANT_ID_HERE/$OPENSTACK_TENANT_ID/g" {} \;
237         find /config-init/$NAMESPACE/dcaegen2/heat/ -type f -exec sed -i -e "s/DCAE_OS_REGION_HERE/$OPENSTACK_REGION/g" {} \;
238         find /config-init/$NAMESPACE/dcaegen2/heat/ -type f -exec sed -i -e "s/DCAE_OS_API_VERSION_HERE/$OPENSTACK_API_VERSION/g" {} \;
239         find /config-init/$NAMESPACE/dcaegen2/heat/ -type f -exec sed -i -e "s,DCAE_OS_KEYSTONE_URL_HERE,$OPENSTACK_KEYSTONE_URL,g" {} \;
240     fi
241
242     #################
243     # DNS Designate #
244     #################
245     find /config-init/$NAMESPACE/dcaegen2/heat/ -type f -exec sed -i -e "s/DNSAAS_PROXY_ENABLE_HERE/$DNSAAS_PROXY_ENABLE/g" {} \;
246     if [ "$DNSAAS_PROXY_ENABLE" = "true" ]
247     then
248         find /config-init/$NAMESPACE/dcaegen2/heat/ -type f -exec sed -i -e "s,DCAE_FINAL_KEYSTONE_URL_HERE,$DCAE_PROXIED_KEYSTONE_URL,g" {} \;
249     elif [ "$IS_SAME_OPENSTACK_AS_VNF" = "false" ]
250     then
251         find /config-init/$NAMESPACE/dcaegen2/heat/ -type f -exec sed -i -e "s,DCAE_FINAL_KEYSTONE_URL_HERE,$DCAE_OS_KEYSTONE_URL/$DCAE_OS_API_VERSION,g" {} \;
252     else
253         find /config-init/$NAMESPACE/dcaegen2/heat/ -type f -exec sed -i -e "s,DCAE_FINAL_KEYSTONE_URL_HERE,$OPENSTACK_KEYSTONE_URL/$OPENSTACK_API_VERSION,g" {} \;
254     fi
255 fi
256
257 # Install kube-dns ip in the nginx conf
258 KUBE_DNS_IP=`kubectl get service -n kube-system kube-dns -o jsonpath='{.spec.clusterIP}'`
259 find /config-init/$NAMESPACE/dcaegen2/nginx/ -type f -exec sed -i -e "s/KUBE_DNS_IP_HERE/$KUBE_DNS_IP/g" {} \;
260
261 # Inject node ip for UEB config
262 # There is actually two places where we need to inject this list, and one required to list to be comma seperated and quote separated,
263 # and one requires to be only quote seperated.
264 UEB_ADDR_IP=$(kubectl get nodes -o jsonpath='{ $.items[*].status.addresses[?(@.type=="ExternalIP")].address }')
265
266 # As SDC is expecting a cluster of UEB, there is a need to have at least two entries. If we have only one, we duplicate it.
267 # Also, this list has to be comma seperated.
268 if [ `echo $UEB_ADDR_IP | wc -w` -gt "1" ]
269 then
270     UEB_ADDR_IP_COMMA_AND_QUOTE_SEPERATED=`echo $UEB_ADDR_IP | sed 's/ /","/g'`
271     UEB_ADDR_IP_COMMA_SEPERATED=`echo $UEB_ADDR_IP | sed 's/ /,/g'`
272 else
273     UEB_ADDR_IP_COMMA_AND_QUOTE_SEPERATED="$UEB_ADDR_IP\",\"$UEB_ADDR_IP"
274     UEB_ADDR_IP_COMMA_SEPERATED="$UEB_ADDR_IP,$UEB_ADDR_IP"
275 fi
276
277 sed -i -e "s/UEB_ADDR_IP_COMMA_AND_QUOTE_SEPERATED_HERE/$UEB_ADDR_IP_COMMA_AND_QUOTE_SEPERATED/g" /config-init/$NAMESPACE/sdc/environments/AUTO.json
278 sed -i -e "s/UEB_ADDR_IP_COMMA_SEPERATE_HERE/$UEB_ADDR_IP_COMMA_SEPERATED/g" /config-init/$NAMESPACE/sdc/environments/AUTO.json
279
280
281 echo "Done!"