Don't install openvswitch-datapath-dkms on newer kernels

On kernels >= 3.13 for Ubuntu, there is no need to install the
openvswitch-datapath-dkms package anymore. Consequently we don't need the
dkms package anymore, nor the linux headers.

Update the opendaylight devstack code to correctly check for this and make
the right decision.

While here, also utilize get_packages() and common code where possible.

Change-Id: Idd6a71951f6f77b6e3c4e536e735dfead6a40bc1
Closes-Bug: #1331111
This commit is contained in:
Kyle Mestery 2014-06-24 11:07:54 +00:00 committed by Henry Gessau
parent c6dc3deb25
commit 86af4a0e5d
8 changed files with 22 additions and 35 deletions

View File

@ -1,2 +0,0 @@
openvswitch-datapath-dkms # NOPRIME
openvswitch-switch # NOPRIME

3
files/apts/openvswitch Normal file
View File

@ -0,0 +1,3 @@
fakeroot
make
openvswitch-switch

View File

@ -1,3 +0,0 @@
openvswitch # NOPRIME
openvswitch-switch # NOPRIME

View File

@ -0,0 +1,3 @@
openvswitch
openvswitch-switch

View File

@ -1 +0,0 @@
openvswitch # NOPRIME

1
files/rpms/openvswitch Normal file
View File

@ -0,0 +1 @@
openvswitch

View File

@ -32,26 +32,24 @@ function neutron_ovs_base_cleanup {
done
}
function _neutron_ovs_base_install_ubuntu_dkms {
# install Dynamic Kernel Module Support packages if needed
local kernel_version=$(uname -r)
local kernel_major_minor=`echo $kernel_version | cut -d. -f1-2`
# From kernel 3.13 on, openvswitch-datapath-dkms is not needed
if [ `vercmp_numbers "$kernel_major_minor" "3.13"` -lt "0" ]; then
install_package "dkms openvswitch-datapath-dkms linux-headers-$kernel_version"
fi
}
function _neutron_ovs_base_install_agent_packages {
local kernel_version
# Install deps
# FIXME add to ``files/apts/neutron``, but don't install if not needed!
install_package $(get_packages "openvswitch")
if is_ubuntu; then
kernel_version=`cat /proc/version | cut -d " " -f3`
ovs_packages="make fakeroot dkms openvswitch-switch"
# From kernel 3.13 on, openvswitch-datapath-dkms is not needed
kernel_major_minor=`echo $kernel_version | cut -d. -f1-2`
if [ `vercmp_numbers "$kernel_major_minor" "3.13"` -lt "0" ]; then
ovs_packages="$ovs_packages openvswitch-datapath-dkms"
fi
ovs_packages="$ovs_packages linux-headers-$kernel_version"
install_package $ovs_packages
_neutron_ovs_base_install_ubuntu_dkms
elif is_fedora; then
install_package openvswitch
# Ensure that the service is started
restart_service openvswitch
elif is_suse; then
install_package openvswitch-switch
restart_service openvswitch-switch
fi
}

View File

@ -122,22 +122,10 @@ function install_opendaylight {
unzip -u $ODL_PKG
}
# install_opendaylight-compute - Make sure OVS is install
# install_opendaylight-compute - Make sure OVS is installed
function install_opendaylight-compute {
local kernel_version
# Install deps
# FIXME add to ``files/apts/neutron``, but don't install if not needed!
if is_ubuntu; then
kernel_version=`cat /proc/version | cut -d " " -f3`
install_package make fakeroot dkms openvswitch-switch openvswitch-datapath-dkms linux-headers-$kernel_version
elif is_fedora; then
install_package openvswitch
# Ensure that the service is started
restart_service openvswitch
elif is_suse; then
install_package openvswitch-switch
restart_service openvswitch-switch
fi
# packages are the same as for Neutron OVS agent
_neutron_ovs_base_install_agent_packages
}
# start_opendaylight() - Start running processes, including screen