Merge "Cleanup CGNAPT unit tests"
[yardstick.git] / yardstick / benchmark / scenarios / lib / create_router.py
index 9aa57eb..34252f6 100644 (file)
@@ -7,13 +7,11 @@
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 
-from __future__ import print_function
-from __future__ import absolute_import
-
 import logging
 
 from yardstick.benchmark.scenarios import base
-import yardstick.common.openstack_utils as op_utils
+from yardstick.common import openstack_utils
+from yardstick.common import exceptions
 
 LOG = logging.getLogger(__name__)
 
@@ -28,9 +26,14 @@ class CreateRouter(base.Scenario):
         self.context_cfg = context_cfg
         self.options = self.scenario_cfg['options']
 
-        self.openstack = self.options.get("openstack_paras", None)
+        self.name = self.options.get('name')
+        self.admin_state_up = self.options.get('admin_state_up', True)
+        self.ext_gateway_net_id = self.options.get('ext_gateway_net_id')
+        self.enable_snat = self.options.get('enable_snat')
+        self.ext_fixed_ips = self.options.get('ext_fixed_ips')
+        self.project_id = self.options.get('project_id')
 
-        self.neutron_client = op_utils.get_neutron_client()
+        self.shade_client = openstack_utils.get_shade_client()
 
         self.setup_done = False
 
@@ -45,22 +48,19 @@ class CreateRouter(base.Scenario):
         if not self.setup_done:
             self.setup()
 
-        openstack_paras = {'router': self.openstack}
-        router_id = op_utils.create_neutron_router(self.neutron_client,
-                                                   openstack_paras)
-        if router_id:
-            result.update({"network_create": 1})
-            LOG.info("Create router successful!")
-        else:
-            result.update({"network_create": 0})
+        router_id = openstack_utils.create_neutron_router(
+            self.shade_client, name=self.name,
+            admin_state_up=self.admin_state_up,
+            ext_gateway_net_id=self.ext_gateway_net_id,
+            enable_snat=self.enable_snat, ext_fixed_ips=self.ext_fixed_ips,
+            project_id=self.project_id)
+        if not router_id:
+            result.update({"router_create": 0})
             LOG.error("Create router failed!")
+            raise exceptions.ScenarioCreateRouterError
 
-        check_result = router_id
-
-        try:
-            keys = self.scenario_cfg.get('output', '').split()
-        except KeyError:
-            pass
-        else:
-            values = [check_result]
-            return self._push_to_outputs(keys, values)
+        result.update({"router_create": 1})
+        LOG.info("Create router successful!")
+        keys = self.scenario_cfg.get('output', '').split()
+        values = [router_id]
+        return self._push_to_outputs(keys, values)