def generate_coverage(archive_dir, name): coverage_config_keys = ('coverage_output_dir', 'coverage_html_dir', 'coverage_tools_dir') for key in coverage_config_keys: if key not in config.to_dict(): log.warn("'%s' not in teuthology config; skipping coverage report", key) return log.info('starting coverage generation') subprocess.Popen(args=[ os.path.join(os.path.dirname(sys.argv[0]), 'teuthology-coverage'), '-v', '-o', os.path.join(config.coverage_output_dir, name), '--html-output', os.path.join(config.coverage_html_dir, name), '--cov-tools-dir', config.coverage_tools_dir, archive_dir, ], )
def nuke_one(ctx, target, should_unlock, synch_clocks, check_locks, noipmi, keep_logs, should_reboot): ret = None ctx = argparse.Namespace( config=dict(targets=target), owner=ctx.owner, check_locks=check_locks, synch_clocks=synch_clocks, teuthology_config=config.to_dict(), name=ctx.name, noipmi=noipmi, ) try: nuke_helper(ctx, should_unlock, keep_logs, should_reboot) except Exception: log.exception('Could not nuke %s' % target) # not re-raising the so that parallel calls aren't killed ret = target else: if should_unlock: unlock_one(ctx, list(target.keys())[0], ctx.owner) return ret
def generate_coverage(archive_dir, name): coverage_config_keys = ('coverage_output_dir', 'coverage_html_dir', 'coverage_tools_dir') for key in coverage_config_keys: if key not in config.to_dict(): log.warn( "'%s' not in teuthology config; skipping coverage report", key) return log.info('starting coverage generation') subprocess.Popen( args=[ os.path.join(os.path.dirname(sys.argv[0]), 'teuthology-coverage'), '-v', '-o', os.path.join(config.coverage_output_dir, name), '--html-output', os.path.join(config.coverage_html_dir, name), '--cov-tools-dir', config.coverage_tools_dir, archive_dir, ], )