← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1291535] [NEW] 'Unable to retrieve OVS kernel module version' when _not_ using DKMS openvswitch module

 

Public bug reported:

If we are using openvswitch in a system with a newer kernel
(3.13/trusty) it should have the features required for neutron and not
require an openvswitch dkms package. Therefore we should be able to use
the native module.

In neutron/agent/linux/ovs_lib.py:

def get_installed_ovs_klm_version():
    args = ["modinfo", "openvswitch"]
    try:
        cmd = utils.execute(args)
        for line in cmd.split('\n'):
            if 'version: ' in line and not 'srcversion' in line:
                ver = re.findall("\d+\.\d+", line)
                return ver[0]
    except Exception:
        LOG.exception(_("Unable to retrieve OVS kernel module version."))

So if we run modinfo on a system without a DKMS package we get:
$ modinfo openvswitch
filename:       /lib/modules/3.13.0-16-generic/kernel/net/openvswitch/openvswitch.ko
license:        GPL
description:    Open vSwitch switching datapath
srcversion:     1CEE031973F0E4024ACC848
depends:        libcrc32c,vxlan,gre
intree:         Y
vermagic:       3.13.0-16-generic SMP mod_unload modversions 
signer:         Magrathea: Glacier signing key
sig_key:        1A:EE:D8:17:C4:D5:29:55:C4:FA:C3:3A:02:37:FE:0A:93:44:6D:69
sig_hashalgo:   sha512

Because 'version' isn't provided we need an alternative way of checking
if the openvswitch module has the required features.

** Affects: neutron
     Importance: Undecided
         Status: New

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

Title:
  'Unable to retrieve OVS kernel module version' when _not_ using DKMS
  openvswitch module

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  If we are using openvswitch in a system with a newer kernel
  (3.13/trusty) it should have the features required for neutron and not
  require an openvswitch dkms package. Therefore we should be able to
  use the native module.

  In neutron/agent/linux/ovs_lib.py:

  def get_installed_ovs_klm_version():
      args = ["modinfo", "openvswitch"]
      try:
          cmd = utils.execute(args)
          for line in cmd.split('\n'):
              if 'version: ' in line and not 'srcversion' in line:
                  ver = re.findall("\d+\.\d+", line)
                  return ver[0]
      except Exception:
          LOG.exception(_("Unable to retrieve OVS kernel module version."))

  So if we run modinfo on a system without a DKMS package we get:
  $ modinfo openvswitch
  filename:       /lib/modules/3.13.0-16-generic/kernel/net/openvswitch/openvswitch.ko
  license:        GPL
  description:    Open vSwitch switching datapath
  srcversion:     1CEE031973F0E4024ACC848
  depends:        libcrc32c,vxlan,gre
  intree:         Y
  vermagic:       3.13.0-16-generic SMP mod_unload modversions 
  signer:         Magrathea: Glacier signing key
  sig_key:        1A:EE:D8:17:C4:D5:29:55:C4:FA:C3:3A:02:37:FE:0A:93:44:6D:69
  sig_hashalgo:   sha512

  Because 'version' isn't provided we need an alternative way of
  checking if the openvswitch module has the required features.

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


Follow ups

References