ReleaseNotes/Liberty
OpenStack Liberty 发布说明
目录
- 1 OpenStack Liberty 发布说明
- 1.1 OpenStack 对象存储 (Swift)
- 1.2 OpenStack Networking (Neutron)
- 1.3 OpenStack 计算服务 (Nova)
- 1.4 OpenStack Telemetry (Ceilometer)
- 1.5 OpenStack 身份认证 (Keystone)
- 1.6 OpenStack Block Storage (Cinder)
- 1.7 OpenStack Orchestration (Heat)
- 1.8 OpenStack Data Processing (Sahara)
- 1.9 OpenStack Search (Searchlight)
- 1.10 OpenStack DNS (Designate)
- 1.11 OpenStack Messaging Service (Zaqar)
- 1.12 OpenStack Dashboard (Horizon)
- 1.13 OpenStack Trove (DBaaS)
- 1.14 OpenStack Bare metal (Ironic)
- 1.15 OpenStack Key Manager (Barbican)
- 1.16 OpenStack Image Service (Glance)
- 1.17 OpenStack Shared File System (Manila)
OpenStack 对象存储 (Swift)
请参阅完整发布说明:https://github.com/openstack/swift/blob/master/CHANGELOG
新特性
- 允许每个磁盘部署 1 个或多个对象服务器,方法是在对象服务器和/或复制服务器配置的 [DEFAULT] 配置部分中添加一个新的大于 0 的整数配置值“servers_per_port”。该设置的整数值决定了单个唯一本地端口在环中的有多少个不同的对象服务器工作进程处理请求。在这种模式下,父 swift-object-server 进程将继续以原始用户身份运行(如果需要低端口绑定,则为 root)。它绑定到环中定义的所有端口。然后,它为每个监听套接字启动指定的数量的工作进程。子进程(每个端口的服务器)会降低权限并表现得几乎与对象服务器工作进程一样,唯一的例外是:环具有每个磁盘的唯一端口,对象服务器将仅处理单个磁盘的请求。父进程检测到死服务器并重新启动它们(使用正确的监听套接字)。当找到更新的环文件时,服务器上的设备具有新的端口,它会启动缺失的服务器,并在环中找不到其端口时杀死多余的服务器。环文件最多在对象服务器配置中由“ring_check_interval”参数(默认相同 15 秒)配置的计划中启动。在测试中,此部署配置(值为 3)降低了请求延迟,提高了每秒请求数,并与现有的“workers”设置相比隔离了缓慢的磁盘 I/O。要使用此配置,必须使用不同的端口将每个设备添加到环中。
- 对象服务器包含一个“container_update_timeout”设置(默认值为 1 秒)。此值是对象服务器将等待容器服务器更新列表的时间(以秒为单位),然后返回对象 PUT 操作的状态。以前,对象服务器会等待最多 3 秒的容器服务器响应。新的行为可以大大降低容器服务器繁忙时(例如,当容器非常大时)的对象 PUT 延迟。将该值设置得太低可能会导致客户端 PUT 对象但无法立即在列表中找到它。将其设置得太高会增加容器服务器繁忙时客户端的延迟。
- 添加了指定静态大对象 (SLO) 分段范围的能力。
- 允许 SLO PUT 跳过每个分段的完整性检查。以前,清单中引用的每个分段也需要正确的 etag 和字节设置。这些字段现在允许“null”值以跳过给定分段的特定检查。
- 复制器配置现在支持“rsync_module”值,以允许每个设备的 rsync 模块。此设置使操作员能够微调 Swift 集群中的复制流量,并将复制磁盘 I/O 隔离到特定设备。有关更多信息和示例,请参阅文档和示例配置文件。
- 环更改
- 分区放置不再使用端口号来放置分区。这改进了小型集群中每个驱动器一个对象服务器的分散性,并且不会影响运行一个对象服务器的集群中的分散性。
- 添加了 ring-builder-analyzer 工具,以便更轻松地测试和分析一系列环管理操作。
- 环验证现在警告如果将放置分区分配给同一设备多次。当环中的设备不平衡时(例如,一个服务器比另一个服务器有更多的可用容量)会发生这种情况。
- TempURL 修复(关闭 CVE-2015-5223)
不允许 PUT tempurl 创建指向其他数据的指针。具体来说,禁止通过 PUT tempurl 创建 DLO 对象清单。这可以防止发现攻击,这些攻击可以使用任何 PUT tempurl 通过创建 DLO 对象清单并使用 PUT tempurl 标头私有数据来探测私有数据。
- Swift 现在按策略基础发出 StatsD 指标。
- 修复了与 Keystone 集成的问题,即使未在请求中包含服务令牌,服务帐户的 COPY 请求也可能成功。
- 批量上传现在将给定存档中用户 xattrs 作为创建的对象的对象元数据处理。
- 在对象复制器中发出警告日志,如果设置了“handoffs_first”或“handoff_delete”。
- 在 swift-recon 中启用对象复制器的失败计数。
- 为分散工具添加了存储策略支持。
- 支持 swift-dispersion 中的 keystone v3 域。
- 将 domain_remap 信息添加到 /info 端点。
- 在 domain_remap 中间件配置中添加了“default_reseller_prefix”的支持。
- 允许 rsync 通过“rsync_compress”配置使用压缩。如果设置为 true,则仅在 rsync 到不同区域的设备时才启用压缩。在某些情况下,这可以加快跨区域复制数据传输速度。
- 在 swift-recon 中添加了时间同步检查(--time 选项)。
- 帐户清理程序现在可以更快地处理大型帐户。
- 各种其他小的错误修复和改进。
升级说明
- 依赖关系更改
- 添加了 six 要求。这是为了支持 Python 3 而进行的一项持续努力。
- 已停止对 Python 2.6 的支持。
- 配置更改
- 最新版本的 Python 将允许请求中的标头数量限制为 100。此数字对于自定义中间件来说可能太低。新的 swift.conf 中的“extra_header_count”配置值可用于增加允许的标头数量。
- 将“run_pause”设置重命名为“interval”(当前的配置仍然有效)。Swift 的未来版本可能会删除“run_pause”设置。
- 版本写入特性已重构并重新实现为中间件。应显式地将 versioned_writes 中间件添加到代理管道,但如果当前已启用,则不要删除或禁用现有的容器服务器配置设置(“allow_versions”)。现有的容器服务器配置设置使现有的容器能够继续进行版本控制。有关进一步的升级说明,请参阅 http://swift.openstack.org/middleware.html#how-to-enable-object-versioning-in-a-swift-cluster。
OpenStack Networking (Neutron)
新特性
- Neutron 现在支持 IPv6 前缀委托,用于自动将 CIDR 分配给 IPv6 子网。有关此功能的使用和配置的更多信息,请参阅 OpenStack Networking Guide。
- Neutron 现在公开了一个 QoS API,最初提供端口级别的带宽限制。API、CLI、配置和更多信息可以在这里找到 [1]。
- 路由器高可用性(L3 HA / VRRP)现在可以在启用第 2 层填充(l2pop)的情况下工作 [2]。
- VPNaaS 参考驱动程序现在可以与 HA 路由器一起工作。
- 用于 VRRP 流量的网络现在可以配置为使用特定的分段类型或物理网络标签 [3]。
- OVS 代理现在可以在不影响数据平面连接的情况下重新启动。
- Neutron 现在提供基于角色的访问控制 (RBAC) 用于网络 [4]。
- LBaaS V2 参考驱动程序现在基于 Octavia,这是一个运营商级别的可扩展、可靠的负载均衡器平台。
- LBaaS V2 API 不再是实验性的。现在是稳定的。
- Neutron 现在提供了一种方法,供管理员手动调度代理,从而可以在将主机资源暴露给租户使用之前对其进行测试 [5]。
- Neutron 现在具有一个可插拔的 IP 地址管理框架,从而可以使用替代或第三方 IPAM。原始的、不可插拔的 IPAM 默认情况下已启用。
已弃用和移除的插件和驱动程序
- metaplugin 在 Liberty 版本中已移除。
- IBM SDN-VE 单体插件在 Liberty 版本中已移除。
- Cisco N1kV 单体插件在 Liberty 版本中已移除(由 ML2 机制驱动程序取代)。
- Embrane 插件已弃用,将在 Mitaka 版本中移除。
已弃用的特性
- FWaaS API 在 Liberty 中标记为实验性的。此外,将在 Mitaka 中移除当前的 API 并替换为新的 FWaaS API,团队正在开发该 API。
- LBaaS V1 API 已标记为已弃用,计划在未来的版本中移除。今后应使用 LBaaS V2 API。
- L3 代理的“external_network_bridge”选项已被弃用,转而使用带有 physnet 的 bridge_mapping。有关更多信息,请参阅此场景的网络指南的“网络节点”部分:https://docs.openstack.org/networking-guide/scenario_legacy_ovs.html
性能考虑因素
- 库存 Trusty Tahr 内核 (3.13) 显示,当命名空间数量增加时,运行“ip netns exec”的性能会线性下降。在规模很重要的情况下,应使用较新版本的内核(例如 3.19)。[哪个版本的 3.13 表现出此问题。大多数版本已经修复了此问题。]
Note: This regression should be fixed in Trusty Thar since 3.13.0-36.63 and later kernel versions. For further references see: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1328088
- 在使用 Octavia 驱动程序时,在没有硬件虚拟化的环境中创建 Neutron-LBaaS 负载均衡器可能会很慢。这是因为 QEMU 在没有可用的硬件虚拟化时使用 TCG 加速器而不是 KVM 加速器。我们建议在您的计算节点上启用硬件虚拟化,或者在使用 Octavia 驱动程序在虚拟环境中使用时启用嵌套虚拟化。有关在 KVM 中运行的 DevStack 上设置嵌套虚拟化的详细信息,请参阅以下链接:https://docs.openstack.org/developer/devstack/guides/devstack-with-nested-kvm.html。
OpenStack Compute (Nova)
新特性
API
- 默认情况下为所有端点启用 v2.1,使用新的兼容模式为 v2.0 和 v1.1,以便使过渡对现有的 API 用户透明(https://blueprints.launchpad.net/nova/+spec/api-relax-validation)
- Evacuate 功能更加健壮(部分)(https://blueprints.launchpad.net/nova/+spec/robustify-evacuate)
- 新的“标记主机下线”/“强制下线”API,供外部高可用性工具在主机发生故障时通知 Nova (https://specs.openstack.org/openstack/nova-specs/specs/liberty/approved/mark-host-down.html)。
- 整合获取控制台的 API (https://blueprints.launchpad.net/nova/+spec/consolidate-console-api)
- 在 os-fixed-ips API 中显示“已保留”状态 (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)
- 在添加租户访问权限之前检查 flavor 类型 (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 镜像元属性转换为 NovaObject(部分)(https://blueprints.launchpad.net/nova/+spec/convert-image-meta-into-nova-object)
- 在服务器 get 响应中添加锁定信息 (https://blueprints.launchpad.net/nova/+spec/add-locking-information-in-server-get-response)
- 允许管理员查看任何密钥对 (https://blueprints.launchpad.net/nova/+spec/admin-query-any-keypair)
- 元数据:将 project_id 添加到 liberty 版本化的元数据 (https://blueprints.launchpad.net/nova/+spec/project-id-in-metadata)
- 元数据:将路由注入到网络模板引擎 (https://blueprints.launchpad.net/nova/+spec/network-template-routes-injection)
- 元数据:API:将 neutron 配置代理到客户机实例(部分)(https://blueprints.launchpad.net/nova/+spec/metadata-service-network-info)
调度器
调度器的架构演进仍在继续,并修复了关键的 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)
- 改进调度器返回 NoValidHost 时的用户反馈 (https://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 之间共享用于卷发现和删除的逻辑 (https://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)。
- 添加了逻辑来管理和扩展实时迁移期间的最大停机时间设置,以便为具有更多 vCPU、许多并发连接和/或相对较大的数据包大小的更大的客户机提供更好的迁移成功机会 (https://launchpad.net/bugs/1429220)。
- 限制正在进行的并行实时迁移 (https://launchpad.net/bugs/1478108)。
- 如果将 hw_vif_multiqueue_enabled 镜像属性设置为“true”(默认值:“false”),则可以选择性地扩展与客户机 vCPU 相关的 VirtIO 队列,从而为具有多个 vCPU、许多并发连接和/或相对较大的数据包大小的客户机提供增强的网络性能 (https://specs.openstack.org/openstack/nova-specs/specs/liberty/implemented/libvirt-virtiomq.html)。
- 如果安装并启用了 QEMU 客户机代理(通过 hw_qemu_guest_agent 镜像属性),则允许管理员设置客户机 Administrator/root 密码 (https://specs.openstack.org/openstack/nova-specs/specs/liberty/approved/libvirt-set-admin-password.html)。
- 新的 VIF 类型,用于允许路由 VM 数据而不是桥接它 (https://blueprints.launchpad.net/nova/+spec/vif-type-tap)
- 为 libvirt 虚拟化添加对 InfiniBand SR-IOV 的支持 (https://blueprints.launchpad.net/nova/+spec/vif-driver-ib-passthrough)
- 为 libvirt 虚拟化添加 MacVTap 作为新的虚拟接口类型 (https://blueprints.launchpad.net/nova/+spec/libvirt-macvtap-vif)
- 整合 FS 样式的 libvirt 驱动程序 (https://blueprints.launchpad.net/nova/+spec/consolidate-libvirt-fs-volume-drivers)
- EMC ScaleIO 数据客户端 (SDC) Libvirt 卷驱动程序 (https://blueprints.launchpad.net/nova/+spec/emc-sdc-libvirt-volume-driver)
- 基于 `rsync` 的 libvirt 远程 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 驱动程序域元数据 (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 驱动程序支持交换磁盘 (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)
其他功能
- 添加了对在 AggregateTypeAffinityFilter 中指定多个 instance_type 名称的支持 (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:不同的单元调度器过滤器 (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)
- 以 daemon 模式使用 rootwrap 运行 Nova (https://blueprints.launchpad.net/nova/+spec/nova-rootwrap-daemon-mode)
- 移除 nova 实例表中的“scheduled_at”列 (https://blueprints.launchpad.net/nova/+spec/cleanup-scheduled-at)
- 在 DEFAULT 组中添加了一个新的配置选项“handle_virt_lifecycle_events”,以允许禁用来自 virt 驱动程序的实例生命周期事件的回调处理(仅在 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 服务中定义(因此每个计算节点一个)。还需要为调度器服务提供比例。根据计算节点是运行 Kilo 还是 Liberty,分配比例的行为将不同:如果计算节点运行 Kilo,则该计算节点的 CPU 和 RAM 分配比例将是控制器 nova.conf 文件中默认的比例。或者,如果计算节点是 Liberty,则可以为 CPU 和 RAM 设置每个计算节点的分配比例。为了让操作员为所有计算节点提供分配比例,nova.conf 中的默认分配比例将设置为 0.0(即使对于控制器也是如此)。这并不意味着分配比例实际上将为 0.0,只是操作员需要在下一个版本(即 Mitaka)之前提供这些比例。为了明确起见,cpu_allocation_ratio 和 ram_allocation_ratio 的默认分配比例仍然是 16.0 和 1.5。
- 应在新的“network-vif-deleted”事件之前将 nova-compute 升级到 Liberty 代码:https://review.openstack.org/#/c/187871/
- 发布后必须更新 rootwrap 过滤器以添加“touch”命令。
- Launchpad Bug 1256838 中提到了 imagebackend 和 imagecache 之间的竞争条件。
- 在这种情况下,如果 ImageCacheManager 在 imagebackend 将镜像复制到实例路径时删除了基本镜像,则实例将进入错误状态。
- 为了解决此问题,需要添加 compute.filters 中的“touch”命令以及更改 https://review.openstack.org/#/c/217579/。
- 在发生竞争条件时,如果 libvirt 已将基本文件所有权更改为 libvirt-qemu,而 imagebackend 正在复制镜像,则在更新文件访问时间时会收到权限被拒绝错误。为了解决此错误,我们需要使用 root 用户权限使用“touch”命令更新基本文件访问时间。
- DiskFilter 现在是 Liberty 中 scheduler_default_filters 的一部分,如 https://review.openstack.org/#/c/207942/ 中所述。
- 根据 https://review.openstack.org/#/c/103916/,现在只能将一个 vCenter 集群映射到单个 nova-compute 节点。
- Libvirt 驱动程序 parallels 已重命名为 virtuozzo
- 孤立表 - iscsi_targets、volumes - 已被移除。
- 默认的 paste.ini 已更新为对所有端点使用新的 v2.1 API,并且移除了 v3 端点。使用兼容模式中间件来放松对 /v2 和 /v1.1 端点的 v2.1 验证。
- DB 模式降级的代码现已移除:https://blueprints.launchpad.net/nova/+spec/nova-no-downward-sql-migration
- 默认的 DB 驱动程序现在是 pymysql,而不是 Python-MySQL
- 已移除 "powervm" hv_type shim。这只会影响使用 stackforge 上的 PowerVC 驱动程序,并且在镜像元数据中 hv_type=powervm 的用户。
- Mitaka 版本中 libvirt 的最低要求版本为 0.10.2。Liberty 中对 libvirt < 0.10.2 的支持已被弃用:https://review.openstack.org/#/c/183220/
- libvirt.remove_unused_kernels 配置选项已被弃用并默认设置为 True:https://review.openstack.org/#/c/182315/
- 在 nova.conf 中设置 force_config_drive=always 已被弃用,请使用 True/False 布尔值代替:https://review.openstack.org/#/c/156153/
已弃用的特性
- 禁用树内 API 扩展的能力已被弃用 (https://blueprints.launchpad.net/nova/+spec/nova-api-deprecate-extensions)
- novaclient.v1_1 模块已被弃用 [[6]][[7]] 自 2.21.0 起,我们将在 Mitaka 中的第一个 python-novaclient 版本中移除它。
- 方法 novaclient.client.get_client_class 已被弃用 [[8]] 自 2.29.0 起。该方法将在 Mitaka 中移除。
- weighers 上的 mute_weight_value 选项已被弃用,包括用于 Cells 的选项。
- Libvirt 驱动程序的 remove_unused_kernels 配置选项现在已被弃用。
- 使用 vcenter 驱动程序的 vCenter 的最低推荐版本现在是 5.1.0。在 Liberty 中,这被记录为警告,在 Mitaka 中,对低于 5.1.0 版本的支持将被移除。
- API v3 特定的组件已被弃用并从默认的 paste.ini 中移除
OpenStack Telemetry (Ceilometer)
主要新特性
- 创建 Aodh 以处理告警服务。
- 元数据缓存 - 减少 nova API 轮询的负载。
- 声明式计量
- 通过定义计量定义模板来生成计量。
- 定义特定的 SNMP 计量进行轮询。
- Ceilometer 到 Gnocchi 的数据发布支持。
- 强制限制 - 限制查询受到限制。必须在查询中显式提供限制,否则结果集将限制为默认限制。
- 分布式、协调的通知代理 - 支持跨多个通知代理进行工作负载分区。
- 事件 RBAC 支持。
- PowerVM hypervisor 支持。
- 改进的 MongoDB 查询支持 - 统计计算的性能改进。
- 额外的计量支持
- Magnum 计量
- DBaaS 计量
- DNSaaS 计量
Gnocchi 功能
- 初始 influxdb 驱动程序实现。
Aodh 功能
- 事件告警 - 接收到事件时触发操作的能力。
- 告警中的 Trust 支持 链接。
升级说明
- ceilometer 使用的一些中间件的名称以不兼容的方式发生了变化。在升级之前,编辑 ceilometer 的
paste.ini文件,将oslo.middleware更改为oslo_middleware。例如,使用 sed -ri 's/oslo\.middleware/oslo_middleware/' api_paste.ini - 通知代理是 Ceilometer 中收集数据的核心服务。它现在处理所有转换和发布。轮询代理现在将所有处理推迟到通知代理,并且必须同时部署。
- 每个请求都应用强制限制。如果未提供限制,则将限制为默认限制。
已弃用的特性
- Ceilometer 告警已被弃用,转而支持 Aodh。
- RPC 发布者和收集器已被弃用,转而支持基于主题的通知发布者。
- 非计量已被弃用,将在未来的版本中移除。
OpenStack Identity (Keystone)
主要新特性
- 实验性:可以使用 REST API 将特定域的配置选项存储在 SQL 中,而不是配置文件中。
- 实验性:Keystone 现在支持使用 X.509 SSL 客户端证书进行无令牌授权。
- 现在支持为每个 Identity Provider 配置 WebSSO。
-
openstack_user_domain和openstack_project_domain属性已添加到 SAML 断言中,以便分别映射用户和项目域。 - 凭据列表调用现在可以按凭据类型过滤结果。
- 通过定义稳定的驱动程序接口,改进了对树外驱动程序的支持。
- 几个功能得到了加强,包括 Fernet 令牌、联合身份验证、来自数据库的特定域配置和角色分配。
- keystone.conf 中的某些变量现在有选项,这些选项确定用户的设置是否有效。
升级说明
- EC2 令牌中间件,在 Juno 中已被弃用,不再在 keystone 中可用。它已被移动到 keystonemiddleware 包。
compute_port configuration选项,在 Juno 中已被弃用,不再可用。- XML 中间件存根已被移除,因此必须从
keystone-paste.ini配置文件中移除对它的引用。 - stats_monitoring 和 stats_reporting paste 过滤器已被移除,因此必须从
keystone-paste.ini配置文件中移除对它的引用。 - 外部身份验证插件 ExternalDefault、ExternalDomain、LegacyDefaultDomain 和 LegacyDomain,在 Icehouse 中已被弃用,不再可用。
-
keystone.conf现在引用驱动程序的入口点名称。例如,驱动程序现在指定为 "sql"、"ldap"、"uuid",而不是完整的模块路径。有关其他示例,请参阅示例配置文件。 - 我们现在为
keystone-manage命令公开入口点,而不是文件。 - 通过
keystone-manage db_sync进行模式降级不再受支持。仅支持升级。 - 以前版本中为“扩展”的功能(OAuth 委托、联合身份验证支持、端点策略等)现在默认启用。
- 在 Keystone 后面运行 Keystone 时,提供了一个新的
secure_proxy_ssl_header配置选项。 - 几个配置选项已被弃用、重命名或移动到
keystone.conf文件中的新部分。 - 可以使用
domain_name属性在策略规则中使用域名称信息。
已弃用的特性
- 在 Eventlet 中运行 Keystone 仍然被弃用,将在 Mitaka 版本中移除。
- 使用 LDAP 作为资源后端,即用于项目和域,现在已被弃用,将在 Mitaka 版本中移除。
- 使用驱动程序类的完整路径已被弃用,转而使用入口点。在 Mitaka 版本中,必须使用入口点。
- 在
keystone.conf文件的 [resource] 和 [role] 部分中,不指定驱动程序并使用分配驱动程序已被弃用。在 Mitaka 版本中,资源和角色驱动程序将默认设置为 SQL 驱动程序。 - 在
keystone-paste.ini中,使用paste.filter_factory已被弃用,转而使用 "use" 指令,指定入口点。 - 在创建用户、组或项目调用期间不指定域,这依赖于回退到默认域,现在已被弃用,将在 N 版本中移除。
- 分配管理器的某些已弃用的方法已被移除,转而使用 [resource] 和 [role] 管理器中的相同方法。
OpenStack Block Storage (Cinder)
主要新特性
- 一种通用的镜像缓存解决方案,可以缓存流行的 VM 镜像并复制到新的卷。阅读文档了解更多信息
- 非破坏性备份 阅读文档了解更多信息。
- 卷一致性组的克隆能力 阅读文档了解更多信息。
- 列出卷后端的功能(获取 extra-specs)。
- 嵌套配额。
- 默认 LVM 后端如果可用,将采用稀疏配置。
- 已更正 cinder service-list,以便在驱动程序初始化失败时显示为 Down。
- 改进了卷迁移管理
- 能够查看之前的迁移尝试是否成功
- 管理员能够通过 cinder list 监控迁移
- 新的卷状态 "maintenance",以防止在迁移发生时尝试操作
- 迁移完成后,改进后端卷名称/ID 的一致性
升级说明
- RPC API 的参数发生变化以及对象转换的工作,阻止运行 Liberty c-vol 或 c-api 服务与 Kilo 或更早版本的任一服务。
已弃用的特性
- 移除了 Simple 和 Chance 调度器。
- 移除了已弃用的 HDS HUS iSCSI 驱动程序。
- 移除了 Coraid 驱动程序。
- 移除了 Solaris iSCSI 驱动程序。
- 移除了允许将镜像上传到附加卷的 --force 选项。
- 将 v1 API 标记为已弃用。
OpenStack Orchestration (Heat)
新特性
收敛
收敛是 Heat 树中成熟的新编排引擎。在 Liberty 中,使用收敛引擎的好处是
- 资源操作的更大并行化(用于更好地扩展大型模板)
- 在已经有更新正在进行时,进行堆栈更新的能力
- 更好地处理 heat-engine 故障(仍在进行中)
可以通过设置 /etc/heat/heat/conf [DEFAULT] convergence_engine=true,然后重新启动 heat-engine 来启用收敛引擎。完成此操作后,任何后续创建的堆栈都将使用收敛引擎,而对现有堆栈的操作将继续使用传统的引擎。
收敛尚未经过生产测试,因此应被视为 beta 质量 - 请谨慎使用。对于 Liberty 版本,我们建议启用收敛以进行评估和规模测试。我们将在 Mitaka 周期中考虑使收敛成为默认引擎。收敛特定的错误在 launchpad 中使用 convergence-bugs 标签进行跟踪。
条件资源暴露
只有实际安装在云服务中的资源才向用户公开。操作员可以使用 policy.json 中的标准策略规则进一步控制用户可用的资源。
heat_template_version: 2015-10-15
2015-10-15 表示 YAML 文档是一个 HOT 模板,并且可能包含 Liberty 版本中添加和/或删除的功能。
- 移除了 Fn::Select 函数(基于路径的 get_attr/get_param 引用应使用代替)。
- 如果对 get_attr 调用未指定 <attribute name>,则返回所有属性的字典,例如 { get_attr: [<resource name>]}。
- 添加了新的 str_split intrinsic 函数
- 添加了对现有 list_join 函数传递多个列表的支持。
- 添加了对 str_replace 和 list_join 解析 map/list 数据的支持(它们将自动进行 json 序列化)
REST API/heatclient 添加
- 堆栈现在可以分配一组标签,并且堆栈列表可以过滤和排序这些标签
- "heat stack-preview ..." 将返回建议的堆栈更新的预览
- "heat template-validate --show-nested ..." 也会验证所有模板资源并返回嵌套数据,这些数据对于构建用户界面很有用
- "heat resource-type-template --template-type hot ..." 生成 HOT 格式的模板
- "heat resource-type-list" 仅显示对用户可用的类型,并且可以按名称、版本和 support_status 过滤结果
- "heat template-version-list" 列出可用的模板版本
- "heat template-function-list ..." 列出模板版本的可用函数
现有资源的增强
- 软件部署现在可以使用 Zaqar 进行 部署软件数据 和 向 Heat 发送信号
- 堆栈操作现在在远程 OS::Heat::Stack 资源上执行
- OS::Nova::Server 现在支持 deletion_policy: Snapshot
- OS::Heat::ResourceGroup update_policy 现在支持指定 batch_create 和 rolling_update 选项
新资源
以下新资源现在与 Heat 版本一起分发
- OS::Barbican::Order [1]
- OS::Barbican::Secret [1]
- OS::Ceilometer::GnocchiAggregationByMetricsAlarm [1]
- OS::Ceilometer::GnocchiAggregationByResourcesAlarm [1]
- OS::Ceilometer::GnocchiResourcesAlarm [1]
- OS::Cinder::VolumeType [2]
- OS::Designate::Domain
- OS::Designate::Record
- OS::Heat::None
- OS::Heat::TestResource
- OS::Keystone::Endpoint
- OS::Keystone::Group [2]
- OS::Keystone::GroupRoleAssignment
- OS::Keystone::Project [2]
- OS::Keystone::Role [2]
- OS::Keystone::Service
- OS::Keystone::User [2]
- OS::Keystone::UserRoleAssignment
- OS::Magnum::BayModel
- OS::Manila::SecurityService
- OS::Manila::Share
- OS::Manila::ShareNetwork
- OS::Manila::ShareType
- OS::Mistral::CronTrigger
- OS::Mistral::Workflow
- OS::Monasca::AlarmDefinition [4]
- OS::Monasca::Notification [4]
- OS::Neutron::ExtraRoute [3]
- OS::Nova::Flavor [2]
- OS::Sahara::DataSource
[1] 这些资源在 Kilo 中作为 contrib 资源存在,因为它们是用于非集成项目的资源。这些资源现在与 Heat 一起分发为 Big Tent 项目。
[2] 这些资源在 Kilo 中作为 contrib 资源存在,因为它们需要具有管理员角色的用户。现在它们与 Heat 一起分发。操作员现在可以通过修改 policy.json(供参考,OS::Nova::Flavor 在默认策略文件中对非管理员用户隐藏)来隐藏它们免受特权不足的用户访问。
[3] 这些资源在 Kilo 中作为 contrib 资源存在,因为它们使用了 Heat 项目不认可的方法。现在它们与 heat 一起分发,并记录为 UNSUPPORTED。
[4] 这些资源是用于尚未成为 OpenStack Big Tent 项目的项目,因此记录为 UNSUPPORTED
借助新的 OS::Keystone::* 资源,云运营商现在可以使用热模板来管理 Keystone 服务目录条目和用户。
已弃用的资源属性
许多资源属性先前已被记录为已弃用 (DEPRECATED)。其中 15 个属性现在被标记为隐藏 (HIDDEN),这意味着它们将不再被记录,但现有的堆栈和模板在热升级后将继续工作。应参考 [ https://docs.openstack.org/developer/heat/template_guide/openstack.html 资源类型参考] 以确定可用的资源属性和特性。
升级说明
配置更改
对 /etc/heat/heat.conf [DEFAULT] 部分的显著更改
- 已添加 hidden_stack_tags,包含这些标签名称的堆栈将从堆栈列表结果中隐藏(默认为 data-processing-cluster,隐藏 sahara 创建的堆栈)
- instance_user 已弃用,现在已完全删除。使用 OS::Nova::Server 资源创建的 Nova 服务器现在将启动配置,并使用云镜像设置的默认用户。AWS::EC2::Instance 仍然创建 "ec2-user"
- max_resources_per_stack 现在可以设置为 -1 以禁用强制执行
- enable_cloud_watch_lite 现在默认为 false,因为此 REST API 已弃用
- default_software_config_transport 获得了 ZAQAR_MESSAGE 选项
- default_deployment_signal_transport 获得了 ZAQAR_SIGNAL 选项
- auth_encryption_key 现在记录为需要正好 32 个字符
- list_notifier_drivers 已弃用,现在已删除
- 策略选项已移动到 [oslo_policy] 部分
- use_syslog_rfc_format 已弃用,现在默认为 true
对 heat.conf 其他部分的显著更改
- [clients_keystone] auth_uri 已添加,用于指定未版本化的 keystone url
- [heat_api] workers 现在默认为 4(先前为 0,这会为每个主机 CPU 创建一个 worker)
策略文件 /etc/heat/policy.json 现在可以配置为使用每资源类型访问策略,例如
"resource_types:OS::Nova::Flavor": "rule:context_is_admin"
从 Kilo 升级到 Liberty
在支持实时 sql 迁移方面取得了进展,但是仍然建议在升级期间关闭 heat 服务。向下 SQL 模式迁移不再受支持。回滚到 Kilo 需要还原升级前数据库的快照。
OpenStack 数据处理 (Sahara)
主要新特性
- 新的插件和版本
- Ambari 插件支持 HDP 2.2 / 2.3
- 添加了 Apache Hadoop 2.7.1,Apache Hadoop 2.6.0 已弃用
- 添加了 CDH 5.4.0,并支持 NameNode 和 ResourceManager 的 HA
- 添加了 MapR 5.0.0
- 添加了 Spark 1.3.1,Spark 1.0.0 已弃用
- 删除了 HDP 1.3.2 和 Apache Hadoop 1.2.1
- 添加了使用 Swift 与 Spark EDP 作业的支持
- 添加了在 CDH 和 Ambari 插件中对 Spark EDP 作业的支持
- 添加了对公共和受保护资源的支持
- 开始与 OpenStack 客户端集成
- 添加了编辑所有 Sahara 资源的支持
- 添加了集群的自动 Hadoop 配置
- 直接引擎已弃用,将在 Mitaka 版本中删除
- 添加了 OpenStack manila NFS 共享作为作业二进制文件和数据源的存储后端选项
- 添加了对 EDP 作业模板的配置接口的定义和使用的支持
已弃用的特性
- 直接配置引擎
- Apache Hadoop 2.6.0
- Spark 1.0.0
- 所有 Hadoop 1.X 已删除
OpenStack 搜索 (Searchlight)
这是 Searchlight 的第一个版本。Searchlight 旨在通过将用户搜索查询卸载到 ElasticSearch 来极大地提高各种 OpenStack 云服务的搜索能力和性能。它提供基于 Keystone RBAC 的跨 OpenStack 服务的搜索,方法是对其数据进行索引到 ElasticSearch,并在传入的搜索查询之上提供安全层。ElasticSearch 是一个基于 Lucene 的搜索引擎。它提供了一个分布式、可扩展、近实时的、分面的、多租户功能的全文搜索引擎,并具有 RESTful Web 接口。
主要新特性
- Searchlight 搜索 API 基于 OpenStack 资源类型的 API,提供本机 ElasticSearch 查询支持
- 批量索引 CLI searchlight-manage indexing 命令行界面
- 增量基于通知的更新
- 资源类型插件系统 用于添加和管理资源索引和搜索
- Devstack 部署
索引的新资源类型
- OS::Nova::Server Nova 服务器实例
- OS::Glance::Image & OS::Glance::Metadef Glance 镜像和元数据定义
- OS::Designate::Zone & OS::Designate::RecordSet Designate 域和记录集
升级说明
不适用
已弃用的特性
不适用
OpenStack DNS (Designate)
主要新特性
- 实验性:Hook Point API
- Horizon 插件已从树中移除
- 清除已删除的域
- Ceilometer “exists” 周期性事件,每个域一个
- 异步操作
- 导入
- 导出
- designate-pool-manager 周期性任务的活动/被动故障转移
- OpenStack 客户端集成
其他 DNS 服务器后端
- InfoBlox
- Designate
升级说明
- 新的服务
designate-zone-manager- 建议使用受支持的 tooz 后端。
- 建议使用 ZooKeeper,或 tooz 支持的任何后端。
- 如果未使用 tooz 后端,所有 zone-manager 都将承担所有域的所有权,并且每小时将有 'n' 个“exists”消息,其中 'n' 是 zone-manager 进程的数量。
-
designate-pool-manager可以对周期性任务进行活动/被动故障转移。- 建议使用受支持的 tooz 后端。
- 如果未使用 tooz 后端,所有 pool-manager 都将承担池的所有权,并且将运行多个周期性任务。这可能会导致意想不到的后果。
已弃用的特性
- V1 API
- 初步意向通知,因为仍然存在需要 Designate CLI 接口(与 V1 交互)和仅与 V1 交互的 Horizon 面板的操作。
OpenStack 消息传递服务 (Zaqar)
主要新特性
- 预签名 URL - 一个新的 REST API 端点,用于支持预签名 URL,它为共享的资源提供了足够的控制,而不会损害安全性。
- 电子邮件通知 - 通知服务的一个新的任务驱动程序,它可以获取 Zaqar 订阅者的电子邮件地址。当队列中发布新消息时,订阅者将通过电子邮件接收该消息。
- 策略支持 - 使用
policy.json文件支持细粒度的权限控制,就像其他 OpenStack 组件一样。 - 持久传输 - 为 Zaqar 添加了对 websocket 作为持久传输替代方案的支持。现在,用户将能够建立应用程序和 Zaqar 之间的持久连接,以交换大量数据,而无需连接设置增加开销。
OpenStack Dashboard (Horizon)
主要新特性
- 新的网络拓扑 - 网络拓扑图已被交互式图形取代,该图形包含可折叠的网络,并且在大型部署中扩展性更好 (https://blueprints.launchpad.net/horizon/+spec/curvature-network-topology)。
- 插件改进 - Horizon 自动发现要包含的 JavaScript 文件,并且现在具有用于可插拔 SCSS 和 Django 模板覆盖的机制。
- 计算 (Nova)
- 支持实例的搁置和取消搁置 (https://blueprints.launchpad.net/horizon/+spec/horizon-shelving-command)。
- 支持 v2 块设备映射,在不可用时回退到 v1 (https://blueprints.launchpad.net/horizon/+spec/horizon-block-device-mapping-v2)。
- 网络 (Neutron)
- 添加了通过子网池分配子网的支持 (https://blueprints.launchpad.net/horizon/+spec/neutron-subnet-allocation)。
- 添加了将 LBaaS VIP 与浮动 IP 轻松关联的操作 (https://blueprints.launchpad.net/horizon/+spec/lbaas-vip-fip-associate)。
- 镜像 (Glance)
- 元数据编辑器已使用 AngularJS 更新 (https://blueprints.launchpad.net/horizon/+spec/angularize-metadata-update-modals)。
- 现在可以从项目仪表板编辑计算镜像元数据,使用新的元数据编辑器 (https://blueprints.launchpad.net/horizon/+spec/project-images-metadata)。
- 块存储 (Cinder)
- 启用了卷迁移的支持 (https://blueprints.launchpad.net/horizon/+spec/volume-migration)。
- 现在可以编辑卷类型,并包含描述字段 (https://blueprints.launchpad.net/horizon/+spec/volume-type-description)。
- 编排 (Heat)
- 改进了热拓扑,使更多资源可识别,而先前没有图标,并显示为未知资源 (https://blueprints.launchpad.net/horizon/+spec/heat-topology-display-improvement)。
- 数据处理 (Sahara)
- 统一的作业接口映射。这是一种人类可读的方法,用于传递作业可能需要或接受的配置数据 (https://blueprints.launchpad.net/horizon/+spec/unified-job-interface-map-ui)。
- 添加了作业二进制文件的编辑功能 (https://blueprints.launchpad.net/horizon/+spec/allow-editing-of-job-binaries)。
- 添加了数据源的编辑功能 (https://blueprints.launchpad.net/horizon/+spec/allow-editing-of-data-sources)。
- 添加了作业模板的编辑功能 (https://blueprints.launchpad.net/horizon/+spec/data-processing-edit-templates)。
- 公开了集群的事件日志 (https://blueprints.launchpad.net/horizon/+spec/sahara-event-log)。
- 添加了对 shell 作业类型的支持 (https://blueprints.launchpad.net/horizon/+spec/sahara-shell-action-form)。
- 数据库 (Trove)
- 添加了对数据库集群创建和管理的支持。目前支持 Vertica 和 MongoDB (https://blueprints.launchpad.net/horizon/+spec/database-clustering-support)。
- 身份 (Keystone)
- 添加了身份提供程序和协议特定的 WebSSO 映射 (https://github.com/openstack/horizon/commit/3b4021c0ad0e8d7b10aa8c2dcd8c13a5717c450c)。
- 可配置的令牌哈希 (https://github.com/openstack/django_openstack_auth/commit/ece924a79d27ede1a8475d7f98e6d66bc3cffd6c 和 https://github.com/openstack/horizon/commit/48e651d05cbe9366884868c5331d49a501945adc)。
- Horizon (内部改进)
- AngularJS 中对翻译的完全支持,以及更简单的工具 (https://blueprints.launchpad.net/horizon/+spec/angular-translate-makemessages)。
- 添加了 Karma 用于 JavaScript 测试 (https://blueprints.launchpad.net/horizon/+spec/karma)。
- 添加了 ESLint 用于 JavaScript 代码检查,使用 eslint-config-openstack 规则 (https://blueprints.launchpad.net/horizon/+spec/jscs-cleanup)。
- Horizon 现在支持覆盖现有的 Django 模板 (https://blueprints.launchpad.net/horizon/+spec/horizon-theme-templates)。
- JavaScript 文件现在会自动包含 (https://blueprints.launchpad.net/horizon/+spec/auto-js-file-finding)。
升级说明
- 现在支持 Django 1.8,Django 1.7 是我们的最低支持版本 (https://blueprints.launchpad.net/horizon/+spec/drop-django14-support)。
- 由于其结构的更改,基于数据库的会话可能无法在升级过程中持久保留 (https://github.com/openstack/django_openstack_auth/commit/8c64de92f4148d85704b10ea1f7bc441db2ddfee 和 https://github.com/openstack/horizon/commit/ee2771ab1a855342089abe5206fc6a5071a6d99e)。
- Horizon 不再在测试中使用 QUnit,并且它已被从我们的要求中删除 (https://blueprints.launchpad.net/horizon/+spec/replace-qunit-tests-with-jasmine)。
- Horizon 现在在设置文件中为默认 Web URL (
WEBROOT)、静态文件位置 (STATIC_ROOT) 和静态文件 URL (STATIC_URL) 提供了多个配置选项。 - 主题已从
openstack_dashboard/static/themes移动到openstack_dashboard/themes。可能需要相应地更新路径。此外,Horizon 正在与 Bootstrap 标记对齐更紧密,主题应围绕这种理念构建;有关详细信息,请参阅顶部栏和侧边导航。 - 已弃用的
OPENSTACK_QUANTUM_NETWORK配置选项已被删除。如果您仍然使用它,请将其替换为OPENSTACK_NEUTRON_NETWORK - 设置中现在有一个
OPENSTACK_NOVA_EXTENSIONS_BLACKLIST选项,用于出于性能原因禁用选定的扩展 (https://github.com/openstack/horizon/commit/18f4b752b8653c9389f8b0471eccaa0659707ebe)。 - Trove 和 Sahara 面板现在位于
openstack_dashboard/contrib中。这是为了为主要由服务团队提供的审查提供分离。 - Horizon 需要 Cinder 的
volume和volumev2端点,即使只使用 v2。 - 许多 JavaScript 文件,最值得注意的是基本页面模板 (
horizon/templates/base.html) 已从仓库的框架部分 (horizon) 移动到应用程序侧 (openstack_dashboard),以便更好地将框架与应用程序分离。
OpenStack Trove (DBaaS)
主要新特性
- Redis
- Redis 的配置组
- 集群支持
- MongoDB
- 单个实例的备份和恢复
- 用户和数据库管理
- 配置组
- Percona XtraDB Cluster Server
- 集群支持
- 允许部署者将实例风味与特定的数据存储关联
- Horizon 支持数据库集群
- 数据存储和版本的管理 API
- 能够以单个管理员租户部署 Trove 实例,以便 nova 实例对用户隐藏
OpenStack Bare metal (Ironic)
Ironic 已切换到 中间发布模型,并在 Liberty 期间发布了版本 4.0,随后是两个次要更新。版本 4.2 构成了 OpenStack 集成 Liberty 版本的基准,并将收到稳定的更新。
请参阅完整的发布说明:https://docs.openstack.org/developer/ironic/releasenotes/index.html
新特性
- 添加了“ENROLL”硬件状态,这是新创建节点时的默认状态。
- 添加了“abort”动词,允许用户在操作进行中时中断某些操作。
- 改进了 REST API 中的查询和过滤支持。
- 添加了对 CORS 中间件的支持。
硬件驱动程序
- 为硬件驱动程序添加了一个新的 BootInterface,将功能从 DeployInterface 中分离出来。
- iLO 虚拟媒体驱动程序无需 Swift 即可工作。
- 添加了 Cisco IMC 驱动程序。
- 添加了 OCS 驱动程序。
- 添加了 UCS 驱动程序。
- 添加了 Wake-On-Lan 电源驱动程序。
- ipmitool 驱动程序支持 IPMI v1.5。
- 为 SNMP 驱动程序添加了对“APC MasterSwitchPlus”系列 PDU 的支持。
- pxe_ilo 驱动程序现在支持 UEFI 安全启动(之前版本的 iLO 驱动程序仅对 agent_ilo 和 iscsi_ilo 支持此功能)。
- 为 iRMC 驱动程序添加了虚拟媒体支持。
- 为 DRAC 驱动程序添加了 BIOS 配置。
- PXE 驱动程序现在支持 GRUB2。
已弃用的特性
- DriverInterface 的“vendor_passthru”和“driver_vendor_passthru”方法已被移除。这些方法在 Kilo 版本中已弃用,并被 @passthru 装饰器取代。
- 用于从 Nova “baremetal”部署导入数据的迁移工具已被移除。
- 弃用了 periodic task 装饰器的“parallel”选项。
- 移除了已弃用的 ‘admin_api’ 策略规则。
- 对原始“bash”部署 ramdisk 的支持已被弃用,将在两个周期后移除。应使用 ironic-python-agent 项目用于所有部署驱动程序。
升级说明
- 新创建的节点默认使用新的 ENROLL 状态。 之前,节点默认使用 AVAILABLE 状态,这可能导致硬件过早暴露给 Nova。
- Kilo 版本中 API 版本头部的添加意味着,任何希望与 Liberty API 交互的客户端都必须在每个 HTTP 请求中传递适当的版本字符串。 当前 API 版本为 1.14。
OpenStack 密钥管理器 (Barbican)
新特性
- 添加了项目管理员为每个项目创建证书颁发机构的能力。 此外,项目管理员能够定义和管理每个项目的首选证书颁发机构 (CA)。 这允许项目实现项目特定的安全域。
- Barbican 现在具有每个项目的配额支持,用于限制可以在项目下创建的 Barbican 资源数量。 默认情况下,配额设置为无限制,可以在 Barbican 配置文件中覆盖。
- 支持轮换主密钥,该密钥用于封装项目级别的密钥。 在这种轻量级方法中,只有项目级别的密钥 (KEK) 会使用新的主密钥 (MKEK) 重新封装。 目前仅适用于 PKCS11 插件。 (https://specs.openstack.org/openstack/barbican-specs/specs/liberty/add-crypto-mkek-rotation-support-lightweight.html)
- 更新了 Barbican 的根资源,以返回与 Keystone、Nova 和 Manila 格式匹配的版本信息。 这被 keystoneclient 的版本化端点发现功能使用。
- 移除了管理员端点,因为所有操作都可以在常规端点上使用。 无需单独的端点,因为访问限制通过 Oslo 策略强制执行。
- 添加了配置以启用 sqlalchemy 池以管理 SQL 连接。
- 添加了使用 ACL 列出可通过 ACL 访问的密钥的能力,使用 GET /v1/secrets?acl-only=true 请求。
- 改进了围绕 Barbican API 相关 ACL 操作、RBAC 策略和密钥的功能测试覆盖率。
- 修复了 SnakeOil CA 插件实例创建问题。
- Barbican 客户端 CLI 现在可以接受 Keystone token 进行身份验证。 之前仅支持用户名和密码身份验证。
- Barbican 客户端现在具有创建和列出证书订单的能力。
升级说明
- 移除了项目密钥关联表。 密钥项目关系由外键维护。 更多详细信息,请参阅 https://specs.openstack.org/openstack/barbican-specs/specs/liberty/data-remove-tenant-secret-assoc.html 。
- 将 barbican 配置文件重命名为
barbican.conf。
OpenStack Image Service (Glance)
更新了项目指南,其中包含有关操作、安装、配置、开发和使用该服务的一些详细信息: https://docs.openstack.org/developer/glance/
主要新特性
- 添加了上传签名图像的支持。 更多信息,请参阅 https://specs.openstack.org/openstack/glance-specs/specs/liberty/image-signing-and-verification-support.html 。
- 现在可以并行擦洗图像。 更多信息,请参阅 https://specs.openstack.org/openstack/glance-specs/specs/liberty/scrub-images-in-parallel.html 。
- 可以使用 healthcheck 中间件监控 Glance 节点的运行状况。 更多信息,请参阅 https://specs.openstack.org/openstack/glance-specs/specs/liberty/healtcheck-middleware.html 。
- 实验性的 Artifacts API 现在可供使用。 请注意,在它成为标准 API 之前,它可能会发生变化。
- S3 存储现在具有代理支持。 更多信息,请参阅 https://specs.openstack.org/openstack/glance-specs/specs/liberty/http-proxy-support-for-s3.html 。
- Swift 存储现在具有 v3 身份验证支持。
- python-glanceclient 现在支持 keystone 会话的一些高级方面。
- python-glanceclient 现在支持 Metadata Definition Catalog 的标签。
升级说明
- python-glanceclient 现在默认使用 Glance API v2,如果 v2 不可用,则回退到 v1。
- 后端存储的依赖项现在是可选的,并根据指定的每个存储进行安装。
- 一些存储,如 swift、s3、vmware 现在具有 python 3 支持。
- 一些新的以及更新的默认元数据定义随源代码一起提供。
- 为 Glance API 添加了更多 python 3 支持,现在通过测试扩展了持续支持,以确保兼容性。
- utf-8 现在是后端 MySQL DB 的默认字符集。
- 已更新迁移脚本以对表字符集执行健全性检查。
- ‘ram_disk’和‘kernel’属性现在可以在模式中为 null,并且 ‘id’ 现在是 v2 API 的只读属性。
- 添加了一个配置选项
client_socket_timeout以利用最近的 eventlet socket 超时行为。 - 添加了一个配置选项
scrub_pool_size以设置擦洗器应运行的并行线程数,默认值为 1。 - 一个重要的错误,该错误允许使用 Glance v1 API 更改图像状态,现在已修复。
- Glance /versions 端点现在返回 HTTP 200 代码,而之前返回 300。
已弃用的特性
- 实验性的 Catalog Index Service 已被移除,现在是一个名为 Searchlight 的独立项目。
- 由于移除了基于文件的擦洗器队列,因此移除了配置选项
scrubber_datadir、cleanup_scrubber和cleanup_scrubber_time。
新特性
- 启用了对可用区域的支持。
- 添加了管理员 API 组件以处理共享实例。
- 添加了池称重器,允许 Manila 调度器将新的共享放置在具有现有共享服务器的池上。
- 支持从一个主机池迁移到另一个主机池(实验性)。
- 在通用驱动程序中添加了共享扩展功能。
- 支持一致性组,允许在同一时间为多个文件系统共享创建快照(实验性)。
- NetApp cDOT 驱动程序和通用驱动程序中支持一致性组。
- 支持稀疏配置中的超额订阅。
- 新的 Windows SMB 驱动程序
- 支持处理 Windows 服务实例和导出 SMB 共享。
- 添加了新的
osapi_share_workers配置选项,以提高 Manila API 服务的总吞吐量。 - 添加了共享钩子功能,允许在共享驱动方法调用之前和之后执行操作,为每个 ‘N’ 个刻度调用额外的周期性钩子,并更新驱动程序操作的结果。
- 对 NetApp cDOT 驱动程序的改进
- 添加了变量 netapp:dedup 和 netapp:compression,用于创建备份 Manila 共享的 flexvol 时。
- 添加了管理/取消管理支持和缩小共享支持。
- 支持
extended_shareAPI 组件。 - 支持 netapp-lib PyPI 项目与存储阵列通信。
- 对 HP 3PAR 驱动程序的改进
- 添加了对 dedupe、稀疏配置和 hp3par_flash_cache 功能的报告。 这允许共享类型和 CapabilitiesFilter 将共享放置在具有请求功能的宿主机上。
- 添加了共享服务器支持。
- 对华为 Manila 驱动程序的改进
- 添加了对存储池、extend_share、manage_existing、shrink_share、只读共享、smartcache 和 smartpartition 的支持。
- 添加了对 dedupe、稀疏配置和压缩功能的报告。
- 为 VNX Manila 驱动程序添加了访问级别支持。
- 添加了对 Manila HDS HNAS 驱动程序的支持。
- 添加了 GlusterFS 原生驱动程序。
- GlusterFS 驱动程序现在可以指定兼容的共享布局列表。
- 添加了微版本支持 (v2 API)。
已弃用的特性
share_reset_statusAPI 组件已被弃用,并由share_instance_reset_status替换。