python-neutronclient架构分析
命令执行流程
图 1 命令执行流程
当执行neutron命令时,python-neutronclient实际执行shell.py中的main函数。在main函数中,构造一个NeutronShell对象,然后调用该对象的run()函数。
在run()函数中,进行log配置、参数解析、等操作,然后调用run_subcommand()函数。
在run_subcommand()函数中,通过CommandManager查找到用户所输入命令对应的执行类,构造对应Command对象,并调用Command对象的run()函数,进行实际处理。
在cmd.run函数中,使用client类的相应方法进行RESTAPI调用。