Fix for utils LB DM transformation function

Fixing utils function for common LB data model transformation
to provider driver data model which does not consider
a Vip data model object.
Unit test which didn't cover this bug was modified.

Change-Id: Ib3d5eb1f27ec1f10ed0f73b342927b78f1a237c7
Implements Story: 2003733
This commit is contained in:
Evgeny Fedoruk 2018-09-26 02:25:00 -07:00 committed by Michael Johnson
parent 2ea3ed8c48
commit a9b99d2b41
2 changed files with 12 additions and 2 deletions

View File

@ -113,6 +113,7 @@ def lb_dict_to_provider_dict(lb_dict, vip=None,
def db_loadbalancer_to_provider_loadbalancer(db_loadbalancer):
new_loadbalancer_dict = lb_dict_to_provider_dict(
db_loadbalancer.to_dict(recurse=True),
vip=db_loadbalancer.vip,
db_pools=db_loadbalancer.pools,
db_listeners=db_loadbalancer.listeners)
for unsupported_field in ['server_group_id', 'amphorae',

View File

@ -133,10 +133,19 @@ class TestUtils(base.TestCase):
self.assertEqual(ref_prov_lb_dict, provider_lb_dict)
def test_db_loadbalancer_to_provider_loadbalancer(self):
test_db_lb = data_models.LoadBalancer(id=1)
vip = data_models.Vip(ip_address=self.sample_data.ip_address,
network_id=self.sample_data.network_id,
port_id=self.sample_data.port_id,
subnet_id=self.sample_data.subnet_id)
test_db_lb = data_models.LoadBalancer(id=1, vip=vip)
provider_lb = utils.db_loadbalancer_to_provider_loadbalancer(
test_db_lb)
ref_provider_lb = driver_dm.LoadBalancer(loadbalancer_id=1)
ref_provider_lb = driver_dm.LoadBalancer(
loadbalancer_id=1,
vip_address=self.sample_data.ip_address,
vip_network_id=self.sample_data.network_id,
vip_port_id=self.sample_data.port_id,
vip_subnet_id=self.sample_data.subnet_id)
self.assertEqual(ref_provider_lb.to_dict(render_unsets=True),
provider_lb.to_dict(render_unsets=True))