Ejemplo n.º 1
0
def main():
    global of_client
    (op, options, args, kwargs_to_pass) = parseArgs()
    if options.mode == 'i':
        options.mode = 'interpreted'
    elif options.mode == 'r0':
        options.mode = 'reactive0'
    try:
        module_name = args[0]
    except IndexError:
        print 'Module must be specified'
        print ''
        op.print_usage()
        sys.exit(1)
    try:
        module = import_module(module_name)
    except ImportError:
        print 'Must be a valid python module'
        print 'e.g, full module name,'
        print '     no .py suffix,'
        print '     located on the system PYTHONPATH'
        print ''
        op.print_usage()
        sys.exit(1)

    main = module.main
    kwargs = {
        k: v
        for [k, v] in [i.lstrip('--').split('=') for i in kwargs_to_pass]
    }

    sys.setrecursionlimit(
        1500)  #INCREASE THIS IF "maximum recursion depth exceeded"

    runtime = Runtime(Backend(), main, kwargs, options.mode, options.verbosity,
                      False, False)
    if not options.frontend_only:
        try:
            output = subprocess.check_output('echo $PYTHONPATH',
                                             shell=True).strip()
        except:
            print 'Error: Unable to obtain PYTHONPATH'
            sys.exit(1)
        poxpath = None
        for p in output.split(':'):
            if re.match('.*pox/?$', p):
                poxpath = os.path.abspath(p)
                break
        if poxpath is None:
            print 'Error: pox not found in PYTHONPATH'
            sys.exit(1)
        pox_exec = os.path.join(poxpath, 'pox.py')
        python = sys.executable
        of_client = subprocess.Popen(
            [python, pox_exec, 'of_client.pox_client'],
            stdout=subprocess.PIPE,
            stderr=subprocess.STDOUT)

    signal.signal(signal.SIGINT, signal_handler)
    signal.pause()
Ejemplo n.º 2
0
     netkat_cmd = "bash start-frenetic.sh"
     try:
         output = subprocess.Popen(netkat_cmd,
                                   shell=True,
                                   stderr=subprocess.STDOUT)
     except Exception as e:
         print "Could not start frenetic server successfully."
         print e
         sys.exit(1)
 """ Start the runtime. """
 opt_flags_arg = (options.disjoint_enabled, options.default_enabled,
                  options.integrate_enabled, options.multitable_enabled,
                  options.ragel_enabled, options.partition_enabled,
                  options.switch_cnt, options.cache_enabled,
                  options.edge_contraction_enabled)
 runtime = Runtime(Backend(),
                   main,
                   path_main,
                   kwargs,
                   mode=options.mode,
                   verbosity=options.verbosity,
                   opt_flags=opt_flags_arg,
                   use_nx=options.nx,
                   pipeline=options.pipeline,
                   use_pyretic=options.use_pyretic)
 """ Start pox backend. """
 if not options.frontend_only:
     try:
         output = subprocess.check_output('echo $PYTHONPATH',
                                          shell=True).strip()
     except:
Ejemplo n.º 3
0
                print "\nkilling log"
                import sys
                sys.exit(0)
            logger.handle(to_log)
    log_level = verbosity_map.get(options.verbosity, logging.DEBUG)
    log_process = Process(target=log_writer,args=(logging_queue, log_level,))
    log_process.daemon = True
    log_process.start()

    # Set default handler.
    logger = logging.getLogger()
    handler = util.QueueStreamHandler(logging_queue)
    logger.addHandler(handler)
    logger.setLevel(log_level)
    
    runtime = Runtime(Backend(),main,path_main,kwargs,options.mode,options.verbosity)
    if not options.frontend_only:
        try:
            output = subprocess.check_output('echo $PYTHONPATH',shell=True).strip()
        except:
            print 'Error: Unable to obtain PYTHONPATH'
            sys.exit(1)
        poxpath = None
        for p in output.split(':'):
             if re.match('.*pox/?$',p):
                 poxpath = os.path.abspath(p)
                 break
        if poxpath is None:
            print 'Error: pox not found in PYTHONPATH'
            sys.exit(1)
        pox_exec = os.path.join(poxpath,'pox.py')
Ejemplo n.º 4
0
    except ImportError, e:
        print 'Must be a valid python module'
        print 'e.g, full module name,'
        print '     no .py suffix,'
        print '     located on the system PYTHONPATH'
        print ''
        print 'Exception message for ImportError was:'
        print e
        sys.exit(1)

    main = module.main
    kwargs = { k : v for [k,v] in [ i.lstrip('--').split('=') for i in kwargs_to_pass ]}

    sys.setrecursionlimit(1500) #INCREASE THIS IF "maximum recursion depth exceeded"
    
    runtime = Runtime(Backend(),main,kwargs,options.mode,options.verbosity,False,False)
    if not options.frontend_only:
        try:
            output = subprocess.check_output('echo $PYTHONPATH',shell=True).strip()
        except:
            print 'Error: Unable to obtain PYTHONPATH'
            sys.exit(1)
        poxpath = None
        for p in output.split(':'):
             if re.match('.*pox/?$',p):
                 poxpath = os.path.abspath(p)
                 break
        if poxpath is None:
            print 'Error: pox not found in PYTHONPATH'
            sys.exit(1)
        pox_exec = os.path.join(poxpath,'pox.py')