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来防止用户欺骗操作其它租户的port,获取其它租户主机信息。所以升级时,先升级网络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 一些配置属性被重命名,看名字就知道是干嘛的。