nova学习小结

写在前面

基于yoga版本源码进行学习

api流程

该入口从配置加载app

看下osapi_compute流程,v2.1用oscomputeversion_v2

将api_paste.ini内容加载为server,再调oslo_service.service.ProcessLauncher拉起server。将api-paste加载为server,server继承了oslo_service.service.Service

看下novaclient 先获取api_version,默认应该是这个

会创建一个apiversion对象,供shell使用,注意下apiversion版本号

不跳过鉴权

判断api版本。默认是2.latest,是latest则继续,,如果不是latest,则检查是否大于2.0,然后检查是否当前版本在最大版本和最小版本之间,如果超出范围则异常

注意到虽然配置是2.latest,但client版本是2.0

再用latest version去discover version,会先从keystone获取endpoint然后获取endpoint/versions返回信息,根据返回信息确认最终api-version,总之,最后就是2.0

应该是在get_subcommand_parser里寻找命令行对应的函数

debug发现到nova侧是2.1...先按2.1看吧,入口是api-paste.ini对应名字类的factory,进去看就行,以resize为例,对应处理函数在这,路由好像是通过wsgi.action装饰器实现的

相关推荐
for_ever_love__2 分钟前
python基础语法学习: 变量, 输入输出, 运算符
网络·python·学习
学习和思考11 分钟前
非自动化专业如何自学PLC?我的6个月学习路线图
笔记·学习·自动化·学习方法
拾陆楼38 分钟前
PT: DMSA辅助调tree报告前后级余量脚本
后端·学习
sbjdhjd3 小时前
大三网安秋招核心学习前言(AI 安全 + Web 漏洞 + 内网渗透全考点)
人工智能·网络协议·学习·安全·网络安全·开源·php
LccKyI3 小时前
C#学习day06(方法/函数及其关键字,附思维导图)
经验分享·学习·c#
xian_wwq4 小时前
【学习笔记】Loop Engineering,从手动提示到目标驱动自动化-13/16
笔记·学习·自动化
殷忆枫4 小时前
K210 BOX学习笔记:环境搭建及模型训练部署
学习
qq_185198695 小时前
SpingBoot3入门学习-Web开发-三
java·数据库·学习
lifallen5 小时前
Avernet:Agent 的组织网络
人工智能·学习·ai·开源软件·ai编程
我爱cope5 小时前
【计算机网络 | 数据链路层2:差错检测与纠正:奇偶校验、校验和、CRC 分别怎么工作?】
网络·学习·计算机网络