← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1468012] [NEW] compute monitors should be loaded via stevedore

 

Public bug reported:

The monitor plugins in /nova/compute/monitors/ are currently loaded via
a nova.loadables.BaseLoader subclass called ResourceMonitorHandler. We
should be able to get rid of the nova.loadables Python module and just
use the stevedore library, which is purpose-built for extension loading
and managing like this.

This would have the side benefit of us being able to deprecate the
following CONF options:

compute_monitors_opts = [
    cfg.MultiStrOpt('compute_available_monitors',
                    default=['nova.compute.monitors.all_monitors'],
                    help='Monitor classes available to the compute which may '
                         'be specified more than once.'),
    cfg.ListOpt('compute_monitors',
                default=[],
                help='A list of monitors that can be used for getting '
                     'compute metrics.'),
    ]

Since stevedore's ExtensionManager loads extensions via standard Python
setuptools entry_points.

** Affects: nova
     Importance: Wishlist
     Assignee: Jay Pipes (jaypipes)
         Status: Triaged


** Tags: low-hanging-fruit

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1468012

Title:
  compute monitors should be loaded via stevedore

Status in OpenStack Compute (Nova):
  Triaged

Bug description:
  The monitor plugins in /nova/compute/monitors/ are currently loaded
  via a nova.loadables.BaseLoader subclass called
  ResourceMonitorHandler. We should be able to get rid of the
  nova.loadables Python module and just use the stevedore library, which
  is purpose-built for extension loading and managing like this.

  This would have the side benefit of us being able to deprecate the
  following CONF options:

  compute_monitors_opts = [
      cfg.MultiStrOpt('compute_available_monitors',
                      default=['nova.compute.monitors.all_monitors'],
                      help='Monitor classes available to the compute which may '
                           'be specified more than once.'),
      cfg.ListOpt('compute_monitors',
                  default=[],
                  help='A list of monitors that can be used for getting '
                       'compute metrics.'),
      ]

  Since stevedore's ExtensionManager loads extensions via standard
  Python setuptools entry_points.

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


Follow ups

References