ReleaseNotes/Juno
OpenStack 2014.2 (Juno) 发布说明
目录
- 1 OpenStack 2014.2 (Juno) 发布说明
- 1.1 通用升级说明
- 1.2 OpenStack 对象存储 (Swift)
- 1.3 OpenStack 计算 (Nova)
- 1.4 OpenStack 镜像服务 (Glance)
- 1.5 OpenStack 仪表板 (Horizon)
- 1.6 OpenStack 身份 (Keystone)
- 1.7 OpenStack 网络服务 (Neutron)
- 1.8 OpenStack 块存储 (Cinder)
- 1.9 OpenStack 遥测 (Ceilometer)
- 1.10 OpenStack 编排 (Heat)
- 1.11 OpenStack 数据库服务 (Trove)
- 1.12 OpenStack 数据处理 (Sahara)
- 1.13 OpenStack 文档
通用升级说明
- simplejson 包是大多数项目的可选要求,因此未在所有项目的 requirements.txt 文件中列出。但是,如果您正在使用它,例如,在 RHEL 6 上使用 python 2.6 可以获得更好的性能,那么您将需要 simplejson >= 2.2.0。有关详细信息,请参阅 https://bugs.launchpad.net/oslo-incubator/+bug/1361230。
OpenStack 对象存储 (Swift)
主要新特性
Juno 集成发布包含三个版本的 OpenStack Swift:2.0.0、2.1.0 和 2.2.0。这些版本的更改日志可在 https://github.com/openstack/swift/blob/2.2.0.rc1/CHANGELOG#L1-L173 处找到。请参阅该文档以获取发布详细信息。
重要的新特性如下突出显示。请阅读 CHANGELOG 和相关文档。
- 存储策略
- Keystone v3 支持
- 服务器端帐户到帐户的复制
- 在添加新的服务器、区域或区域时,更好的分区放置。
- 使用 splice() 的零拷贝 GET 响应
- 并行对象审计器
已知问题
- 目前没有
升级说明
与往常一样,您可以升级 Swift 集群,而不会影响最终用户的停机时间。请在每次发布之前参考示例配置文件和文档。
- 有一些日志更改需要说明。在所有情况下,行为良好的日志处理器不会受到影响。
- 存储节点(帐户、容器、对象)日志现在在日志行末尾记录了 PID。
- 对象守护程序现在在其完全名称中发送一个用户代理字符串(例如,“obj”现在是“object”)。
- 一旦启用了额外的存储策略,降级到 Swift pre-2.0.0 将导致任何额外的存储策略不可用。
- 作为最终将默认端口更新到 swift 到非 IANA 分配范围的努力的一部分,bind_port 现在是一个必需的设置。任何当前显式设置端口的人都不会受到影响。但是,如果您当前未设置端口,请确保您的 *_server.conf 在升级过程中将 bind_port 设置为与您的环匹配。
- 请注意,存储策略包括一个新的守护程序,即 container-reconciler。
- TempURL 默认允许的方法配置设置现在也允许 POST 和 DELETE。这意味着可以为这些动词创建 tempurl。它不会影响任何现有的 tempurl。
- 可以在以下位置找到 swift 中所有更新、弃用或删除的选项的列表:https://docs.openstack.org/trunk/config-reference/content/swift-conf-changes-master.html
OpenStack Compute (Nova)
实例特性
- 允许用户指定用于救援的镜像,而不是原始基本镜像。launchpad 规范
- 允许镜像指定是否应使用配置驱动器。launchpad 规范
- 让用户和管理员能够通过 flavor 控制暴露给客户的 vCPU 拓扑。launchpad 规范
- 在救援期间附加所有本地磁盘。launchpad 规范
网络
- 改进 nova-network 代码以允许每个网络的设置。launchpad 规范
- 允许部署者添加钩子,这些钩子会在实例的网络信息发生更改时收到通知。launchpad 规范
- 启用 nova 实例使用 SR-IOV neutron 端口启动。launchpad 规范
- 允许 VM 将多个接口附加到一个网络。launchpad 规范
- 在实例终止时保留使用“--nic port-id”附加的 Neutron 端口。review
调度
- 可扩展的资源跟踪。nova 跟踪的资源集是硬编码的,此更改使其可扩展,这将允许插件跟踪用于调度的新的资源类型。launchpad 规范
- 允许疏散主机,但调度程序选择用于移动的实例的目标主机。launchpad 规范
- 添加对调度程序筛选器的主机聚合的支持。launchpad:磁盘;实例;和 IO 操作 规范
其他
- 将周期性任务 sql 查询负载卸载到配置的从 sql 服务器。 launchpad 规范
- 仅当状态更改时才更新 sql 数据库中的主机状态,而不是每 60 秒更新一次。launchpad 规范
- 在 hypervisor 主机的 API 列表中包含状态信息。launchpad 规范
- 允许 API 调用者在列出服务时指定多个状态进行筛选。launchpad 规范
- 添加配额值以限制用户可以创建的服务器组的数量和大小。launchpad 规范
特定于 Hypervisor 驱动程序
Hyper-V
Ironic
libvirt
- 现代 libvirts 上列出实例的性能改进。 launchpad specification
- 允许对基于网络的磁盘进行快照。 launchpad specification
- 为 ceilometer 报告启用 qemu 内存 balloon 统计信息。 launchpad specification
- 添加支持将未使用的磁盘块返回到基础存储系统。 launchpad specification
- 实例的元数据现在记录在 libvirt 域 XML 中。 这旨在帮助管理员在调试问题时。 launchpad specification
- 支持 LXC 容器的命名空间。 launchpad specification
- 基于 RBD 的磁盘的写时复制克隆。 launchpad specification
- 暴露交互式串口控制台。 launchpad specification
- 允许在虚拟机关机期间对客户操作系统进行受控关机。 launchpad specification
- 客户的智能 NUMA 节点放置。 launchpad specification
vmware
- 将 vmware 驱动程序迁移到使用 oslo vmware 辅助库。 launchpad specification
- 为 vmware 添加对网络接口热插拔的支持。 launchpad specification
- 重构 vmware 驱动程序的生成功能,使其更易于维护。 这项工作是内部的,但在此处提及是因为它显著提高了 VMWare 驱动程序的可支持性。 launchpad specification
已知问题
- 在使用 libvirt 时,由于难以复现的错误,实时快照实际上被禁用:https://bugs.launchpad.net/nova/+bug/1334398 (https://review.openstack.org/#/c/102643/)
- Glance v2 和 Keystone v3 在 Juno 中未与 Nova 进行测试。
升级说明
- 可以在以下位置找到 Nova 中所有更新、弃用或删除选项的列表:https://docs.openstack.org/juno/config-reference/content/nova-conf-changes-juno.html
- nova-manage flavor 子命令在 Juno 中已弃用,将在 2015.1 (K) 版本中删除:https://review.openstack.org/#/c/86122/
- https://review.openstack.org/#/c/102212/
- 现在,所需的 libvirt 最低版本为 0.9.11:https://review.openstack.org/#/c/58494/
- Nova 现在支持 Cinder V2 API。 Cinder V1 API 在 Juno 中已弃用,Nova 将在 Kilo 版本中默认切换到 Cinder V2。
- Nova 在 gate(持续集成测试)中与 Cinder V1 通话。
- python-novaclient 中的调试日志输出略有更改以提高可读性。 Keystone token 的 sha1 哈希现在被打印,而不是 token 本身 - 极大地缩短了正在打印的内容量,同时仍然保留了确定 token 不匹配场景的能力。 此外,一些正在添加的额外的 '\n' 字符被删除。 请双重检查任何日志解析器!
- nova.conf 中的 libvirt.volume_drivers 配置参数已弃用,将在 Lxxxx 版本中删除。 通常,这只会影响从事驱动程序开发的少数开发人员。 如果您是其中之一,建议您继续在 nova 树中进行工作。
- python 2.6 支持在 Juno 中已弃用,将在 Kilo 2015.1 版本中删除。
OpenStack 镜像服务 (Glance)
主要新特性
- 异步处理
- 将 glance.store 提取到自己的库中
- 元数据定义目录
- 限制下载镜像的策略。
- 增强的 Scrubber 服务允许单实例服务在多个节点上跨 glance-api 服务器。
已知问题
升级说明
- 可以在以下位置找到 Glance 中所有更新、弃用或删除选项的列表:https://docs.openstack.org/juno/config-reference/content/glance-conf-changes-juno.html
- 现在,上传公共镜像默认情况下仅限管理员操作。 要继续使用以前的行为,请编辑 etc/policy.json 中的 publicize_image 标志以删除角色限制。
- Glance 抱怨时,需要强制执行 DB 表的 UTF-8 字符集要求并手动迁移表和现有数据到 UTF-8。
- 如果未在 glance-api.conf 和/或 glance-registry.conf 中显式指定,glance worker 将默认等于可用的 CPU 数量。
- 由于 glance-api.conf 之前将 worker 值硬编码为 1,因此升级到此版本的任何人仍然会获得 glance-api.conf 中先前设置的值。 升级到此更改且 glance-registry.conf 中未指定 worker 的任何人现在将在重新启动 glance registry 服务时默认运行多个 worker。
OpenStack Dashboard (Horizon)
主要新特性
Sahara
OpenStack 数据处理项目 (Sahara) 正式包含在 Juno 的集成发布中,Horizon 包含广泛的支持来管理您的数据处理。 您可以指定和构建集群以利用多种数据类型和用户指定的作业,同时跟踪这些作业的进度。
Neutron 功能
Neutron 在 Juno 中添加了几个新功能,包括
- DVR(分布式虚拟路由)
- L3 HA 支持
- IPv6 子网模式
Horizon 为这些新功能提供了支持,Juno 版本。 这些功能提供了在指定软件定义网络方面更大的灵活性。
Neutron 中一个 Horizon 现在支持的现有功能是 MAC 学习扩展。
Glance 功能
在 Juno 中,Glance 引入了管理元数据定义目录的能力,用户可以在其中注册要用于各种资源类型(包括镜像、聚合和 flavor)的元数据定义。 Horizon 包含对查看和编辑这些元数据标签分配的支持。
Cinder 功能
为了继续提供更全面的 API 支持,Cinder 支持的几个功能现在在 Juno 版本中在 Horizon 中得到支持。 用户现在可以从 Horizon 利用 swift 存储卷备份,并从这些备份恢复卷。
Cinder API 中以前未受 Horizon 支持的其他功能包括
- 启用重置快照的状态
- 启用重置卷的状态
- 支持上传到镜像
- 卷重类型
- QoS(服务质量)支持
Trove
Trove 支持使用许多不同的数据存储,例如 mysql、redis、mongodb。 用户现在可以在创建数据库实例时从云操作员支持的数据存储列表中进行选择。
另一个补充是支持利用和从增量数据库备份恢复。
为了改善基于 Neutron 的云的支持,在创建数据库实例时,用户现在可以指定数据库实例的 NIC,从而允许用户直接访问该实例。
Nova
新的 nova 实例操作面板提供了当前项目中的所有实例上采取的所有操作的列表,允许用户查看结果错误或由其他用户对这些实例采取的操作。
管理员现在能够从超visor 迁移实例,这可以通过提供迁移所有实例到其他主机机制来帮助系统维护。
改进的插件支持
Horizon 中的插件系统在 Juno 版本中得到了改进。 其中一些改进是
- 支持添加特定于插件的 AngularJS 模块
- 支持添加静态文件,例如 CSS、JS、图像
- 能够添加异常
- 修复排序问题
- 许多其他错误修复
增强的 RBAC 支持
在持续支持更丰富的基于角色的访问控制 (RBAC) 的努力中,几个更多服务的视图得到了 RBAC 检查的增强,以确定用户对操作的访问权限。 新支持的服务是计算、网络和编排。 这些更改允许操作员实施比“成员”和“管理员”更精细的访问控制。
身份面板(域、项目、用户、角色、组)也已转换为支持视图级别的 RBAC。 身份面板已从管理仪表板移动到自己的“身份”仪表板,并且可访问性完全由策略决定。 这是将项目和管理仪表板的近乎重复的内容合并到支持广泛角色的单个视图中的第一步。
UX 更改
在 Juno 中,Horizon 切换到使用 Bootstrap v3。 Horizon 在几个版本中固定到一个旧版本的 Bootstrap。 此更改现在允许 Horizon 获取 Bootstrap 框架中的许多错误修复和整体改进。 外观和感觉主要与 Havana 版本保持一致。
提取 JavaScript 库
作为 Horizon 团队持续努力将存储库拆分为更逻辑的部分,Horizon 依赖的所有第三方 JavaScript 库都已从 Horizon 代码库中删除,并使用了 python xstatic 包。 xstatic 格式允许 Django 框架 Horizon 构建轻松使用。 现在,JavaScript 库像 Horizon 中的任何其他 python 依赖项一样使用。
从 LESS 转换为 SCSS
Horizon 中支持的样式表已转换为使用 SCSS 而不是 LESS。 更改是必要的,因为 python 中缺乏对 LESS 编译器的支持。 此更改还允许我们升级到 Bootstrap 3,因为 Bootstrap 3 LESS 样式表的部分内容不受现有的基于 python 的 LESS 编译器支持。
已知问题
扩展中的渲染问题
转换为使用 Bootstrap v3 可能会导致基于 Horizon 构建的内容扩展出现渲染问题。 大多数这些问题可以通过简单的 CSS 类名替换来解决。 这些问题主要出现在按钮和面板内容宽度上。
在线压缩
在非 DEBUG 模式下,转换为 SCSS 可能会导致 Horizon 中在线压缩出现问题。 离线压缩继续像以前的版本一样工作。
Neutron L3 HA
UI 中的 HA 属性是可更新的,但是 Neutron API 不允许更新操作,因为切换 HA 支持不起作用。https://bugs.launchpad.net/horizon/+bug/1378525
升级说明
- FLAVOR_EXTRA_KEYS 设置已弃用。 此键的使用已被直接调用 nova 和 glance api 取代。
OpenStack Identity (Keystone)
主要新特性
- Keystone 现在对 Keystone-to-Keystone 联合 具有实验性支持,其中一个实例充当身份提供者,另一个充当服务提供者。
- PKIZ 是适用于使用 PKI 令牌的用户的新令牌提供程序,它只是向传统的 PKI 令牌添加了基于 zlib 的压缩。
- 用于 PKI 令牌的哈希算法现在是可配置的(默认值仍然是 MD5,但 Keystone 团队建议部署迁移到 SHA256)。
- 身份驱动程序配置每域现在支持任意分层复杂度的互联网域名(例如,
customer.cloud.example.com)。 - LDAP 身份后端现在支持
description作为用户的属性。 - Identity API v3 请求现在通过 JSON Schema 进行了验证。
- 在多个身份后端的情况下,Keystone 现在可以将任意资源 ID 映射到任意后端。
-
keystoneclient.middleware.auth_token已移动到它自己的存储库,keystonemiddleware.auth_token。 - Identity API v3 现在支持对检索服务目录进行离散调用,
GET /v3/auth/catalog。 - 联合身份验证事件和本地角色分配操作现在会产生 CADF(审计)通知。
- Keystone 现在可以将给定的策略 blob 与一个或多个端点关联起来。
- Keystone 现在为根 API 端点提供 JSON Home 文档,以响应
Accept: application/json-home标头。 - 隐藏端点到客户端的服务目录现在更容易通过
OS-EP-FILTER进行管理。 - 凭据集合 API 现在可以按关联用户进行筛选(
GET /v3/credentials?user_id={user_id})。 - 新的通用 API 端点可用于检索身份验证相关数据,例如服务目录、可用项目范围和可用域范围。
- Keystone 现在支持将用户的
enabled属性映射到 LDAP 中的lock属性(并相应地反转相应的布尔值)。 - 现在可以为 LDAPS 连接配置 CA 证书文件。
- 模板化目录后端现在支持为 Identity API v3 生成服务目录。
- 已将服务名称添加到 v3 服务目录中。
- 现在可以按名称过滤服务 (
GET /v3/services?name={service_name})。
已知问题
python-ldap 2.4 不支持 LDAP 分页搜索结果。
在使用启用分页搜索结果的 LDAP 后端时,如果正在使用 python-ldap 2.4,则会遇到 AttributeErrors。这是由于 python-ldap 中的 API 变更不兼容所致。可以通过以下几种方式解决此问题:
- 通过在 keystone.conf 的 [ldap] 部分将 page_size 设置为 0 来禁用搜索结果的分页。
- 将 python-ldap 降级到 2.3.x 版本。
已提出针对此问题的修复方案,预计将在 Juno 的稳定更新中提供。有关详细信息,请参阅 https://bugs.launchpad.net/keystone/+bug/1381768
升级说明
- 由于开箱即用的体验更简单,默认令牌提供程序现在是 UUID 而不是 PKI。
- Havana 之前的版本的数据库迁移已被删除,这意味着您必须从 Havana 或 Icehouse 部署升级到 Juno 版本。
- 可以在以下位置找到 Keystone 中所有更新、弃用或删除选项的综合列表:https://docs.openstack.org/juno/config-reference/content/keystone-conf-changes-juno.html
- 所有
token_api方法现已弃用。 - 先前包含已弃用术语
tenant的 LDAP 配置选项已被使用术语project的选项取代。 - 从身份后端到分配后端的代理方法(为实现分配后端与身份后端分离带来的向后兼容性而创建),已被删除。这只会影响自定义的、树外 API 扩展。
- 现在不推荐在
keystone.conf中仅通过类名加载身份验证插件,而是推荐使用custom-method-name = custom_package.CustomClass对加载它们,然后将身份验证方法序列定义为列表 (methods = custom-method-name, password)。 - 树内令牌驱动程序 (
keystone.token.backends) 已移动到keystone.token.persistence.backends。存在代理对象以保持兼容性。如果使用了非默认值,建议更新[token]部分的keystone.conf中的driver选项以使用新位置。
- 所有
- 除了
token驱动程序之外,所有 KVS 后端都已正式弃用。 - LDAP/AD 配置:所有包含术语“tenant”的配置选项已被弃用,转而使用名称相似的配置选项,使用术语“project”(例如,
tenant_id_attribute已被project_id_attribute取代)。
OpenStack 网络服务 (Neutron)
主要新特性
- 数据库迁移重构和新时间线
- 分布式虚拟路由器支持 (DVR)
- 租户网络的完整 IPv6 支持
- L3 代理的高可用性
- ipset 支持用于安全组,代替 iptables(此选项可配置)
- L3 代理性能改进
- 迁移到 oslo.messaging 库进行 RPC 通信。
- 安全组规则到设备的 RPC 调用重构(巨大的性能提升)
- Juno 中支持的新插件包括以下内容:
- A10 Networks LBaaS 驱动程序,用于 LBaaS V1 API
- Arista L3 路由插件
- Big Switch L3 路由插件
- Brocade L3 路由插件
- Cisco APIC ML2 驱动程序(包括 L3 路由插件)。
- Cisco CSR L3 路由插件
- Freescale SDN ML2 机制驱动程序
- Nuage Networks ML2 机制驱动程序
- SR-IOV 兼容的 NIC ML2 机制驱动程序
- OpenContrail Neutron 插件
已知问题
- 这是 DVR 和 HA L3 的第一个版本。Neutron 团队希望将这些功能指定为 Kilo 中的生产就绪,并要求部署者在非关键工作负载上进行测试并报告任何问题。
- FWaaS 仍然标记为实验性的,因为它不允许您为每个租户拥有一个以上的 FW。
升级说明
- 从以前的版本(icehouse 或 havana)迁移数据库
- 在 Icehouse 或 Hanava 版本中,数据库迁移操作是可选的。如果您的 Neutron 数据库未加盖时间戳(即,没有数据库迁移版本信息),请确保在运行 Juno 的数据库迁移之前“盖上 icehouse”时间戳。
- 要检查您的数据库是否已加盖时间戳,请运行以下命令:
neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file <your plugin config file> current
- 如果当前版本的输出为 None,请运行:
neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file <your plugin config file> stamp icehouse
- 然后运行 Juno 的数据库迁移:
neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file <your plugin config file> upgrade juno
- 可以在以下位置找到 neutron 中所有更新、弃用或删除选项的列表:https://docs.openstack.org/juno/config-reference/content/neutron-conf-changes-juno.html
- 依赖于资源的属性级别策略不再强制执行。这意味着一些较旧的 Icehouse 策略不再需要。(例如,“get_port:binding:vnic_type”: “rule:admin_or_owner”)。
- 以下插件在 Juno 中已弃用:
- Cisco Nexus 子插件(Nexus 1000V 子插件在 Juno 中仍然保留并受支持)。
- Mellanox 插件
- Ryu 插件
- API 中的 XML 支持已弃用。用户和部署者应尽快迁移到 JSON 以进行 API 交互,因为 XML 支持将在 Kilo (2015.1) 版本中删除。
OpenStack Block Storage (Cinder)
主要新特性
- 支持卷复制。
- 支持一致性组和一致性组的快照。
- 支持卷池。
- 完成 i18n-enablement
- 在镜像上传中尊重 Glance 保护属性
- 启用限制卷复制操作带宽使用能力
- 添加卷数量加权调度
新的驱动程序/插件
- Datera
- Fujitsu ETERNUS
- Fusion IO
- Hitachi HBSD
- Huawei
- Nimble
- Prophetstor
- Pure
- XtremIO
- Oracle ZFS
限制/已知问题
- 新引入的“池”术语是一个逻辑概念,用于描述可用于服务核心 Cinder 请求的一组存储资源,例如卷/快照。这个概念几乎与 Cinder 卷后端相同,因为它具有相似的属性(容量、能力)。主要区别在于池不能独立存在,它必须驻留在卷后端中。一个卷后端可以有多个池,但池没有子池(这意味着即使它们有,子池也不会暴露给 Cinder)。池在后端命名空间中具有唯一的名称,这意味着后端不能有两个使用相同名称的池。 “池”的引入对用户可见产生了一些影响,因为它将卷调度的粒度从“后端”更改为“池”。例如:迁移/管理卷现在必须在“host”参数中包含池才能工作。
cinder manage --source-name X --name newX host@backend#POOL cinder migrate UUID host@backend#POOL
- 要找出后端有哪些池,请使用以下 API 扩展查询信息(需要管理员角色):
- Pool name only:
GET http://CINDER_API_ENDPOINT/v2/TENANT_ID/scheduler-stats/get_pools
- Detailed Pool info:
GET http://CINDER_API_ENDPOINT/v2/TENANT_ID/scheduler-stats/get_pools\?detail\=True
- “重定型”或亲和力过滤器提示 *可能* 不像以前那样工作。Cinder 对旧卷(在 Juno 之前创建的卷)有一条特殊的代码路径,允许即使迁移策略设置为“never”,也能在池之间迁移(潜在地)。但并非每个驱动程序都有以最低成本将卷移动到另一个池的魔力。驱动程序之间不一致的行为(相同的命令可能需要完全不同的时间才能完成),这可能会令人困惑。
升级说明
- 可以在以下位置找到 Cinder 中所有更新、弃用或删除选项的列表:https://docs.openstack.org/trunk/config-reference/content/cinder-conf-changes-juno.html
- Nova 现在支持 Cinder V2 API。Cinder V1 API 在 Juno 中已弃用,Nova 将在“L”版本中默认切换到 Cinder V2。您需要更新 nova 中的 cinder_catalog_info 配置选项为 'volumev2:cinder:internalURL',以便 Nova 使用 cinder v2 端点,除了 cinder v2 端点在 keystone 目录中可用之外。
OpenStack Telemetry (Ceilometer)
主要新特性
- 支持将度量收集负载分区到水平扩展的中央代理
- 使用 tooz 协调的新方法来分区警报评估负载,而不是手工制作的协议
- 改进的 SQLAlchemy 存储性能和可扩展性,以便可以使用 MySQL 或 PostgreSQL 作为 PoC 或小型部署的计量存储
- 支持通过来自 Ironic 或新的独立代理的通知对 IPMI 传感器进行硬件导向的监控
- 更灵活和高效的 SNMP 监控
- 将多个 SNMP 指标的查询批量处理到每个守护程序的单个调用
- 动态发现由 TripleO 部署的节点以进行 SNMP 轮询
- 更容易扩展 ceilometer 收集的 SNMP 指标范围
- 能够从应用于多个主指标的算术变换中派生新的指标
- 选项将警报持久性分离到单独的数据库
- 选项使用通知而不是 RPC 进行计量消息
- 计量 Neutron 网络服务:LBaaS、FWaaS 和 VPNaaS
- 新的 XenAPI 计算检查器
- 支持通过 MongoDB 和 Hbase 存储驱动程序持久化事件(先前仅限于 SQLAlchemy)
- 支持对实例磁盘进行每个设备的计量
- 使用 ceilometer 作为 os-profiler 数据的收集器
- 云管理员指南的新的遥测部分:https://docs.openstack.org/admin-guide-cloud/content/ch_admin-openstack-telemetry.html
已知问题
- 1381600 新的
ceilometer-agent-ipmi在遇到ipmitool中无法解析的数据时,不会发出任何样本。
升级说明
- 可以在以下位置找到 ceilometer 中所有更新、弃用或删除选项的列表:https://docs.openstack.org/trunk/config-reference/content/ceilometer-conf-changes-master.html
OpenStack Orchestration (Heat)
主要新特性
- 堆栈更新期间从故障中恢复
- API 取消和回滚正在进行的堆栈更新
- 实现新的资源类型
- OS::Glance::Image
- OS::Heat::SwiftSignal
- 提供将等待条件(和软件部署)数据存储在 Swift 中的选项
- OS::Heat::StructuredDeployments
- 将多个生命周期事件的代码分组到单个部署资源中
- OS::Heat::SoftwareDeployments
- 提供一种避免在部署相互依赖的服务器集群时出现循环依赖的方法
- OS::Heat::SoftwareComponent
- OS::Nova::ServerGroup
- OS::Sahara::NodeGroupTemplate
- OS::Sahara::ClusterTemplate
- 记住先前提供的堆栈更新参数
- 改进的可扩展性
- 改进了嵌套堆栈树的可视性
已知问题
尚无
升级说明
- 可以在以下位置找到 heat 中所有更新、弃用或删除选项的列表:https://docs.openstack.org/juno/config-reference/content/heat-conf-changes-master.html
OpenStack 数据库服务 (Trove)
主要新特性
- 支持在配置的 mysql 实例之间进行异步复制(主从复制)。
- 引入了新的集群 API,并初步支持 MongoDB 集群。
- 支持在正在使用 Neutron 进行网络的 OpenStack 解决方案上部署 Trove。在此之前,仅支持 nova-network。
- 支持配置 PostgreSQL 数据存储实例。
- Couchbase 的备份和恢复支持。
- 支持可选地限制用于 Trove 卷的 Cinder 后端。
- 支持在 Trove 数据库中定义自定义数据存储配置参数(使用 mgmt API)。
- 能够在一个调用中列出所有数据存储类型和版本
其他增量改进
- 记录审计以改进 Trove 组件中的日志级别。
- 扩展加载机制得到了改进,增加了对 stevedore 的支持。
- 现在,用于数据的卷的支持是基于每个数据存储的。
- 已添加创建和更新时间戳以及实例计数到配置组列表和详细信息调用中。
已知问题
- 1333852:Trove 不支持 flavor UUID -- Trove flavors API 需要具有数值 ID 的 flavor,才能与 icehouse Trove 的 API 响应保持一致。
升级说明
- trove_api_workers 和 trove_conductor_workers 现在将等于可用 CPU 的数量,如果未在 Trove 配置文件中显式指定。
- 任何升级到此更改且未在 Trove 配置文件中指定 trove_api_workers 或 trove_conductor_workers 的人现在将在重新启动各自的 Trove 服务时默认运行多个 API 和 conductor worker。
OpenStack 数据处理 (Sahara)
新功能
- 数据处理 UI 已完全合并到 OpenStack Dashboard (horizon) 中。
- 添加了对 CDH 5.x 的支持。
- 添加了对 Apache Spark 的支持。支持的版本是 0.9.1 和 1.0.0。Elastic 数据处理 (EDP) 引擎经过大量重构以支持非 Oozie 工作流引擎。
- 添加了对 Apache Hadoop 2.4.1 的支持,除了现有的 1.2.1 和 2.3.0。版本 2.3.0 在 Juno 中已弃用。
- 支持多区域部署。
- 使用 keystone trust 机制 进行 Hadoop Swift 身份验证。现在 Hadoop 可以在不将凭据存储在配置文件中的情况下访问 Swift 中的数据。
- Ceilometer 集成 已添加。现在 Sahara 会通知 Ceilometer 所有集群状态更改。
- 改进了集群配置错误处理。如果在缩放期间出现问题,集群将回滚到原始状态。
- 添加了指定节点组安全组的能力。Sahara 还可以自动创建仅打开所需端口的安全组。
- 实现了 分布式模式 用于 Sahara:sahara-all 进程解耦为 sahara-api 和 sahara-engine。您可以在不同的主机上运行多个 sahara-api 和 sahara-engine 实例。请注意,该功能实现被认为是 alpha 状态。
已知问题
- Bug 1271349:Sahara 需要 root 权限才能通过命名空间访问 VM。
升级说明
主二进制文件重命名为 sahara-all
请注意,您应该使用 `sahara-all` 而不是 `sahara-api` 来启动 All-In-One Sahara。
sahara.conf 升级
我们已从自定义 auth_token 中间件配置选项迁移到通用的配置选项。要更新您的配置文件,您应该用新的选项替换以下旧配置选项。
- "os_auth_protocol", "os_auth_host", "os_auth_port" -> "[keystone_authtoken]/auth_uri" 和 "[keystone_authtoken]/identity_uri"
- "os_admin_username" -> "[keystone_authtoken]/admin_user"
- "os_admin_password" -> "[keystone_authtoken]/admin_password"
- "os_admin_tenant_name" -> "[keystone_authtoken]/admin_tenant_name"
我们已将 sahara.openstack.common.db 中的 oslo 代码替换为 oslo.db 库的使用。
同时,不再支持 sqlite 数据库。请为 Sahara 使用 MySQL 或 PostgreSQL 数据库后端。由于 sqlite 不支持(并且将来也不会支持,请参阅 http://www.sqlite.org/omitted.html)版本之间数据库迁移所需的 ALTER COLUMN 和 DROP COLUMN 命令,因此放弃了 sqlite 支持。
您可以在 Sahara 仓库的 "etc/sahara/sahara.conf.sample" 文件中找到有关配置文件选项的更多信息。
Sahara Dashboard 已合并到 OpenStack Dashboard 中
Sahara Dashboard 在 Juno 版本中不可用。相反,其功能开箱即用地由 OpenStack Dashboard 提供。Sahara UI 在 OpenStack Dashboard 的 "Project" -> "Data Processing" 选项卡中可用。
请注意,为了使 Dashboard 中的 Sahara UI 正常工作,您必须在 Keystone 中正确注册 Sahara。
HEAT 基础设施引擎的 VM 用户名已更改
我们更新了 HEAT 基础设施引擎 ("infrastructure_engine=heat"),使其使用与直接引擎相同的实例用户名规则。在更改之前,Sahara 使用 HEAT 引擎创建的 VM 的用户名始终为 'ec2-user'。现在,用户名是从镜像注册表中获取的,如文档中所述。
请注意,此更改会破坏使用 HEAT 基础设施引擎在更改之前创建的集群的 Sahara 向后兼容性。集群将继续运行,但不建议对其执行扩展操作。
反亲和性实现已更改
从 Juno 版本开始,反亲和性功能使用服务器组实现。从用户角度来看,Sahara 的行为不应有太大差异,但存在内部更改
- 如果启用了反亲和性功能,将创建服务器组对象。
- 新的实现不允许即使它们没有共同进程,也禁止在同一主机上存在多个受影响的实例。因此,如果为 'datanode' 和 'tasktracker' 进程启用了反亲和性,则以前的实现允许在同一主机上拥有具有 'datanode' 进程的实例和具有 'tasktracker' 进程的另一个实例。新的实现保证实例将在不同的主机上。
请注意,新的实现仅适用于新集群。如果用户扩展在 Icehouse 中创建的集群,则将应用旧的实现。
OpenStack 文档
- 本次发布,OpenStack 基金会资助了为期五天的书籍冲刺,以撰写新的 OpenStack 架构设计指南。它提供了通用、计算密集型、存储密集型、网络密集型、多站点、混合、大规模可扩展和专用云的架构。
- 安装指南进行了大量清理和标准化:使用通用的消息队列 (RabbitMQ),用配置文件编辑替换 openstack-config (crudini) 命令以提高学习机会和一致性,引用通用的 SQL 数据库,以便可以替换 MariaDB 或 MySQL,并在整个指南中用 identity_uri 替换 auth_port 和 auth_protocol,用 auth_uri 替换 auth_host。安装指南在每个发行版上都经过彻底测试,并持续发布,直到官方发布软件包对每个人可用为止。
- 《高可用性指南》现在有一个单独的审查团队,并已迁移到单独的仓库。
- 《安全指南》现在有一个专门的审查团队,并已迁移到单独的仓库。
- 长篇 API 参考文档已重新用于专注于 API 完整参考。
- 用户指南现在包含 OpenStack 数据库服务信息。
- 命令行参考已使用新的客户端发布进行更新,现在包含有关通用 OpenStack 客户端、trove-manage 客户端和数据处理客户端 (sahara) 的其他章节。
- 《OpenStack 云管理员指南》现在包含有关遥测 (ceilometer) 的信息。