Enable members of lbaas to use custom url builder
Member APIs contains /pool/<pool-id>/member/<member-id> which increased thse size of the column. And current implementation is not the clean way of implementing member operation. Because wrong information related to object type is stored in database. Customied URL builder for lbaas member resource is used to the discussed issues. Change-Id: Ic61aaeb8d8d47c75d3d6834c581fb40968145ba2
This commit is contained in:
@@ -114,10 +114,12 @@ class ODLMemberManager(OpenDaylightManager,
|
||||
super(ODLMemberManager, self).__init__(
|
||||
driver, odl_const.ODL_MEMBER)
|
||||
|
||||
def _journal_record(self, context, obj_type, obj_id, operation, obj):
|
||||
obj_type = ("lbaas/pools/%s/member" % obj.pool.id)
|
||||
journal.record(context, obj_type, obj_id, operation, obj)
|
||||
self.journal.set_sync_event()
|
||||
journal.register_url_builder(odl_const.ODL_MEMBER,
|
||||
self.lbaas_member_url_builder)
|
||||
|
||||
@staticmethod
|
||||
def lbaas_member_url_builder(row):
|
||||
return ("lbaas/pools/%s/member" % row.data.pool.id)
|
||||
|
||||
|
||||
class ODLHealthMonitorManager(OpenDaylightManager,
|
||||
|
@@ -19,6 +19,7 @@ from neutron_lbaas.services.loadbalancer import data_models
|
||||
|
||||
from networking_odl.common import constants as odl_const
|
||||
from networking_odl.db import db
|
||||
from networking_odl.journal import journal
|
||||
from networking_odl.lbaas import lbaasv2_driver_v2 as lb_driver
|
||||
from networking_odl.tests.unit import base_v2
|
||||
|
||||
@@ -79,8 +80,8 @@ class OpenDaylightLBaaSBaseTestCase(base_v2.OpenDaylightConfigBase):
|
||||
if obj_type != odl_const.ODL_MEMBER:
|
||||
self.assertEqual(("lbaas/%s" % obj_type), row['object_type'])
|
||||
else:
|
||||
self.assertEqual(("lbaas/pools/%s/member" % obj.pool.id),
|
||||
row['object_type'])
|
||||
self.assertEqual(journal.MAKE_URL[obj_type](row),
|
||||
("lbaas/pools/%s/member" % obj.pool.id))
|
||||
|
||||
|
||||
class OpenDaylightLBaaSDriverTestCase(OpenDaylightLBaaSBaseTestCase):
|
||||
|
Reference in New Issue
Block a user