make item 'extra_container' available for every project 87/65787/3
authorxudan <xudan16@huawei.com>
Thu, 13 Dec 2018 11:23:08 +0000 (06:23 -0500)
committerDan Xu <xudan16@huawei.com>
Mon, 17 Dec 2018 01:29:29 +0000 (01:29 +0000)
The item 'extra_container' used to be available for Bottlenecks only.
Make it open for Dovetail framework.

Change-Id: If4f2c032924447b97e401d497aca0309c0f5d847
Signed-off-by: xudan <xudan16@huawei.com>
dovetail/container.py
dovetail/tests/unit/test_container.py

index ed006dc..d44035c 100644 (file)
@@ -168,10 +168,10 @@ class Container(object):
     def clean(self):
         cmd = ('sudo docker rm -f {}'.format(self.container_id))
         dt_utils.exec_cmd(cmd, self.logger)
-        if self.valid_type.lower() == 'bottlenecks':
-            containers = dt_utils.get_value_from_dict(
-                'extra_container', dt_cfg.dovetail_config[self.valid_type])
-            for container in containers:
+        extra_containers = dt_utils.get_value_from_dict(
+            'extra_container', dt_cfg.dovetail_config[self.valid_type])
+        if extra_containers:
+            for container in extra_containers:
                 if self.check_container_exist(container):
                     cmd = ('sudo docker rm -f {}'.format(container))
                     dt_utils.exec_cmd(cmd, self.logger)
index 70e01d8..25509a7 100644 (file)
@@ -154,6 +154,13 @@ class ContainerTesting(unittest.TestCase):
             call('sudo docker rm -f None', self.logger),
             call('sudo docker rm -f container', self.logger)])
 
+    @patch('dovetail.container.dt_cfg')
+    @patch('dovetail.container.dt_utils')
+    def test_clean_no_extra_container(self, mock_utils, mock_config):
+        mock_utils.get_value_from_dict.return_value = None
+        self.container.clean()
+        mock_utils.get_value_from_dict.assert_called_once()
+
     @patch('dovetail.container.dt_utils')
     def test_check_container_exist_true(self, mock_utils):
         container_name = 'container'