Add kolla internal vip to no_proxy 61/28461/2
authorNate Potter <nathaniel.potteR@intel.com>
Wed, 17 Jan 2018 17:29:35 +0000 (09:29 -0800)
committerNate Potter <nathaniel.potteR@intel.com>
Thu, 18 Jan 2018 14:01:07 +0000 (06:01 -0800)
The internal vip value is calculated at deploy time when
bringing up the OpenStack VM, and isn't able to be included
in the proxy values in the Vagrantfile. Because of this, we
need to add it to no_proxy after it's calculated so that users
and other services can access it in a proxy environment.

Signed-off-by: Nathaniel Potter <nathaniel.potter@intel.com>
Issue-ID: INT-383
Change-Id: Ifed792a4f7e6f4f5a227848486e8165be4a30fc7

bootstrap/vagrant-onap/lib/functions
bootstrap/vagrant-onap/lib/openstack
bootstrap/vagrant-onap/tests/asserts
bootstrap/vagrant-onap/tests/test_functions

index c2c6d76..47966f1 100755 (executable)
@@ -382,3 +382,17 @@ EOF
     mount ${dev_name}1 $mount_dir
     echo "${dev_name}1  $mount_dir           ext4    errors=remount-ro,noatime,barrier=0 0       1" >> /etc/fstab
 }
+
+# add no_proxy values to environment, used for internal IPs generated at deploy time
+function add_no_proxy_value {
+    if [[ `grep "no_proxy" /etc/environment` ]]; then
+        sed -i.bak "s/^no_proxy.*$/&,$1/" /etc/environment
+    else
+        echo "no_proxy=$1" >> /etc/environment
+    fi
+    if [[ `grep "NO_PROXY" /etc/environment` ]]; then
+        sed -i.bak "s/^NO_PROXY.*$/&,$1/" /etc/environment
+    else
+        echo "NO_PROXY=$1" >> /etc/environment
+    fi
+}
index 205d7ae..5e51890 100755 (executable)
@@ -32,6 +32,10 @@ function configure_deploy {
     ip_address=$(ip route get $network_id | awk '{ print $6; exit }')
     internal_vip_address=$(get_next_ip $ip_address)
 
+    if [[ `env | grep -i "proxy"` ]]; then
+        add_no_proxy_value $internal_vip_address
+    fi
+
     mkdir -p $kolla_config
     cp /var/onap/files/globals.yml $kolla_globals
     cp /var/onap/files/passwords.yml $kolla_passwords
index 8eda3ce..441b9f0 100755 (executable)
@@ -77,6 +77,16 @@ function asserts_file_exist {
     fi
 }
 
+# asserts_env_set() - Function that verities that an environment variable is set
+function asserts_env_set {
+    local variable=$1
+    local error_msg=${2:-"$variable wasn't set"}
+
+    if [ -z ${variable+x} ]; then
+        raise_error $error_msg
+    fi
+}
+
 # raise_error() - Function that prints and exits the execution
 function raise_error {
     echo $@
index 9411b46..dd48215 100755 (executable)
@@ -8,7 +8,7 @@ covered_functions=(
 "configure_bind" "install_java" "install_maven" "install_nodejs" "install_python"
 "install_docker" "pull_docker_image" "install_docker_compose" "configure_service"
 "start_ODL" "compile_src" "build_docker_image" "docker_openecomp_login"
-"pull_openecomp_image" "pull_onap_image" "coverity_repos"
+"pull_openecomp_image" "pull_onap_image" "coverity_repos" "add_no_proxy_value"
 )
 
 # test_create_configuration_files() - Verify the creation of a configuration files
@@ -176,6 +176,14 @@ function test_coverity_repos {
     popd
 }
 
+# test_add_no_proxy_value - Verify that the no_proxy value is correctly set
+function test_add_no_proxy_value {
+    local ip="172.16.0.3"
+    add_no_proxy_value $ip
+
+    asserts_env_set no_proxy
+}
+
 if [ "$1" != '*' ]; then
     unset covered_functions
     covered_functions=$1