From cf26999de441d3e915ee011ddfa31a2bb1b1af15 Mon Sep 17 00:00:00 2001 From: Victor Morales Date: Wed, 18 Oct 2017 09:29:55 -0700 Subject: 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 Issue-ID: INT-227 --- bootstrap/vagrant-onap/README.md | 2 -- bootstrap/vagrant-onap/Vagrantfile | 1 + bootstrap/vagrant-onap/lib/_onap_functions | 5 ++--- bootstrap/vagrant-onap/lib/dcae | 2 +- bootstrap/vagrant-onap/lib/functions | 20 +++++++++++++------ bootstrap/vagrant-onap/tests/_test_base | 3 +++ bootstrap/vagrant-onap/tests/test_aai | 5 ----- bootstrap/vagrant-onap/tests/test_functions | 30 ++++++++++++++--------------- 8 files changed, 36 insertions(+), 32 deletions(-) (limited to 'bootstrap/vagrant-onap') diff --git a/bootstrap/vagrant-onap/README.md b/bootstrap/vagrant-onap/README.md index c48190ad1..e90e0a724 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 c10cb0bc8..dc8b34768 100644 --- a/bootstrap/vagrant-onap/Vagrantfile +++ b/bootstrap/vagrant-onap/Vagrantfile @@ -290,6 +290,7 @@ Vagrant.configure("2") do |config| 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 18a465948..cedd6f0a3 100755 --- a/bootstrap/vagrant-onap/lib/_onap_functions +++ b/bootstrap/vagrant-onap/lib/_onap_functions @@ -12,7 +12,6 @@ function create_configuration_files { 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 @@ function pull_openecomp_image { 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 @@ function pull_onap_image { 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 3e702d989..4995c618d 100755 --- a/bootstrap/vagrant-onap/lib/dcae +++ b/bootstrap/vagrant-onap/lib/dcae @@ -44,7 +44,7 @@ function _build_docker_image { 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 8fff0c2c4..02111fa2c 100755 --- a/bootstrap/vagrant-onap/lib/functions +++ b/bootstrap/vagrant-onap/lib/functions @@ -100,23 +100,31 @@ function install_maven { # _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 155de98bb..7d0415a44 100644 --- a/bootstrap/vagrant-onap/tests/_test_base +++ b/bootstrap/vagrant-onap/tests/_test_base @@ -15,6 +15,9 @@ function main { 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 79d26c83d..10777d678 100644 --- a/bootstrap/vagrant-onap/tests/test_aai +++ b/bootstrap/vagrant-onap/tests/test_aai @@ -8,11 +8,6 @@ covered_functions=( "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 17a66313a..ee7358a84 100644 --- a/bootstrap/vagrant-onap/tests/test_functions +++ b/bootstrap/vagrant-onap/tests/test_functions @@ -7,14 +7,10 @@ covered_functions=( "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 @@ function test_docker_openecomp_login { 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 @@ function test_pull_docker_image { 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 @@ function test_build_docker_image { 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 -- cgit 1.2.3-korg