跳转到: 导航, 搜索

ReleaseNotes/Havana/zh tw

目录

OpenStack 2013.2 (Havana) 发行说明

在这份文档中,您将找到关于 OpenStack 2013.2 (Havana) 版本的关键新特性、已知错误和升级技巧的描述。


OpenStack 对象式存储空间 (Swift)

关键新特性

  • Global clusters support

Swift 1.8.0 中引入的“region”概念已扩展为支持使用单独的复制网络,并配置读写亲和性。这些特性结合起来,为跨越广阔地理区域的单个 Swift 集群提供支持。

  • Added config file conf.d support

允许 Swift 守护程序和服务器选择性地接受目录作为配置参数。这允许配置文件不同部分分别管理,例如,每个中间件可以使用单独的文件来管理其特定的配置设置。

  • Disk performance

对象服务器现在可以配置为使用线程池来提高性能并平滑系统中的延迟。此外,许多磁盘操作已重新排序,以提高可靠性和性能。

  • Added support for pooling memcache connections
  • Much faster calculation for choosing handoff nodes

重大错误修正

  • Fixed bug where memcache entries would not expire
  • Fixed issue where the proxy would continue to read from a storage

server even after a client had disconnected

  • Fix issue with UTF-8 handling in versioned writes

Additional operational polish

  • Set default wsgi workers to cpu_count

将默认的 wsgi worker 从 1 更改为自动。代理、容器、帐户和对象 wsgi 服务器中的 worker 默认值将为每个进程生成与 CPU 核心数量相同的 worker。这对于某些配置来说可能不是理想的,但更有可能产生一个成功的开箱即用的部署。

  • Added reveal_sensitive_prefix config setting to filter the auth token

logged by the proxy server.

  • Added support to replicating handoff partitions first in object

replication. Can also configure now many remote nodes a storage node must talk to before removing a local handoff partition.

  • Added crossdomain.xml middleware. See

https://docs.openstack.org/developer/swift/crossdomain.html for details

  • Numerous improvements to get Swift running under PyPy

已知问题

  • 如果您正在使用 cells,则在删除实例时会出现问题。与 Grizzly 不同,删除实例将立即从顶级(API)cell 中删除它们,然后再告知子 cell 删除实例。这不是预期的行为。这种副作用是会发送 delete.start 和 delete.end 通知。如果子 cell 中的实例删除成功,则会发送第二个 delete.start 和 delete.end 通知。如果失败,数据库最终会不同步,实例似乎从 API cell 中消失,但仍然存在于子 cell 中。cells 中内置的自然修复代码最终会纠正此问题,并在一段时间后将实例恢复到 API cell 数据库中,具体取决于修复配置。此错误将在 havana-stable 发布后不久得到修复。
  • Check http://bugs.launchpad.net/nova

升级说明

阅读完整的变更日志说明 https://github.com/openstack/swift/blob/master/CHANGELOG 以查看任何会影响升级的配置更改。

与往常一样,Swift 可以在不中断服务的情况下升级。

OpenStack 计算单元 (Nova)

关键新特性

API

  • 计算 (Nova) REST API 包含一个实验性的新版本 (v3)。新版本的 API 包含许多清理,以及实现和版本化 API 扩展的框架。预计此 API 将在 Icehouse 版本中最终确定。(blueprint)。
  • 已添加以下扩展到计算 (Nova) REST API
    • CellCapacities:添加了确定 Cell 中 RAM 数量以及 Cell 中可用 RAM 数量的能力(blueprint)。
    • ExtendedFloatingIps:为添加浮动 IP 命令添加了可选的 fixed_address 参数,允许将浮动 IP 与固定 IP 地址关联(blueprint)。
    • ExtendedIpsMac:将 Mac 地址添加到服务器响应(blueprint)。
    • ExtendedQuotas:允许管理员删除租户的非默认配额,将其恢复到配置的默认配额(blueprint)。
    • ExtendedServices:添加了存储服务已禁用的原因(blueprint)。
    • ExtendedVolumes:将附加的卷添加到实例信息(blueprint)。
    • Migrations:添加了通过 Cell 或 Region 列出正在进行的调整大小和迁移操作的能力(blueprint)。
    • ServerUsage:将 launched_atterminated_at 值添加到实例 show 响应(blueprint)。
    • UsedLimitsForAdmin:允许通过管理 API 获取特定租户的配额限制(blueprint)。

Cells

  • Cells 调度器已更新为支持通过新的 scheduler_filter_classesscheduler_weight_classes 选项在 [cells] 配置组中进行过滤和加权。还添加了新的 ram_by_instance_typeweight_offset 加权模块,消除了先前版本中使用的 Cell 随机选择。此外,一个过滤器类 TargetCellFilter 允许管理员指定调度器提示,以将构建定向到特定的 Cell。这使得 Cell 调度的工作原理在概念上与现有的主机调度类似。(blueprint
  • 现在支持在单个 Cell 内迁移虚拟机实例。不支持在 Cell 之间迁移虚拟机实例。(blueprint
  • Cinder 现在在 Nova 中使用 Cells 时受支持。(blueprint

计算单元

一般
  • 添加了 Hypervisor 支持,用于使用 Docker 创建和管理的容器(blueprint)。
  • Nova 有一项新功能,允许您“搁置”实例。这允许长时间停止的实例从 hypervisor 移动,以释放资源(blueprint)。
  • 已向元数据服务和配置驱动设施添加了一个 vendor_data 部分。这允许扩展可用于来宾的元数据,以包含特定于供应商或站点的特定数据(blueprint)。
Baremetal 驱动程序
  • 添加了一个后端,支持 Tilera 裸机配置到 Baremetal 驱动程序 (蓝图)。
Hyper-V 驱动程序
  • 支持 Windows Server / Hyper-V Server 2012 R2 (蓝图)。
  • 支持 VHDX 格式 (蓝图)。
  • 支持动态内存 (蓝图)。
  • 支持短暂存储 (蓝图)。
  • 支持 Ceilometer 集成的计算指标 (蓝图)。
libvirt (KVM) 驱动程序
  • 已添加对 QEMU 客户机代理 (qemu-guest-agent) 的支持,用于属性设置为 yeshw_qemu_guest_agent 创建的客户机 (蓝图)。
  • 已将物理计算节点到虚拟化客户机的 PCI 设备直通的支持添加到 Nova。目前,只有 libvirt 驱动程序提供了可用的实现 (基础蓝图, libvirt 蓝图)。
  • 添加了从 Cinder 提取 QoS 参数的支持,并在使用基于 libvirt 的虚拟机时根据这些参数限制磁盘访问 (蓝图)。
  • RBD 现在被支持作为存储镜像的后端 (蓝图)。
PowerVM 驱动程序
  • 添加了硬重启支持 (变更)。
vmwareapi (VMWare) 驱动程序
  • 支持管理多个集群 (蓝图)。
  • 镜像克隆策略 - 允许镜像指定是作为链接克隆还是完整克隆镜像使用 (蓝图)
  • 支持使用配置驱动 (蓝图)
XenServer 驱动程序
  • 支持显示服务器控制台的日志 (蓝图)
  • 支持将大型短暂磁盘拆分为 1024GB 或 2000GB 的块,以解决 VHD 最大磁盘大小限制 (蓝图)
  • 允许镜像具有 AutoDiskConfig=disabled 的设置,这意味着用户无法在这些镜像和服务器上设置 AutoDiskConfig=Manual (蓝图)
  • 改进了 nova 与 Nova 代理程序通信的方式,以便能够在同一个云中使用 cloud-init 和 Nova 代理程序 (蓝图)
  • 能够引导虚拟机进入运行 Linux 发行版安装程序的模式,以帮助用户构建自己的自定义镜像 (蓝图)
  • 对 XenServer core 的实验性支持,以及在 XenServer core Dom0 中运行 nova-compute (蓝图)
  • 对使用 LVHD 存储 SR 的实验性支持,以及对从压缩原始 glance 镜像启动的支持 (蓝图)
  • 在提高稳定性和可支持性方面做了大量工作。示例包括能够配置发送到 glance 的快照使用的压缩比率,以及由于磁盘对于目标大小太小而导致的服务器降级期间的错误自动回滚。

配额

  • 默认配额现在可编辑,以前此配额的值是固定的。使用 nova quota-class-update default <key> <value> 命令更新默认配额 (蓝图)。
  • 现在可以按用户定义配额 (蓝图)。
  • 现在可以删除给定租户或用户的配额,并且其配额将重置为默认值 (蓝图)。

网络连接

  • 现在并行执行网络和 IP 地址分配,以执行配置实例涉及的其他操作,从而加快启动时间 (蓝图)。
  • Nova 现在将选择用于托管实例的计算节点的宿主机名传递给 Neutron。Neutron 插件现在可以使用此信息来根据需要更改计算节点的物理网络配置 (蓝图)。

通知

  • 当创建、删除、扩展、收缩或以其他方式更新宿主机聚合时,现在会生成通知 (蓝图)。
  • 现在在构建实例失败时生成通知 (蓝图)。

调度器

  • force_nodes 添加到过滤属性,允许操作员在使用 baremetal 驱动程序时显式指定用于配置的节点 (蓝图)。
  • 添加了使 IsolatedHostsFilter 不那么严格的能力,允许隔离的宿主机使用所有镜像,方法是操作新的 restrict_isolated_hosts_to_isolated_images 配置指令在 nova.conf 中 (蓝图)。
  • 添加了一个 GroupAffinityFilter 作为现有 GroupAntiAffinityFilter 的对应物。新的过滤器允许将实例调度到特定宿主机组中的一个宿主机上 (蓝图)。
  • 添加了使过滤器能够设置新的 run_filter_once_per_request 参数为 True 的能力,如果过滤决策预计对请求中的所有实例都有效,则过滤器能够这样做。这可以防止在不需要时为请求中的每个实例重新运行过滤器。此设置已应用于许多现有过滤器 (蓝图)。
  • 添加了按聚合过滤的 AggregateRamFilterAggregateCoreFilter,这些过滤器在宿主机聚合上强制执行,而不是全局强制执行。AggregateDiskFilter 将在未来的版本中添加 (蓝图)。
  • 通过删除从所有计算节点到所有调度器的周期性消息来提高调度器性能 (蓝图)。
  • 通过允许过滤器指定它们只需要为多个实例的请求运行一次,从而提高了调度器性能 (蓝图)。

存储空间

  • 附加的 Cinder 卷现在可以加密。数据在读取和写入时按需解密,同时向实例呈现正常的块存储设备 (蓝图)。
  • 添加了透明地交换附加到实例的 Cinder 卷的能力。虽然实例可能会暂停片刻,但不会丢失任何读取或写入操作 (蓝图)。
  • 当连接到 NFS 或 GlusterFS 后端卷时,Nova 现在使用 Cinder 配置中设置的挂载选项。以前,必须在将访问这些卷的每个计算节点上设置挂载选项 (蓝图)。
  • 添加了对 GlusterFS 的原生支持。如果 qemu_allowed_storage_drivers 设置为 glusternova.conf 中,则配置 QEMU 使用 libgfapi 直接访问卷,而不是通过 fuse (蓝图)。
  • QEMU 辅助快照现在用于提供创建 cinder 卷快照的能力,即使使用的存储后端本身不支持快照,例如 GlusterFS (蓝图)。
  • 现在支持 iSER 传输协议来访问存储,与通过 TCP 使用 iSCSI 相比,它提供了性能改进 (蓝图)。

引导程序

  • Conductor 现在能够生成多个并行运行的 worker 线程,要生成的线程数由 nova.confworkers 的值决定 (蓝图)。

内部更改

  • Nova 现在使用 Oslo 提供的通用服务基础设施 (蓝图)。
  • 已经进行了更改,以便能够回溯需要数据库迁移的错误修复 (蓝图)。
  • 在最终支持 Nova 部署的实时升级方面取得了重大进展。在 Havana 中,改进包括对服务之间发送的消息版本进行更多控制 (请参阅 nova.conf[upgrade_levels] 部分) (蓝图),以及新的对象层,有助于将代码库与数据库模式的细节解耦 (蓝图)。

已知问题

  • 如果您正在使用 cells,则在删除实例时会出现问题。与 Grizzly 不同,删除实例将立即从顶级(API)cell 中删除它们,然后再告知子 cell 删除实例。这不是预期的行为。这种副作用是会发送 delete.start 和 delete.end 通知。如果子 cell 中的实例删除成功,则会发送第二个 delete.start 和 delete.end 通知。如果失败,数据库最终会不同步,实例似乎从 API cell 中消失,但仍然存在于子 cell 中。cells 中内置的自然修复代码最终会纠正此问题,并在一段时间后将实例恢复到 API cell 数据库中,具体取决于修复配置。此错误将在 havana-stable 发布后不久得到修复。
  • Check http://bugs.launchpad.net/nova

升级说明

  • 请注意,周期性任务现在将比以前更频繁地运行。周期性任务运行的频率始终是可配置的。但是,以前启动下一次任务的计时器是在上次任务运行完成后启动的。现在,任务以恒定频率运行,无论给定运行需要多长时间。这使得清楚任务应该何时运行。但是,副作用是任务现在默认情况下会更频繁地运行。(https://review.openstack.org/#/c/26448/)
  • security_groups_handler 选项已从 nova.conf 中删除。它是为 Quantum 添加的,不再需要。(https://review.openstack.org/#/c/28384/)
  • 此更改不应影响升级,但这是所有新部署的行为更改。以前的版本创建的默认 m1.tiny flavor 的磁盘大小为 0。默认值为现在为 1。0 表示不进行任何磁盘调整,而只是使用镜像中设置的磁盘大小。1 表示施加 1 GB 限制。如果您希望创建或修改 flavor 以使用它,则仍然支持特殊值 0。(https://review.openstack.org/#/c/27991/)。
  • 已删除插件框架,因为可以通过其他方式实现它所提供的功能。(https://review.openstack.org/#/c/33595)
  • 已删除 notify_on_any_change 配置选项。(https://review.openstack.org/#/c/35264/)
  • compute_api_class 选项已被弃用,将在未来的版本中删除。(https://review.openstack.org/#/c/28750/)
  • Nova 现在使用 Neutron,Quantum 已更名。(https://review.openstack.org/#/c/35425/)
  • Nova 现在将拒绝在定义了多个 Neutron 网络但服务器创建请求中未指定任何网络时创建服务器的请求。以前 Nova 会将服务器附加到 *所有* 网络,但共识是这种行为没有意义。(https://review.openstack.org/#/c/33996/)
  • vmware 配置变量 'vnc_password' 已被弃用。用户不再需要输入密码即可访问 VNC。现在它的工作方式与其他 virt 驱动程序相同。(https://review.openstack.org/#/c/43268/)


OpenStack Image Service (Glance)

关键新特性

属性保护

现在可以授权特定用户组创建、更新和读取任意实体的不同属性。Image Service 中有两类图像属性

  • 核心属性,由图像模式指定。
  • 元属性,是可以添加到图像的任意键值对。

现在可以使用属性保护配置文件 (在 glance-api.conf 文件中指定) 来限制通过 Image Service 的公共 API 调用访问元属性的权限。例如

  • 仅允许管理员进行所有属性交互。
  • 允许管理员和具有计费角色的用户读取和修改所有以 ``x_billing_code_`` 开头的属性。

蓝图

注册表 API

为注册表服务创建了一个新的 API(符合 db_api 标准),使用基于 HTTP 的 RPC。该 API

  • 允许 Glance 继续支持使用早期注册表服务的遗留部署。Glance v2 完全取消了注册表服务的使用,在某些情况下,这可能导致安全漏洞(如果作为“公共”服务部署,则所有数据库参数都必须存在于 glance-api.conf 中)。
  • 更容易实现数据库 API 的新方法,而无需修改注册表的 API。

蓝图

更新包括一个注册表数据库驱动程序,该驱动程序与远程注册表服务通信,而该注册表服务又直接与数据库后端通信。注册表服务实现了从 API 外部实际使用的所有数据库 API 公共函数。必须启用 Image Service 的 API v2,并且 Image Service 客户端必须指向此 API。 蓝图

存储支持

Image Service 现在支持以下后端存储

  • Sheepdog。Image Service 现在可以将镜像存储在后端 Sheepdog 集群中。Sheepdog 是一个开源项目,为 QEMU 提供分布式存储系统。

“Sheepdog 网站” 蓝图

  • Cinder。OpenStack Cinder 现在可以用作 Image Service 的块存储后端。 蓝图
  • GridFS。Image Service 现在支持 GridFS 分布式文件系统。使用新的 .conf 选项 mongodb_store_uri 和 mongodb_store_db 启用支持。支持形式为 `gridfs://<IMAGE>` 的 GridFS 位置。 “GridFS 网站” 蓝图

多个镜像位置

Image service 镜像现在可以存储在多个位置。这可以有效地消耗镜像数据,并在主镜像发生故障时使用备份镜像。

相关更新包括

  • 用于位置 API 的策略层,以启用更改镜像位置的策略检查。 蓝图
  • 直接 URL 元数据。每个 Image Service 存储系统现在可以将位置元数据存储在镜像位置数据库中,从而使其能够在启用 direct_url 时将特定于 URL 的元数据返回给客户端。例如,给定 file://URL,可以向客户端返回 NFS 导出主机、挂载点和 FS 类型。
  • 下载镜像时支持多个位置。这允许 API 客户端从多个后端存储消耗镜像。 蓝图
  • 索引的校验和镜像属性。校验和镜像属性现在已索引,允许用户通过指定校验和来搜索镜像。 蓝图
  • Scrubber 更新。Scrubber 是一个清理已删除镜像的实用程序。Scrubber 现在支持“pending_delete”镜像的多个位置。 蓝图
  • 元数据检查。现在可以启用在位置更改时在镜像位置代理层检查元数据。 蓝图

等等,还有更多!

  • 可配置的容器和磁盘格式。Glance 以前仅支持一组特定的容器和磁盘格式,这些格式很少是任何给定部署实际支持的格式。现在可以配置可接受的容器和磁盘格式集。 蓝图
  • 存储配额。现在可以限制用户在所有存储系统(在 .conf 文件中配置的 total_storage_quota)上的总字节数。
  • 成员策略。已为成员 API 添加策略执行(类似于镜像/位置策略执行)。新的策略包括“new_member”、“add_member”、“get_member”、“modify_member”、“get_members”和“delete_member”。 蓝图

已知问题


OpenStack 仪表板 (Horizon)

发布概览

Havana 发布周期带来了 *三个* 新项目的支持,以及对几个现有项目的重要新功能。除此之外,用户体验的许多方面都得到了改进,无论是对于最终用户还是管理员。社区不断发展壮大。Havana 版本是迄今为止 OpenStack 仪表板项目最好的版本!

亮点

新功能

Heat

OpenStack 编排项目 (Heat) 在 Havana 中首次亮相,Horizon 提供了完全支持来管理您的 Heat 堆栈。亮点包括从支持的 Heat 模板格式动态生成表单、堆栈拓扑可视化以及完全堆栈资源检查。

Ceilometer

Havana 中首次亮相的还有 OpenStack 计量项目 (Ceilometer)。Horizon 包含对 Ceilometer 的初步支持,以便管理员可以通过 OpenStack 仪表板查询云的使用情况,并更好地了解系统的运行和利用方式。

域、组和更多:支持身份服务 API v3

随着 OpenStack 身份服务 (Keystone) v3 API 在 Havana 版本中完全成熟,Horizon 已经添加了对所有新功能的完全支持,例如域和组、角色管理以及分配给域和组、基于域的身份验证和域上下文切换。

Trove 数据库

OpenStack 数据库即服务项目 (Trove) 在 Havana 周期中从孵化阶段毕业,并且由于他们的辛勤工作,他们为 OpenStack 仪表板提供了一组面板,用于配置和管理您的 Trove 数据库和备份。免责声明:由于 Trove 的第一个官方版本作为集成项目要到 Icehouse 才会发布,因此此功能仍应被视为实验性的,并且可能随时更改。

Nova 功能

Horizon 支持的 OpenStack 计算 (Nova) 功能数量不断增加。Havana 版本中的新功能包括

  • 可编辑的默认配额。
  • 管理员可以重置服务器/实例的密码的能力。
  • 可用区支持。
  • 改进的区域支持。
  • 实例调整大小。
  • 改进的从卷启动支持。
  • 每个项目的风味支持。

所有这些都提供了更丰富的选项,用于控制何时、何地以及如何启动实例,并改进了实例启动后如何管理它们。

Neutron 功能

许多重要的 OpenStack 网络 (Neutron) 新功能在 Havana 版本中得到展示,最值得注意的是

  • VPN 即服务。
  • 防火墙即服务。
  • 可编辑且交互的网络拓扑可视化。
  • Neutron 和 Nova 网络之间的完全安全组和配额对等。

这些功能允许在构建使用 Neutron 的云的软件定义网络时具有极大的灵活性。

用户体验改进

自行更改密码

得益于身份 API v2.0 (Keystone) 的更改,用户现在可以更改自己的密码,而无需让管理员参与。这更安全,并且使每个人都摆脱了麻烦。此功能尚未在 Identity API v3 的用户中提供。

更好的管理员信息架构

管理员仪表板的几个部分已重新排列,以便更逻辑地将信息分组在一起。此外,还添加了新的信息源,以便管理员更好地了解云中主机的状态及其与主机聚合、可用区等的关系。

改进了用户注销时的消息

已添加几个新的指示器,以告知用户为什么在意外地降落在登录屏幕上时被注销。这些指示器清楚地表明用户的会话是否已过期、由于不活动而超时,或者他们未被授权访问他们尝试访问的仪表板部分。

安全组规则模板

由于有许多非常常见的安全组规则,用户每次都费力地重新添加(例如 SSH 和 ping 的规则),Horizon 团队添加了常见规则的预配置模板,用户可以单击两次选择并将其添加到安全组中。这些规则可以通过 SECURITY_GROUP_RULES 设置进行配置。

社区

翻译团队

OpenStack 翻译团队在 Havana 周期中完全成熟,Horizon 中的翻译质量是迄今为止最好的。祝贺该团队成功地构建了最初主要在 OpenStack 仪表板项目中启动的社区。

用户体验小组

一个新兴的 OpenStack 用户体验小组在 Havana 周期中成立,其使命是改进整个 OpenStack 的用户体验。他们迅速成为设计和改进 OpenStack 仪表板中功能的过程不可或缺的一部分。现在有了专门的人员积极协作以提高标准,预计未来用户体验将得到显着改善。

幕后机制

简化 LESS 编译:不再使用 NodeJS

由于各方的抗议,并且由于 Python 社区对 LESS 的支持得到改善,Horizon 已从项目中删除了所有 NodeJS 痕迹。现在我们使用 lesscpy 模块将 LESS 编译成最终样式表。这不应以任何方式影响大多数用户,但它应该使下游发行版等更容易使用。

基于角色的权限控制

Horizon 已开始过渡到使用其他 OpenStack 项目的 policy.json 文件来强制执行仪表板中的访问控制(如果提供这些文件)。这意味着访问控制更可配置,并且可以与其他项目和 Horizon 保持同步。目前,这仅支持 Keystone 和 Nova 策略文件的一部分。完全支持将在下一个版本中提供。您需要设置 POLICY_FILES_PATH 和 POLICY_FILES 设置才能启用此功能。

其他改进和修复

  • 现在支持 Swift 容器和对象元数据。
  • 新的利用率和配额可视化。
  • Cisco N1K 路由器插件的附加功能通过一个特殊的附加仪表板提供,在 Neutron 中启用和支持时可用。
  • 支持自签名或其他指定的 SSL 证书检查。
  • 现在可以配置 Glance 镜像类型。
  • 改进了仪表板中的排序。
  • API 调用效率优化。
  • 表单中的必填字段现在得到更好的指示。
  • 可以启用会话超时,以在用户不活动一段时间后注销用户,作为一项安全功能。
  • 显着改进了 PEP8 和代码质量合规性。
  • 数百个错误修复和次要用户体验改进。

升级信息

允许的主机

对于 Horizon 的生产部署,您必须将 ALLOWED_HOSTS 设置添加到 settings.py 或 local_settings.py 文件中。此设置是在 Django 1.5 中添加的,是一项重要的安全功能。有关更多信息,请参阅 local_settings.py.example 文件或 Django 的文档。

启用 Keystone 和 Neutron 功能

如果您对 OPENSTACK_KEYSTONE_BACKEND 或 OPENSTACK_NEUTRON_NETWORK 设置有现有的配置,则需要查阅 local_settings.example.py 文件,以了解添加的新选项。现有的配置将继续工作,但可能没有正确的密钥来启用 Havana 中的一些新功能。

已知问题和限制

连接阶段生成和健康检查

如果您使用健康监控服务来 ping 主页,并结合基于数据库的会话后端,您可能会遇到过多的会话创建。这个问题很快将得到解决,但在此期间,建议的解决方案是编写一个定期作业,以定期从会话存储中删除过期的会话。

同时大量删除资源

使用“全选”复选框一次删除大量资源可能会导致网络超时(具体取决于配置)。这是因为底层 API 本身不支持批量删除,因此 Horizon 必须在后台逐个发送请求来删除每个资源。

使用 Neutron 时安全组名称冲突

虽然 Nova Network 在实例启动时仅使用安全组的名称,但 Neutron 可以接受名称或 UUID。为了支持两者,Horizon 会传递所选安全组的名称。但是,由于 Neutron 中存在一些数据隔离问题,如果管理员用户尝试指定与他们也具有访问权限的其他项目中具有相同名称的安全组,则可能会出现问题。Neutron 将找到多个匹配的安全组名称,并且将无法启动实例。当前的解决方法是,管理员用户将安全组名称视为唯一。

向下兼容

Havana Horizon 版本应与 OpenStack 集成项目的 Havana 和 Grizzly 版本(Nova、Swift 等)完全兼容。其他 OpenStack 项目中不存在于 Grizzly 中的新功能,只有在其余堆栈支持这些功能时,才能在 Horizon 中工作。

总的来说,已经做出了很大的努力来维护与迄今为止构建在 Horizon 上的第三方开发人员的兼容性。


OpenStack 身份服务器 (Keystone)

关键新特性

  • 改进的部署灵活性
    • 授权数据(租户/项目、角色、角色分配;例如 SQL)现在可以存储在与身份验证数据(用户、组;例如 LDAP)不同的后端中,由“assignments”驱动程序确定,而身份验证数据由“identity”驱动程序确定
    • 凭据(例如 ec2 令牌)现在可以存储在与身份验证数据不同的后端中,由“credentials”驱动程序确定
    • 能够指定更细粒度的 RBAC 策略规则(例如,基于 API 请求/响应主体中的属性)
    • 可插拔的外部身份验证处理,使用 REMOTE_USER
    • 令牌生成,目前基于 UUID 或 PKI,现在可插拔并与令牌持久化分离。部署者可以编写 keystone.token.provider.Provider 接口的自定义实现,并配置 keystone 使用它,通过 [token] provider。因此,[signing] token_format 现在已被弃用,以支持这个新的配置选项。
    • 对 Apache httpd 后端部署的一流支持
  • 新的部署特性
    • 缓存驱动程序调用结果到键值存储(例如,memcached 或 redis)的能力
    • keystone-manage token_flush 命令,用于帮助清除过期的令牌
  • 新的 API 特性
    • 使用 OAuth 1.0a 将基于角色的授权委派给任意消费者
    • API 客户端现在可以选择不将服务目录包含在令牌响应中
    • 域角色分配现在可以被该域的项目继承
    • 聚合的角色分配 API
    • 外部身份验证提供程序现在可以将绑定引用嵌入到令牌中,以便远程服务可以选择性地验证呈现令牌的用户身份,针对呈现的外部身份验证机制。目前,仅支持 kerberos
    • 端点现在可以显式地映射到项目,有效地防止某些端点根据令牌的项目范围出现在服务目录中。这并不能阻止最终用户通过其他方式访问或使用他们知道的端点。
  • 用户和项目/租户创建、更新和删除操作发出的事件通知
  • 常规性能改进
  • v2 和 v3 API 现在使用相同的逻辑来计算在身份验证期间分配给用户-项目对的角色列表,基于用户+项目、组+项目、用户+域继承和组+域继承的角色分配(其中域继承的角色分配允许域级别的角色分配应用于该域拥有的所有项目)。v3 API 现在使用类似的方法来计算域作用域令牌的用户+域角色分配。
  • 日志处理使用来自 Oslo-incubator 的通用日志实现,与其他 OpenStack 项目保持一致
  • 可以使用 keystone-manage db_sync --extension=«extension-name» 独立于主迁移仓库管理扩展的 SQL 迁移。

已知问题

  • six v1.4.1 或更高版本是未记录的需求 (bug 1237089)。如果没有 six,Keystone 将在启动时失败,出现 ImportError: No module named sixpkg_resources.DistributionNotFound: six
  • 一个 特定域的身份后端(例如,每个域的唯一 LDAP 配置)的实验性实现始于 Havana,但仍然不完整,将在 Icehouse 中完成。

OpenStack 网络服务 (Neutron)

关键新特性

新名称

OpenStack Networking 项目在此版本中有一个新名称:Neutron。Havana 版本将使用来自 Grizzly Quantum 的配置文件;但是,Quantum 的使用已被弃用,部署者应尽快更新所有引用。对 Quantum 配置文件和可执行文件名的支持将在 2014.1 (Icehouse) 中删除。

高级服务

Neutron 在最新的开发周期中添加了两个新的高级服务,并修订了负载均衡器服务。

负载均衡器 (LBaaS) 负载均衡服务和 API 扩展现在适合部署,之前作为 2013.1 (Grizzly) 版本的实验性特性发布。此版本附带更新的 API 和 HAProxy 驱动程序支持。预计在 Icehouse 中会有供应商驱动程序,Radware 已经提供了一个 Havana 兼容的树外驱动程序供下载。负载均衡服务可以在多个网络节点上运行。

VPN (VPNaaS) 站点到站点 IPSec VPN 现在通过 VPN 服务插件支持。VPN API 支持 IPSec,并且 L3 代理附带一个 OpenSwan 驱动程序。

防火墙 (FWaaS) 一个新的边缘防火墙服务包含在这个版本中。防火墙服务使租户能够配置纵深防御,因为规则可以在边缘通过防火墙 API 和在 VIF 上通过安全组 API 应用。FWaaS API 和驱动程序被认为是实验性的,因为 Neutron 将在下一个发布周期中继续开发。团队欢迎社区对这个扩展的反馈。

新插件

模块化 Layer 2 (ML2) 模块化 Layer 2 (ML2) 插件是 Neutron 的一个新开源插件。这个插件是一个框架,允许 OpenStack Networking 同时利用复杂现实世界数据中心中发现的各种 Layer 2 网络技术。它目前适用于现有的 Open vSwitch、Linux Bridge 和 L2 代理。ML2 插件支持本地、平面、VLAN、GRE 和 VXLAN 网络类型,通过类型驱动程序和不同的机制驱动程序。有适用于 Arista、Cisco Nexus、Hyper-V 和 Tail-f NCS 的供应商驱动程序。ML2 是 Linux Bridge 和 Open vSwitch 插件的替代品,现在这些插件被认为是已弃用的。 更多 ML2 信息

其他功能

  • 在创建端口时支持 PXE 启动选项
  • 改进的翻译支持

已知问题

从 Grizzly 升级

在升级代码后启动 neutron-server,但在迁移之前,会导致一些数据库模型在没有发生适当的迁移的情况下被创建。应采取以下升级设置以确保正确升级的数据库。

  • 确保数据库已为 Grizzly 盖章,然后再停止服务。quantum-db-manage --config-file /path/to/quantum.conf --config-file /path/to/plugin/conf.ini stamp grizzly
  • 停止 quantum-server 并部署 Neutron 代码 此时不要启动 neutron-server
  • 运行 Havana 迁移 neutron-db-manage --config-file /path/to/quantum.conf --config-file /path/to/plugin/conf.ini upgrade havana
  • 启动 neutron-server

代理可能报告不同的主机名

Neutron 切换了确定主机名的方法,从使用主机的 FQDN 到 gethostname(2) 调用返回的结果。此更改是为了与 OpenStack 的其余部分保持一致。代理报告的主机名可能会不同,并且在代理更新到 Havana 后会更改。如果是这样,则需要将所有网络重新安排到新的 L3 和 DHCP 代理名称,以恢复服务。部署者重新安排网络时,更改会导致短暂的数据平面中断。

L3 代理不再默认发送 Gratuitous ARP

L3 代理以前默认发送 Gratuitous ARP。在某些发行版中使用网络命名空间部署时,发送 Gratuitous ARP 的调用会导致内核崩溃。部署者可以通过在 L3 代理的配置文件中设置 send_arp_for_ha=3 来启用 Gratuitous ARP。

防火墙即服务

实验性的 FWaaS API 扩展仅支持每个租户一个活动的策略。行为将在 Icehouse 开发周期中更改,以允许将不同的策略附加到不同的租户路由器。

升级说明

  • 对 neutron-dhcp-agent 的更改要求您首先升级您的 dhcp-agents。然后等待 dhcp_lease 时间到期。等待至少 dhcp_lease 时间后,更新 neutron-server。否则,可能会导致实例被删除并且 dnsmasq 进程尚未释放租约,并且 neturon 将该 ip 分配给新的端口。(https://review.openstack.org/#/c/37580/
  • 有一个新的默认 policy.json 文件。具有现有部署的部署者应更新他们的文件,因为许多选项已更改:policy.json

弃用通知

  • 在配置文件和可执行文件名中使用“quantum”或“Quantum”已正式弃用。这是将支持这些名称的最后一个版本,新的部署应使用适当的 Neutron 名称。对兼容性的支持仅存在于此版本中。
  • Linux Bridge 和 Open vSwitch 插件已被功能冻结,将在 J (2014.2) 版本中删除。新的部署应选择 ML2,而不是单独的 Open vSwitch 或 Linux Bridge 插件。

OpenStack 块存储 (Cinder)

关键新特性

  • 卷迁移 - 管理 API 将卷迁移到不同的 Cinder 后端
  • 将调度器提示扩展添加到 V2 API
  • 添加了本地块存储驱动程序,以允许使用原始磁盘而无需 LVM
  • 添加了扩展现有卷大小的能力
  • 添加了从一个租户转移卷到另一个租户的能力
  • 添加了 API 调用以启用编辑默认配额设置
  • 添加了配置选项以允许自动展平快照,用于依赖于创建快照卷的后端
  • 允许 API 在 volume-attach 中接受“host-name”,而不仅仅是实例 uuid
  • 启用通用的备份层,以允许来自任何 iSCSI 设备的备份,而无需内部优化
  • 将 Ceph 驱动程序添加到备份服务(允许 Ceph 作为备份目标,并从 Ceph 到 Ceph 进行差异备份)
  • 将速率限制信息添加到提供程序信息中,可以传递给 Nova 并由超visor 使用
  • 新的 Windows Storage Server 驱动程序特性 (蓝图)

新的供应商驱动程序

  • Dell EqualLogic 卷驱动程序
  • VMware VMDK cinder 驱动程序
  • IBM General Parallel File System (GPFS)

现有驱动程序的重大添加

  • 为华为存储系统添加光纤通道驱动程序
  • 添加一个 NFS 卷驱动程序以支持 Cinder 中的 Nexenta 存储
  • 对现有驱动程序的各种更新和设备特定添加也已完成,几乎所有现有的供应商驱动程序
  • 针对 IBM Storwize 驱动程序的优化卷迁移

新的备份驱动程序

  • 允许 Ceph 作为卷备份的选项
  • IBM Tivoli Storage Manager (TSM)

已知问题

  • Bug #1237338:将卷上传到镜像时,VMWare 卷驱动程序失败
  • Bug: #1240299:在所有 LVM vol 删除时,即使是精简配置,也会调用 clear volume 操作。在发布修复之前,请确保在 cinder.conf 中设置 volume_clear=None

升级说明

  • ThinLVM 卷驱动程序功能现在是标准 LVM ISCSI 卷驱动程序的一部分。应更新配置以使用 volume_driver="cinder.volume.drivers.lvm.LVMISCSIDriver" 并设置选项 lvm_type="thin"。如果 volume_driver 设置为 "cinder.volume.drivers.lvm.ThinLVMVolumeDriver",Havana 将自动执行此操作,但 Icehouse 将要求在 cinder.conf 中更新这些选项。

OpenStack 计量 (Ceilometer)

关键新特性

API

  • 现在可以使用 groupby 参数使用统计端点按某些字段对样本进行分组
  • 现在可以使用新的警报 API(参见 警报
  • 用户现在可以通过 API 发布他们自己的样本和计量

警报

警报是一项新功能,允许用户和操作员根据将统计趋势与一段时间内的阈值进行比较来触发操作。它由以下服务组成

  • ceilometer-api 现在公开了新的 /v2/alarms 端点,提供对警报生命周期的控制;
  • ceilometer-alarm-evaluator 定期评估警报,以检测警报状态何时发生变化;
  • ceilometer-alarm-notifier 接收 ceilometer-alarm-evaluator 发送的通知,并在触发警报时执行关联的操作

警报 API 还公开了警报状态转换和规则更改的历史记录。

收集器

  • 新的 HBase 驱动程序
  • 新的 DB2 (NoSQL) 驱动程序
  • 改进的 SQLAlchemy 驱动程序
  • 改进的 MongoDB 驱动程序
  • 添加了一个 TTL 功能,允许从数据库中删除旧样本
  • 添加了存储事件的能力
  • 在 SQLAlchemy 上添加了事件存储功能

发布者驱动程序

  • 添加了一个基于 UDP 的发布者

转换器

  • 添加了新的单位缩放和变化率转换器

计量

  • 使用特殊的 Python 中间件添加了 API 请求的计量
  • 添加了记录来自新的 Neutron 带宽计量的样本的能力

计算代理

  • 添加了对 Hyper-V 的支持

已知问题


OpenStack Orchestration (Heat)

关键新特性

= 改进了文档

与 Tempest 的初步集成

并发资源操作

  • 非依赖的创建、更新和删除操作现在并行执行

改进了网络/Neutron 支持

  • 新的 LBaaS、FWaaS 和 VPNaaS 资源

初步支持本机模板语言 (HOT)

提供程序和环境抽象

  • 抽象提供了一种使用嵌套模板自定义资源类型的方法,请参见 文档博客文章

Ceilometer 集成用于计量/监控/警报

  • 添加了一个新的资源类型 OS::Ceilometer::Alarm,它配置一个 ceilometer 警报
  • 我们还与 Ceilometer 警报集成用于 AutoScaling 操作,这些操作现在由 Ceilometer 警报触发。以前由 Heat 处理计量/警报的机制仍然存在,但现在已被弃用,并且很可能在 Icehouse 中被删除。

UpdateStack 改进

  • 现在,一些资源类型为非破坏性更新提供更好的支持,包括调整实例的大小。我们现在在删除以前的资源之前创建替换资源,从而提供更好的升级连续性和回滚能力。

与 keystone trusts 功能的初步集成

  • 与 keystone trust 的初步集成,因此当 heat.conf 指定 deferred_auth_method=trusts 时,我们不再存储加密凭据以执行延迟操作(例如 AutoScaling 调整),而是创建 trust 并存储 trust 的 ID。
  • (请参阅下面的已知问题)

改进了资源文档

更多原生资源类型

新的 Rackspace 资源类型

  • Rackspace::Cloud::DBInstance
  • Rackspace::Cloud::LoadBalancer
  • Rackspace::Cloud::Server

堆栈暂停/恢复

  • 支持新的 API “actions” 路径,该路径可启用堆栈暂停/恢复

配置合并到单个 heat.conf 和单个 paste-api.ini

  • 请参阅下面的升级说明
  • 还添加了新的配置选项以提供对
模板大小
每个租户的堆栈数量
每个堆栈的事件数量
堆栈嵌套深度

Heat 独立模式

  • Heat 现在可以配置为以独立模式运行,使其能够编排到外部 OpenStack

已知问题

  • Heat 不支持从 keystone 获取 API 端点时指定区域名称,请参阅 bug
  • 与 keystone trust 的集成 (deferred_auth_method=trusts) 仅在您拥有最新的 keystoneclient 0.4.1 时才有效,但 Heat 的 requirements.txt 中尚未反映这一点
https://bugs.launchpad.net/python-keystoneclient/+bug/1231483
  • 由于此问题,与 keystone trust 的集成需要至少 keystone 的 RC3 版本
https://bugs.launchpad.net/keystone/+bug/1239303

升级说明

  • Heat 现在使用一个配置文件 (/etc/heat/heat.conf) 而不是每个服务的配置文件。
  • API 进程现在使用单个 paste 配置文件 (/etc/heat/api-paste.ini) 而不是每个服务的配置文件。
  • 现在支持在 /etc/heat/environment.d/ 中定义全局环境 (请参阅 环境文档)
  • 所有 OS::Neutron* 资源已重命名为 "OS::Quantum*",如果您安装提供的默认环境,旧名称仍然有效,该环境将旧名称别名为新资源。

OpenStack 文件

关键新特性

  • 现在每个页面都有一个错误报告链接,以便您可以轻松地报告文档页面的错误。
  • 手册已完全重组。在 Havana 版本中,存在以下指南
    • 安装 OpenStack
      • 适用于 Red Hat Enterprise Linux、CentOS 和 Fedora 的安装指南
      • 适用于 Ubuntu 12.04 (LTS) 的安装指南
      • 适用于 openSUSE 和 SUSE Linux Enterprise Server 的安装指南
    • 配置并运行 OpenStack 云
      • 云管理员指南
      • 配置参考
      • 操作指南
      • 高可用性指南
      • 安全指南
      • 虚拟机镜像指南
    • 使用 OpenStack 仪表板和命令行客户端
      • API 快速入门
      • 终端用户指南
      • 管理员用户指南

已知问题

  • 其中一些指南尚未完全更新,可能缺少信息