问题导读
1.OpenStack对象存储(Swift)哪些新功能?
2.Neutron增加了哪些功能?
3.OpenStack调度做了哪些改变?
4.Openstack镜像服务 (Glance)有哪些新功能?
5.OpenStack鉴权服务(Keystone)新功能有哪些?
6.OpenStack遥测(Ceilometer)新增哪些功能?
7.OpenStack 编排(Heat)实现了哪些新的资源类型?
升级提示
OpenStack对象存储(Swift)新功能以下是重要的更新内容。请阅读更新日志和相关文档。 - 存储策略
- 支持Keystone v3
- 服务端账号到账号(account-to-account)复制
- 当增加一个新的服务器(server),区域(zone)或者地域(region)时更合理分区布局
- 使用splice()实现零拷贝(Zero-copy)GET响应
- 并发对象审计
已知问题升级提示像往常一样,你可以零停机时间升级你的Swift集群,不影响最终用户。升级前请参考样例配置文件和文档。 - 这里有一些日志方面的更新需要提一下。在所有情况中,正常的日志进程不会受到影响。
- 存储节点(account, container, object)日志中会将进程的PID输出在日志每一行的末端。
- Object守护进程现在使用他们进程的全名作为用户代理(user-agent)标识(例如obj现在替换为object)。
- 一旦额外的存储策略被激活,回退到Swift 预览版2.0.0会引起被使用的附加存储策略失效。
- 作为最终升级的一部分,更新Swift默认端口成为一个非IANA分配(non-IANA-assigned)的范围,bind_port现在是必须设定的。已经显示的设置了该端口的用户不会受到影响。然而,如果你还没有设置该端口,作为升级的一个部分,请确保你所有的*_server.conf中包含bind_port设置,并且匹配你的ring。
- 注意:新的存储策略包含了一个新的守护进程,container-reconciler。
- TempURL默认允许支持POST和DELETE。这就意味着可以为这些动作创建tempurls。而且不会影响现有的tempurls。
- 完整的更新,不推荐使用的或者被删除的Swift选项列表,可以在这里看到:http://docs.openstack.org/trunk/config-reference/content/swift-conf-changes-master.html
OpenStack 计算服务(Nova)实例功能
网络
调度
其他
虚拟化驱动新增功能Hyper-V
Ironic
libvirt
vmware
已知问题更新日志
Openstack镜像服务 (Glance)新功能- 异步处理
- 将glance.store放入它自己的库中
- Metadata定义目录
- 镜像下载限制策略
- 增强Scubber服务,允许单一实例服务在不同节点拥有多个glance-api服务
已知问题升级日志
OpenStack面板(Horizon)新功能SaharaOpenStack数据处理项目(Sahara)被正式的集成到Juno更新中,并且Horizon包含了此服务的面板。你能指定并建立用户指定数据类型的集群来跟踪这些任务的进度。
Neutron功能- Juno版本中,Neutron增加了如下新功能,包括:
- DVR (分布式虚拟路由)
- L3高可靠支持
- IPv6子网模式
Horizon在Juno版本中提供对这些新功能的支持。这些功能在软件定义网络中提供更灵活的功能。 Neutron中之前存在的MAC地址学习的扩展功能,现在已经在Horizon里支持了。
Glance功能在Juno中,Glance提供了metadata目录定义的功能,这样用户就可以将metadata用于多种资源类型,包含镜像、卷、集合和规格。Horizon中现在支持查看和编辑metadata便签的分配。
Cinder功能本着支持全部API功能的目的,一些已经在Cinder中支持的功能,现在在Juno版本中被Horizon所支持。用户在Horizon中可以使用swift存储卷的备份,也能从中恢复卷的备份。 在Juno的Horizon中新增加的之前不支持的Cinder API功能包括: - 允许重设snapshot的状态
- 允许重设volume的状态
- 支持上传为镜像
- 卷类型重定义
- 支持Qos(服务质量)
TroveTrove潜在支持多种数据存储,例如mysql、redis、mongodb。用户可以从云运维人员设定的数据存储列表中进行选择,创建所需要的数据库实例。 另外一个功能是从数据库增量备份中进行恢复。 为了改善对Neutron的支持,当创建一个数据库实例时,用户能够指定网卡(NIC),用户可以直接访问实例。
Nova用户可以通过新的实例面板查看该项目下所有的对实例的操作,哪些操作返回了错误的结果或者其他用户在这些实例上做了哪些操作。 管理员现在可以撤离一台计算节点,这样就提供了在系统维护时,将该维护节点上所有的实例迁移到其他节点的能力。
改进插件支持Juno版本持续对Horizon插件系统进行改进。 一些改进: - 支持增加插件如AngularJS模块
- 支持增加静态文件如CSS、JS、图片
- 增加添加异常的能力
- 修复排序问题
- 许多其他的bug修复
增加基于角色控制(RBAC)的支持为了让Horizon更好的支持基于角色的访问控制(RBAC),几个服务的页面增加了RBAC的检查,来控制用户的访问和性更为。最新支持的服务为计算、网络和编配(Heat)。这些改变允许操作人员实现更细粒度的访问控制,而不只是“用户”和“管理员”。 鉴权面板(域、项目、用户、角色、组)已经支持RBAC的页面控制。鉴权面板已经从管理员面板到独立的“鉴权”控制面板,可访问性取决于独立的策略控制。这是支持更细粒度权限控制的第一步,将项目和管理员面板中重复的内容合并。
UX优化Juno中,Horizon开始使用Bootstrap v3。Horizon在最近几次更新中一直使用旧版本的Bootstrap。这次升级能使Horizon修复一些BUG,以及在Bootstrap框架下进行整体优化。样式和感觉大体和Havana版本保持一致。
提炼JavaScript库作为Horizon团队正在努力的一个部分,他们将JavaScript移入更合理的地方,所有Horizon依赖的第三方JavaScript库从Horizon代码中删除掉并且开始使用python xstatic包。xstack格式可以被Django框架轻松使用。现在JavaScript库的使用可以像其他Horizon以来的python库一样使用。
使用SCSS替代LESSHorizon的样式部分现在从LESS变为SCSS。这个变化主要是由于python缺少LESS编译器的支持。这个变化可以使我们升级到Bootstrap 3,作为Bootstrap 3的一部分,现有的Python的LESS编译器不再提供支持。
已知问题扩展之中渲染(Rendering)的问题使用Bootstrap v3带来了基于Horizon之上的扩展的内容有渲染(Rendering)的问题。大多数这些问题的修复方法是使用一个简单的CSS名字的替换。出现的问题大多数集中在按钮和panel内容的宽度上。
在线压缩因为使用了SCSS,在非调试模式下使用在线压缩可能会出现一些问题。离线压缩和前一个版本工作方式无差异。
Neutron L3高可靠HA的属性可以在UI中进行设置,但是自身迁移在Agent会失败。
更新提示- FLAVOR_EXTRA_KEYS被废弃。这个键值可以直接调用Nova和glance api 替换。
OpenStack鉴权服务(Keystone)新功能- Keystone现在有一个实验性功能Keystone和Keystone的联合(federation), 其中一个实例提供鉴权服务,另外一个为服务提供者。
- PKIZ是一种新的token提供方式,可以为使用PKI token的用户提供服务,(与之前不同的是)在传统的PKI token中加入了基于zlib的压缩。
- PKI token所使用的哈希算法现在可以被配置了(默认使用MD5,Keystone团队建议部署中使用SHA256)。
- Identity-driver-configuration-per-domain现在支持任意复杂层次的内部域名(例如:customer.cloud.example.com)
- 使用LDAP鉴权作为后端时支持description作为用户属性。
- 鉴权服务的v3 API请求现在使用JSON Schema提供校验。
- 在使用多鉴权后端时,Keystone可以将任意的resource IDs映射到任意的后端。
- keystoneclient.middleware.auth_token现在移动到自己的库, keystonemiddleware.auth_token.
- 鉴权服务的v3 API现在支持一个分离的请求获得服务目录(service catalog),GET /v3/auth/catalog。
- 联合(Federated)鉴权事件和本地的角色分配操作现在会触发CADF(审计)通知。
- Keystone现在能将指定的策略集合和一个或多个endpoints关联。
- Keystone现在在根API endpoints上提供JSON家文档(Home docuemtns),回复头Accept: application/json-home。
- 现在可以很简单的通过OS-EP-FILTER从客户端的服务目录中(service catalogs)隐藏endpoints.
- 鉴权集合的API现在按照每一个关联用户过滤(GET /v3/credentials?user_id={user_id}).
- 新的通用的API endpoints现在可以获取权限相关的数据,例如服务目录(service catalog),活跃的项目范围和活跃的域范围。
- Keystone现在在LDAP中支持将用户的enabled属性映射到lock属性(自动进行布尔值转换)
- 可以为LDAP链接配置CA证书文件。
- 模板(templated)目录后端现在支持为鉴权服务的v3 API生成服务目录。
- 服务名称被添加到v3的服务目录中。
- 可以通过名称对服务进行过滤( GET /v3/services?name={service_name})。
已知问题LDAP页面搜索不支持python-ldap 2.4当使用python-ldap 2.4并使用开启了页面搜索(paged search)的LDAP时,会发生AttributeErrors的错误。这是由于python-ldap中的不兼容导致的。可以通过以下几个方法绕过这个错误: - 在keystone.conf中关闭页面搜索功能,在[ldap]段中设置page_size为0。
- 将python-ldap版本降为2.3.x。
升级提示- 基于简化的开包即用的(out-of-the-box)经验,默认的token提供者使用UUID替换之前的PKI。
- 对于早于Havana版本的数据库迁移被抛弃了,这就意味着如果你必须从Havana或者Icehouse版本的升级到Juno。
- 完整的更新,不推荐使用的或者被删除的Keystone选项列表,可以在这里看到:http://docs.openstack.org/trunk/config-reference/content/keystone-conf-changes-master.html
- 所有token_api方法被废弃了。
- LDAP配置选项中之前包含废弃的tenant术语现在被project取代。
- 从鉴权后端到分配后端的代理被删除了(创建提供后端兼容性,目的是将分配后端和鉴权后端分离)。这个改动只会影响定制的,out-of-tree(?)API扩展。
- 从keystone.conf中的类名称中加载鉴权插件的方法被废弃了,取而代之是通过custom-method-name = custom_package.CustomClass加载,然后定义一组鉴权的方式(methods = custom-method-name, password)。
- 在树状token驱动中(keystone.token.backends)被移动到keystone.token.persistence.backends。代理对象可以保持运维的兼容性。如果没有设置值,建议将keystone.conf中的[token]段中的driver设置为新的位置。
- 除了token驱动之外的所有KVS后端被废弃了。
- LDAP/AD配置:所有配置中包含"tenant"的术语被废弃了,现在建议使用"project"(例如:tenant_id_attribute被project_id_attribute替换)。
OpenStack网络服务(Neutron)新功能- 重构数据库迁移和新的timeline
- 分布式虚拟路由支持(DVR)
- 全面支持租户网络IPV6
- L3层代理高可靠
- 使用ipset替代iptables支持安全组(可配置)
- L3代理性能优化
- 将RPC通讯迁移至oslo.messaging库
- 重构针对安全组的设备RPC调用(巨大的性能提升)
- 在Juno版本中支持的新插件包含:
- A10 Networks LBaaS driver for the LBaaS V1 API
- Arista L3 routing plugin
- Big Switch L3 routing plugin
- Brocade L3 routing plugin
- Cisco APIC ML2 Driver (including a L3 routing plugin).
- Cisco CSR L3 routing plugin
- Freescale SDN ML2 Mechanism Driver
- Nuage Networks ML2 Mechanism Driver
- SR-IOV capable NIC ML2 Mechanism Driver
已知问题- 这是针对DVR和L3高可靠第一个版本。Neutron团队明确这些功能完全可被用于生产环境是在Kilo版本,并且希望部署人员可以在非关键的负载下使用,并报告相关问题。
- 防火墙即服务(FWaas)仍然被标记为实验性功能,所以现在还不允许你在一个租户下有多余一个防火墙。
已知问题
OpenStack块存储服务(Cinder)新功能- 支持卷复制。
- 支持一致性组(Consistency Groups)和一致性组的快照(Snapshots of Consistency Groups)。
- 支持卷资源池。
- 完成i18n
- 在镜像上传中给Glance加入保护属性
- 可以在卷复制操作时限制带宽使用
- 加入卷数量Weigher的调度(算法)
New 驱动/插件- Datera
- Fujitsu ETERNUS
- Fusion IO
- Hitachi HBSD
- Huawei
- Nimble
- Prophetstor
- Pure
- XtremIO
- Oracle ZFS
已知问题无 升级提示
OpenStack遥测(Ceilometer)新功能- 在横向扩展的中心代理端支持度量指标集合的分区
- 告警评估(evaluation)负载使用新的tooz进行协调,与手工的协议相反
- 对SQLAlchemy存储的性能和可扩展性进行了大量优化,所以MySQL和PostgreSQL可以被用于验证或小规模部署存储度量值
- 支持通过Ironic或者新的独立的代理端,通过通知的方式,经过IPMI传感器获取的面向硬件的监控
- 更灵活、有效地SNMP监控:
- 将多个SNMP度量的多次查询归并为一个请求
- 通过TripleO部署的节点可以动态发现进行SNMP轮询
- 非常容易的扩展Ceilometer采集的SNMP度量指标
- 通过多个主要指标的算法运算得到新的度量指标
- 可以讲告警的数据放入独立的数据库
- 对于度量的消息可以使用通知替代RPC调用
- Neutron网络度量服务:负载均衡即服务(LBaaS),防火墙即服务(FWaaS)和VPN即服务(VPNaaS)。
- 新的XenAPI计算资源巡检
- 支持通过MongoDB或者Hbase存储驱动(之前限制为SQLAlchemy)持久化事件
- 支持对虚拟机磁盘的每一个硬盘单独的度量
- 将Ceilometer作为系统分析数据的收集端
- 云系统管理员指南增加对遥测服务的段落
已知问题- 1381600新的ceilometer-agent-ipmi 无法发出任何samples当从ipmitool获得数据无法被解析时。
升级提示
OpenStack 编排(Heat)新功能- 在stack更新失败时可以恢复
- 使用API可以取消或者回滚一个正在更新的stack
- 实现了新的资源类型:
- 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
- 记住当更新一个stack时先提供参数
- Improved scalability
- 优化扩展性
- 优化嵌套stack的树的可视化
已知问题无 升级提示
OpenStack数据库服务(Trove)新功能- 在提供的mysql实例中提供异步复制(主-从复制)
- 引入新的集群API,开始支持MongoDB集群
- 支持使用Neutron网络的OpenStack解决方案中部署Trove。在这之前,只支持nova-network。
- 支持提供PostgreSQL数据库的实例。
- 支持Couchbase的备份和恢复。
- 支持可选择强制使用Cinder作为Trove卷的后端。
- 支持在Trove数据库中(使用mgmt API)自定义的数据存储配置参数
- 用一个调用获取所有的数据存储类型和版本
其他的增加的改进- 在trove中增加日志审计来优化日志级别
- 加入stevedore来优化扩展加载的机制
- 使用卷存储数据现在可以基于每一个数据存储
- 在配置组列表和详细信息调用中增加创建、更新时间戳以及实例数量
已知问题- 1333852: Trove还不支持使用规格(Flaovr)的UUID ——Trove规格API需要使用带有数字ID的Flavor,目的是与icehouse Trove的API返回保持一致
升级日志无 OpenStack数据处理(Sahara)新功能- 数据处理的UI已经被完全整合到OpenStack控制面板中(Horizon)。
- 增加对CDH 5.x的支持。
- 增加对Apache Spark的支持。支持的版本为0.9.1和1.0.0。弹性数据处理(EDP)引擎进行了大量重构,来支持non-zero工作流引擎。
- 在当前支持1.2.1和2.3.0版本的基础上,增加对Apache Hadoop 2.4.1支持。2.3.0版本在Juno版本废弃。
- 支持多域的部署。
- Hadoop Swift的鉴权使用keystone信任机制。现在Hadoop访问Swift数据无须在配置文件中存储鉴权信息。
- 增加Ceilometer集成。现在Sahara会通知Ceilometer所有集群的状态变化。
- 集群的异常处理进行了改进。如果在扩展过程中出现错误,集群将会回退到原始状态。
- 为节点组设置安全组。当然Sahara也可以自动的创建安全组并打开需要的端口。
- 为Sahara实现分布式模式:sahara-all进程被分解为sahara-api和sahara-engine。你能在不同节点运行几个sahara-api和sahara-engine的实例。注意这个功能的实现仅仅在alpha阶段。
已知问题
升级提示将主程序命名为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" and "[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库。 你能从Sahara库中的"etc/sahara/sahara.conf.sample"获取更多配置相关的信息。
将Sahara控制面板整合到OpenStack控制面板Sahara控制面板在Juno版本中还不存在。取而代之的是在OpenStack控制面板之外提供功能。在OpenStack控制面板进入Sahara界面的方法:"Project" -> "Data Processing"。 注意,你需要正确的在Keystone注册Sahara的信息,这样才能让Sahara UI正常工作。
HEAT基础架构引擎的虚拟机用户名变更我们已经更新了HEAT基础架构引擎("infrastructure_engine=heat"),使用直接引擎(direct engine)中实例用户名同样的规则。在改变用户名之前,使用HEAT引擎,Sahara创建的虚拟机用户名总是‘ec2-user’。现在用户名从镜像注册中移除,正如文档描述的一样。 注意,这个变化破坏了Sahara向前的兼容性,在这之前通过HEAT创建的集群都会受到影响。集群仍然可以继续操作,但是并不建议进行规模上的操作。
非依附(Anti affinity)实现的变化从Juno版本开始非依附(???anti affinity)功能使用服务器组来实现。这和用户期望的Sahara行为没有太大区别,但是有一些小的变化: - 如果非依附选项开启,服务器组对象会被创建
- 新的实现中,不允许几个受影响的实例运行在同一个物理主机上,即使他们上面运行了非公共的进程。所以,一旦非依附选项为'datanode'和'tasktracker'进程开启,之前的实现中允许一个实例有'datanode'进程,另外一个进程有'tasktracker'进程,并且运行在同一个物理主机上。新的实现中保证了这些实例在不同的主机上。
注意,新的实现只会对新创建的集群生效。原有实现会对用户在Icehouse版本中创建的集群起作用。
OpenStack文档- 这个版本中,OpenStack基金会出资,用五天的时间冲刺(five-day book sprint,翻译可能不准确)新写了一本OpenStack架构设计指南。这本书中提供了面向通用,面向计算,面向存储,面向网络,多节点,混合,大量的可扩展性和特殊云的架构。
- 安装文档中做了清理和标准化:使用通用的消息队列(RabbitMQ),使用openstack-config(crudini)命令替代直接编辑配置文件来改善学习成本和一致性,使用了通用的SQL数据库,这样MariaDB或者MySQL能被替换,并且替换auth_port和auth_protocol为identity_uri,并且保持一致性。安装指南完全在每一个分布式节点进行了测试,并且直到正式的安装包发布前持续发布。
- 高可靠指南现在有一个独立的审核团队并且移入了一个独立的库。
- 安全指南现在有一个独立的审核团队并且移入了一个独立的库。
- API使用指南文档已经重新发布为API完整指南.
- 用户指南现在包含了OpenStack数据库服务的信息。
- 命令行指南现在已经更新至最新版本,并且包括了附加的章节介绍通用OpenStack客户端,trove-manage客户端,数据处理客户端(sahara)。
- OpenStack云平台管理员指南现在包含了遥测(Telemetry)服务(ceilometer)。
相关帖子推荐:
openstack juno版发布文档汇总:各个版本安装、API、配置使用、管理员英文文档
|