Cleanup CentOS/Fedora support

Clean the "CentOS" branch, so that it should work for all
CentOS/RHEL variants (7.x). Make sure to install the
required repositories also in the non-Manila case.

Fedora already ships Ceph packages so does not need additional
repositories.

Do not try to install ceph-radosgw twice.

Finally, explicitly fail for other distributions (not supported
de-facto even in the current code).

Change-Id: I83b1fffad405bc122bc55ef1173f5239f41d2b36
This commit is contained in:
Luigi Toscano 2018-05-30 16:16:45 +02:00
parent 5b07d43b3e
commit 023be1103f
1 changed files with 16 additions and 5 deletions

View File

@ -913,15 +913,20 @@ function install_ceph {
# Update package repo.
REPOS_UPDATED=False
install_package ${CEPH_PACKAGES}
else
DISTRO_TYPE=${os_VENDOR,,}
elif is_fedora; then
RELEASE=$(echo $os_RELEASE | awk -F . '{print $1}')
if [ "$os_VENDOR" != "Fedora" ] && [ $RELEASE != 7 ]; then
# Fedora proper includes the packages already in the distribution,
# while CentOS/RHEL/etc needs to be at version 7.
die $LINENO "Need Fedora or CentOS/RHEL/etc 7"
fi
DISTRO_TYPE=${os_VENDOR,,}
CEPH_PACKAGES="ceph"
if is_ceph_enabled_for_service manila; then
if [ $MANILA_CEPH_DRIVER == 'cephfsnfs' ]; then
if [ $DISTRO_TYPE == 'centos' ] && [ $RELEASE == 7 ]; then
if [ $DISTRO_TYPE == 'centos' ]; then
curl -L https://shaman.ceph.com/api/repos/ceph/luminous/latest/$DISTRO_TYPE/$RELEASE/repo | \
sudo tee /etc/yum.repos.d/ext-ceph.repo
curl -L https://shaman.ceph.com/api/repos/nfs-ganesha/next/latest/$DISTRO_TYPE/$RELEASE/flavors/ceph_luminous/repo | \
@ -929,19 +934,25 @@ function install_ceph {
fi
CEPH_PACKAGES="${CEPH_PACKAGES} nfs-ganesha nfs-ganesha-ceph"
else
if [ $DISTRO_TYPE == 'centos' ] && [ $RELEASE == 7 ]; then
if [ $DISTRO_TYPE == 'centos' ]; then
curl -L https://shaman.ceph.com/api/repos/ceph/jewel/latest/$DISTRO_TYPE/$RELEASE/repo | \
sudo tee /etc/yum.repos.d/ext-ceph.repo
fi
fi
else
if [ $DISTRO_TYPE == 'centos' ]; then
curl -L https://shaman.ceph.com/api/repos/ceph/jewel/latest/$DISTRO_TYPE/$RELEASE/repo | \
sudo tee /etc/yum.repos.d/ext-ceph.repo
fi
fi
if [ "$ENABLE_CEPH_RGW" = "True" ]; then
install_package ceph-radosgw
CEPH_PACKAGES="${CEPH_PACKAGES} ceph-radosgw"
fi
install_package ${CEPH_PACKAGES}
else
die $LINENO "${os_VENDOR} is not supported by the Ceph plugin for Devstack"
fi
}