]> git.proxmox.com Git - ovs.git/commitdiff
rhel: Fix upgrade path
authorGreg Rose <gvrose8192@gmail.com>
Tue, 25 Jun 2019 18:45:52 +0000 (11:45 -0700)
committerJustin Pettit <jpettit@ovn.org>
Tue, 25 Jun 2019 23:18:35 +0000 (16:18 -0700)
There is a bug in the upgrade path from the old kmod-openvswitch SysV
based RPM to the new openvswitch-kmod systemd based RPM. Since the
name of the package is changed it is not possible to use the yum
or rpm upgrade options.  This prevents passing in a 1 or 2 to the
%postun scriptlet section of the older RPM and that causes the section
to be treated as an 'erase'.  The old kmod-openvswitch %postun section
proceeds to erase the symlinks in ../weak-updates/openvwswitch that
the installation of the new package had just created.

Fix this by adding a %posttrans tag to the systemd spec file.  This
scriptlet is called after the symlinks have just been erased and
it calls the ovs-kmod-manage.sh script to recreate the symlinks and
run depmod -a again so that the correct kernel modules will be
found and loaded.

VMware-BZ: #236987

Cc: Aaron Conole <aconole@redhat.com>
Cc: Flavio Leitner <fbl@redhat.com>
Signed-off-by: Greg Rose <gvrose8192@gmail.com>
Acked-by: Aaron Conole <aconole@redhat.com>
Signed-off-by: Justin Pettit <jpettit@ovn.org>
rhel/openvswitch-kmod-fedora.spec.in

index 8d54fd734de8467a1c26c7bce64eaafe9240b462..9a9eb82237b6397e320ba097a2ba74986f7383f5 100644 (file)
@@ -120,6 +120,15 @@ done
 fi
 /sbin/depmod -a
 
+%posttrans
+# The upgrade path from the older kmod-openvswitch SysV package to
+# the newer openvswitch-kmod systemd package will end up removing
+# the symlinks to the weak-updates/openvswitch drivers because of
+# it's %postun section.  We add this section to handle that case.
+if [ -x "%{_datadir}/openvswitch/scripts/ovs-kmod-manage.sh" ]; then
+    %{_datadir}/openvswitch/scripts/ovs-kmod-manage.sh
+fi
+
 %files
 %defattr(0644,root,root)
 /lib/modules/*/extra/openvswitch/*.ko