Ryuのソースコードリーディング その4 Ryuの起動プロセス
下書き
TODO
コンテクストとかサービスとかの概念がまだよくわかっていないのが問題だ。
ryu-manager実行時の処理
ryu.cmd.managerのmain関数が実行されます。
ryu.cmd.managerでのmain関数の処理
from oslo.config import cfg CONF = cfg.CONF CONF.register_cli_opts([ cfg.ListOpt('app-lists', default=[], help='application module name to run'), cfg.MultiStrOpt('app', positional=True, default=[], help='application module name to run') ])
ryu-managerの引数および設定ファイルの解析をolso.configを用いて行っています。oslo.configに関してはこちらを参照。
65 # keep old behaivor, run ofp if no application is specified. 66 if not app_lists: 67 app_lists = ['ryu.controller.ofp_handler']
からryu-managerに引数を指定しない場合は、ryu.controller.ofp_handller.pyが実行されます。
70 app_mgr.load_apps(app_lists)
から以下のように複数のアプリケーションを同時に起動させることにも対応しています。
ryu-manager foo.py bar.py