Refactor docker-compose variables 36/75336/1
authorVictor Morales <victor.morales@intel.com>
Sun, 6 Jan 2019 15:22:08 +0000 (07:22 -0800)
committerVictor Morales <victor.morales@intel.com>
Sun, 6 Jan 2019 15:22:08 +0000 (07:22 -0800)
The default environment variables required by docker-compose.yml
file was exported to .env file to have better control on them.

Change-Id: I52408cbf6e6918621a10158866d899d5f66a47eb
Signed-off-by: Victor Morales <victor.morales@intel.com>
Issue-ID: MULTICLOUD-301

deployments/.env [new file with mode: 0644]
deployments/docker-compose.yml
deployments/start.sh
vagrant/installer.sh

diff --git a/deployments/.env b/deployments/.env
new file mode 100644 (file)
index 0000000..c2630b8
--- /dev/null
@@ -0,0 +1,7 @@
+IMAGE_NAME=nexus3.onap.org:10003/onap/multicloud/k8s
+CSAR_DIR=/opt/csar
+KUBE_CONFIG_DIR=/opt/kubeconfig
+DATABASE_TYPE=mongo
+DATABASE_IP=172.19.0.2
+PLUGIN_IP=172.19.0.3
+PLUGINS_DIR=/opt/multicloud/k8s
index a72bd09..c4faa53 100644 (file)
@@ -16,24 +16,24 @@ services:
     image: ${IMAGE_NAME}
     networks:
       multicloud_net:
-        ipv4_address: 172.19.0.3
+        ipv4_address: ${PLUGIN_IP}
     build:
       context: ./
       args:
-        - HTTP_PROXY=$HTTP_PROXY
-        - HTTPS_PROXY=$HTTPS_PROXY
-        - NO_PROXY=$NO_PROXY
+        - HTTP_PROXY=${HTTP_PROXY}
+        - HTTPS_PROXY=${HTTPS_PROXY}
+        - NO_PROXY=${NO_PROXY}
     ports:
       - "8081:8081"
     environment:
-      - CSAR_DIR=/opt/csar
-      - KUBE_CONFIG_DIR=/opt/kubeconfig
-      - DATABASE_TYPE=mongo
-      - DATABASE_IP=172.19.0.2
-      - PLUGINS_DIR=/opt/multicloud/k8s
-      - HTTP_PROXY=$HTTP_PROXY
-      - HTTPS_PROXY=$HTTPS_PROXY
-      - NO_PROXY=$NO_PROXY,172.19.0.2
+      - CSAR_DIR=${CSAR_DIR}
+      - KUBE_CONFIG_DIR=${KUBE_CONFIG_DIR}
+      - DATABASE_TYPE=${DATABASE_TYPE}
+      - DATABASE_IP=${DATABASE_IP}
+      - PLUGINS_DIR=${PLUGINS_DIR}
+      - HTTP_PROXY=${HTTP_PROXY}
+      - HTTPS_PROXY=${HTTPS_PROXY}
+      - NO_PROXY=${NO_PROXY},${DATABASE_IP}
     depends_on:
       - mongo
     links:
@@ -45,11 +45,11 @@ services:
     image: mongo
     networks:
       multicloud_net:
-        ipv4_address: 172.19.0.2
+        ipv4_address: ${DATABASE_IP}
     environment:
-      HTTP_PROXY: $HTTP_PROXY
-      HTTPS_PROXY: $HTTPS_PROXY
-      NO_PROXY: $NO_PROXY
+      - HTTP_PROXY=${HTTP_PROXY}
+      - HTTPS_PROXY=${HTTPS_PROXY}
+      - NO_PROXY=${NO_PROXY}
 
 networks:
   multicloud_net:
index d1b9f68..233e028 100755 (executable)
@@ -15,10 +15,7 @@ source /etc/environment
 
 k8s_path="$(git rev-parse --show-toplevel)"
 export GOPATH=$k8s_path
-export IMAGE_NAME="nexus3.onap.org:10003/onap/multicloud/k8s"
 
-export CSAR_DIR=/opt/csar
-export KUBE_CONFIG_DIR=/opt/kubeconfig
 export DATABASE_TYPE=mongo
 export PLUGINS_DIR=$k8s_path/src/k8splugin/plugins
 
index 271f44f..cf1eb35 100755 (executable)
@@ -85,6 +85,16 @@ function _install_docker {
     sleep 10
 }
 
+function _set_environment_file {
+    ansible_ifconfig=$(ansible ovn-central[0] -i $krd_inventory -m shell -a "ifconfig eth1 |grep \"inet addr\" |awk '{print \$2}' |awk -F: '{print \$2}'")
+    if [[ $ansible_ifconfig != *CHANGED* ]]; then
+        echo "Fail to get the OVN central IP address from eth1 nic"
+        exit
+    fi
+    echo "export OVN_CENTRAL_ADDRESS=$(echo ${ansible_ifconfig#*>>} | tr '\n' ':')6641" | sudo tee --append /etc/environment
+    echo "export KUBE_CONFIG_DIR=/opt/kubeconfig" | sudo tee --append /etc/environment
+}
+
 # install_k8s() - Install Kubernetes using kubespray tool
 function install_k8s {
     echo "Deploying kubernetes"
@@ -151,8 +161,8 @@ function install_plugin {
 
     sudo mkdir -p /opt/{kubeconfig,consul/config}
     sudo cp $HOME/.kube/config /opt/kubeconfig/krd
-    export KUBE_CONFIG_DIR=/opt/kubeconfig
-    echo "export KUBE_CONFIG_DIR=${KUBE_CONFIG_DIR}" | sudo tee --append /etc/environment
+    _set_environment_file
+    source /etc/environment
 
     pushd $krd_folder/../deployments
     sudo ./build.sh
@@ -213,8 +223,7 @@ testing_enabled=${KRD_ENABLE_TESTS:-false}
 sudo mkdir -p $log_folder
 sudo mkdir -p /opt/csar
 sudo chown -R $USER /opt/csar
-export CSAR_DIR=/opt/csar
-echo "export CSAR_DIR=${CSAR_DIR}" | sudo tee --append /etc/environment
+echo "export CSAR_DIR=/opt/csar" | sudo tee --append /etc/environment
 
 # Install dependencies
 # Setup proxy variables