diff options
Diffstat (limited to 'bootstrap/vagrant-onap/lib/functions')
-rwxr-xr-x | bootstrap/vagrant-onap/lib/functions | 90 |
1 files changed, 65 insertions, 25 deletions
diff --git a/bootstrap/vagrant-onap/lib/functions b/bootstrap/vagrant-onap/lib/functions index 02111fa2c..25fbba3e9 100755 --- a/bootstrap/vagrant-onap/lib/functions +++ b/bootstrap/vagrant-onap/lib/functions @@ -1,13 +1,12 @@ #!/bin/bash -set -o xtrace - source /var/onap/commons source /var/onap/_composed_functions source /var/onap/_onap_functions export MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' |sort -n | head -1) -export IP_ADDRESS=$(ifconfig eth0 | grep "inet addr" | tr -s ' ' | cut -d' ' -f3 | cut -d':' -f2) +export NIC=$(ip route get 8.8.8.8 | awk '{ print $5; exit }') +export IP_ADDRESS=$(ifconfig $NIC | grep "inet addr" | tr -s ' ' | cut -d' ' -f3 | cut -d':' -f2) mvn_conf_file=/root/.m2/settings.xml git_src_folder=/opt @@ -18,6 +17,14 @@ function configure_dns { resolvconf -u } +# get_next_ip() - Function that provides the next ip +function get_next_ip { + local ip=${1:-$IP_ADDRESS} + ip_hex=$(printf '%.2X%.2X%.2X%.2X\n' `echo $ip | sed -e 's/\./ /g'`) + next_ip_hex=$(printf %.8X `echo $(( 0x$ip_hex + 1 ))`) + echo $(printf '%d.%d.%d.%d\n' `echo $next_ip_hex | sed -r 's/(..)/0x\1 /g'`) +} + # _git_timed() - git can sometimes get itself infinitely stuck with transient network # errors or other issues with the remote end. This wraps git in a # timeout/retry loop and is intended to watch over non-local git @@ -44,11 +51,15 @@ function _git_timed { # clone_repo() - Clone Git repository into specific folder function clone_repo { - local repo_url=https://git.onap.org/ + local repo_url=${3:-"https://git.onap.org/"} local repo=$1 local dest_folder=${2:-$git_src_folder/$repo} if [ ! -d $dest_folder ]; then - _git_timed clone ${repo_url}${repo} $dest_folder + if [[ "$debug" == "False" ]]; then + _git_timed clone --quiet ${repo_url}${repo} $dest_folder + else + _git_timed clone ${repo_url}${repo} $dest_folder + fi else pushd $dest_folder _git_timed pull @@ -56,11 +67,6 @@ function clone_repo { fi } -# install_dev_tools() - Install basic dependencies -function install_dev_tools { - install_packages apt-transport-https ca-certificates curl -} - # _install_bind() - Install bind utils function _install_bind { install_packages bind9 bind9utils @@ -71,8 +77,18 @@ function install_java { if is_package_installed openjdk-8-jdk; then return fi - install_package software-properties-common - add-apt-repository -y ppa:openjdk-r/ppa + source /etc/os-release || source /usr/lib/os-release + case ${ID,,} in + *suse) + ;; + ubuntu|debian) + install_package software-properties-common + add-apt-repository -y ppa:openjdk-r/ppa + ;; + rhel|centos|fedora) + ;; + esac + update_repos # Remove Java 7 uninstall_packages default-jre openjdk-7-jdk openjdk-7-jre openjdk-7-jre-headless @@ -88,8 +104,18 @@ function install_maven { return fi install_java - install_package software-properties-common - add-apt-repository -y ppa:andrei-pozolotin/maven3 + source /etc/os-release || source /usr/lib/os-release + case ${ID,,} in + *suse) + ;; + ubuntu|debian) + install_package software-properties-common + add-apt-repository -y ppa:andrei-pozolotin/maven3 + ;; + rhel|centos|fedora) + ;; + esac + update_repos install_package maven3 # Remove Java 7 @@ -125,7 +151,6 @@ function _configure_docker_settings { rm $docker_conf_backup echo "DOCKER_OPTS=\"-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock\"" >> $docker_conf - usermod -a -G docker vagrant } # install_nodejs() - Download and install NodeJS @@ -148,17 +173,17 @@ function install_python { # _install_pip() - Install Python Package Manager function _install_pip { install_python - if [ ! -f /usr/local/bin/pip ]; then + if ! which pip; then curl -sL https://bootstrap.pypa.io/get-pip.py | python fi } # install_python_package() - Install a python module function install_python_package { - local python_package=$1 + local python_packages=$@ _install_pip - pip install $python_package + pip install $python_packages } # install_docker() - Download and install docker-engine @@ -166,12 +191,22 @@ function install_docker { if is_package_installed docker-ce; then return fi - install_package software-properties-common - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - - add-apt-repository \ - "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ - $(lsb_release -cs) \ - stable" + source /etc/os-release || source /usr/lib/os-release + case ${ID,,} in + *suse) + ;; + ubuntu|debian) + install_packages software-properties-common linux-image-extra-$(uname -r) linux-image-extra-virtual apt-transport-https ca-certificates curl + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - + add-apt-repository \ + "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ + $(lsb_release -cs) stable" + ;; + rhel|centos|fedora) + ;; + esac + update_repos + install_package docker-ce _configure_docker_settings service docker restart @@ -225,9 +260,14 @@ function start_ODL { function compile_src { local src_folder=$1 pushd $src_folder + local mvn_build='mvn clean install -DskipTests=true -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Dadditionalparam=-Xdoclint:none' + if [[ "$debug" == "False" ]]; then + mvn_build+=" -q" + fi if [ -f pom.xml ]; then install_maven - mvn clean install -DskipTests=true -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Dadditionalparam=-Xdoclint:none + echo "Compiling $src_folder folder..." + eval $mvn_build fi popd } |