##// END OF EJS Templates
add main_lsf for experimental LSF support
Justin Riley -
Show More
@@ -646,13 +646,17 b' def main_pbs(args):'
646 646 # See if we are reusing FURL files
647 647 if not check_reuse(args, cont_args):
648 648 return
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
649 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 pbs cluster')
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_sge)
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