Wrap push_job_info, gracefully doing nothing if:
A RequestFailedError is raised
config.results_server is not set
+ config['job_id'] is not present or is None
:param job_config: The ctx.config object to push
:param extra_info: Optional second dict to push
if not config.results_server:
msg = "No results_server set in {yaml}; not attempting to push results"
log.debug(msg.format(yaml=config.teuthology_yaml))
- else:
- run_name = job_config['name']
- job_id = job_config['job_id']
+ return
+ elif job_config.get('job_id') is None:
+ log.debug('No job_id found; not reporting results')
+ return
- if extra_info is not None:
- job_info = extra_info.copy()
- job_info.update(job_config)
- else:
- job_info = job_config
+ run_name = job_config['name']
+ job_id = job_config['job_id']
- try:
- log.info("Pushing job info to %s", config.results_server)
- create_run(run_name)
- push_job_info(run_name, job_id, job_info)
- except RequestFailedError:
- log.exception("Could not report results to %s" %
- config.results_server)
+ if extra_info is not None:
+ job_info = extra_info.copy()
+ job_info.update(job_config)
+ else:
+ job_info = job_config
+
+ try:
+ log.info("Pushing job info to %s", config.results_server)
+ create_run(run_name)
+ push_job_info(run_name, job_id, job_info)
+ except RequestFailedError:
+ log.exception("Could not report results to %s" %
+ config.results_server)