Merge "Add support for Storperf job status"
authorRex Lee <limingjiang@huawei.com>
Mon, 12 Dec 2016 07:06:59 +0000 (07:06 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Mon, 12 Dec 2016 07:06:59 +0000 (07:06 +0000)
1  2 
yardstick/benchmark/scenarios/storage/storperf.py

@@@ -85,11 -86,13 +86,13 @@@ class StorPerf(base.Scenario)
                                   "agent_image", "volume_size"]
  
          for env_argument in env_args_payload_list:
-             if env_argument in self.options:
+             try:
                  env_args[env_argument] = self.options[env_argument]
+             except KeyError:
+                 pass
  
 -        LOG.info("Creating a stack on node %s with parameters %s" %
 -                 (self.target, env_args))
 +        LOG.info("Creating a stack on node %s with parameters %s",
 +                 self.target, env_args)
          setup_res = requests.post('http://%s:5000/api/v1.0/configurations'
                                    % self.target, json=env_args)
  
                                   "target", "nossd", "nowarm", "workload"]
  
          for job_argument in job_args_payload_list:
-             if job_argument in self.options:
+             try:
                  job_args[job_argument] = self.options[job_argument]
+             except KeyError:
+                 pass
  
 -        LOG.info("Starting a job with parameters %s" % job_args)
 +        LOG.info("Starting a job with parameters %s", job_args)
          job_res = requests.post('http://%s:5000/api/v1.0/jobs' % self.target,
                                  json=job_args)
  
                                 job_res_content["message"])
          elif job_res.status_code == 200:
              job_id = job_res_content["job_id"]
 -            LOG.info("Started job id: %s..." % job_id)
 +            LOG.info("Started job id: %s...", job_id)
  
-             time.sleep(self.timeout)
+             while not self.job_completed:
+                 self._query_job_state(job_id)
+                 time.sleep(self.query_interval)
              terminate_res = requests.delete('http://%s:5000/api/v1.0/jobs' %
                                              self.target)