From a9b99d2b41173a112f8bed6ae08ea845daa29f37 Mon Sep 17 00:00:00 2001 From: Evgeny Fedoruk Date: Wed, 26 Sep 2018 02:25:00 -0700 Subject: [PATCH] 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 --- octavia/api/drivers/utils.py | 1 + octavia/tests/unit/api/drivers/test_utils.py | 13 +++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/octavia/api/drivers/utils.py b/octavia/api/drivers/utils.py index 4d0611f69c..c1a149afd1 100644 --- a/octavia/api/drivers/utils.py +++ b/octavia/api/drivers/utils.py @@ -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', diff --git a/octavia/tests/unit/api/drivers/test_utils.py b/octavia/tests/unit/api/drivers/test_utils.py index f2b638a2bf..ecc157f134 100644 --- a/octavia/tests/unit/api/drivers/test_utils.py +++ b/octavia/tests/unit/api/drivers/test_utils.py @@ -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))