OpenStack Icehouse在4.17正式发布,看了下release note,发现改变不小,说明openstack还是在快速发展中,有不少新的特性加入,也有些小的剔除。下面就我所关注的项目做个简单翻译,技术水平有限,眼界有限,哪里有错,还望各位大牛指出。
一、升级相关:
1、windows下环境变量不能是unicode,要使用 pbr 0.8避免这个BUG https://bugs.launchpad.net/pbr/+bug/1294246
2、log-config 更改为 log-config-append,disable_existing_loggers默认设置为False.
3、增加X-Tenant-ID来防止用户欺骗操作其他租户的端口,获取其他租户主机信息。所以升级时,先升级网络Neutron,重启eutron-metadata-agent,再升级nova-compute,这样时间更少。
二、OpenStack Compute (Nova)
1、升级:
现在在一定程序上支持在线升级,可以先升级控制结点,再逐个计算结点升级,减少升级导致服务不可用的时间。
2、Libvirt (KVM)
libvirt (1)Libvirt compute driver现在支持提供修改内核参数来启动实例,从镜像的metadata的os_command_line字段获取
(2)Libvirt driver现在支持VirtIO SCSI (virtio-scsi) 而不是 VirtIO Block (virtio-blk) 来提供块存储设备。VirtIO SCSI是为更好的扩展和性能而设计的半虚拟化SCSI控制器设备
(3)Libvirt compute driver现在支持增加一个Virtio RNG做为实例的内核熵池
(4)Libvirt driver现在支持更多的视频驱动,比如:vga, cirrus, vmvga, xen , qxl。在镜像的metadate中设置相关参数即可。
(5)支持watchdog i6300esb,可以通过镜像的hw_watchdog_action 属性或者flavor 的extra_specs这个参数来指定实例故障后是关机,重启,还是休眠。
(6)在用实例创建时,禁用HPET(High Precision Event Timer)俗称高精度定时器,因为启用这个属性,windows在高负荷时会发生时钟偏移
(7)支持在创建实例时等待Neutron的结果。好像之前版本创建实例时经常是因为网络没准备好,120秒超时,实例状态立马变成ERROR。
3、API
(1)V3 API不再支持OS-DCF:diskConfig
(2)XML格式目前已不推荐使用(depracated),在下个版本会被正式废除,只能用JSON格式了。
(3)通过扩展API:ExtendedServicesDelete,彻底删除无用的计算结点;
(4)在V3中,把管理员权限的操作在逻辑上分开,这样可以使用其中的部分功能
(5)nova hypervisor-show可以增加了IP地址“| host_ip | 10.0.0.12 ”
(6)Keystone V3允许租户名不唯一,所以Nova与Neutron交互时,采用租户标识而不是租户名称来验证身份
4、Scheduler
(1)通过caching scheduler driver来缓存可用宿主机资源,用户有资源请求,直接使用缓存的数据来进行调度,以提高调度性能。
(2)增加了新的AggregateImagePropertiesIsolation过滤器,根据镜像属性和aggregate (3)属性过滤主机。增加了两个配置项(/etc/nova/nova.conf ):
# Options defined in nova.scheduler.filters.aggregate_image_properties_isolation
#
# Force the filter to consider only keys matching the given
# namespace. (string value)
#aggregate_image_properties_isolation_namespace=<None>
# The separator used between the namespace and keys (string
# value)
#aggregate_image_properties_isolation_separator=.
(4)在进行权重计算时,将乘数因子标准化,0.0 到1.0。
(5)调度器支持实例组的亲和性、反亲和性,实例会依据提前定制的策略来布署。
5、其他特性:
(1)创建和删除keypairs时有通知
(2)主机状态变化时有通知, enabled, disabled, powered on, shut down, rebooted, 进入退出 maintenance mode
(3)compute服务stop时,不再接受新的请求,但正在处理的请求不受影响,服务软停止。
(4)关于已经删除的实例还在运行,增加running_deleted_instance_action属性的一个参数:shutdown 。
旧:
# Action to take if a running deleted instance is
# detected.Valid options are 'noop', 'log' and 'reap'. Set to
# 'noop' to disable. (string value)
#running_deleted_instance_action=log
新:
# Action to take if a running deleted instance is
# detected.Valid options are 'noop', 'log', 'shutdown', or
# 'reap'. Set to 'noop' to take no action. (string value)
#running_deleted_instance_action=reap
(5)默认不再支持文件注入,推荐使用ConfigDrive或metadata服务。如果要继续使用,需要配置inject_key=true,inject_partition,inject_password=true,不过这几个属性现在状态为不推荐使用,将来可能没了。
(6)/etc/nova/nova.conf 一些配置属性被重命名,看名字就知道是干嘛的。