def schedule_jobs(self, jobs_missing_packages, jobs_to_schedule, name): for job in jobs_to_schedule: log.info( 'Scheduling %s', job['desc'] ) log_prefix = '' if job in jobs_missing_packages: log_prefix = "Missing Packages: " if ( not self.args.dry_run and not config.suite_allow_missing_packages ): util.schedule_fail( "At least one job needs packages that don't exist for " "hash {sha1}.".format(sha1=self.base_config.sha1), name, ) util.teuthology_schedule( args=job['args'], dry_run=self.args.dry_run, verbose=self.args.verbose, log_prefix=log_prefix, ) throttle = self.args.throttle if not self.args.dry_run and throttle: log.info("pause between jobs : --throttle " + str(throttle)) time.sleep(int(throttle))
def write_rerun_memo(self): args = copy.deepcopy(self.base_args) args.append('--first-in-suite') if self.args.subset: subset = '/'.join(str(i) for i in self.args.subset) args.extend(['--subset', subset]) args.extend(['--seed', str(self.args.seed)]) util.teuthology_schedule(args=args, dry_run=self.args.dry_run, verbose=self.args.verbose, log_prefix="Memo: ")
def write_result(self): arg = copy.deepcopy(self.base_args) arg.append('--last-in-suite') if self.base_config.email: arg.extend(['--email', self.base_config.email]) if self.args.timeout: arg.extend(['--timeout', self.args.timeout]) util.teuthology_schedule(args=arg, dry_run=self.args.dry_run, verbose=self.args.verbose, log_prefix="Results: ") results_url = get_results_url(self.base_config.name) if results_url: log.info("Test results viewable at %s", results_url)