Allow extension driver to provide multiple aliases
This allows extensions to supercede older extensions if they provide all of the same functionality plus more. This is used by the DNS domain port extension driver. Change-Id: I3e91669a83e9e16039f4063bf54b511cec94cecc Partial-bug: #1650678
This commit is contained in:
parent
5d5ebd0bd9
commit
37d33b2fcd
|
@ -654,6 +654,16 @@ class ExtensionDriver(object):
|
|||
"""
|
||||
pass
|
||||
|
||||
@property
|
||||
def extension_aliases(self):
|
||||
"""List of extension aliases supported by the driver.
|
||||
|
||||
Return a list of aliases identifying the core API extensions
|
||||
supported by the driver. By default this just returns the
|
||||
extension_alias property for backwards compatibility.
|
||||
"""
|
||||
return [self.extension_alias]
|
||||
|
||||
def process_create_network(self, plugin_context, data, result):
|
||||
"""Process extended attributes for create network.
|
||||
|
||||
|
|
|
@ -902,8 +902,10 @@ class ExtensionManager(stevedore.named.NamedExtensionManager):
|
|||
def extension_aliases(self):
|
||||
exts = []
|
||||
for driver in self.ordered_ext_drivers:
|
||||
alias = driver.obj.extension_alias
|
||||
if alias:
|
||||
aliases = driver.obj.extension_aliases
|
||||
for alias in aliases:
|
||||
if not alias:
|
||||
continue
|
||||
exts.append(alias)
|
||||
LOG.info(_LI("Got %(alias)s extension from driver '%(drv)s'"),
|
||||
{'alias': alias, 'drv': driver.name})
|
||||
|
|
Loading…
Reference in New Issue