Liberty版本更新日志中文版本

新功能

API

· 为所有的endpoints默认使用v2.1的API,v2.0和v1.1使用了新的兼容模式,对已经使用API的用户过渡更平稳。(  https://blueprints.launchpad.net/nova/+spec/api-relax-validation )

· Evacuate机制更加健壮( 局部)( https://blueprints.launchpad.net/nova/+spec/robustify-evacuate)

· 新的”将主机标记为down”/“强制down”的API,当主机故障时,可以让外部的高可靠工具通知Nova( http://specs.openstack.org/openstack/nova-specs/specs/liberty/approved/mark-host-down.html )。

· 合并获取consoles的API https://blueprints.launchpad.net/nova/+spec/consolidate-console-api

·

· 在os-fixed-ipsAPI中显示’保留’状态( https://blueprints.launchpad.net/nova/+spec/show-reserved-status-in-os-fixed-ips-api )

· 允许非管理员用户根据IPv6查询(https://blueprints.launchpad.net/nova/+spec/allow-ip6-search-for-non-admin )

· 在添加租户访问权限前检查规格类型( https://blueprints.launchpad.net/nova/+spec/check-flavor-type-before-add-tenant )

· 在rebuild_instance( 重建虚拟机)中,将参数on_shared_storage( 是否在共享存储)标记可选( https://blueprints.launchpad.net/nova/+spec/optional-on-shared-storage-flag-in-rebuild-instance )

· 策略检查已经从数据库层面删除,所以现在只存在于API层( https://blueprints.launchpad.net/nova/+spec/nova-api-policy-final-part)

· 在虚拟机网卡列表的API请求中增加VIF net-id( https://blueprints.launchpad.net/nova/+spec/add-vif-net-id-in-vif-list )

· 将glance镜像meta属性转化为NovaObject( 部分)( https://blueprints.launchpad.net/nova/+spec/convert-image-meta-into-nova-object )

· 在server获取的返回中增加锁定信息(  https://blueprints.launchpad.net/nova/+spec/add-locking-information-in-server-get-response )

· 允许管理员用户查看任何keypair(  https://blueprints.launchpad.net/nova/+spec/admin-query-any-keypair )

· Metadata:将project_id加入liberty版本的metadata(  https://blueprints.launchpad.net/nova/+spec/project-id-in-metadata )

· Metadata:将路由信息注入网络模板引擎(  https://blueprints.launchpad.net/nova/+spec/network-template-routes-injection )

· Metadata:API:为guest实例添加neutron代理配置( 部分)( https://blueprints.launchpad.net/nova/+spec/metadata-service-network-info )

 

调度器( Scheduler)

scheduler的架构演进仍然在继续,修复了一些bug:

· 在生成请求的定义中添加对象模型( 部分完成)( https://blueprints.launchpad.net/nova/+spec/request-spec-object )

· 将资源分配比例从调度器移到资源跟踪( https://blueprints.launchpad.net/nova/+spec/allocation-ratio-to-resource-tracker )

· 修复了在主机之间移动虚拟机时资源跟踪问题( https://blueprints.launchpad.net/nova/+spec/migration-fix-resource-tracking )

· 当返回”无可用主机”时候,优化了调度器给用户反馈( http://specs.openstack.org/openstack/nova-specs/specs/liberty/approved/add_exceeded_max_retries_exception.html )。

 

Cells v2

Cells v2版本现在并不是一个可用状态,但是我们添加了一些更多的支持:

· Cells主机映射( https://blueprints.launchpad.net/nova/+spec/cells-host-mapping )

· Cells主机迁移( https://blueprints.launchpad.net/nova/+spec/cells-instance-migration )

 

计算节点驱动新功能

Libvirt

· 开始使用os-brick库作为libvirt卷驱动,这样可以使Nova和Cinder共享卷发现和删除逻辑( http://specs.openstack.org/openstack/nova-specs/specs/liberty/implemented/use-os-brick-library.html )。

· 添加live_migration_completion_timeout和live_migration_progress_timeout配置来辅助在线迁移时的最大运行时间,特别是过程已经停止( https://launchpad.net/bugs/1429220 )。

· 在在线迁移过程中,增加逻辑来管理和最长down机时间比例,用以提供更好的完成迁移的更大的guest大小( https://launchpad.net/bugs/1429220 )

· 限制同时在线迁移的过程( https://launchpad.net/bugs/1478108 )。

· 可以选择开启增加与guest VCPU相关的VirtIO队列,如果hw_vif_multiqueue_enabled磁盘属性设置为true( 默认false),为guests超过一个vCPU的,许多并发连接或者相对较大的数据包提供网络性能增强( http://specs.openstack.org/openstack/nova-specs/specs/liberty/implemented/libvirt-virtiomq.html ).

· 如果QEMU客户端agent被安装并且通过hw_qemu_guest_agent镜像属性打开,允许管理设置guest Administrator/root密码( http://specs.openstack.org/openstack/nova-specs/specs/liberty/approved/libvirt-set-admin-password.html )

· 新的VIF类型允许路由虚拟机数据替代桥接( https://blueprints.launchpad.net/nova/+spec/vif-type-tap )

· 添加InfiniBand SR-IOV的libvirt虚拟化支持( https://blueprints.launchpad.net/nova/+spec/vif-driver-ib-passthrough )

· 为libvirt虚拟化添加新的MacVTap作为新的虚拟化接口类型( https://blueprints.launchpad.net/nova/+spec/libvirt-macvtap-vif )

· 加强FS-style libvirt驱动( https://blueprints.launchpad.net/nova/+spec/consolidate-libvirt-fs-volume-drivers )

· EMC ScaleIO Data Client( SDC) Libvirt卷驱动( https://blueprints.launchpad.net/nova/+spec/emc-sdc-libvirt-volume-driver )

· 为libvirt实现基于rsync的远程FS驱动( https://blueprints.launchpad.net/nova/+spec/remote-fs-driver )

· Virtuozzo包含从卷启动( https://blueprints.launchpad.net/nova/+spec/virtuozzo-container-boot-from-volume )

· 添加HGST卷类型支持w/os-brick( https://blueprints.launchpad.net/nova/+spec/add-os-brick-volume-driver-hgst-solutions )

· virtio-net多队列( 部分)( https://blueprints.launchpad.net/nova/+spec/libvirt-virtio-net-multiqueue )

 

VMware

· VMware驱动域metadata( https://blueprints.launchpad.net/nova/+spec/vmware-driver-domain-metadata )

· 允许设置内存、磁盘和vnic限制( 部分)( https://blueprints.launchpad.net/nova/+spec/vmware-limits )

· VMware本地HTML5控制台( https://blueprints.launchpad.net/nova/+spec/vmware-webmks-console )

· 在VMware驱动中支持swap磁盘( https://blueprints.launchpad.net/nova/+spec/vmware-swap-support )

· VMware NSXv支持( https://blueprints.launchpad.net/nova/+spec/vmware-nsxv-support )

· VMware:在VMware驱动中支持控制台日志( 部分)( https://blueprints.launchpad.net/nova/+spec/vmware-console-log )

Hyper-V

· Hyper-V单元测试重构( 持续中+部分)( https://blueprints.launchpad.net/nova/+spec/hyper-v-test-refactoring-liberty )

Ironic

· 将实例名称传给Ironic驱动( https://blueprints.launchpad.net/nova/+spec/pass-down-instance-name-to-ironic-driver )

 

其他更新

· 可以指定多个instance_type名字到AggregateTypeAffinityFilter( https://blueprints.launchpad.net/nova/+spec/aggregatetypeaffinityfilter-multi-value-support )。

· 添加实验在线DB结构变更选项( https://blueprints.launchpad.net/nova/+spec/online-schema-changes )

· 优化配置文件样例的生成( https://blueprints.launchpad.net/nova/+spec/oslo-config-generator )

· 将DB2作为数据库的可选项( https://blueprints.launchpad.net/nova/+spec/db2-database )

· Cells:different_cells调度过滤器( https://blueprints.launchpad.net/nova/+spec/cells-scheduler-anti-affinity-filter )

· 开始向Python 3.4迁移( https://blueprints.launchpad.net/nova/+spec/nova-python3 )

· 可以在Apache2上运行部分Nova服务( https://blueprints.launchpad.net/nova/+spec/run-nova-services-under-apache2 )

· 升级架构:添加了一个全体服务版本号码( https://blueprints.launchpad.net/nova/+spec/service-version-number )

· 使用rootwrap运行Nova启动守护进程 ( https://blueprints.launchpad.net/nova/+spec/nova-rootwrap-daemon-mode )

· 在nova instances表中删除了’scheduled_at’字段( https://blueprints.launchpad.net/nova/+spec/cleanup-scheduled-at )

· 在DEFAULT组中添加了一个新的配置”handle_virt_lifecycle_events”,允许禁止事件回调处理从虚拟化驱动层发出的instance生命周期事件( 在Liberty仅在libvirt和hyper-v驱动中实现)。这更多的是一种变通的方法,当回调在高负载的情况下产生竞争,并且产生诸如关闭运行虚拟机的状况。更多细节请查看https://review.openstack.org/#/c/159275/ 。

 

升级提示

· 如果你使用的是Kilo稳定版本,在部署Liberty之前一定要确认升级到最新版本。根据Bug https://bugs.launchpad.net/nova/+bug/1474074 在这之前的Kilo版本升级Liberty节点会出现问题。

· RAM和CPU的分配比例现在是在nova-compute服务内部定义( 可以根据每个计算节点单独定义)。对于scheduler服务也同样需要提供比例。取决于计算节点运行的版本Kilo或者是Liberty,这个比例设置的表现有区别:如果计算节点运行Kilo,则这个计算节点的CPU和内存的分配比例是在控制节点的nova.conf定义的默认值。或者,如果计算节点是Liberty则你能在每个计算节点设置CPU和内存分配比例。为了让运维人员为所有计算节点提供分配比例,默认的分配比例设置为0.0( 包括控制节点上)。但是这并不代表分配比例真的为0.0,仅仅表示运维人员需要在下一个版本前( 例如Mitaka)设置。简单来说,对于cpu_allocation_ratio默认的分配比例仍然为16.0倍,ram_allocation_ratio为1.5倍。

· 在为每个Neutron服务配置”network-vif-deleted”事件前,nova-compute应该升级到Liberty,https://review.openstack.org/#/c/187871/

· Rootwrap过滤器必须要升级,添加了’touch’命令

· 在Lauchpad的Bug1256838中提到了关于imagebackend和imagecache的竞争

· 在这种情况下,如果当imagebackend正在将镜像拷贝到instance路径,基础镜像被ImageCacheManager删除,则虚拟机就会变为error状态

· 为了解决这个问题,需要在compute.filters添加一个’touch’命令来一起解决这个问题 https://review.openstack.org/#/c/217579/

· 在竞争发生的情况下,在imagebackend拷贝镜像过程中,当libvirt已经改变了基础文件的所属权限到libvirt-qemu,这样我们在使用os.utime更新文件的访问时间时就会得到权限不足的错误。为了解决这个错误,我们需要使用root用户权限使用’touch’命令更新基础文件的访问时间。

· 在Liberty版本中,DiskFilter现在是scheduler_default_filters一部分 https://review.openstack.org/#/c/207942/

· 根据 https://review.openstack.org/#/c/103916/ ,你只能映射一个vCenter集群到一个唯一的nova-compute节点上

· Libvrit驱动parallels重新命名为virtuozzo

· 孤立的表——iscsi_targets, volumes已经被删除

· 默认pate.ini中已经升级使用新的v2.1 API为所有endpoints提供服务,v3的endpoint已经被删除。兼容的中间层用来释放v2.1验证,包括/v2和/v1.1 endpoints。

· DB结构降级的代码已经被删除:https://blueprints.launchpad.net/nova/+spec/nova-no-downward-sql-migration

· 默认的数据库驱动测试的是pymysql而不是Python-MySQL

· “powervm” hv_type的夹片( shim)已经被删除。这仅影响使用使用旧的镜像,并且在镜像metadata中设置了hv_type=powervm的用户 PowerVC driver on stackforge

· 在Mitaka中libvirt最低版本要求为0.10.2。对于版本小于0.10.2的Libvirt在Liberty中被废弃了: https://review.openstack.org/#/c/183220/

· The libvirt.remove_unused_kernels config option is deprecated for removal and now defaults to True:  https://review.openstack.org/#/c/182315/

· libvirt.remove_unused_kernels配置项被废弃了并且以后被删除,而且默认配置为True, https://review.openstack.org/#/c/182315/

 

不推荐使用的功能

· 不赞成使用禁用树级API扩展( https://blueprints.launchpad.net/nova/+spec/nova-api-deprecate-extensions )

· 从2.21.0开始不赞成使用novaclient.v1_1模块[[6]][[7]],并且我们将在Mitaka的第一个python-novaclient版本中删除。

· 从2.29.0开始不赞成使用novaclient.client.get_client_class方法[[8]]。这个方法将在Mitaka中删除。

· 不赞成在weighers使用mute_weight_value,包括在Cells中使用

· 不赞成在Libvirt驱动中使用remove_unused_kernels

· 使用vcenter的最低版本为5.1.0。在Liberty里这会以警告方式提示,在Mitaka中对于低于5.1.0的版本将不在提供支持。

· 不赞成使用v3 API特定的组件,将会在默认的paste.ini中删除

原文地址:https://www.cnblogs.com/allcloud/p/5121670.html