Fix floating ips issue in openstack_clean
authorjose.lausuch <jose.lausuch@ericsson.com>
Mon, 26 Jun 2017 15:44:47 +0000 (17:44 +0200)
committerjose.lausuch <jose.lausuch@ericsson.com>
Mon, 26 Jun 2017 20:46:21 +0000 (22:46 +0200)
floatingips is a list of dictionaries where the attributes
are a bit different than in the previous implementation.

Change-Id: I8e8429b1819bba35a4a829f274c60b77ab2eea7e
Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
functest/tests/unit/utils/test_openstack_clean.py
functest/utils/openstack_clean.py

index 5feed16..6ae7faa 100644 (file)
@@ -61,6 +61,8 @@ class OSCleanTesting(unittest.TestCase):
                                {'id': 'id2', 'name': 'name2', 'ip': 'ip2',
                                 'router:external': False,
                                 'external_gateway_info': None}]
+        self.floatingips_list = [{'id': 'id1', 'floating_ip_address': 'ip1'},
+                                 {'id': 'id2', 'floating_ip_address': 'ip2'}]
         self.routers = [mock.Mock()]
         self.ports = [mock.Mock()]
 
@@ -254,7 +256,8 @@ class OSCleanTesting(unittest.TestCase):
     @mock.patch('functest.utils.openstack_clean.logger.debug')
     def test_remove_floatingips(self, mock_logger_debug):
         with mock.patch('functest.utils.openstack_clean.os_utils'
-                        '.get_floating_ips', return_value=self.test_list):
+                        '.get_floating_ips',
+                        return_value=self.floatingips_list):
             openstack_clean.remove_floatingips(self.client, self.update_list)
             mock_logger_debug.assert_any_call("Removing floating IPs...")
             mock_logger_debug.assert_any_call("   > this is a default "
@@ -272,9 +275,10 @@ class OSCleanTesting(unittest.TestCase):
     @mock.patch('functest.utils.openstack_clean.logger.debug')
     def test_remove_floatingips_delete_success(self, mock_logger_debug):
         with mock.patch('functest.utils.openstack_clean.os_utils'
-                        '.get_floating_ips', return_value=self.test_list), \
+                        '.get_floating_ips',
+                        return_value=self.floatingips_list), \
                 mock.patch('functest.utils.openstack_clean.os_utils'
-                           '.delete_volume', return_value=True):
+                           '.delete_floating_ip', return_value=True):
             openstack_clean.remove_floatingips(self.client, self.remove_list)
             mock_logger_debug.assert_any_call("Removing floating IPs...")
             mock_logger_debug.assert_any_call("  > Done!")
@@ -287,7 +291,8 @@ class OSCleanTesting(unittest.TestCase):
     def test_remove_floatingips_delete_failed(self, mock_logger_debug,
                                               mock_logger_error):
         with mock.patch('functest.utils.openstack_clean.os_utils'
-                        '.get_floating_ips', return_value=self.test_list), \
+                        '.get_floating_ips',
+                        return_value=self.floatingips_list), \
                 mock.patch('functest.utils.openstack_clean.os_utils'
                            '.delete_floating_ip', return_value=False):
             openstack_clean.remove_floatingips(self.client, self.remove_list)
index b516789..e88245d 100755 (executable)
@@ -148,8 +148,8 @@ def remove_floatingips(neutron_client, default_floatingips):
     init_len = len(floatingips)
     deleted = 0
     for fip in floatingips:
-        fip_id = getattr(fip, 'id')
-        fip_ip = getattr(fip, 'ip')
+        fip_id = fip['id']
+        fip_ip = fip['floating_ip_address']
         logger.debug("'%s', ID=%s " % (fip_ip, fip_id))
         if (fip_id not in default_floatingips and
                 fip_ip not in default_floatingips.values()):