summaryrefslogtreecommitdiff
path: root/rhel
diff options
context:
space:
mode:
authorGreg Rose <gvrose8192@gmail.com>2018-01-16 08:44:15 -0800
committerAnsis Atteka <ansisatteka@gmail.com>2018-01-16 15:32:58 -0800
commitc49889cf3ed4838f181421b2ae2cdd9760ab24f2 (patch)
treecbc08b326ca5cf883c4150604dbf68b5e668aa58 /rhel
parentba2c7e014dafd64f45f57e7ea4dde6036c830262 (diff)
downloadopenvswitch-c49889cf3ed4838f181421b2ae2cdd9760ab24f2.tar.gz
rhel: Ensure proper OVS kernel modules load after upgrade
Add post install and post un-install scripts to make sure that the openvswitch kernel modules are correctly written with the weak-modules utility. This ensures that after an upgrade to a newer kernel the correct openvswitch kernel modules from a previous installation will be found by the depmod search path. Suggested-by: Flavio Leitner <fbl@sysclose.org> Signed-off-by: Greg Rose <gvrose8192@gmail.com> Acked-by: Ansis Atteka <aatteka@ovn.org> Acked-by: Flavio Leitner <fbl@sysclose.org>
Diffstat (limited to 'rhel')
-rw-r--r--rhel/openvswitch-kmod-fedora.spec.in23
1 files changed, 22 insertions, 1 deletions
diff --git a/rhel/openvswitch-kmod-fedora.spec.in b/rhel/openvswitch-kmod-fedora.spec.in
index 93adb0330..c0cd2980a 100644
--- a/rhel/openvswitch-kmod-fedora.spec.in
+++ b/rhel/openvswitch-kmod-fedora.spec.in
@@ -57,7 +57,28 @@ rm -rf $RPM_BUILD_ROOT
%post
# Ensure that modprobe will find our modules.
-depmod %{kernel}
+for k in $(cd /lib/modules && /bin/ls); do
+ [ -d "/lib/modules/$k/kernel/" ] && depmod -a "$k"
+done
+if [ -x "/sbin/weak-modules" ]; then
+ for m in openvswitch vport-gre vport-stt vport-geneve \
+ vport-lisp vport-vxlan; do
+ echo "/lib/modules/%{kernel}/extra/$m.ko"
+ done | /sbin/weak-modules --add-modules
+fi
+
+%postun
+for k in $(cd /lib/modules && /bin/ls); do
+ [ -d "/lib/modules/$k/kernel/" ] && depmod -a "$k"
+done
+if [ "$1" = 0 ]; then # Erase, not upgrade
+ if [ -x "/sbin/weak-modules" ]; then
+ for m in openvswitch vport-gre vport-stt vport-geneve \
+ vport-lisp vport-vxlan; do
+ echo "/lib/modules/%{kernel}/extra/$m.ko"
+ done | /sbin/weak-modules --remove-modules
+ fi
+fi
%files
%defattr(0644,root,root)