Merge "Seed of deployment of log components"
[oom.git] / kubernetes / config / docker / init / config-init.sh
1 #!/bin/bash
2
3 echo "Validating onap-parameters.yaml has been populated"
4 [[ -z "$OPENSTACK_UBUNTU_14_IMAGE" ]] && { echo "Error: OPENSTACK_UBUNTU_14_IMAGE must be set in onap-parameters.yaml"; exit 1; }
5 [[ -z "$OPENSTACK_PUBLIC_NET_ID" ]] && { echo "Error: OPENSTACK_PUBLIC_NET_ID must be set in onap-parameters.yaml"; exit 1; }
6 [[ -z "$OPENSTACK_OAM_NETWORK_ID" ]] && { echo "Error: OPENSTACK_OAM_NETWORK_ID must be set in onap-parameters.yaml"; exit 1; }
7 [[ -z "$OPENSTACK_OAM_SUBNET_ID" ]] && { echo "Error: OPENSTACK_OAM_SUBNET_ID must be set in onap-parameters.yaml"; exit 1; }
8 [[ -z "$OPENSTACK_OAM_NETWORK_CIDR" ]] && { echo "Error: OPENSTACK_OAM_NETWORK_CIDR must be set in onap-parameters.yaml"; exit 1; }
9 [[ -z "$OPENSTACK_USERNAME" ]] && { echo "Error: OPENSTACK_USERNAME must be set in onap-parameters.yaml"; exit 1; }
10 [[ -z "$OPENSTACK_API_KEY" ]] && { echo "Error: OPENSTACK_API_KEY must be set in onap-parameters.yaml"; exit 1; }
11 [[ -z "$OPENSTACK_REGION" ]] && { echo "Error: OPENSTACK_REGION must be set in onap-parameters.yaml"; exit 1; }
12 [[ -z "$OPENSTACK_KEYSTONE_URL" ]] && { echo "Error: OPENSTACK_KEYSTONE_URL must be set in onap-parameters.yaml"; exit 1; }
13 [[ -z "$OPENSTACK_FLAVOUR_MEDIUM" ]] && { echo "Error: OPENSTACK_FLAVOUR_MEDIUM must be set in onap-parameters.yaml"; exit 1; }
14 [[ -z "$OPENSTACK_SERVICE_TENANT_NAME" ]] && { echo "Error: OPENSTACK_SERVICE_TENANT_NAME must be set in onap-parameters.yaml"; exit 1; }
15 [[ -z "$DMAAP_TOPIC" ]] && { echo "Error: DMAAP_TOPIC must be set in onap-parameters.yaml"; exit 1; }
16 [[ -z "$DEMO_ARTIFACTS_VERSION" ]] && { echo "Error: DEMO_ARTIFACTS_VERSION must be set in onap-parameters.yaml"; exit 1; }
17 [[ -z "$OPENSTACK_TENANT_NAME" ]] && { echo "Error: OPENSTACK_TENANT_NAME must be set in onap-parameters.yaml"; exit 1; }
18
19 #make NAMESPACE directory
20 echo "Creating $NAMESPACE directory if it doesn't exist"
21 mkdir -p /config-init/$NAMESPACE/
22
23 #unzip the configs in the NAMESPACEs directory ensuring no overwriting of files
24 echo "Installing configuration files"
25 cp -vnpr /opt/config/src/* /config-init/$NAMESPACE/
26
27 #ensure db directories exist.
28 mkdir -p /config-init/$NAMESPACE/appc/data/
29 mkdir -p /config-init/$NAMESPACE/dcae/pgaas/pgdata/
30 mkdir -p /config-init/$NAMESPACE/portal/mariadb/data/
31 mkdir -p /config-init/$NAMESPACE/portal/logs/
32 mkdir -p /config-init/$NAMESPACE/sdnc/data/
33 mkdir -p /config-init/$NAMESPACE/vid/mariadb/data/
34 mkdir -p /config-init/$NAMESPACE/sdc/sdc-cs/CS/
35 mkdir -p /config-init/$NAMESPACE/sdc/sdc-es/ES/
36 mkdir -p /config-init/$NAMESPACE/sdc/logs/ASDC/ASDC-ES/
37 mkdir -p /config-init/$NAMESPACE/sdc/logs/ASDC/ASDC-CS/
38 mkdir -p /config-init/$NAMESPACE/sdc/logs/ASDC/ASDC-KB/
39 mkdir -p /config-init/$NAMESPACE/sdc/logs/ASDC/ASDC-BE/
40 mkdir -p /config-init/$NAMESPACE/sdc/logs/ASDC/ASDC-FE/
41 mkdir -p /config-init/$NAMESPACE/aai/opt/aai/logroot/
42 mkdir -p /config-init/$NAMESPACE/aai/model-loader/logs/
43 mkdir -p /config-init/$NAMESPACE/aai/haproxy/log/
44 mkdir -p /config-init/$NAMESPACE/aai/aai-traversal/logs/
45 mkdir -p /config-init/$NAMESPACE/aai/aai-resources/logs/
46 mkdir -p /config-init/$NAMESPACE/aai/sparky-be/logs/
47 mkdir -p /config-init/$NAMESPACE/aai/elasticsearch/es-data/
48 mkdir -p /config-init/$NAMESPACE/aai/search-data-service/logs/
49 mkdir -p /config-init/$NAMESPACE/aai/data-router/logs/
50 mkdir -p /config-init/$NAMESPACE/mso/mariadb/data
51 mkdir -p /config-init/$NAMESPACE/log/elasticsearch/data
52
53 echo "Setting permissions to container writeable directories"
54 chmod -R 777 /config-init/$NAMESPACE/sdc/logs/
55 chmod -R 777 /config-init/$NAMESPACE/portal/logs/
56 chmod -R 777 /config-init/$NAMESPACE/aai/aai-config/
57 chmod -R 777 /config-init/$NAMESPACE/aai/aai-data/
58 chmod -R 777 /config-init/$NAMESPACE/aai/opt/aai/logroot/
59 chmod -R 777 /config-init/$NAMESPACE/aai/model-loader/logs/
60 chmod -R 777 /config-init/$NAMESPACE/aai/haproxy/log/
61 chmod -R 777 /config-init/$NAMESPACE/aai/aai-traversal/logs/
62 chmod -R 777 /config-init/$NAMESPACE/aai/aai-resources/logs/
63 chmod -R 777 /config-init/$NAMESPACE/aai/sparky-be/logs/
64 chmod -R 777 /config-init/$NAMESPACE/aai/elasticsearch/es-data/
65 chmod -R 777 /config-init/$NAMESPACE/aai/search-data-service/logs/
66 chmod -R 777 /config-init/$NAMESPACE/aai/data-router/logs/
67 chmod -R 777 /config-init/$NAMESPACE/policy/mariadb/
68 chmod -R 777 /config-init/$NAMESPACE/log/elasticsearch
69
70 echo "Substituting configuration parameters"
71
72 # replace the default 'onap' namespace qualification of K8s hostnames within the config files
73 find /config-init/$NAMESPACE/ -type f -exec sed -i -e "s/\.onap-/\.$NAMESPACE-/g" {} \;
74 # set the ubuntu 14 image
75 find /config-init/$NAMESPACE/ -type f -exec sed -i -e "s/UBUNTU_14_IMAGE_NAME_HERE/$OPENSTACK_UBUNTU_14_IMAGE/g" {} \;
76 # set the openstack public network uuid
77 find /config-init/$NAMESPACE/ -type f -exec sed -i -e "s/OPENSTACK_PUBLIC_NET_ID_HERE/$OPENSTACK_PUBLIC_NET_ID/g" {} \;
78
79 find /config-init/$NAMESPACE/ -type f -exec sed -i -e "s/OPENSTACK_NETWORK_ID_WITH_ONAP_ROUTE_HERE/$OPENSTACK_OAM_NETWORK_ID/g" {} \;
80
81 find /config-init/$NAMESPACE/ -type f -exec sed -i -e "s/OPENSTACK_SUBNET_ID_WITH_ONAP_ROUTE_HERE/$OPENSTACK_OAM_SUBNET_ID/g" {} \;
82
83 find /config-init/$NAMESPACE/ -type f -exec sed -i -e "s,NETWORK_CIDR_WITH_ONAP_ROUTE_HERE,$OPENSTACK_OAM_NETWORK_CIDR,g" {} \;
84
85 find /config-init/$NAMESPACE/ -type f -exec sed -i -e "s/OPENSTACK_USERNAME_HERE/$OPENSTACK_USERNAME/g" {} \;
86
87 find /config-init/$NAMESPACE/ -type f -exec sed -i -e "s/OPENSTACK_PASSWORD_HERE/$OPENSTACK_API_KEY/g" {} \;
88
89 find /config-init/$NAMESPACE/ -type f -exec sed -i -e "s/OPENSTACK_REGION_HERE/$OPENSTACK_REGION/g" {} \;
90
91 find /config-init/$NAMESPACE/ -type f -exec sed -i -e "s,OPENSTACK_KEYSTONE_IP_HERE,$OPENSTACK_KEYSTONE_URL,g" {} \;
92
93 find /config-init/$NAMESPACE/ -type f -exec sed -i -e "s/OPENSTACK_FLAVOUR_MEDIUM_HERE/$OPENSTACK_FLAVOUR_MEDIUM/g" {} \;
94
95 find /config-init/$NAMESPACE/ -type f -exec sed -i -e "s/DMAAP_TOPIC_HERE/$DMAAP_TOPIC/g" {} \;
96
97 find /config-init/$NAMESPACE/ -type f -exec sed -i -e "s/OPENSTACK_SERVICE_TENANT_NAME_HERE/$OPENSTACK_SERVICE_TENANT_NAME/g" {} \;
98
99 find /config-init/$NAMESPACE/ -type f -exec sed -i -e "s/DEMO_ARTIFACTS_VERSION_HERE/$DEMO_ARTIFACTS_VERSION/g" {} \;
100
101 # SDNC/Robot preload files manipulation
102 OPENSTACK_OAM_NETWORK_CIDR_PREFIX=`cut -d. -f1-3 <<<"$OPENSTACK_OAM_NETWORK_CIDR"`
103 find /config-init/$NAMESPACE/ -type f -exec sed -i -e "s/OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE/$OPENSTACK_OAM_NETWORK_CIDR_PREFIX/g" {} \;
104
105 # MSO post install steps to encrypt openstack password
106 MSO_ENCRYPTION_KEY=$(cat /config-init/$NAMESPACE/mso/mso/encryption.key)
107 OPENSTACK_API_ENCRYPTED_KEY=`echo -n "$OPENSTACK_API_KEY" | openssl aes-128-ecb -e -K $MSO_ENCRYPTION_KEY -nosalt | xxd -c 25 -p`
108 find /config-init/$NAMESPACE/ -type f -exec sed -i -e "s/OPENSTACK_ENCRYPTED_PASSWORD_HERE/$OPENSTACK_API_ENCRYPTED_KEY/g" {} \;
109
110 find /config-init/$NAMESPACE/ -type f -exec sed -i -e "s/OPENSTACK_TENANT_NAME_HERE/$OPENSTACK_TENANT_NAME/g" {} \;
111
112 echo "Done!"