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 |
|
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_ |
|
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