Merge "use stevedore to load util plugins"
This commit is contained in:
		@@ -15,13 +15,13 @@
 | 
			
		||||
import collections
 | 
			
		||||
 | 
			
		||||
import os
 | 
			
		||||
import pkg_resources
 | 
			
		||||
import sys
 | 
			
		||||
import uuid
 | 
			
		||||
 | 
			
		||||
import prettytable
 | 
			
		||||
import six
 | 
			
		||||
from six.moves.urllib import parse
 | 
			
		||||
import stevedore
 | 
			
		||||
 | 
			
		||||
from cinderclient import exceptions
 | 
			
		||||
from oslo_utils import encodeutils
 | 
			
		||||
@@ -330,11 +330,16 @@ def safe_issubclass(*args):
 | 
			
		||||
 | 
			
		||||
def _load_entry_point(ep_name, name=None):
 | 
			
		||||
    """Try to load the entry point ep_name that matches name."""
 | 
			
		||||
    for ep in pkg_resources.iter_entry_points(ep_name, name=name):
 | 
			
		||||
        try:
 | 
			
		||||
            return ep.load()
 | 
			
		||||
        except (ImportError, pkg_resources.UnknownExtra, AttributeError):
 | 
			
		||||
            continue
 | 
			
		||||
    mgr = stevedore.NamedExtensionManager(
 | 
			
		||||
        namespace=ep_name,
 | 
			
		||||
        names=[name],
 | 
			
		||||
        # Ignore errors on load
 | 
			
		||||
        on_load_failure_callback=lambda mgr, entry_point, error: None,
 | 
			
		||||
    )
 | 
			
		||||
    try:
 | 
			
		||||
        return mgr[name].plugin
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        pass
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def get_function_name(func):
 | 
			
		||||
 
 | 
			
		||||
@@ -9,3 +9,4 @@ six>=1.10.0 # MIT
 | 
			
		||||
oslo.i18n>=3.15.3 # Apache-2.0
 | 
			
		||||
oslo.utils>=3.33.0 # Apache-2.0
 | 
			
		||||
requests!=2.20.0,>=2.14.2  # Apache-2.0
 | 
			
		||||
stevedore>=1.20.0 # Apache-2.0
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user