Fix proxy usage for docker external
The process that retrieves Docker images hosted externally was
missing a step in its configuration. This change fix the
configuration and unblock the pending Unit Tests.
Change-Id: I5a6b39086eb806bab5bb2667092a154e230d33ef
Signed-off-by: Victor Morales <victor.morales@intel.com>
Issue-ID: INT-227
diff --git a/bootstrap/vagrant-onap/README.md b/bootstrap/vagrant-onap/README.md
index c48190a..e90e0a7 100644
--- a/bootstrap/vagrant-onap/README.md
+++ b/bootstrap/vagrant-onap/README.md
@@ -1,7 +1,5 @@
# ONAP on Vagrant
-[![Build Status](https://api.travis-ci.org/electrocucaracha/vagrant-onap.svg?branch=master)](https://api.travis-ci.org/electrocucaracha/vagrant-onap)
-
This vagrant project pretends to collect information about a way to deploy
and build [ONAP project](https://www.onap.org/) into a development environment.
diff --git a/bootstrap/vagrant-onap/Vagrantfile b/bootstrap/vagrant-onap/Vagrantfile
index c10cb0b..dc8b347 100644
--- a/bootstrap/vagrant-onap/Vagrantfile
+++ b/bootstrap/vagrant-onap/Vagrantfile
@@ -290,6 +290,7 @@
config.proxy.http = ENV['http_proxy']
config.proxy.https = ENV['https_proxy']
config.proxy.no_proxy = ENV['no_proxy']
+ configuration['socks_proxy'] = ENV['socks_proxy']
end
if Vagrant.has_plugin?('vagrant-vbguest')
diff --git a/bootstrap/vagrant-onap/lib/_onap_functions b/bootstrap/vagrant-onap/lib/_onap_functions
index 18a4659..cedd6f0 100755
--- a/bootstrap/vagrant-onap/lib/_onap_functions
+++ b/bootstrap/vagrant-onap/lib/_onap_functions
@@ -12,7 +12,6 @@
echo $docker_version > /opt/config/docker_version.txt
}
-# TODO(electrocucaracha): Determine how to use this behind a proxy
# docker_openecomp_login() - Login to OpenECOMP Docker Hub
function docker_openecomp_login {
install_docker
@@ -24,7 +23,7 @@
local image=$1
local tag=$2
docker_openecomp_login
- pull_docker_image $nexus_docker_repo/openecomp/${image}:$docker_version $tag
+ pull_docker_image $nexus_docker_repo/openecomp/${image}:${docker_version-latest} $tag
docker logout
}
@@ -33,7 +32,7 @@
local image=$1
local tag=$2
docker_openecomp_login
- pull_docker_image $nexus_docker_repo/onap/${image}:$docker_version $tag
+ pull_docker_image $nexus_docker_repo/onap/${image}:${docker_version-latest} $tag
docker logout
}
diff --git a/bootstrap/vagrant-onap/lib/dcae b/bootstrap/vagrant-onap/lib/dcae
index 3e702d9..4995c61 100755
--- a/bootstrap/vagrant-onap/lib/dcae
+++ b/bootstrap/vagrant-onap/lib/dcae
@@ -44,7 +44,7 @@
install_docker
pushd $src_folder
- # TODO(electrocucaracha) Workaround for dmmapbc images
+ # NOTE: Workaround for dmmapbc images
sed -i '/LocalKey/d' Dockerfile
local docker_build="docker build -t $name -f ./Dockerfile ."
if [ $http_proxy ]; then
diff --git a/bootstrap/vagrant-onap/lib/functions b/bootstrap/vagrant-onap/lib/functions
index 8fff0c2..02111fa 100755
--- a/bootstrap/vagrant-onap/lib/functions
+++ b/bootstrap/vagrant-onap/lib/functions
@@ -100,23 +100,31 @@
# _configure_docker_settings() - Configures Docker settings
function _configure_docker_settings {
+ local docker_conf_backup=/tmp/docker.backup
+ local docker_conf=/etc/default/docker
+ local chameleonsocks_filename=chameleonsocks.sh
+
+ cp $docker_conf $docker_conf_backup
if [ $http_proxy ]; then
- echo "export http_proxy=$http_proxy" >> /etc/default/docker
+ echo "export http_proxy=$http_proxy" >> $docker_conf
fi
if [ $https_proxy ]; then
- echo "export https_proxy=$https_proxy" >> /etc/default/docker
+ echo "export https_proxy=$https_proxy" >> $docker_conf
#If you have a socks proxy, then use that to connect to the nexus repo
#via a redsocks container
if [ $socks_proxy ]; then
- wget https://raw.githubusercontent.com/crops/chameleonsocks/master/chameleonsocks.sh
- chmod 755 chameleonsocks.sh
+ wget https://raw.githubusercontent.com/crops/chameleonsocks/master/$chameleonsocks_filename
+ chmod 755 $chameleonsocks_filename
socks=$(echo $socks_proxy | sed -e "s/^.*\///" | sed -e "s/:.*$//")
port=$(echo $socks_proxy | sed -e "s/^.*://")
- PROXY=$socks PORT=$port ./chameleonsocks.sh --install
+ PROXY=$socks PORT=$port ./$chameleonsocks_filename --install
+ rm $chameleonsocks_filename
+ cp $docker_conf_backup $docker_conf
fi
fi
+ rm $docker_conf_backup
- echo "DOCKER_OPTS=\"-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock\"" >> /etc/default/docker
+ echo "DOCKER_OPTS=\"-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock\"" >> $docker_conf
usermod -a -G docker vagrant
}
diff --git a/bootstrap/vagrant-onap/tests/_test_base b/bootstrap/vagrant-onap/tests/_test_base
index 155de98..7d0415a 100644
--- a/bootstrap/vagrant-onap/tests/_test_base
+++ b/bootstrap/vagrant-onap/tests/_test_base
@@ -15,6 +15,9 @@
echo "ok $((i+1)) - test_${covered_functions[$i]}"
# Teardown process
+ if ! is_package_installed docker-ce; then
+ docker images -q | xargs docker rmi -f
+ fi
dpkg --get-selections > installed-software_new
sort -o installed-software_new installed-software_new
apt-get purge -y -qq $(comm -3 installed-software installed-software_new | awk '{print $1}')
diff --git a/bootstrap/vagrant-onap/tests/test_aai b/bootstrap/vagrant-onap/tests/test_aai
index 79d26c8..10777d6 100644
--- a/bootstrap/vagrant-onap/tests/test_aai
+++ b/bootstrap/vagrant-onap/tests/test_aai
@@ -8,11 +8,6 @@
"install_hadoop" "install_haproxy" "clone_all_aai_repos" "compile_aai_repos" "setup_titan" "install_hbase" "install_ajsc_aai" "install_model_loader"
)
-# TODO(electrocucaracha): Remove/Modify functions that doesn't support proxy settings
-if [ -z $http_proxy ] & [ -z $https_proxy ]; then
- covered_functions=(${covered_functions[@]} "install_hbase")
-fi
-
# test_install_hadoop() - Verify that Hadoop is downloaded and started properly
function test_install_hadoop {
install_hadoop
diff --git a/bootstrap/vagrant-onap/tests/test_functions b/bootstrap/vagrant-onap/tests/test_functions
index 17a6631..ee7358a 100644
--- a/bootstrap/vagrant-onap/tests/test_functions
+++ b/bootstrap/vagrant-onap/tests/test_functions
@@ -7,14 +7,10 @@
"create_configuration_files" "clone_repo" "install_dev_tools"
"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"
+"start_ODL" "compile_src" "build_docker_image" "docker_openecomp_login"
+"pull_openecomp_image" "pull_onap_image"
)
-# TODO(electrocucaracha): Remove/Modify functions that doesn't support proxy settings
-if [ -z $http_proxy ] & [ -z $https_proxy ]; then
- covered_functions=(${covered_functions[@]} "docker_openecomp_login" "pull_openecomp_image")
-fi
-
# test_create_configuration_files() - Verify the creation of a configuration files
function test_create_configuration_files {
create_configuration_files
@@ -33,14 +29,22 @@
docker_openecomp_login
}
-# test_pull_openecomp_image() - Verify the addition of a OpenECOMP container image
+# test_pull_openecomp_image() - Verify the OpenECOMP container image pulling process
function test_pull_openecomp_image {
- pull_openecomp_image portalapps ep:1610-1
+ local image_name=portal-apps
+ unset docker_version
+ pull_openecomp_image $image_name
- asserts_installed_package docker-ce
- asserts_image ep:1610-1
+ asserts_image $nexus_docker_repo/openecomp/$image_name
+}
- docker rmi -f ep:1610-1
+# test_pull_onap_image() - Verify the ONAP cointainer pulling process
+function test_pull_onap_image {
+ local image_name=portal-apps
+ unset docker_version
+ pull_onap_image $image_name
+
+ asserts_image $nexus_docker_repo/onap/$image_name
}
# test_clone_repo() - Verify cloning and pulling source code from repositories
@@ -117,8 +121,6 @@
pull_docker_image $image
asserts_image $image
-
- docker rmi -f $image
}
# test_install_docker_compose() - Verify the correct installation of Docker Compose tool
@@ -161,8 +163,6 @@
build_docker_image $git_src_folder/ccsdk/distribution/ubuntu docker
asserts_image onap/ccsdk-ubuntu-image
-
- docker rmi -f onap/ccsdk-ubuntu-image
}
if [ "$1" != '*' ]; then