From 535a8148ccfc0ff99d58ba9242950811d14d2935 Mon Sep 17 00:00:00 2001 From: Ian Wienand Date: Wed, 15 May 2013 09:25:27 +1000 Subject: [PATCH] Install EPEL for rhel6 if not detected Simple check to see if EPEL repo is enabled for RHEL6 and, if not, automated install of the repo RPM. Also adds an additional sanity check which checking for pip. In the prior case of EPEL being disabled, a RHEL6 host may not have access to python-pip. Although this shouldn't happen, its a good sanity check. Change-Id: I4e8a4dda9475b75d071534d4eef469198502a048 --- functions | 4 ++++ stack.sh | 15 +++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/functions b/functions index 669fa69bd5..dfde7dc551 100644 --- a/functions +++ b/functions @@ -1413,6 +1413,10 @@ function get_pip_command() { else which pip fi + + if [ $? -ne 0 ]; then + die $LINENO "Unable to find pip; cannot continue" + fi } # Path permissions sanity check diff --git a/stack.sh b/stack.sh index 9a7f2ab693..99c630c9da 100755 --- a/stack.sh +++ b/stack.sh @@ -51,13 +51,24 @@ fi # Installing Open vSwitch on RHEL6 requires enabling the RDO repo. RHEL6_RDO_REPO_RPM=${RHEL6_RDO_REPO_RPM:-"http://rdo.fedorapeople.org/openstack/openstack-grizzly/rdo-release-grizzly-3.noarch.rpm"} RHEL6_RDO_REPO_ID=${RHEL6_RDO_REPO_ID:-"openstack-grizzly"} +# RHEL6 requires EPEL for many Open Stack dependencies +RHEL6_EPEL_RPM=${RHEL6_EPEL_RPM:-"http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm"} + if [[ is_fedora && $DISTRO =~ (rhel6) ]]; then + if ! yum repolist enabled $RHEL6_RDO_REPO_ID | grep -q $RHEL6_RDO_REPO_ID; then echo "RDO repo not detected; installing" - yum_install $RHEL6_RDO_REPO_RPM + yum_install $RHEL6_RDO_REPO_RPM || \ + die $LINENO "Error installing RDO repo, cannot continue" fi -fi + if ! yum repolist enabled epel | grep -q 'epel'; then + echo "EPEL not detected; installing" + yum_install ${RHEL6_EPEL_RPM} || \ + die $LINENO "Error installing EPEL repo, cannot continue" + fi + +fi # Global Settings # ===============