Train Release Highlights

Train Release Highlights

注意

这些是直接来自项目团队的重大变更报告,未经任何处理。有些亮点可能比其他亮点更重要。请不要将此列表视为该版本的最终亮点集,直到 OpenStack 基金会营销团队有机会从这些变更中编译出更准确的信息。

Blazar

备注

  • 添加了全局请求 ID 的支持,可用于跟踪跨多个 OpenStack 服务的请求。

  • 为 v1 API 添加了微版本支持。

  • 完成了在 Stein 中作为预览版引入的浮动 IP 预留功能的实现和文档编写。

Cinder

备注

  • 许多驱动程序添加了对更新功能的支持,例如多挂载和一致性组。

  • 将 qcow2 镜像上传到 Glance 时,数据现在可以被压缩。

  • 团队专注于实现大量的错误修复和可用性改进。

  • Cinder 现在具有升级检查功能,可以在升级到 Train 时检查潜在的兼容性问题。

Cloudkitty

备注

  • 引入了一个 v2 API 以及五个新的端点。目前标记为 实验性。它的端点支持时区,并且旨在比 v1 端点更通用和高效。

  • 添加了一个 Prometheus 范围获取器。它允许从 Prometheus 动态发现范围,并打算与 Prometheus 收集器一起使用。

  • 改进了处理器的容错性和性能。每个处理器现在都会生成多个工作进程,并在发生故障时重新启动这些进程。

  • 引入了 Elasticsearch 的 v2 存储驱动程序。目前标记为 实验性

Cyborg

备注

  • 合并了 Cyborg-Nova 交互规范。这是最终目标的设计蓝图,即使用加速器启动和管理虚拟机。 <https://github.com/openstack/nova-specs/blob/master/specs/train/approved/nova-cyborg-interaction.rst>

  • 将 Cyborg API 更新到版本 2,其中包括对 Nova 交互的支持。使用 v2 API,最终用户可以创建/删除设备配置文件以及创建/绑定/解绑/删除加速器请求 (ARQ)。在此版本中,我们只是引入了设备配置文件 API 和加速器请求 API。

  • 添加了新的 Cyborg 驱动程序 (Ascend) 并改进了现有的驱动程序 (Intel FPGA, GPU)。

  • 创建了 tempest CI 框架,该框架今天可以使用模拟驱动程序,并在未来可以使用真实硬件。

  • 启用了 Python 3 测试并修复了支持 Train 目标的问题。

Designate

备注

  • 删除了旧的弃用代码,例如池管理器和旧的 Power DNS 驱动程序,从而确保了操作员的复杂性降低。(Train 中删除了 95% 的所有弃用警告)

  • 删除了 v1 API 代码(之前默认情况下已禁用)

  • API 控制平面和 DNS 数据平面完全支持 IPv6

  • 审计日志记录,以确保合理的日志消息和日志数量

  • 添加了数百个测试,代码覆盖率提高了 5-6%。

  • 到目前为止,近期发布中最活跃的周期。更改了 363 个文件,插入了 12894 行 (+),删除了 9564 行 (-)

  • 周期 MVP - Erik Olof Gunnar Andersson <eandersson@blizzard.com> 在该周期中贡献了 66 个提交,总共 178 个提交。

  • Train 是最后一个支持 Python 2.7 的版本

Glance

备注

  • Images API v2.9 已升级为当前版本,2.7 和 2.8 标记为受支持。只有在配置了多存储时,2.8 才会显示在版本列表中。

  • Glance 多存储功能已被认为稳定

  • glance-cache-manage 不再依赖 glance-regstry,而是直接与 glance-api 通信

  • 缓存预取现在由 glance-api 作为周期性任务完成,从而消除了将其添加到 cron 中的要求。

  • 在 glance、glance_store 和 python-glanceclient 中进行了各种错误修复

Horizon

备注

  • 现在支持 Volumes 多挂载

  • Horizon 现在支持可选的自动生成 Kubernetes 配置文件

  • 这是最后一个支持 Python 2.7 和 Django 1.11 的版本

Ironic

备注

  • 基本支持构建 软件 RAID

  • Redfish 硬件类型的虚拟媒体启动。

  • 改进了传感器数据收集。

  • 用于构建 ramdisk 镜像的新工具:ironic-python-agent-builder

  • Ansible 部署接口中的大量修复。

Karbor

备注

  • 添加了计划、检查点、恢复、计划和触发操作的事件通知。

  • 允许用户使用位于根磁盘上的新添加数据备份镜像启动服务器。

Keystone

备注

  • 所有 Keystone API 现在在其默认策略中使用默认的读取者、成员和管理员角色。这意味着现在可以创建具有比以前更细粒度访问 Keystone API 的用户。例如,可以创建一个只能访问 Keystone 的 GET API 的“审计员”用户。请注意,根据其他 OpenStack 服务的默认和覆盖策略,这样的用户可能仍然能够访问其他服务的创造性或破坏性 API。

  • 所有 Keystone API 现在都支持系统范围作为策略目标(如果适用)。这意味着现在可以将 [oslo_policy]/enforce_scope 设置为 truekeystone.conf 中,这将允许 Keystone 在默认策略下区分项目特定的请求和对整个部署进行操作的请求。这使得可以安全地将管理员访问权限授予特定的 Keystone 项目,而无需授予对 Keystone 所有 API 的管理员访问权限,但请注意,根据其他 OpenStack 服务的默认和覆盖策略,项目管理员可能仍然在项目范围之外对其他服务具有管理员权限。

  • 现在可以提供 ID 创建 Keystone 域,从而允许在这些域内创建的所有用户 ID 都是可预测的。这使得跨多个站点扩展云部署更容易,因为域和用户 ID 无需显式同步。

  • 应用程序凭据现在支持访问规则,即用户提供的 OpenStack API 请求列表,应用程序凭据允许使用这些请求。此级别的访问控制是对通过策略规则管理的传统基于角色的访问控制的补充。

  • Keystone 角色、项目和域现在可以被设置为不可变,以便某些重要的资源(例如默认角色或服务项目)不会被意外修改或删除。这由角色、项目和域上的资源选项管理。 keystone-manage bootstrap 命令现在允许部署者选择在部署时将默认角色创建为不可变的,这将成为未来的默认行为。在运行 keystone-manage bootstrap 之前存在的角色可以通过资源更新设置为不可变的。

Kolla

备注

  • Debian 和 Ubuntu 源代码镜像切换到 Python 3。

  • 引入了 Masakari 和 Qinling 的镜像和 playbook,Masakari 支持实例高可用性,Qinling 提供函数即服务。

  • 添加了对部署多个 Nova cell 的支持。

  • 添加了通过 IPv6 进行控制平面通信的支持。

Kuryr

备注

  • 稳定了对 Kubernetes 网络策略的支持。

  • Kuryr CNI 插件现在重写为 golang,以使其部署更容易。

  • 对 DPDK 和 SR-IOV 的支持进行了多项增强。

  • 支持标记 Kuryr 创建的所有 Neutron 和 Octavia 资源。

Magnum

备注

  • Fedora CoreOS 驱动现已可用,我们很高兴能够提供,因为 Fedora Atomic 将于今年 11 月底停止维护。我们欢迎用户测试并提供反馈。

  • 节点组现在允许用户使用具有不同规格的节点组创建集群,例如 GPU 节点组和高内存节点组。感谢 CERN 团队和 StackHPC 的出色工作。

  • Kubernetes 版本和节点操作系统都支持滚动升级,停机时间最小。

  • 可以在 Kubernetes 集群上部署自动修复,以监控集群健康状况并在检测到故障时更换故障节点。

  • 可以从卷启动 Kubernetes 集群,并配置卷类型。他们甚至可以设置 etcd 卷的卷类型。这对于希望使用 SSD、NVME 等的云提供商可能很有用。

  • 可以按照最佳安全实践创建私有集群,将 Kubernetes 集群与互联网访问隔离。这对于企业用户来说可能是一个理想的功能。现在他们可以选择默认的私有集群,仅允许访问暴露在互联网上的 API,或者使其完全可访问。

  • 添加 cinder_csi_enabled 标签以支持树外 Cinder CSI。

  • 支持 containerd 作为 container_runtime,作为 host-docker 的替代方案。

  • 支持新的配置 health_polling_interval,以使间隔可配置或完全禁用。

Manila

备注

  • Manila 共享网络现在可以使用多个子网创建,这些子网可能位于不同的可用区。

  • NetApp 后端在 DHSS=True 时添加了对复制的支持。

  • GlusterFS 后端添加了对目录布局的扩展/收缩的支持。

  • 添加了 Infortrend 驱动程序,支持 NFS 和 CIFS 共享。

  • CephFS 后端现在支持 IPv6 导出和访问控制列表。

  • 添加了 Inspur Instorage 驱动程序,支持 NFS 和 CIFS 共享。

  • 添加了修改共享类型名称、描述和/或公共访问字段的支持。

Mistral

备注

  • 性能提高了约 40%(取决于工作流程)

  • 改进了事件通知机制

  • 完成了“高级发布”的遗留工作

  • 工作流执行报告现在包含任务的“retry_count”(重试次数)

  • 完全准备好放弃 py27

  • 大量的错误修复和小改进(包括仪表板)

Neutron

备注

  • OVN 现在可以发送 ICMP “Fragmentation Needed”(需要分片)数据包,允许使用巨型帧的租户网络上的虚拟机访问外部网络,而无需额外的路由配置。

  • 通过更好地分配控制器中的工作方式,提高了事件处理性能。这在执行批量端口绑定时有很大帮助。

  • 当不同的子网池参与相同的地址范围时,放宽了禁止从同一网络的不同池分配子网的限制。只要子网池参与相同的地址范围,就可以在网络上创建多个子网时从不同的子网池创建子网。如果未使用地址范围,则同一网络上的具有相同 ip_version 的子网仍然必须从同一子网池分配。

  • 为 Neutron 路由器实现了一个新的 API,extraroute-atomic。此扩展允许用户添加或删除路由表的单个条目,而不必将整个表作为一个整体进行更新

  • 添加了对 L3 conntrack 辅助程序的支持。用户现在可以配置 conntrack 辅助程序目标规则以设置为路由器。这是通过将 conntrack_helper 子资源与路由器关联来实现的。

Nova

备注

  • 使用 libvirt 计算驱动程序时,支持具有 NUMA 拓扑、固定 CPU 和/或 巨页 的服务器的实时迁移。

  • 使用 libvirt 计算驱动程序时,支持具有连接的 SR-IOV 端口 的服务器的实时迁移。

  • 支持使用带宽感知 服务质量端口 附加的服务器的冷迁移和调整大小。

  • 改进了调度器,以便更智能地过滤来自 Placement 服务的 结果

  • 通过使用 Placement 服务和 API 数据库来计算配额使用量,提高了多单元格的弹性。

  • 一个新的框架支持基于硬件的访客内存加密,以保护用户免受攻击者或恶意管理员窥探其工作负载,使用 libvirt 计算驱动程序。目前仅对 AMD SEV(安全加密虚拟化) 具有基本支持。

  • API 改进,适用于管理员/操作员和最终用户。

  • 改进了 操作工具,用于存档数据库和修复 Placement 中的实例资源分配等。

  • 在外部节点 电源循环 期间,与 baremetal 服务的协调得到改进。

  • 支持使用 libvirt 计算驱动程序时的 VPMEM(虚拟持久内存)。这提供了跨电源周期的持久性,成本更低,容量比 DRAM 大得多,尤其有利于 HPC 和内存数据库,例如 redis、rocksdb、oracle、SAP HANA 和 Aerospike。

  • Train 是第一个仅从其自身项目提供 Placement 并且必须与 Nova 分开安装的周期。

  • 广泛的基准测试和分析已带来 Placement 服务的大量性能增强,尤其是在资源提供程序数量众多且并发量高的情况下。

  • 添加了对禁止聚合的支持,允许仅将资源提供程序组用于特定目的,例如为许可的工作负载保留一组计算节点。

  • 增加了一系列特性,这些特性结合起来能够针对具有复杂树状结构、模拟 NUMA 布局、多个设备和网络的目标提供商,其中树的成员之间需要亲和性和分组。这些特性将有助于在云中启用 NFV 和其他高性能工作负载。

Octavia

备注

  • 现在可以将访问控制列表 (ACL) 应用到负载均衡器监听器。每个端口可以拥有一份允许的源地址列表。

  • Octavia 现在支持 Amphora 日志卸载。操作员可以为 Amphora 管理日志和租户负载均衡器连接日志定义 syslog 目标。

  • Amphorae 现在可以使用 Cinder 卷启动。

  • Amphora 镜像已得到优化,以减少镜像大小和内存消耗。

Openstackansible

备注

  • Services 的虚拟环境默认使用 Python 3

  • 添加了 murano 支持

  • 项目在 OpenStack-Ansible 完整部署之外更具可重用性

  • 添加了 uwsgi 角色,以统一跨角色的 uWSGI 服务配置

  • 完全迁移到 systemd-journald,不再使用 rsyslog

  • 添加了对 metal 多节点部署的支持

  • 普遍减少了技术债务

Senlin

备注

  • 添加了 webhook v2 支持:先前 webhook API 引入了微版本 1.10,允许调用者在 webhook 调用中传递任意数据。

  • 支持的管理员用户可以查看任何集群配置的详细信息。

  • 允许集群删除操作分离策略并删除正在删除的集群的接收器。

Storlets

备注

  • Python 3 支持将继续进行

  • 各种代码改进

Swift

备注

  • Swift 现在可以在 Python 3 下运行。

  • 日志格式现在更具可配置性,并包含对匿名化的支持。

  • Swift-all-in-one Docker 镜像现在已构建并发布到 https://hub.docker.com/r/openstackswift/saio

Tacker

备注

  • 添加了强制删除 VNF 和网络服务实例的支持。

  • 添加了 VNF 包的部分支持。

Trove

备注

  • Service Tenant 部署模型已经进行了大量改进,强烈建议在生产环境中采用。云管理员可以定义 trove 实例的管理资源,例如密钥对、安全组、网络等。

  • 使用 trovestack 脚本,创建 trove guest 镜像对于云管理员或开发人员来说变得更加容易。

  • 用户可以限制源 IP 地址访问数据库,从而将 trove 实例暴露给公众。

Vitrage

备注

  • 为 Kapacitor 添加了新的数据源。

  • 为 Monasca 添加了新的数据源。

  • Vitrage 状态和模板版本的新的 API。

  • 使用 alembic 工具支持 Vitrage 数据库升级。

Watcher

备注

  • 在 Audit 中添加了“force”字段。用户可以在启动 audit 时设置 –force 以启用新选项。

  • Grafana 已被添加为可用于收集指标的数据源。

  • 从 Placement 获取数据以改进 Watcher 计算数据模型。

  • 添加了显示数据模型 API。

  • 添加了节点资源整合策略。

Zun

备注

  • Zun 计算代理将本地资源报告给 Placement API。

  • Zun 调度器从 placement API 获取分配候选者并声明容器分配。

Creative Commons Attribution 3.0 License

除非另有说明,本文档根据知识共享署名3.0许可协议授权。请参阅所有OpenStack法律文件