Merge "Remove OPAE dependency in devstack"

This commit is contained in:
Zuul 2020-06-17 06:24:00 +00:00 committed by Gerrit Code Review
commit 8cf0310a75
6 changed files with 13 additions and 116 deletions

View File

@ -31,27 +31,6 @@ function check_cyborg_service_deps {
fi
}
function pre_install_agent {
if is_service_enabled cyborg-agent; then
# stack/pre-install - Called after (OS) setup is complete and before
# project source is installed
echo_summary "Installing additional Cyborg packages"
if [[ "$OPAE_INSTALL_ENABLE" == "True" ]] && install_opae_packages; then
echo_summary "INFO: Additional Cyborg packages installed"
elif [[ "$OPAE_INSTALL_ENABLE" == "True" ]]; then
echo "WARNING: Failed to install additional Cyborg packages"
fi
fi
}
function cleanup_agent {
if is_service_enabled cyborg-agent; then
if [[ "$OPAE_INSTALL_ENABLE" == "True" ]]; then
uninstall_opae_packages
fi
fi
}
function clone_cyborg_client {
if [[ "${CYBORG_CLIENT_INSTALL}" == "True" ]]; then

View File

@ -1,57 +0,0 @@
#!/bin/bash
#
# lib/opae
# Functions to download, install, or remove OPAE packages
# Dependencies:
#
function setup_distro_vars {
PKG_EXT=""
if is_fedora; then
PKG_EXT="rpm"
elif is_ubuntu ; then
# NOTE(Sundar): OPAE packages depend on libjson0, which is
# not available after Ubuntu 16.04. After OPAE packages are
# updated, this check can be removed.
[[ $os_RELEASE == "16.04" ]] && PKG_EXT="deb"
fi
}
function install_opae_pkg {
local pkg=$1
local url=$2
local CURL="curl -sSfL --retry 2"
local tmpfile="/tmp/$pkg.$PKG_EXT"
local retval=0
# NOTE(Sundar): After OPAE libraries become part of the distro
# repos, we can skip the download with curl.
if ! is_package_installed $pkg; then
$CURL -o $tmpfile $url; retval=$?
if [[ $? -eq 0 ]]; then
install_package $tmpfile; retval=$?
[[ $? -ne 0 ]] && echo "WARNING: Could not install $pkg"
else
echo "WARNING: Could not download $url"
fi
/bin/rm -f $tmpfile
fi
return $retval
}
function install_opae_packages {
setup_distro_vars
local libs_url="$OPAE_GITHUB/$OPAE_LIBS.$PKG_EXT"
local devel_url="$OPAE_GITHUB/$OPAE_DEVEL.$PKG_EXT"
[[ "$PKG_EXT" == "" ]] && return 1
install_opae_pkg "$OPAE_LIBS_PKG" $libs_url && \
install_opae_pkg "$OPAE_DEVEL_PKG" $devel_url
# return value is the exit code of last command
}
function uninstall_opae_packages {
uninstall_package "$OPAE_DEVEL_PKG"
uninstall_package "$OPAE_LIBS_PKG"
}

View File

@ -6,13 +6,11 @@
echo_summary "cyborg devstack plugin.sh called: $1/$2"
source $DEST/cyborg/devstack/lib/cyborg
source $DEST/cyborg/devstack/lib/opae
case $1 in
"stack")
case $2 in
"pre-install")
pre_install_agent
clone_cyborg_client
;;
"install")
@ -47,6 +45,5 @@ case $1 in
# clean - Called by clean.sh before other services are cleaned, but after
# unstack.sh has been called.
cleanup_cyborg
cleanup_agent
;;
esac

View File

@ -39,17 +39,6 @@ else
CYBORG_API_URL="$CYBORG_SERVICE_PROTOCOL://$CYBORG_SERVICE_HOST:$CYBORG_SERVICE_PORT"
fi
# OPAE settings
# OPAE packages are not yet upstreamed into OS repos
# We need to download them from OPAE releases page on GitHub
OPAE_INSTALL_ENABLE=$(trueorfalse True OPAE_INSTALL_ENABLE)
OPAE_VERSION=${OPAE_VERSION:-"1.1.0-2"}
OPAE_GITHUB=${OPAE_GITHUB:-"https://github.com/OPAE/opae-sdk/releases/download/$OPAE_VERSION"}
OPAE_DEVEL_PKG=${OPAE_DEVEL_PKG:-"opae-devel"}
OPAE_DEVEL=${OPAE_DEVEL:-"${OPAE_DEVEL_PKG}-$OPAE_VERSION.x86_64"}
OPAE_LIBS_PKG=${OPAE_LIBS_PKG:-"opae-libs"}
OPAE_LIBS=${OPAE_LIBS:-"${OPAE_LIBS_PKG}-$OPAE_VERSION.x86_64"}
# client settings
CYBORG_CLIENT_INSTALL=$(trueorfalse True CYBORG_CLIENT_INSTALL)
CYBORG_CLIENT_REPO=${CYBORG_CLIENT_REPO:-"$GIT_BASE/openstack/python-cyborgclient"}

View File

@ -2,12 +2,6 @@
DevStack Quick Start
====================
.. note::
Because OPAE packages depend on libjson0, which is not available
after Ubuntu 16.04, so cyborg can't be installed on Ubuntu
higher than 16.04 now.
Create stack user (optional)
----------------------------
@ -119,24 +113,6 @@ Enable services
If you got version conflicts, please set `PIP_UPGRADE` to `True` in local.conf
Disable OPAE install
>>>>>>>>>>>>>>>>>>>>
::
OPAE_INSTALL_ENABLE=false
- By default OPAE_INSTALL_ENABLE is True.
- You need to set OPAE_INSTALL_ENABLE as false explicitly,
if not need OPEA enviroment.
- At present OPAE depends on OS verson heavily.
.. note::
If you do not want to try Intel FPGA, you can disable OPAE install. Then you
do not depend on specific OS verson.
Multi-Node Lab
--------------

View File

@ -0,0 +1,13 @@
---
deprecations:
- |
Intel OPAE driver dependency is removed from the devstack installation
dependencies due to the following reasons:
1) In the kolla cyborg-agent image we install OPAE, but OPAE is
not available for CentOS 8 for the moment. This will make the cyborg-agent
image unbuildable in Ussuri. 2) In devstack, due to the fact that OPAE
packages depend on libjson0, which is not available after Ubuntu 16.04, so
cyborg can't be installed on Ubuntu higher than 16.04 now(unless disable
dependency manually). Moreover,from cyborg's perspective, it does not need
to contain any hardware driver dependency, we can assume the admin should
know about it and install the correct version.