use router az api def from neutron-lib
The route availability zone extension's API definition was rehomed into neutron-lib with commit I8bc54b581c26d8472e38efaaa63741785e07d2b8 This patch consumes the API definition by: - Removing the rehomed code from neutron. - Using the APIExtensionDescriptor for the extension classes parent thereby leveraging the values from the API defintion. - Updating any references to now use the neutron-lib code. NeutronLibImpact Change-Id: I70db0cebe7656fde6ff1fe724fe604eb70e26f75
This commit is contained in:
@@ -14,49 +14,15 @@
|
||||
|
||||
import abc
|
||||
|
||||
from neutron_lib.api.definitions import availability_zone as az_def
|
||||
from neutron_lib.api.definitions import router_availability_zone as apidef
|
||||
from neutron_lib.api import extensions
|
||||
import six
|
||||
|
||||
|
||||
EXTENDED_ATTRIBUTES_2_0 = {
|
||||
'routers': {
|
||||
az_def.COLLECTION_NAME: {'allow_post': False, 'allow_put': False,
|
||||
'is_visible': True},
|
||||
az_def.AZ_HINTS: {
|
||||
'allow_post': True, 'allow_put': False, 'is_visible': True,
|
||||
'validate': {'type:availability_zone_hint_list': None},
|
||||
'default': []}}
|
||||
}
|
||||
|
||||
|
||||
class Router_availability_zone(extensions.ExtensionDescriptor):
|
||||
class Router_availability_zone(extensions.APIExtensionDescriptor):
|
||||
"""Router availability zone extension."""
|
||||
|
||||
@classmethod
|
||||
def get_name(cls):
|
||||
return "Router Availability Zone"
|
||||
|
||||
@classmethod
|
||||
def get_alias(cls):
|
||||
return "router_availability_zone"
|
||||
|
||||
@classmethod
|
||||
def get_description(cls):
|
||||
return "Availability zone support for router."
|
||||
|
||||
@classmethod
|
||||
def get_updated(cls):
|
||||
return "2015-01-01T10:00:00-00:00"
|
||||
|
||||
def get_required_extensions(self):
|
||||
return ["router", "availability_zone"]
|
||||
|
||||
def get_extended_resources(self, version):
|
||||
if version == "2.0":
|
||||
return EXTENDED_ATTRIBUTES_2_0
|
||||
else:
|
||||
return {}
|
||||
api_definition = apidef
|
||||
|
||||
|
||||
@six.add_metaclass(abc.ABCMeta)
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
|
||||
import copy
|
||||
|
||||
from neutron_lib.api.definitions import router_availability_zone as raz_apidef
|
||||
from neutron_lib.plugins import constants
|
||||
|
||||
from neutron.db.availability_zone import router as router_az_db
|
||||
@@ -20,7 +21,6 @@ from neutron.db import common_db_mixin
|
||||
from neutron.db import l3_agentschedulers_db
|
||||
from neutron.db import l3_db
|
||||
from neutron.extensions import l3
|
||||
from neutron.extensions import router_availability_zone as router_az
|
||||
from neutron.tests.unit.extensions import test_availability_zone as test_az
|
||||
from neutron.tests.unit.extensions import test_l3
|
||||
|
||||
@@ -57,7 +57,7 @@ class TestAZRouterCase(test_az.AZTestCommon, test_l3.L3NatTestCaseMixin):
|
||||
|
||||
self._backup()
|
||||
l3.RESOURCE_ATTRIBUTE_MAP['routers'].update(
|
||||
router_az.EXTENDED_ATTRIBUTES_2_0['routers'])
|
||||
raz_apidef.RESOURCE_ATTRIBUTE_MAP['routers'])
|
||||
ext_mgr = AZL3ExtensionManager()
|
||||
super(TestAZRouterCase, self).setUp(plugin=plugin, ext_mgr=ext_mgr,
|
||||
service_plugins=service_plugins)
|
||||
|
||||
Reference in New Issue
Block a user