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装饰器实现的

相关推荐
_李小白28 分钟前
【android opencv学习笔记】Day 8: remap(像素位置重映射)
android·opencv·学习
勤劳的进取家30 分钟前
数据链路层基础
网络·学习·算法
d111111111d37 分钟前
直流电机位置式 PID 控制 和 舵机的区别
笔记·stm32·单片机·嵌入式硬件·学习
y = xⁿ2 小时前
Redis八股学习日记:布隆过滤器
数据库·redis·学习
d111111111d3 小时前
了解Modbus
网络·笔记·stm32·单片机·嵌入式硬件·学习
charlie1145141913 小时前
通用GUI编程技术——图形渲染实战(三十八)——顶点缓冲与输入布局:GPU的第一个三角形
开发语言·c++·学习·图形渲染·win32
我想我不够好。4 小时前
监控学习 4.29 1.5hour
学习
晓晓hh4 小时前
JavaWeb学习——JUnit和日志
学习·junit·单元测试
小超同学你好4 小时前
Transformer 30. MoCo:用「动量编码器 + 队列字典」把对比学习做成可扩展的“字典查找”
深度学习·学习·transformer
光影少年4 小时前
前端SSR和ssg区别
前端·vue.js·人工智能·学习·react.js