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:
Rajiv Kumar
2017-07-01 19:41:49 +00:00
committed by rajiv
parent 2b16c6c14d
commit 50bae4f47e
2 changed files with 9 additions and 6 deletions

View File

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

View File

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