Nova新功能
Nova Scheduler
- 标准化了conductor,compute与scheduler的接口,为之后的接口分离做好准备
- 对Scheduler做了一些优化,例如:Scheduler对于每一个请求都会重新进行Filters/Weighers,为了优化这个问题,将filter/weighter的初始化从handler移到scheduler,这样每次请求的时候都可以重新使用了。
- 在下一个版本的时候,Scheduler将会分离到Gantt,所以在这个版本中为分离做了一些准备
Libvirt NFV相关功能
- NUMA(Non Uniform Memory Architecture),在这个架构下,每个处理器都会访问“本地”的内存池,从而在CPU和存储之间有更小的延迟和更大的带宽。
- 在Kilo版本中针对此功能的实现包括:基于NUMA的调度的实现;可以将vCPU绑定在物理CPU上;超大页的支持。以上提到的三点都是通过Flavor的Extra Spces完成定义的。
EC2 API
- EC2 API被从Nova中踢出去了
- 取而代之的是在stackforge的EC2 API转换服务
API Microversioning
先来解释一下为什么需要API的微版本:主要原因在于现在这种API扩展方式,对于API实现的代码的增加或减少管理非常不方便,容易导致不一致性。引入微版本主要目的就是让开发人员在修改API代码时能够向前兼容,而不是加入一个新的API扩展;用户通过指定API的版本,在请求时也能决定是使用的具体的动作。
包含版本的返回:
- GET /
- {
- "versions": [
- {
- "id": "v2.1",
- "links": [
- {
- "href": "http://localhost:8774/v2/",
- "rel": "self"
- }
- ],
- "status": "CURRENT",
- "version": "5.2"
- "min_version": "2.1"
- },
- ]
- }1234567891011121314151617
客户端的Header信息:
- X-OpenStack-Nova-API-Version: 2.1141
一个已知的问题:Evacuate
这个问题的产生主要是因为Evacuate的清理机制,主机名的变化会导致nova-compute重启过程中误删所有虚拟机,所以一个变通的方法是设置
- destroy_after_evacuate=False1
这个问题会在Liberty中得到修复,相关的Spec:https://review.openstack.org/#/c/161444/3/specs/liberty/approved/robustify_evacuate.rst
Glance新功能
- 自动进行镜像格式转化,例如,Ceph是使用RAW格式的,假如我们上传的是QCOW2,创建虚拟机时,就会经历一番上传下载的过程,速度异常缓慢。而且RAW格式通常都是原始大小,上传时候非常慢,完全可以通过上传小镜像自动转换为指定格式。
- Glance支持多字段排序
- /images?sort_key=status&sort_dir=asc&sort_key=name&sort_dir=asc&sort_key=created_at&sort_dir=desc1