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:
Boden R
2017-11-06 15:27:14 -07:00
parent 8e9959725e
commit 973a8d7f50
2 changed files with 5 additions and 39 deletions

View File

@@ -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)

View File

@@ -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)