Ease adding proxies in vms 29/62029/6
authorCédric Ollivier <cedric.ollivier@orange.com>
Mon, 10 Sep 2018 04:12:44 +0000 (06:12 +0200)
committerCédric Ollivier <cedric.ollivier@orange.com>
Wed, 12 Sep 2018 07:54:14 +0000 (09:54 +0200)
It eases running VNFs behind proxies as they download packages.

Change-Id: I187078dab744c51188b9835417d1a29fad1b4bd6
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
functest/ci/add_proxy.sh [new file with mode: 0644]
setup.cfg
tox.ini

diff --git a/functest/ci/add_proxy.sh b/functest/ci/add_proxy.sh
new file mode 100644 (file)
index 0000000..d191538
--- /dev/null
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+set -e
+
+pushd "${1:-/home/opnfv/functest/images}" > /dev/null
+
+images=${images-"\
+cloudify-manager-premium-4.0.1.qcow2 \
+ubuntu-14.04-server-cloudimg-amd64-disk1.img \
+ubuntu-16.04-server-cloudimg-amd64-disk1.img"}
+
+add_proxy () {
+    cat << EOF >> "$1"
+http_proxy=${http_proxy:-http://proxy:8080}
+HTTP_PROXY=${http_proxy:-http://proxy:8080}
+https_proxy=${https_proxy:-${http_proxy:-http://proxy:8080}}
+HTTPS_PROXY=${https_proxy:-${http_proxy:-http://proxy:8080}}
+ftp_proxy=${ftp_proxy:-${http_proxy:-http://proxy:8080}}
+FTP_PROXY=${ftp_proxy:-${http_proxy:-http://proxy:8080}}
+no_proxy=${no_proxy:-"10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"}
+NO_PROXY=${no_proxy:-"10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"}
+EOF
+}
+
+tmpdir=$(mktemp -d)
+for image in $images; do
+    if [ ! -f "$image" ]; then
+        echo "skip ${image} ($(pwd)/${image} not found)"
+        continue
+    fi
+    guestmount -a "${image}" -i --rw "${tmpdir}"
+    add_proxy "${tmpdir}/etc/environment"
+    if [[ ${image} == *"cloudify-manager"* ]]; then
+        add_proxy "${tmpdir}/etc/sysconfig/cloudify-mgmtworker"
+        add_proxy "${tmpdir}/etc/sysconfig/cloudify-restservice"
+    fi
+    guestunmount "${tmpdir}"
+done
+
+rmdir "${tmpdir}"
+popd > /dev/null
index c16f5e8..4184957 100644 (file)
--- a/setup.cfg
+++ b/setup.cfg
@@ -6,6 +6,7 @@ home-page = https://wiki.opnfv.org/display/functest
 [files]
 packages = functest
 scripts =
+    functest/ci/add_proxy.sh
     functest/ci/convert_images.sh
     functest/ci/download_images.sh
 
diff --git a/tox.ini b/tox.ini
index b83cd61..ca78a0c 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -111,6 +111,7 @@ basepython = python2.7
 files =
   functest/opnfv_tests/openstack/cinder/write_data.sh
   functest/opnfv_tests/openstack/cinder/read_data.sh
+  functest/ci/add_proxy.sh
   functest/ci/convert_images.sh
   functest/ci/download_images.sh
   build.sh