示例#1
0
def main(args):
    """Run HOD cluster."""
    optparser = LocalOptions(go_args=args)

    if MPI.COMM_WORLD.rank == MASTERRANK:
        label = optparser.options.label
        if label is None:
            # if no label is specified, use job ID;
            # if $PBS_JOBID is not set, generate a random string (10 chars)
            label = os.getenv('PBS_JOBID', ''.join(random.choice(string.letters + string.digits) for _ in range(10)))
            optparser.options.label = label

        _log.debug("Creating cluster info using label '%s'", label)
        cluster_info = gen_cluster_info(label, optparser.options)
        try:
            save_cluster_info(cluster_info)
        except (IOError, OSError) as e:
            _log.error("Failed to save cluster info files: %s", e)
            sys.exit(1)

        _log.debug("Starting master process")
        svc = ConfiguredMaster(optparser.options)
    else:
        _log.debug("Starting slave process")
        svc = ConfiguredSlave(optparser.options)

    try:
        setup_tasks(svc)
        run_tasks(svc)
        svc.stop_service()
        return 0
    except Exception as err:
        _log.error(str(err))
        _log.exception("HanythingOnDemand failed")
        sys.exit(1)
    def run(self, args):
        """Run 'genconfig' subcommand."""

        setup_diagnostic_environment()

        optparser = GenConfigOptions(go_args=args, usage=self.usage_txt)
        if not validate_required_option(optparser.options):
            sys.stderr.write('Missing config options. Exiting.\n')
            return 1

        svc = ConfiguredMaster(optparser.options)
        try:
            setup_tasks(svc)
        except StandardError as err:
            self._log_and_raise(err)

        return 0
示例#3
0
    def run(self, args):
        """Run 'genconfig' subcommand."""

        setup_diagnostic_environment()

        optparser = GenConfigOptions(go_args=args, usage=self.usage_txt)
        if not validate_required_option(optparser.options):
            sys.stderr.write('Missing config options. Exiting.\n')
            return 1

        svc = ConfiguredMaster(optparser.options)
        try:
            setup_tasks(svc)
            return 0
        except Exception as e:
            _log.error("Failed to setup hod tasks: %s", str(e))
            _log.exception("hod genconfig failed")
            sys.exit(1)