from autotest_lib.server import utils


def install(machine):
    if utils.machine_is_testbed(machine):
        logging.info('testbed does not need to verify job repo url.')
        return

    logging.info('Verifying job repo url for machine %s', machine)
    host = hosts.create_host(machine)
    host.verify_job_repo_url(job.tag)


job.parallel_simple(install, machines, log=False)
