Merge "Enable multidistro support"
diff --git a/bootstrap/vagrant-onap/lib/commons b/bootstrap/vagrant-onap/lib/commons
index 2b01dc5..1c45413 100755
--- a/bootstrap/vagrant-onap/lib/commons
+++ b/bootstrap/vagrant-onap/lib/commons
@@ -6,11 +6,22 @@
if [ -f /var/onap/files/sources.list ]; then
cp /var/onap/files/sources.list /etc/apt/sources.list
fi
- if [[ "$debug" == "False" ]]; then
- apt-get update > /dev/null
- else
- apt-get update
- fi
+ source /etc/os-release || source /usr/lib/os-release
+ case ${ID,,} in
+ *suse)
+ zypper -n ref
+ ;;
+ ubuntu|debian)
+ if [[ "$debug" == "False" ]]; then
+ apt-get update > /dev/null
+ else
+ apt-get update
+ fi
+ ;;
+ rhel|centos|fedora)
+ yum updateinfo
+ ;;
+ esac
}
# is_package_installed() - Function to tell if a package is installed
@@ -18,13 +29,31 @@
if [[ -z "$@" ]]; then
return 1
fi
- dpkg -s "$@" > /dev/null 2> /dev/null
+ source /etc/os-release || source /usr/lib/os-release
+ case ${ID,,} in
+ *suse)
+ ;;
+ ubuntu|debian)
+ dpkg -s "$@" > /dev/null 2> /dev/null
+ ;;
+ rhel|centos|fedora)
+ ;;
+ esac
}
# install_packages() - Install a list of packages
function install_packages {
local package=$@
- apt-get install -y -qq $package
+ source /etc/os-release || source /usr/lib/os-release
+ case ${ID,,} in
+ *suse)
+ ;;
+ ubuntu|debian)
+ apt-get install -y -qq $package
+ ;;
+ rhel|centos|fedora)
+ ;;
+ esac
}
# install_package() - Install specific package if doesn't exist
@@ -34,24 +63,54 @@
if ! is_package_installed $package; then
echo "Installing $package..."
- if [[ "$debug" == "False" ]]; then
- apt-get install -y -qq -o=Dpkg::Use-Pty=0 $package
- else
- apt-get install -y $package
- fi
+ source /etc/os-release || source /usr/lib/os-release
+ case ${ID,,} in
+ *suse)
+ zypper install -y $package
+ ;;
+ ubuntu|debian)
+ if [[ "$debug" == "False" ]]; then
+ apt-get install -y -qq -o=Dpkg::Use-Pty=0 $package
+ else
+ apt-get install -y $package
+ fi
+ ;;
+ rhel|centos|fedora)
+ PKG_MANAGER=$(which dnf || which yum)
+ ${PKG_MANAGER} -y install $package
+ ;;
+ esac
fi
}
# uninstall_packages() - Uninstall a list of packages
function uninstall_packages {
local packages=$@
- apt-get purge -y -qq $packages
+ source /etc/os-release || source /usr/lib/os-release
+ case ${ID,,} in
+ *suse)
+ ;;
+ ubuntu|debian)
+ apt-get purge -y -qq $packages
+ ;;
+ rhel|centos|fedora)
+ ;;
+ esac
}
# uninstall_package() - Uninstall specific package if exists
function uninstall_package {
local package=$1
if is_package_installed $package; then
- apt-get purge -y -qq $package
+ source /etc/os-release || source /usr/lib/os-release
+ case ${ID,,} in
+ *suse)
+ ;;
+ ubuntu|debian)
+ apt-get purge -y -qq $package
+ ;;
+ rhel|centos|fedora)
+ ;;
+ esac
fi
}
diff --git a/bootstrap/vagrant-onap/lib/functions b/bootstrap/vagrant-onap/lib/functions
index de6f9ee..ce95ea0 100755
--- a/bootstrap/vagrant-onap/lib/functions
+++ b/bootstrap/vagrant-onap/lib/functions
@@ -42,7 +42,7 @@
# 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
@@ -73,8 +73,17 @@
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
@@ -91,8 +100,17 @@
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
@@ -170,11 +188,20 @@
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_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"
+ ;;
+ rhel|centos|fedora)
+ ;;
+ esac
update_repos
install_package docker-ce