Refactor install_docker_compose function
Usually this function is followed by a run command, this change
ensure that docker-compose program is installed before its execution
Change-Id: Ic68616a1db1e3c5bee516985c74f369a956d6775
Signed-off-by: Victor Morales <victor.morales@intel.com>
Issue-ID: INT-436
diff --git a/bootstrap/vagrant-onap/lib/_onap_functions b/bootstrap/vagrant-onap/lib/_onap_functions
index f68d6db..c65e589 100755
--- a/bootstrap/vagrant-onap/lib/_onap_functions
+++ b/bootstrap/vagrant-onap/lib/_onap_functions
@@ -2,14 +2,18 @@
# create_configuration_files() - Store credentials in files
function create_configuration_files {
- mkdir -p /opt/config
- echo $nexus_docker_repo > /opt/config/nexus_docker_repo.txt
- echo $nexus_username > /opt/config/nexus_username.txt
- echo $nexus_password > /opt/config/nexus_password.txt
- echo $openstack_username > /opt/config/openstack_username.txt
- echo $openstack_tenant_id > /opt/config/tenant_id.txt
- echo $dmaap_topic > /opt/config/dmaap_topic.txt
- echo $docker_version > /opt/config/docker_version.txt
+ local onap_config_folder="/opt/config"
+
+ mkdir -p $onap_config_folder
+ pushd $onap_config_folder
+ echo $nexus_docker_repo > nexus_docker_repo.txt
+ echo $nexus_username > nexus_username.txt
+ echo $nexus_password > nexus_password.txt
+ echo $openstack_username > openstack_username.txt
+ echo $openstack_tenant_id > tenant_id.txt
+ echo $dmaap_topic > dmaap_topic.txt
+ echo $docker_version > docker_version.txt
+ popd
}
# docker_openecomp_login() - Login to OpenECOMP Docker Hub
diff --git a/bootstrap/vagrant-onap/lib/commons b/bootstrap/vagrant-onap/lib/commons
index 5d0c691..90f73d2 100755
--- a/bootstrap/vagrant-onap/lib/commons
+++ b/bootstrap/vagrant-onap/lib/commons
@@ -32,13 +32,16 @@
source /etc/os-release || source /usr/lib/os-release
case ${ID,,} in
*suse)
+ CHECK_CMD="zypper search --match-exact --installed"
;;
ubuntu|debian)
- dpkg -s "$@" > /dev/null
+ CHECK_CMD="dpkg -l"
;;
rhel|centos|fedora)
+ CHECK_CMD="rpm -q"
;;
esac
+ ${CHECK_CMD} "$@" &> /dev/null
}
# install_packages() - Install a list of packages
diff --git a/bootstrap/vagrant-onap/lib/dcae b/bootstrap/vagrant-onap/lib/dcae
index d6ebd82..25efddd 100755
--- a/bootstrap/vagrant-onap/lib/dcae
+++ b/bootstrap/vagrant-onap/lib/dcae
@@ -58,13 +58,12 @@
# install_dcae() - Function that clones and installs the DCAE controller services from source code
function install_dcae {
- install_docker_compose
pushd ${src_folders[dcae]}/demo/startup/controller
if [[ "$build_image" == "True" ]]; then
dcae_image=`docker images | grep dcae-controller | awk '{print $1 ":" $2}'`
sed -i "s|DOCKER-REGISTRY/openecomp/dcae-controller:DCAE-VERSION|$dcae_image|g" docker-compose.yml
sed -i "s|MTU|$MTU|g" docker-compose.yml
- /opt/docker/docker-compose up -d
+ run_docker_compose .
else
bash init.sh
install_package make
diff --git a/bootstrap/vagrant-onap/lib/functions b/bootstrap/vagrant-onap/lib/functions
index 435c621..79a80c6 100755
--- a/bootstrap/vagrant-onap/lib/functions
+++ b/bootstrap/vagrant-onap/lib/functions
@@ -60,10 +60,6 @@
else
_git_timed clone ${repo_url}${repo} $dest_folder
fi
- else
- pushd $dest_folder
- _git_timed pull
- popd
fi
}
@@ -277,6 +273,16 @@
docker run $@
}
+# run_docker_compose() - Ensures that docker compose is installed and run it in background
+function run_docker_compose {
+ local folder=$1
+
+ install_docker_compose
+ pushd $folder
+ /opt/docker/docker-compose up -d
+ popd
+}
+
# install_docker_compose() - Download and install docker-engine
function install_docker_compose {
local docker_compose_version=${1:-1.12.0}
@@ -401,7 +407,7 @@
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
+# add_no_proxy_value() - Add no_proxy values into environment file, 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
@@ -414,3 +420,4 @@
echo "NO_PROXY=$1" >> /etc/environment
fi
}
+
diff --git a/bootstrap/vagrant-onap/lib/multicloud b/bootstrap/vagrant-onap/lib/multicloud
index d2b09f2..ff6f970 100755
--- a/bootstrap/vagrant-onap/lib/multicloud
+++ b/bootstrap/vagrant-onap/lib/multicloud
@@ -25,9 +25,7 @@
# install_multicloud() -
function install_multicloud {
- #pushd ${src_folders[multicloud]}/openstack/$openstack_release
- #/opt/docker/docker-compose up -d
- #popd
+ #run_docker_compose ${src_folders[multicloud]}/openstack/$openstack_release
if [[ "$build_image" == "True" ]]; then
multicloud-api --port 9003 --host 0.0.0.0 &
else
diff --git a/bootstrap/vagrant-onap/lib/policy b/bootstrap/vagrant-onap/lib/policy
index 0dac14d..1e633be 100755
--- a/bootstrap/vagrant-onap/lib/policy
+++ b/bootstrap/vagrant-onap/lib/policy
@@ -31,8 +31,7 @@
pushd ${src_folders[policy]}/docker
chmod +x config/drools/drools-tweaks.sh
echo $IP_ADDRESS > config/pe/ip_addr.txt
- install_docker_compose
- /opt/docker/docker-compose up -d
+ run_docker_compose .
popd
}