← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1319082] Re: openvswitch agent klm version detection fails on newer kernels

 

*** This bug is a duplicate of bug 1291535 ***
    https://bugs.launchpad.net/bugs/1291535

** This bug has been marked a duplicate of bug 1291535
   'Unable to retrieve OVS kernel module version' when _not_ using DKMS openvswitch module

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1319082

Title:
  openvswitch agent klm version detection fails on newer kernels

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  
  In neutron/agent/linux/ovs_lib.py get_installed_ovs_klm_version() uses modinfo to detect the version of Open vSwitch provided by the kernel module. The current code simply invokes 'modinfo openvswitch' and looks for the version: line. Now that Open vSwitch has been merged into the mainline kernel version it does not contain that line since the version is simply the version of the Linux kernel. Here is an example of the modprobe output:

      $ modinfo openvswitch
      filename:       /lib/modules/3.14.0-031400-generic/kernel/net/openvswitch/openvswitch.ko
      license:        GPL
      description:    Open vSwitch switching datapath
      srcversion:     B3028BC1DB4D9FCEA33EE9C
      depends:        libcrc32c,vxlan,gre
      intree:         Y
      vermagic:       3.14.0-031400-generic SMP mod_unload modversions 
      signer:         Magrathea: Glacier signing key
      sig_key:        81:29:87:03:9D:4A:1E:B1:AC:7B:5D:2B:4E:CD:B3:BA:9E:78:5C:D3
      sig_hashalgo:   sha512

  For our installations I patched around this limitation by simply
  returning the string 2.0 if the version line was not present:

      $ git diff
      diff --git a/neutron/agent/linux/ovs_lib.py b/neutron/agent/linux/ovs_lib.py
      index 2072183..b56fadc 100644
      --- a/neutron/agent/linux/ovs_lib.py
      +++ b/neutron/agent/linux/ovs_lib.py
      @@ -477,6 +477,7 @@ def get_installed_ovs_klm_version():
                   if 'version: ' in line and not 'srcversion' in line:
                       ver = re.findall("\d+\.\d+", line)
                       return ver[0]
      +        return '2.0'
           except Exception:
               LOG.exception(_("Unable to retrieve OVS kernel module version."))

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1319082/+subscriptions


References