Fixed EPEL RPM URL and lowered EPEL repository priority

This commit is contained in:
Martin Magr
2013-01-02 14:12:41 +01:00
parent 699b7813dd
commit 481758e448

View File

@@ -103,21 +103,39 @@ def serverprep():
# install epel if on rhel and epel is configured
if controller.CONF["CONFIG_USE_EPEL"] == 'y':
server.append("grep 'Red Hat Enterprise Linux' /etc/redhat-release && ( rpm -q epel-release || \
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm ) || echo -n ''")
server.append("mkdir -p %s"%basedefs.PUPPET_MANIFEST_DIR)
server.append("export EPEL_RPM_URL=\"http://download.fedoraproject.org/pub/epel/6/"
"$([ `uname -i` = 'x86_64' ] && echo 'x86_64' || echo 'i386')"
"/epel-release-6-8.noarch.rpm\"")
server.append("grep 'Red Hat Enterprise Linux' /etc/redhat-release && "
"( rpm -q epel-release || rpm -Uvh $EPEL_RPM_URL ) || echo -n ''")
server.append("mkdir -p %s" % basedefs.PUPPET_MANIFEST_DIR)
# lower priority of EPEL repository
# XXX: If somebody knows how to do this using sed, feel free to fix it
server.append("rpm -q epel-release && yum install -y yum-plugin-priorities || true")
subs_cmd = ('rpm -q epel-release && python -c \'import re;'
'f1 = open("%(repo)s"); c1 = f1.read();'
'c2 = re.sub("enabled=1", "enabled=1\npriority=%(priority)s", c1);'
'f2 = open("%(repo)s", "w"); f2.write(c2);'
'f1.close(); f2.close()\' || true')
server.append(subs_cmd % {"repo": "/etc/yum.repos.d/epel.repo",
"priority": 50})
server.append(subs_cmd % {"repo": "/etc/yum.repos.d/redhat.repo",
"priority": 1})
# Add yum repositories if configured
CONFIG_REPO = controller.CONF["CONFIG_REPO"].strip()
if CONFIG_REPO:
for i, url in enumerate(CONFIG_REPO.split(',')):
reponame = 'packstack_%d'%i
server.append('echo "[%s]\nname=%s\nbaseurl=%s\nenabled=1\ngpgcheck=0" > /etc/yum.repos.d/%s.repo'%(reponame, reponame, url, reponame))
reponame = 'packstack_%d' % i
server.append('echo "[%s]\nname=%s\nbaseurl=%s\nenabled=1\npriority=1\ngpgcheck=0"'
' > /etc/yum.repos.d/%s.repo' % (reponame, reponame, url, reponame))
# Subscribe to Red Hat Repositories if configured
RH_USERNAME = controller.CONF["CONFIG_RH_USERNAME"].strip()
if RH_USERNAME:
server.append("subscription-manager register --username=%s --password=%s --autosubscribe || true"%(RH_USERNAME, controller.CONF["CONFIG_RH_PASSWORD"].strip()))
server.append("subscription-manager register --username=%s --password=%s --autosubscribe || true" % (RH_USERNAME, controller.CONF["CONFIG_RH_PASSWORD"].strip()))
server.append("subscription-manager list --consumed | grep -i openstack || "
"subscription-manager subscribe --pool $(subscription-manager list --available | grep -e 'Red Hat OpenStack' -m 1 -A 2 | grep 'Pool Id' | awk '{print $3}')")
server.append("yum clean all")