X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=yardstick%2Fbenchmark%2Fscenarios%2Favailability%2Fscenario_general.py;h=9ac55471d489b3d3681d8558a463962515d0fbdd;hb=740cd01e5fb0eb764eeea5b0e55466734a41b596;hp=a950ef9336448044f63c3ac7cfc4e4727c831936;hpb=e610b655fa141e5ee5382f24a532283dbbace89e;p=yardstick.git diff --git a/yardstick/benchmark/scenarios/availability/scenario_general.py b/yardstick/benchmark/scenarios/availability/scenario_general.py index a950ef933..9ac55471d 100644 --- a/yardstick/benchmark/scenarios/availability/scenario_general.py +++ b/yardstick/benchmark/scenarios/availability/scenario_general.py @@ -25,11 +25,13 @@ class ScenarioGeneral(base.Scenario): "scenario_cfg:%s context_cfg:%s", scenario_cfg, context_cfg) self.scenario_cfg = scenario_cfg self.context_cfg = context_cfg + self.intermediate_variables = {} + self.pass_flag = True def setup(self): self.director = Director(self.scenario_cfg, self.context_cfg) - def run(self, args): + def run(self, result): steps = self.scenario_cfg["options"]["steps"] orderedSteps = sorted(steps, key=lambda x: x['index']) for step in orderedSteps: @@ -38,7 +40,8 @@ class ScenarioGeneral(base.Scenario): orderedSteps.index(step) + 1) try: actionPlayer = self.director.createActionPlayer( - step['actionType'], step['actionKey']) + step['actionType'], step['actionKey'], + self.intermediate_variables) actionPlayer.action() actionRollbacker = self.director.createActionRollbacker( step['actionType'], step['actionKey']) @@ -54,14 +57,33 @@ class ScenarioGeneral(base.Scenario): pass self.director.stopMonitors() - if self.director.verify(): - LOG.debug( - "\033[92m congratulations, " - "the test cases scenario is pass! \033[0m") + + verify_result = self.director.verify() + + self.director.store_result(result) + + for k, v in self.director.data.items(): + if v == 0: + result['sla_pass'] = 0 + verify_result = False + self.pass_flag = False + LOG.info( + "\033[92m The service process not found in the host \ +envrioment, the HA test case NOT pass") + + if verify_result: + result['sla_pass'] = 1 + LOG.info( + "\033[92m Congratulations, " + "the HA test case PASS! \033[0m") else: - LOG.debug( - "\033[91m aoh,the test cases scenario failed," + result['sla_pass'] = 0 + self.pass_flag = False + LOG.info( + "\033[91m Aoh, the HA test case FAIL," "please check the detail debug information! \033[0m") def teardown(self): self.director.knockoff() + + assert self.pass_flag, "The HA test case NOT passed"