from utils.parser import Parser as conf_parser
import utils.env_prepare.quota_prepare as quota_prepare
import utils.env_prepare.stack_prepare as stack_prepare
+import utils.infra_setup.runner.yardstick as runner_yardstick
import testsuites.posca.testcase_dashboard.posca_stress_ping as DashBoard
import utils.infra_setup.runner.docker_env as docker_env
}
testfile = os.path.basename(__file__)
testcase, file_format = os.path.splitext(testfile)
+cidr = "/home/opnfv/repos/yardstick/samples/ping_bottlenecks.yaml"
+runner_DEBUG = True
q = Queue.Queue()
test_yardstick = True
stack_prepare._prepare_env_daemon(test_yardstick)
quota_prepare.quota_env_prepare()
- cmd = ('yardstick env prepare')
- LOG.info("yardstick envrionment prepare!")
+ LOG.info("yardstick environment prepare!")
if(test_config["contexts"]['yardstick_envpre']):
- yardstick_container = docker_env.yardstick_info['container']
- stdout = docker_env.docker_exec_cmd(yardstick_container, cmd)
+ stdout = runner_yardstick.yardstick_image_prepare()
LOG.debug(stdout)
def do_test():
func_name = sys._getframe().f_code.co_name
out_file = ("/tmp/yardstick_" + str(uuid.uuid4()) + ".out")
+ parameter_info = {}
yardstick_container = docker_env.yardstick_info['container']
- cmd = ('yardstick task start /home/opnfv/repos/yardstick/'
- 'samples/ping_bottlenecks.yaml --output-file ' + out_file)
+ cmd = runner_yardstick.yardstick_command_parser(debug=runner_DEBUG,
+ cidr=cidr,
+ outfile=out_file,
+ parameter=parameter_info)
stdout = docker_env.docker_exec_cmd(yardstick_container, cmd)
LOG.info(stdout)
out_value = 0
- loop_walue = 0
- while loop_walue < 150:
+ loop_value = 0
+ while loop_value < 60:
time.sleep(2)
- loop_walue = loop_walue + 1
+ loop_value = loop_value + 1
with open(out_file) as f:
data = json.load(f)
- if data["status"] == 1:
- if data["result"]["criteria"] == "PASS":
- LOG.info("yardstick run success")
- out_value = 1
- else:
- LOG.error("task error exit")
- out_value = 0
+ if data["result"]["criteria"] == "PASS":
+ LOG.info("yardstick run success")
+ out_value = 1
break
- elif data["status"] == 2:
+ else:
LOG.error("yardstick error exit")
+ out_value = 0
+ break
q.put((out_value, func_name))
return out_value
-def config_to_result(num, out_num, during_date):
+def config_to_result(num, out_num, during_date, result):
testdata = {}
test_result = {}
- test_result["number_of_users"] = float(num)
+ test_result["number_of_stacks"] = float(num)
test_result["success_times"] = out_num
test_result["success_rate"] = out_num / num
test_result["duration_time"] = during_date
+ test_result["result"] = result
testdata["data_body"] = test_result
testdata["testcase"] = testcase
return testdata
LOG.info("Create Dashboard data")
DashBoard.posca_stress_ping(test_config["contexts"])
- LOG.info("bottlenecks envrionment prepare!")
env_pre(test_config)
- LOG.info("yardstick envrionment prepare done!")
+ LOG.info("yardstick environment prepare done!")
for value in test_num:
result = []
LOG.info("%s thread success %d times" % (num, out_num))
during_date = (endtime - starttime).seconds
- data_reply = config_to_result(num, out_num, during_date)
+ if out_num >= con_dic["scenarios"]['threshhold']:
+ criteria_result = "PASS"
+ else:
+ criteria_result = "FAIL"
+
+ data_reply = config_to_result(num, out_num, during_date,
+ criteria_result)
if "dashboard" in test_config["contexts"].keys():
DashBoard.dashboard_send_data(test_config['contexts'], data_reply)
conf_parser.result_to_file(data_reply, test_config["out_file"])
- if out_num < num:
- success_rate = ('%d/%d' % (out_num, num))
- LOG.error('error thread: %d '
- 'the successful rate is %s'
- % (num - out_num, success_rate))
+ if criteria_result is "FAIL":
break
LOG.info('END POSCA stress ping test')
+ return criteria_result