aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Morales <victor.morales@intel.com>2017-11-07 07:56:04 -0800
committerVictor Morales <victor.morales@intel.com>2017-11-07 07:56:04 -0800
commit9f1c94b23e91b8f8ae5f4e66fd201da2bac072a9 (patch)
treeff465cc3a5d4442de6cc0b1c76eaa54f7b792e95
parentc6554b49c76321f2b24452f1290608f20e8f28b8 (diff)
Enable multidistro support
This initial change allows the execution of scripts in multiple linux distributions. Change-Id: I2fe7afe2c4cae7923fedfa9756f6d59a2b85090d Signed-off-by: Victor Morales <victor.morales@intel.com> Issue-Id: INT-327
-rwxr-xr-xbootstrap/vagrant-onap/lib/commons87
-rwxr-xr-xbootstrap/vagrant-onap/lib/functions47
2 files changed, 110 insertions, 24 deletions
diff --git a/bootstrap/vagrant-onap/lib/commons b/bootstrap/vagrant-onap/lib/commons
index 2b01dc524..1c45413fa 100755
--- a/bootstrap/vagrant-onap/lib/commons
+++ b/bootstrap/vagrant-onap/lib/commons
@@ -6,11 +6,22 @@ function update_repos {
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 @@ function is_package_installed {
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 @@ function install_package {
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 de6f9ee33..ce95ea010 100755
--- a/bootstrap/vagrant-onap/lib/functions
+++ b/bootstrap/vagrant-onap/lib/functions
@@ -42,7 +42,7 @@ 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
@@ -73,8 +73,17 @@ 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
@@ -91,8 +100,17 @@ 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
@@ -170,11 +188,20 @@ 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_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