##// 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 # See if we are reusing FURL files
646 # See if we are reusing FURL files
647 if not check_reuse(args, cont_args):
647 if not check_reuse(args, cont_args):
648 return
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 cl = ControllerLauncher(extra_args=cont_args)
654 cl = ControllerLauncher(extra_args=cont_args)
651 dstart = cl.start()
655 dstart = cl.start()
652 def start_engines(r):
656 def start_engines(r):
653 pbs_set = PBSEngineSet(args.pbsscript)
657 pbs_set = PBSEngineSet(args.pbsscript)
654 def shutdown(signum, frame):
658 def shutdown(signum, frame):
655 log.msg('Stopping pbs cluster')
659 log.msg('Stopping PBS cluster')
656 d = pbs_set.kill()
660 d = pbs_set.kill()
657 d.addBoth(lambda _: cl.interrupt_then_kill(1.0))
661 d.addBoth(lambda _: cl.interrupt_then_kill(1.0))
658 d.addBoth(lambda _: reactor.callLater(2.0, reactor.stop))
662 d.addBoth(lambda _: reactor.callLater(2.0, reactor.stop))
@@ -697,6 +701,39 b' def main_sge(args):'
697 dstart.addCallback(_delay_start, start_engines, furl_file, args.r)
701 dstart.addCallback(_delay_start, start_engines, furl_file, args.r)
698 dstart.addErrback(_err_and_stop)
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 def main_ssh(args):
738 def main_ssh(args):
702 """Start a controller on localhost and engines using ssh.
739 """Start a controller on localhost and engines using ssh.
@@ -876,7 +913,7 b' def get_args():'
876 help='LSF script template',
913 help='LSF script template',
877 default='' # LSFEngineSet will create one if not specified
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 parser_ssh = subparsers.add_parser(
918 parser_ssh = subparsers.add_parser(
882 'ssh',
919 'ssh',
General Comments 0
You need to be logged in to leave comments. Login now