Show More
@@ -647,12 +647,16 b' def main_pbs(args):' | |||
|
647 | 647 | if not check_reuse(args, cont_args): |
|
648 | 648 | return |
|
649 | 649 | |
|
650 | if args.pbsscript and not os.path.isfile(args.pbsscript): | |
|
651 | log.err('PBS script does not exist: %s' % args.pbsscript) | |
|
652 | return | |
|
653 | ||
|
650 | 654 | cl = ControllerLauncher(extra_args=cont_args) |
|
651 | 655 | dstart = cl.start() |
|
652 | 656 | def start_engines(r): |
|
653 | 657 | pbs_set = PBSEngineSet(args.pbsscript) |
|
654 | 658 | def shutdown(signum, frame): |
|
655 |
log.msg('Stopping |
|
|
659 | log.msg('Stopping PBS cluster') | |
|
656 | 660 | d = pbs_set.kill() |
|
657 | 661 | d.addBoth(lambda _: cl.interrupt_then_kill(1.0)) |
|
658 | 662 | d.addBoth(lambda _: reactor.callLater(2.0, reactor.stop)) |
@@ -697,6 +701,39 b' def main_sge(args):' | |||
|
697 | 701 | dstart.addCallback(_delay_start, start_engines, furl_file, args.r) |
|
698 | 702 | dstart.addErrback(_err_and_stop) |
|
699 | 703 | |
|
704 | def main_lsf(args): | |
|
705 | cont_args = [] | |
|
706 | cont_args.append('--logfile=%s' % pjoin(args.logdir,'ipcontroller')) | |
|
707 | ||
|
708 | # Check security settings before proceeding | |
|
709 | if not check_security(args, cont_args): | |
|
710 | return | |
|
711 | ||
|
712 | # See if we are reusing FURL files | |
|
713 | if not check_reuse(args, cont_args): | |
|
714 | return | |
|
715 | ||
|
716 | if args.lsfscript and not os.path.isfile(args.lsfscript): | |
|
717 | log.err('LSF script does not exist: %s' % args.lsfscript) | |
|
718 | return | |
|
719 | ||
|
720 | cl = ControllerLauncher(extra_args=cont_args) | |
|
721 | dstart = cl.start() | |
|
722 | def start_engines(r): | |
|
723 | lsf_set = LSFEngineSet(args.lsfscript) | |
|
724 | def shutdown(signum, frame): | |
|
725 | log.msg('Stopping LSF cluster') | |
|
726 | d = lsf_set.kill() | |
|
727 | d.addBoth(lambda _: cl.interrupt_then_kill(1.0)) | |
|
728 | d.addBoth(lambda _: reactor.callLater(2.0, reactor.stop)) | |
|
729 | signal.signal(signal.SIGINT,shutdown) | |
|
730 | d = lsf_set.start(args.n) | |
|
731 | return d | |
|
732 | config = kernel_config_manager.get_config_obj() | |
|
733 | furl_file = config['controller']['engine_furl_file'] | |
|
734 | dstart.addCallback(_delay_start, start_engines, furl_file, args.r) | |
|
735 | dstart.addErrback(_err_and_stop) | |
|
736 | ||
|
700 | 737 | |
|
701 | 738 | def main_ssh(args): |
|
702 | 739 | """Start a controller on localhost and engines using ssh. |
@@ -876,7 +913,7 b' def get_args():' | |||
|
876 | 913 | help='LSF script template', |
|
877 | 914 | default='' # LSFEngineSet will create one if not specified |
|
878 | 915 | ) |
|
879 |
parser_lsf.set_defaults(func=main_ |
|
|
916 | parser_lsf.set_defaults(func=main_lsf) | |
|
880 | 917 | |
|
881 | 918 | parser_ssh = subparsers.add_parser( |
|
882 | 919 | 'ssh', |
General Comments 0
You need to be logged in to leave comments.
Login now