On Fri, Jan 26, 2018 at 10:03:53AM -0800, Gregory Rose wrote: > On 1/26/2018 5:30 AM, Flavio Leitner wrote: > > Regarding to change --add-modules to --add-kernel, well, I don't see > > how that is helping. Maybe I am missing something, but every time a > > kernel is installed, it will run weak-modules --add-kernel which > > should create the weak-updates links accordingly, unless the kernel > > is not compatible. > > > > You can verify what the kernel's post install scripts does with this > > command: > > # rpm -q kernel --scripts > > > > You should find this snippet: > > if [ -x /sbin/weak-modules ] > > then > > /sbin/weak-modules --add-kernel 2.6.32-696.18.7.el6.x86_64 || exit $? > > fi > > OK, let me check that again as well but we were definitely seeing situations > in which the > --add-modules was not working. The kernel modules were simply not > installed. At all. > But using --add-kernel seemed to fix it. I only found out about the > add-kernel option > while looking at the weak-modules script and it seemed to fix the situation > I was looking at. > I'll re-verify using the rpm -q kernel --scripts command. After some > further investigation I'll > get back with my findings. Maybe not until mid next week though because I > have some other > duties to attend to as well.
The --add-module would be executed by kmod to add specific modules to all installed and supported kernels while --add-kernel would be executed by the kernel package to get all modules symlinks done for this kernel. Also that --add-kernel receives a kernel version as parameter and not the module list from stdin. What is happening is that it is updating the symlinks for the running kernel only ($1 is empty). I don't know how you're reproducing this, but perhaps you can change those %post/%pre sections to capture the system's state before and after, or even save outputs with debugging enabled (set -x) to temp files. e.g.: sh -x /sbin/weak-modules &> /tmp/weak-modules.log HTH, fbl > > I really appreciate your feed back Flavio! Thanks!!! > > - Greg > > > > > fbl > > > > > Cc: Flavio Leitner <[email protected]> > > > Co-authored-by: Gurucharan Shetty <[email protected]> > > > Signed-off-by: Greg Rose <[email protected]> > > > --- > > > rhel/openvswitch-kmod-fedora.spec.in | 12 +++++++----- > > > rhel/openvswitch-kmod-rhel6.spec.in | 14 ++++++++------ > > > rhel/openvswitch-kmod.files | 2 +- > > > 3 files changed, 16 insertions(+), 12 deletions(-) > > > > > > diff --git a/rhel/openvswitch-kmod-fedora.spec.in > > > b/rhel/openvswitch-kmod-fedora.spec.in > > > index c0cd298..ae3a4d8 100644 > > > --- a/rhel/openvswitch-kmod-fedora.spec.in > > > +++ b/rhel/openvswitch-kmod-fedora.spec.in > > > @@ -43,13 +43,15 @@ make %{_smp_mflags} -C datapath/linux > > > rm -rf $RPM_BUILD_ROOT > > > make INSTALL_MOD_PATH=$RPM_BUILD_ROOT -C datapath/linux modules_install > > > mkdir -p $RPM_BUILD_ROOT/etc/depmod.d > > > + > > > +echo "search weak-updates updates extra built-in" >> > > > $RPM_BUILD_ROOT/etc/depmod.d/01openvswitch.conf > > > for module in $RPM_BUILD_ROOT/lib/modules/%{kernel}/extra/*.ko > > > do > > > modname="$(basename ${module})" > > > echo "override ${modname%.ko} * extra" >> \ > > > - $RPM_BUILD_ROOT/etc/depmod.d/kmod-openvswitch.conf > > > + $RPM_BUILD_ROOT/etc/depmod.d/01openvswitch.conf > > > echo "override ${modname%.ko} * weak-updates" >> \ > > > - $RPM_BUILD_ROOT/etc/depmod.d/kmod-openvswitch.conf > > > + $RPM_BUILD_ROOT/etc/depmod.d/01openvswitch.conf > > > done > > > %clean > > > @@ -64,7 +66,7 @@ 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 > > > + done | /sbin/weak-modules --add-kernel > > > fi > > > %postun > > > @@ -76,14 +78,14 @@ if [ "$1" = 0 ]; then # Erase, not upgrade > > > 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 > > > + done | /sbin/weak-modules --remove-kernel > > > fi > > > fi > > > %files > > > %defattr(0644,root,root) > > > /lib/modules/%{kernel}/extra/*.ko > > > -/etc/depmod.d/kmod-openvswitch.conf > > > +/etc/depmod.d/01openvswitch.conf > > > %exclude /lib/modules/%{kernel}/modules.* > > > %changelog > > > diff --git a/rhel/openvswitch-kmod-rhel6.spec.in > > > b/rhel/openvswitch-kmod-rhel6.spec.in > > > index c6e6db5..28c7ce1 100644 > > > --- a/rhel/openvswitch-kmod-rhel6.spec.in > > > +++ b/rhel/openvswitch-kmod-rhel6.spec.in > > > @@ -62,13 +62,15 @@ for flavor in %flavors_to_build ; do > > > find $INSTALL_MOD_PATH/lib/modules -iname 'modules.*' -exec rm > > > {} \; > > > done > > > install -d %{buildroot}%{_sysconfdir}/depmod.d/ > > > + > > > +echo "search extra/openvswitch weak-updates/openvswitch updates extra > > > built-in weak-updates" >> 01%{oname}.conf > > > for module in > > > %{buildroot}/lib/modules/%{kernel_version}/$INSTALL_MOD_DIR/*.ko; > > > do > > > modname="$(basename ${module})" > > > - echo "override ${modname%.ko} * extra/%{oname}" >> %{oname}.conf > > > - echo "override ${modname%.ko} * weak-updates/%{oname}" >> > > > %{oname}.conf > > > + echo "override ${modname%.ko} * extra/%{oname}" >> 01%{oname}.conf > > > + echo "override ${modname%.ko} * weak-updates/%{oname}" >> > > > 01%{oname}.conf > > > done > > > -install -m 644 %{oname}.conf %{buildroot}%{_sysconfdir}/depmod.d/ > > > +install -m 644 01%{oname}.conf %{buildroot}%{_sysconfdir}/depmod.d/ > > > %post > > > # Ensure that modprobe will find our modules. > > > @@ -79,7 +81,7 @@ 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 > > > + done | /sbin/weak-modules --add-kernel > > > fi > > > %postun > > > @@ -91,13 +93,13 @@ if [ "$1" = 0 ]; then # Erase, not upgrade > > > 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 > > > + done | /sbin/weak-modules --remove-kernel > > > fi > > > fi > > > %files > > > %defattr(644,root,root) > > > -/etc/depmod.d/%{oname}.conf > > > +/etc/depmod.d/01%{oname}.conf > > > %clean > > > rm -rf $RPM_BUILD_ROOT > > > diff --git a/rhel/openvswitch-kmod.files b/rhel/openvswitch-kmod.files > > > index 357c2e8..49262f3 100644 > > > --- a/rhel/openvswitch-kmod.files > > > +++ b/rhel/openvswitch-kmod.files > > > @@ -1,3 +1,3 @@ > > > %defattr(644,root,root,755) > > > /lib/modules/%2-%1 > > > -/etc/depmod.d/openvswitch.conf > > > +/etc/depmod.d/01openvswitch.conf > > > -- > > > 1.8.3.1 > > > > > > _______________________________________________ > > > dev mailing list > > > [email protected] > > > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev -- Flavio _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
