support commandline application initialization
You can run your Ryu applicaiton in the following way: $ ryu-manager yourapp.py Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Reviewed-by: Isaku Yamahata <yamahata@valinux.co.jp>
This commit is contained in:
parent
63cc49360e
commit
c9f6b1b992
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (C) 2011 Nippon Telegraph and Telephone Corporation.
|
||||
# Copyright (C) 2011, 2012 Nippon Telegraph and Telephone Corporation.
|
||||
# Copyright (C) 2011 Isaku Yamahata <yamahata at valinux co jp>
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
@ -35,17 +35,18 @@ from ryu.controller import controller
|
|||
|
||||
FLAGS = gflags.FLAGS
|
||||
gflags.DEFINE_multistring('app_lists',
|
||||
['ryu.app.simple_isolation',
|
||||
'ryu.app.rest',
|
||||
],
|
||||
[],
|
||||
'application module name to run')
|
||||
|
||||
|
||||
def main():
|
||||
utils.find_flagfile()
|
||||
_args = FLAGS(sys.argv)
|
||||
args = FLAGS(sys.argv)
|
||||
log.init_log()
|
||||
|
||||
if len(args) > 1:
|
||||
FLAGS.app_lists += args[1:]
|
||||
|
||||
app_mgr = AppManager()
|
||||
app_mgr.load_apps(FLAGS.app_lists)
|
||||
contexts = app_mgr.create_contexts()
|
||||
|
|
10
ryu/utils.py
10
ryu/utils.py
|
@ -24,7 +24,15 @@ LOG = logging.getLogger('ryu.utils')
|
|||
|
||||
|
||||
def import_module(modname):
|
||||
__import__(modname)
|
||||
try:
|
||||
__import__(modname)
|
||||
except:
|
||||
sys.path.append(os.path.dirname(os.path.abspath(modname)))
|
||||
name = os.path.basename(modname)
|
||||
if name.endswith('.py'):
|
||||
name = name[:-3]
|
||||
__import__(name)
|
||||
return sys.modules[name]
|
||||
return sys.modules[modname]
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue