软件开发云计算OpenStack

全球首发-中文版OpenStack Kilo更新日志

经过休伦公司各位同仁的不懈努力,终于在第一时间完成OpenStack Kilo版本的翻译工作,希望可以在第一时间让大家了解OpenStack Kilo版本的新功能。休伦科技致力于OpenStack私有云产品的研发,也希望以自己微薄的能力,为社区做出更多的贡献。休伦科技的EC-ONE私有云产品也将在近...显示全部
经过休伦公司各位同仁的不懈努力,终于在第一时间完成OpenStack Kilo版本的翻译工作,希望可以在第一时间让大家了解OpenStack Kilo版本的新功能。休伦科技致力于OpenStack私有云产品的研发,也希望以自己微薄的能力,为社区做出更多的贡献。休伦科技的EC-ONE私有云产品也将在近期全面升级到Kilo版本,如果对于休伦科技产品有兴趣,可以给我私信留言。    译者:Ray Sun & Wendy Pei。

OpenStack Wiki地址:https://wiki.openstack.org/wiki/ReleaseNotes/Kilo/zh-hans


OpenStack 2015.1.0 (Kilo)更新日志

以此OpenStack Kilo版本的更新日志告慰Chris Yeoh在天之灵,虽然你已远离你的家人和我们,但你的心永远与我们同在。

OpenStack对象存储(Swift)[edit]新功能[edit]纠删码(beta)[edit]

Swift现在支持纠删码(EC)存储策略类型。这样部署人员、以极少的RAW容量达到极高的可用性,如同在副本存储中一样。然后,EC需要更多的CPU和网络资源,所以并不适合所有应用场景。EC非常适合在一个独立的区域内极少访问的、大容量数据。

Swift纠删码的实现对于用户是透明的。对于副本存储和纠删码存储的类型,在API上没有任何区别。

为了支持纠删码,Swift现在需要依赖PyECLib和liberasurecode。liberasurecode是一个可插件式的库,允许在你选择的库中实现EC算法。

更详细文档请参阅 http://swift.openstack.org/overview_erasure_code.html

复合型令牌(Composite tokens)[edit]

复合型令牌允许其他OpenStack服务以客户端名义将数据存储于Swift中,所以无论是客户端还是服务在更新数据时,都不需要双方彼此的授权。

一个典型的例子就是一个用户调用Nova存放一个VM的快照。Nova将指令传递给Glance,Glance将镜像写入Swift容器中的一组对象中。在这种场景下,用户在没有服务的合法的令牌情况下,无法直接修改快照数据。同样,服务自身也无法在没有用户合法令牌的情况下更新数据。但是数据的确存在于用户的Swift账户中,这样使得账户管理更简单。

更详细的文档请参阅http://swift.openstack.org/overview_backing_store.html

更小规模、不平衡集群的数据位置更新[edit]

Swift数据的存放位置现在根据硬件权重决定。当前,允许运维人员逐渐的添加新的区域(zones)和地域(regions),而不需要立即触发大规模数据迁移。同时,如果一个集群是非平衡的(例如,在一个区域(zones)的集群中,其中一个的容量是另外一的两倍),Swift会更有效的使用现有空间并且当副本在集群空间不足时发出警告。

全局性集群复制优化[edit]

区域(regions)之间复制时,每次复制只迁移一个副本。这样远程的区域(region)可以在内部复制,避免更多的数据在广域网(WAN)拷贝。

已知问题[edit]作为beta更新,纠删码(EC)的功能接近完成,但是对于某些功能仍然不完整(像多范围(multi-range)读取),并且没有一个完整的性能测算。这个功能为了持久性依赖于ssync。部署人员督促我们做更大规模的测试,并且不要在生产环境部署中使用纠删码存储策略。升级提示[edit]

像往常一样,你能在不影响最终用户体验的前提下,升级到这个版本的Swift。

为了支持纠删码,Swift需要一个新的依赖PyECLib(和liberasurecode等)。并且eventlet的最低版本要求也升高了。

北京休伦科技有限公司提供OpenStack Kilo版本翻译。By Ray Sun & Wendy Pei

OpenStack 计算服务(Nova)[edit]新功能[edit]API v2.1[edit]我们有了下一代Nova API的第一个更新版本v2.1。v2.1版本的目的是向回兼容v2.0版本,并且拥有增强的API校验。API所有更新的发现是通过微版本(microversion)发布。更多信息请参阅:http://specs.openstack.org/openstack/nova-specs/specs/kilo/implemented/api-microversions.htmlkilo版本中,我们仍然使用v2.0 API的代码提供v2.0 API的请求。我们希望v2.1将能够同时为v2.0和v2.1请求提供服务。liberty v2.0现在被冻结了,所有功能被添加在v2.1 API中使用微版本(microversions)机制实现。kilo版本中微版本(microversion)更新包括:扩展keypair API支持x509证书,能够和Windows WinRM使用,这个功能是v2.1 API中第一个被以微版本(microversions)添加的功能。在os-extended-server-attributes暴露扩展属性python-novaclient现在还不支持v2.1 APINova v2.1 API的策略执行得到优化。只在API入口执行策略对于单一的API,去掉了重复性规则所有的v2.1 API的策略规则使用'os_compute_api'作为前缀,以区别于v2 API。之前,由于在db层面权限检查的硬编码(hard-code),部分Nova API并不支持策略的配置。总是需要admin用户权限。在Nova v2.1 API中硬编码(hard-code)权限检查被移除,使得API策略可配置。其余的硬编码(hard-code)将在Liberty版本被移除掉。升级支持[edit]我们减少了使用DB迁移脚本执行数据迁移,现在这部分使用一种"懒(lazy)"方式在DB的对象代码中完成。在nova-manage命令中可以帮助强制进行数据迁移。更多的设计请见:http://specs.openstack.org/openstack/nova-specs/specs/kilo/approved/flavor-from-sysmeta-to-blob.htmlhttps://review.openstack.org/#/c/97946/ 增加了编号为267的数据库迁移脚本,这个脚本主要扫描为空(null)的instances.uuid记录并且一旦发现就会导致失败,因为迁移中需要保证instances.uuid非空并且在那个字段加入了UniqueConstraint限制。为了避免数据库迁移失败,提供了一个帮助脚本用来搜索空(null)的instances.uuid的记录。运行'nova-manage db sync'之前,运行帮助脚本‘nova-manage db null_instance_uuid_scan’,默认情况下,该脚本只会检索记录,并将结果输出,不会改变任何内容。如果在参数中加入--delete,就会自动删除所有instances.uuid为空的记录。调度器(Scheduler)[edit]一些列的性能优化我们在优化scheudler的代码结构,这将帮助我们能够演进和优化调度过程。这一点对于终端用户不可见。Cells v2[edit]已经开始添加了对cell v2版本的支持,但是还没达到能够使用的程度。新的'nova-manage api_db sync' 和 'nova-manage api_db version'命令用于支持cell新的api数据库结构,但是还没有任何代码使用该数据库,所有没有必要建立。计算资源驱动[edit]Hyper-V[edit]支持生成两个虚拟机:https://blueprints.launchpad.net/nova/+spec/hyper-v-generation-2-vms支持SMB为基础的卷,和已经存在的ISCSI卷:http://specs.openstack.org/openstack/nova-specs/specs/kilo/implemented/hyper-v-smbfs-volume-support.html支持x509证书的keyparis:http://specs.openstack.org/openstack/nova-specs/specs/kilo/implemented/keypair-x509-certificates.html主机电源操作已经在Hyper-V中可用了:https://blueprints.launchpad.net/nova/+spec/hyper-v-host-power-actionsLibvirt (KVM)[edit]NFV相关功能:以NUMA为基础的调度 : http://specs.openstack.org/openstack/nova-specs/specs/kilo/implemented/input-output-based-numa-scheduling.html虚拟机使用固定的物理CPU: http://specs.openstack.org/openstack/nova-specs/specs/kilo/implemented/virt-driver-cpu-pinning.html超大页(Large Page)支持: http://specs.openstack.org/openstack/nova-specs/specs/kilo/implemented/virt-driver-large-pages.htmlvhostuser VIF驱动: http://specs.openstack.org/openstack/nova-specs/specs/kilo/implemented/libvirt_vif_vhostuser.html支持在IBM System z运行KVM: http://specs.openstack.org/openstack/nova-specs/specs/kilo/implemented/libvirt-kvm-systemz.html支持parallels云服务: http://specs.openstack.org/openstack/nova-specs/specs/kilo/implemented/pcs-support.html支持SMB卷: http://specs.openstack.org/openstack/nova-specs/specs/kilo/implemented/libvirt-smbfs-volume-support.html使用QEMU agent静默(Quiesce)文件系统(例如:做快照之前): http://specs.openstack.org/openstack/nova-specs/specs/kilo/implemented/quiesced-image-snapshots-with-qemu-guest-agent.htmlQuobyte卷支持: http://specs.openstack.org/openstack/nova-specs/specs/kilo/implemented/quobyte-nova-driver.html支持QEMU iSCSI initiator: http://specs.openstack.org/openstack/nova-specs/specs/kilo/implemented/qemu-built-in-iscsi-initiator.htmlVMware[edit]支持Ephemeral磁盘: http://specs.openstack.org/openstack/nova-specs/specs/kilo/approved/vmware-ephemeral-disk-support.html支持vSAN: http://specs.openstack.org/openstack/nova-specs/specs/kilo/implemented/vmware-vsan-support.html支持OVA镜像: http://specs.openstack.org/openstack/nova-specs/specs/kilo/implemented/vmware-driver-ova-support.html支持SPBM存储策略: http://specs.openstack.org/openstack/nova-specs/specs/kilo/implemented/vmware-spbm-support.htmlIronic[edit]对于ironic支持传递flavor扩展属性:http://specs.openstack.org/openstack/nova-specs/specs/kilo/implemented/pass-flavor-capabilities-to-ironic-virt-driver.html已知问题[edit]Evacuate恢复部分代码存在损坏数据的潜在危险。在nova-compute启动过程中,虚拟化端会汇报instance的状态,用于检查物理机发生故障过程中,虚拟机是否被移走了(i.e. 被evacuated)。如果此时发现的确发生迁移了,那么本地的数据就会被彻底删除。这样就存在潜在的可能出现选择错误,虚拟机被错误的销毁。在libvirt节点上,这样的情况可能会由于改变系统的主机名引发。在vmware节点中,这个可能会由于尝试从两个不同的主机(不同的主机名)管理同一个vcenter引发。这个Bug可能会在Liberty中得到修复,但是在当前部署中,关闭这种行为的建议是设置destroy_after_evacuate=False。

注意:这个并不是回归(regression)并且在evacuate的设计中已经提到这个瑕疵。这个并不容易修复,所以使用这种方式绕过去(workaround)解决这个潜在的数据损坏。在liberty的修复记录:https://review.openstack.org/#/c/161444/。

生成的配置文件样例可能会缺少某些oslo相关的配置升级提示[edit]

下面是你在升级中需要了解的内容。在可能的情况下,git提交的hash编码会提供你找到更多更详细的信息:

如果你的Neutron端口(ports)是在Nova之外建立的,在你的服务器删除后并不会删除这些端口:1153a46738fc3ffff98a1df9d94b5a55fdd58777EC2 API支持现在被废弃了,可能要在kilo删除掉:f098398a836e3671c49bb884b4a1a1988053f4b2Websocket代理需要被和API节点一起升级,由于旧的API节点在鉴权控制台权限时不会发送access_url,新的代理服务(这个提交和以后的)处理类似请求时会鉴权失败9621ccaf05900009d67cdadeb1aac27368114a61在全部升级到kilo后(例如,所有节点都运行kilo代码),你需要在后台运行一个flavor信息更新的迁移,把旧名字改为新名字。Kilo的conductor节点会根据需要进行处理,但是其余的空闲数据需要在后台完成迁移。这个要在Liberty更新后全部完成,到时候旧的位置会被废弃。使用"nova-manage migrate-flavor-data"完成迁移。由于Nova v2.1 API强制策略的优化。在v2.1 API策略上有一系列改变发生。因为v2.1 API之前一直没有更新,所以这些改变无法向前兼容。所以最好使用策略的样例配置取代之前的版本。VMware拯救(rescue)虚拟机的行为不再生成一个新的虚拟机而是直接在当前镜像上进行:cd1765459a24e52e1b933c8e05517fed75ac9d41force_config_drive = always被废弃了,需要使用force_config_drive = True替换:c12a78b35dc910fa97df888960ef2b9a64557254运行hyper-v,如果你已经部署的代码晚于这个commit b4d57ab65836460d0d9cb8889ec2e6c3986c0a9b,但是早于这个commit c8e9f8e71de64273f10498c5ad959634bfe79975,那么你可能存在问题,需要手动解决,查看这个commit c8e9f8e71de64273f10498c5ad959634bfe79975改变multi_instance_display_name_template的默认值:609b2df339785bff9e30a9d67d5c853562ae3344使用"nova-manage db null_instance_uuid_scan"确保DB迁移之前数据是干净的,c0ea53ce353684b48303fc59393930c3fa5ade58

北京休伦科技有限公司提供OpenStack Kilo版本翻译。By Ray Sun & Wendy Pei

OpenStack镜像服务 (Glance)[edit]新功能[edit]使用已经毕业的oslo.policy项目。账户配置信息更新,升级在etc/config下的配置文件。http://specs.openstack.org/openstack/glance-specs/specs/kilo/pass-targets-to-policy-enforcer.html可以使一个镜像变为非激活状态。增加了两个新的API调用可能会需要改变策略配置。http://specs.openstack.org/openstack/glance-specs/specs/kilo/deactivate-image.html在镜像导入过程中,支持基本的镜像格式转换。 http://specs.openstack.org/openstack/glance-specs/specs/kilo/conversion-of-images.htmlGlance排序增强。v2版本的镜像API支持新的排序语法,排序时可以指定排序字段和方向:http://specs.openstack.org/openstack/glance-specs/specs/kilo/sorting-enhancements.html通知支持metadefs:http://specs.openstack.org/openstack/glance-specs/specs/kilo/metadefs-notifications.htmlVMware存储驱动支持多datastore:http://specs.openstack.org/openstack/glance-specs/specs/kilo/vmware-store-multiple-datastores.html在镜像导入过程中获取镜像信息:http://specs.openstack.org/openstack/glance-specs/specs/kilo/introspection-of-images.html在Metadefs中支持多个值的操作。http://specs.openstack.org/openstack/glance-specs/specs/kilo/metadata-multivalue-operators-support.html增加新的taskflow执行方法(executor)并且移除了旧的eventlet执行方法。http://specs.openstack.org/openstack/glance-specs/specs/kilo/taskflow-integration.htmlDigest算法现在是可以配置的。SHA-1现在不适合作为通用的数字签名应用,从安全角度考虑,对于每个FIPS需要112字节,我们提供了一个配置可以在这些标准中进行选择。Metadef标签支持。http://specs.openstack.org/openstack/glance-specs/specs/kilo/metadefs-tags.html允许API返回空值。Glance的v2版本API现在也返回为空值的字段。目录索引服务实验性API。http://specs.openstack.org/openstack/glance-specs/specs/kilo/catalog-index-service.html存储驱动更细粒度的支持。 http://specs.openstack.org/openstack/glance-specs/specs/kilo/store-capabilities.html数据存储使用语义版本(Semver, Semantic Versioning)工具。http://specs.openstack.org/openstack/glance-specs/specs/kilo/semver-support.html重新加载配置文件时使用SIGHUP信号。配置重新加载零down机。http://specs.openstack.org/openstack/glance-specs/specs/kilo/sighup-conf-reload.html软件Metadata定义。http://specs.openstack.org/openstack/glance-specs/specs/kilo/software-metadefs.htmlGlance Swift存储使用多个容器(Containers)存储镜像。http://specs.openstack.org/openstack/glance-specs/specs/kilo/swift-store-multiple-containers.html已知问题[edit]当镜像名称大于255个字符时,添加镜像时抛出500错误:https://bugs.launchpad.net/glance/+bug/1424038Glance v2版本API与v1版本更换镜像所有者的API不兼容:https://bugs.launchpad.net/glance/+bug/1420008Glance的scrubber在操作者使用信任模式鉴权下不工作:https://bugs.launchpad.net/glance/+bug/1439666升级提示[edit]移除废弃的选项db_enforce_mysql_charset。 相应的commit: efeb69f9033a57a1c806f71ee3ed9fd3f4d2475emetadef资源的通知现在被支持,相应的commit: fd547e3717dc4a3a92c1cb2104c18608a4f4872aVMware多datastore支持可以通过几个选项进行配置,相应的commit: 96fb31d7459bd4e05e052053177dce4d38cdaf90移除eventlet执行方法,并且增加一个新的Taskflow的执行方法,用于异步任务,相应的commits: ae3135e1d67df77697a24fddaee3efeadb34a0dd和 a39debfd55f6872e5f4f955b75728c936d1cee4b在配置中使用endpoint配置替代snet配置,相应的commit: 41a9a065531ec946b4a9baf999f97d10fa493826Digest算法现在可以配置,相应的commit: 82194e0c422966422f7a4e2157125c7ad8fbc5b5清理已经被删除的镜像,镜像在'保存中'状态时删除。相应的commit: 0dc8fbb3479a53c5bba8475d14f4c7206904c5eaGlance现在使用毕业的oslo.policy模块。相应的commit: cb7d5a4795bbdaf4dc3eaaf0a6fb1add52c09011镜像现在可以设置为非激活状态。一个新的'非激活'状态已经添加到镜像数据中。相应的commit: b000c85b7fabbe944b4df3ab57ff73883328f40d

北京休伦科技有限公司提供OpenStack Kilo版本翻译。By Ray Sun & Wendy Pei

OpenStack面板(Horizon)[edit]新功能[edit]支持通过Web单点登陆的统一认证方式——在keystone中做配置后,用户就能选择认证机制来使用已部署的功能。这些功能的使用能够通过更改local_settings.py配置实现。相关启用设置和配置可以在这里找到:here。支持主题 —— 包含了可以为Horizon指定自定义主题的简单功能。允许使用Bootstrap的CSS值,Horizon定义的变量,以及自定义CSS。更多信息参见:here。Sahara UX 改进 —— 集cluster创建和job创建引导页的增加极大改进了Sahara用户体验。Launch Intance向导(beta) —— 用AngularJS实现了launch instance workflow的全面替代,用以解决现有的launch instance workflow的可用性问题。这项功能最近才引入并且缺乏测试,所以在Kilo版本中标记为beta并且默认是不启用的。要使用新的workflow,需要对local_settings.py做如下更改:LAUNCH_INSTANCE_NG_ENABLED = True。另外,可以做如下更改来禁用默认的启用instance向导:LAUNCH_INSTANCE_LEGACY_ENABLED = False。这项新功能体现了Horizon未来的发展。Nova允许service在Hypervisor中 禁用/启用从host迁移所有instance暴露serial consoleCinder默认为Cinder v2支持已管理/未管理的volume —— 允许管理员管理已存在的volume不再被cinder管理,未管理的被cinder管理。支持project间的volume转移支持volume加密元数据Glance增加了界面以允许管理员查看/新增/修改 Glance元数据定义HeatStack Template界面操作资源控制板Stacks的挂起/恢复操作预览Stack界面允许用户在定义模板中的stacks前可以先预览。Trove调整Trove实例 —— 更改instance的flavorCeilometer展示来源于Ceilometer的IPMI测量数据Horizon中新的可重复使用的AngularJS widgets:AngularJS 表格实现Table 绘制 —— 扩展的表格内容改进的 client/server 查找转换表格widget可为Horizon配置web root不仅仅限于“/”已知问题[edit]从快照创建的Volumes是空的-https://bugs.launchpad.net/horizon/+bug/1447288还没有完全支持Django 1.8升级提示[edit]目前支持Django 1.7

北京休伦科技有限公司提供OpenStack Kilo版本翻译。By Ray Sun & Wendy Pei

OpenStack鉴权服务(Keystone)[edit]新功能[edit]分层multitenancy[edit]

创建一个新的project时,可以设置属性parent_id的值为一个已存在project,使 Projects嵌套在其他projects下。

Role现在可以分配给project分层子树上的 usersgroups

这项功能还需要其他Openstack服务(例如hierarchical quotas)的相应支持使其广泛的生效

Fernet tokens[edit]

区别于UUID tokens只能持久化存入数据库,Fernet tokens完全不需要持久化。部署人员可以通过设置keystone.conf中的[token] provider = keystone.token.providers.fernet.Provider来启用Fernet token

Fernet tokens需要symmetric encryption keys,这些keys可以使用keystone-manage fernet_setup建立, 并且使用keystone-manage fernet_rotate周期性地轮换。这些keys必须被在一个multi-node(或者multi-region)部署中的所有Keyston nodes共享,这样就能使一个node生成的tokens可以立即被其他节点验证。

Identity federation[edit]Keystone现在可以作为联邦身份提供者(IdP: federated identity provider)为另外一个Keystone实例提供本地用户的SAML断言(SAML assertions),可能是ECP封装(ECP-wrapped)。支持OpenID连接作为联邦身份鉴权机制(federated identity authentication mechanism)。在Keystone中增加对多"Remote IDs"关联到单一的鉴权提供者。这有助于有多身份提供者使用一个通用的映射。增加为已经拥有Idp用户通过web浏览器鉴权的能力,实现单点登录。联邦令牌(federated tokens)现在使用token鉴权方法,mapped和saml2仍然有效。联邦用户(federated users)可以映射到本地已经存在的身份上。在规则集(rulesets)映射中定义的组可以用名字和域鉴权出现在联邦身份断言(federated identity assertions)中的组,可以被自动的映射为本地已经存在的组中,并且拥有本地用户关系映射(通过白名单和黑名单过滤)LDAP[edit]用户指定的API过滤项现在由LDAP本身处理,现在由keystone取代"试验性"支持存储指定域(domain-specific)鉴权后端HTTP API在SQL中配置。这个主要用户场景是,当使用HTTP API创建一个新的域(domain),并且马上配置一个指定域(domain-specific)的LDAP驱动,而不需要重启keystone。鉴权[edit]"分配(assignment)"后端已经被分离到"资源(resource)"后端(包含domains, projects和roles),并且"分配(assignment)"的后端包含了授权的映射模型支持再次信任授权。当信任关系建立后,被信任人可以通过另外一个信任重新授权该信任的角色。Keystone支持无范围(unscoped)的token请求,即使用户设置了default_project_id。部署人员可以修改配置来限制已经有范围的令牌重新获取范围(re-scoping),在keystone.conf设置[token] allow_rescope_scoped_token = false 。
升级提示[edit]Keystone的XML支持将在Kilo版本删除。当从Juno升级到Kilo,建议将XML和XmlBodyMiddleware相关的信息从Keystone Paste p配置删除。这包含删除XML中间层过滤器以及public_api, admin_api, api_v3, public_version_api, admin_version_api相关的和其他包含XML过滤器的流水线(pipelines)。所有之前的扩展(OS-FEDERATION, OS-OAUTH1, OS-ENDPOINT-POLICY and OS-EP-FILTER)现在被默认支持,并且在相关标记中,标记为"试验"或者"稳定"。不在支持SQL结构的回退。这个变化主要是回退并没有经过良好的测试,而且在很多迁移中需要支持数据变化,难度越来越大。需要以下Python库:cryptography, msgpack-python, pysaml2oauthlib。keystone.middleware.RequestBodySizeLimiter被废弃,取而代之的是 oslo_middleware.sizelimit.RequestBodySizeLimiter 并且在Liberty移除。Eventlet相关的配置项,如:public_bind_host, bind_host, admin_bind_host, admin_port, public_port, public_workers, admin_workers,tcp_keepalive, tcp_keepidle被从[DEFAULT]移除掉,移到了[eventlet_server]. 相似的,Eventlet相关的SSL配置选项如:enable, certfile,keyfile, ca_certs, cert_required已经从[ssl]配置项移动到[eventlet_server_ssl].keystone.token.backends.sql被 keystone.token.persistence.backends.sql取代.keystone.token.backends.kvs被 keystone.token.persistence.backends.kvs取代.keystone.token.backends.memcache被 keystone.token.persistence.backends.memcache取代.keystone.assignment.backends.kvs被keystone.assignment.backends.sql取代.keystone.identity.backends.kvs被keystone.identity.backends.sql取代.keystone.contrib.stats.core.StatsMiddleware被外部工具取代.keystone.catalog.backends.templated.TemplatedCatalog被keystone.catalog.backends.templated.Catalog取代.keystone.contrib.access.core.AccessLogMiddleware被外部访问日志取代.keystone.trust.backends.kvs被keystone.trust.backends.sql取代.[catalog] endpoint_substitution_whitelist已经从keystone.conf删除,作为加强安全的一部分。[signing] token_format被从keystone.conf删除,取代的是[token] provider.OpenStack网络服务(Neutron)[edit]新功能[edit]DVR现在除了VXLAN/GRE外还支持VLANsML2分层端口绑定(Port Binding)新的V2版本的LBaas(负载均衡即服务)API支持OVS ML2驱动的端口安全在Kilo版本中支持的新插件A10 Networks LBaaS V2 DriverBrocade LBaaS V2 DriverBrocade ML2 driver for MLX and ICX switchesBrocade L3 routing plugin for MLX switchBrocade Vyatta vRouter L3 PluginBrocade Vyatta vRouter Firewall DriverBrocade Vyatta vRouter VPN DriverCisco CSR VPNaaS DriverDragonflow SDN based Distributed Virtual Router L3 PluginFreescale FWaaS DriverIntel Mcafee NGFW FWaaS DriverIPSEC Strongswan VPNaaS Driver已知问题[edit]在Kilo版本中,防火墙即服务仍然标记为试验性功能Bug 1438819当创建一个新的可访问外部网络的子网,所有与该网络相关的、已经存在的具有网关的路由都会得到一个新的地址。对于IPv4网络,这样会为路由的网关消耗掉子网中的全部接口。升级提示[edit]

从Havana版本开始,Neutron不再支持存放指定的租约(https://bugs.launchpad.net/bugs/1202392)。这部分剩余的残留代码包含了一些不曾使用的环境变量。为了删除掉这些残余代码 (https://review.openstack.org/#/c/152398/),需要修改dhcp.filter,所以这一行:

dnsmasq: EnvFilter, dnsmasq, root, NEUTRON_NETWORK_ID=

需要被替换为:

dnsmasq: CommandFilter, dnsmasq, root

在一些高级服务被划分到独立的包,并且有自己的配置文件后(特别是:etc/neutron/neutron_lbaas.conf, etc/neutron/neutron_fwaas.conf and etc/neutron/neutron_vpnaas.conf),当前活跃的服务在升级后,配置会产生变化(特别是,默认的负载均衡软件(haxproxy)和vpn(oepnswn)在升级后会被开启,尽管你之前可能在neutron.conf关闭了他们)。请务必在升级后检查你的配置,保证你的新配置和你之前想要启动的服务一致。

注意:如果在neutron.conf没有加载相关插件,不会受到影响。


默认的api workers的数量变为物理主机CPU的个数。如果你当前用的是默认值,需要保证为你的api worker设置一个合理的数量。(https://review.openstack.org/#/c/140493/)neutron. allow_duplicate_networks配置项在Kilo版本废弃并且将在Liberty移除,默认的行为是允许同一虚拟机可以绑定在同一子网的多个接口。(https://review.openstack.org/163581)linuxbridge agent现在默认支持VXLAN(https://review.openstack.org/160826)neutron-ns-metadata-proxy可以使用非root用户执行(https://review.openstack.org/147437)其他的注意信息(废弃/终止等)[edit]废弃Brocade的VDX/VCS系列硬件的Monolithic插件将在L版本中废弃。原有插件提供的功能已经在ML2中实现。插件将在这个更新之后被删除。Cisco的Nexus1000V Meta插件将在L版本中废弃。原有插件功能已经在ML2的Cisco Nexus1000V策略驱动实现。插件将在这个更新之后被删除。OpenStack块存储(Cinder)[edit]新功能[edit]从这一刻起,任何新的数据库结构的更新将不需要Cinder服务立即重启。服务本身和数据库结构间没有直接关联。这是Cinder支持滚动更新(rolling upgrades)的第一部分!在已经存在的一致性组中添加或者删除卷。获取更多信息.从一个已经存在的一致性组的景象中创建一个新的一致性组。获取更多信息.创建了更多已经优化的filters/weighers来设定scheduler如何选择一个卷的后端。获取更多信息.加密卷现在可以使用Cinder备份服务进行备份。获取更多信息.允许创建私有卷类型。你可以让卷类型只对特定的租户可见,或者在更新到正式环境前进行测试。可以用过'cinder type-create --is-public'设置。Thin Provision(精简配置)的超额认购是可以配置的。Read docs for more info.可以为卷类型增加描述信息。使用'cinder type-create '命令创建。Cinder现在可以返回多个iSCSI路径信息,这样连接方就能在主路径(Primary Path)挂掉后,使用其他路径(当连接方多路径支持开启 or 未开启)。升级提示[edit]cinder.conf中的'host'配置选项被重命名为'backend_host',目的为了避免与redis配置中的'host'命名冲突。如果你使用了这个选项,请务必更新你的配置文件。

北京休伦科技有限公司提供OpenStack Kilo版本翻译。By Ray Sun & Wendy Pei

OpenStack遥测服务(Ceilometer)[edit]新功能[edit]支持添加在polling循环中增加抖动,保证pollsters不要在同一时间查询服务的API支持Ceilometer API RBAC(基于权限的访问控制)优化的事件支持:多流水线(Multi-pipeline)支持开启唯一的处理和发布的事件支持捕获RAW消息格式,便于审计和事后分析在弹性搜索中支持持久化事件发布支持对数据库、http、分拣、kafka和oslo.messaging支持的消息队列增加一个选项,可以将消息的持久化数据存放在一个单独的数据库中Ceilometer现在支持使用时间(events)采集和存储所有事件类型的测量(meters)。一个新的选项,disable_non_metric_meters被加入到配置中,为了关闭将这些事件作为Samples存取的开关。更多信息请参阅Ceilometer配置指南OpenStack手册中的管理员指南增加了新的事件的选择, 你能通过这篇文档获取更多信息。优化了流水线(pipeline)发布支持:支持将事件(events)和samples发布到Kafka或者Http目标中将数据发送到多个队列中更多的测量(meters)Hyper-V的内存和磁盘测量(meters)LibVirt的磁盘测量(meters)IPMI相关的电源和热量的测量(meters),更多的测量指标查看NodeManagerCeph测量IPv6支持在Ceimeter中支持udp的发布和采集Gnocchi支持ceilometer-collector分派pollster自我关闭机制
升级提示[edit]失效的测量(meters):instance:测量在Kilo版本中废弃。如果想获取flavor的samples或者统计你能使用以下查询:  统计:  ceilometer statistics -m instance -g resource_metadata.instance_type  samples:  ceilometer sample-list -m instance -q metadata.instance_type=用户Swift测量的中间件之前被打包到Ceilometer中,现在被废弃了。现在被分拆到独立的库:ceilometermiddlewareJuno配置: http://docs.openstack.org/juno/install-guide/install/apt/content/ceilometer-swift.htmlKilo配置: http://docs.openstack.org/kilo/install-guide/install/apt/content/ceilometer-swift.html

北京休伦科技有限公司提供OpenStack Kilo版本翻译。By Ray Sun & Wendy Pei

OpenStack编排服务(Heat)[edit]新功能[edit]使用嵌套stacks优化扩展性Heat在任何资源的远程调用(PRC)动作都是基于一个模板(template)。这样对处理复杂stacks时有利于分担负载。oslo版本化对象数据库层现在使用oslo版本化对象来帮助未来的升级。这样允许一个新的升级的heat-engine使用一个旧的数据库结构。注意这并不会帮助升级到kilo版本。新模板方法一个新的HOT模板,版本为"20150430",包含了两个新的方法"digest"和"repeat"多区域stackshttp://docs.openstack.org/hot-reference/content/OS__Heat__Stack.html访问Heat服务管理员现在能像其他项目一样访问服务状态。使用"heat-manage service-list"和Horizon。这个功能将汇报heat-engines的活跃状态。优化Nova和Neutron资源(properties)的校验。在特定资源时(stack钩子),暂停stack的创建/更新http://specs.openstack.org/openstack/heat-specs/specs/juno/stack-breakpoint.htmlhttp://docs.openstack.org/developer/heat/template_guide/environment.html?highlight=hooks#pause-stack-creation-update-on-a-given-resource新贡献的资源Mistral资源gnocchi告警 https://blueprints.launchpad.net/heat/+spec/ceilometer-gnocchi-alarmKeystone资源支持v3版本,项目、角色、用户和组Stack生命周期调度提示软件配置优化使用Swift TempURLs选项作为部署信号 http://specs.openstack.org/openstack/heat-specs/specs/kilo/software-config-swift-signal.html使用heat命令创建和监控一个部署,在stack之外 http://specs.openstack.org/openstack/heat-specs/specs/kilo/software-config-trigger.html升级提示[edit]"num_engine_workers"选项默认值从1变为CPU个数。现在这也是其他项目设置worker数量的方法。"max_nested_stack_depth"默认值增加为5.新增的"convergence"默认为关闭。这个功能还没有完成,应该保持关闭。为了准备即将到来的主要更新(convergence),有一些明显的数据库结构变化。建议在升级过程中关闭heat-engine。其他的注意信息(废弃/终止等)[edit]废弃[edit]下列资源被废弃了OS::Heat::HARestarter和OS::Heat::CWLiteAlarm

北京休伦科技有限公司提供OpenStack Kilo版本翻译。By Ray Sun & Wendy Pei

OpenStack数据库服务(Trove)[edit]新功能[edit]支持一个新的复制策略,基于异步的GTID复制(MySQL 5.6新功能)当前一个API调用支持从一个单master节点创建n个副本使用新的'eject-master' API,我们也能支持从一个未响应的master节点,恢复到最近更新的slave节点上Trove guest支持以下新的数据存储:Vertica, and Vertica ClusterDB2CouchDB扩展当前管理API层:新的管理API用来获取列表或查看已经删除的trove虚拟机新的管理API用来ping一个数据存储的guest agent,基于RPC机制Horizon支持重置Trove实例的规格用户现在可以编辑/更新Trove虚拟机的名字集成跨项目的OpenStack性能分析库(OSProfiler)升级提示[edit]我们从已经废弃的oslo-incubator消息代码迁移至官方的oslo.messaging模块中。配置变更详情请查看git.openstack.org/cgit/openstack/trove/tree/etc/trove/trove.conf.sample#n18,(更新)没有经过任何CI测试过的数据存储和策略被移入'测试'段中的各自模块中。一旦这些数据存储和策略在CI中通过测试和gate验证,他们就会被标记为'稳定'。添加了新文档帮助为不同的数据存储创建镜像 http://docs.openstack.org/developer/trove/dev/building_guest_images.html

北京休伦科技有限公司提供OpenStack Kilo版本翻译。By Ray Sun & Wendy Pei

OpenStack数据处理服务(Sahara)[edit]新功能[edit]新插件,功能和版本:MAPRApache Storm添加了Apache Hadoop 2.6.0, Apache Hadoop 2.4.1被废弃新的服务CDH插件加入HDFS, YARN, Spark, Oozie, HBase, Zookeeper和其他服务为了更好的浮动IP的利用率,增加非直接的虚拟机访问增加事件日志支持注入过程中的详细信息每个插件可选择的默认节点组和集群模板Horizon更新:向导式创建集群和任务调度查找对象时过滤实现了节点组模板编辑和集群模板为集群运行Oozie增加了Shell任务类型新的任务类型端点(endpoint),用于查询已知的任务类型列表
升级提示[edit]

更多详细信息:http://docs.openstack.org/developer/sahara/userdoc/upgrade.guide.html#juno-kilo

Sahara现在支持policy.json配置文件。

北京休伦科技有限公司提供OpenStack Kilo版本翻译。By Ray Sun & Wendy Pei

OpenStack裸金属服务(Ironic)[edit]新功能[edit]状态机[edit]

Ironic现在使用一个正式的模式管理每个节点的逻辑状态。[1]。这样就开启了两个附属的进程:清理(cleaning) and 检查(inspection)

项目间的自动磁盘清除默认被支持了。这可能需要为清理(cleaning)扩展额外的步骤,例如重新申请fireware,重置BIOS设置等[2]硬件的检查(inspect),同时支持带内(in-band)和带外(out-of-band)两种方式。这些方法可能会自动更新节点设置。[3]版本头信息[edit]

Ironic REST API在HTTP请求的头信息中增加了一个新的X-OpenStack-Ironic-API-Version。这个头信息允许客户端和服务端在协商时支持一个统一的借口。[4]。如果头信息缺失,REST服务会默认进入兼容模式,并且产生一个兼容Juno客户端的响应。这种模式是被限制访问Kilo提供的最新功能的。

硬件驱动更新[edit]

以下驱动被添加:

AMTiRMCVirtualBox (testing driver only)


对于已经存在的驱动,有以下增强点:

Configdrives 可以用于"agent"驱动替代metadata服务。SeaMicro驱动支持串口控制台iLO驱动支持UEFI安全启动iLO驱动支持带外(out-of-band)节点检查iLO驱动在清理过程中支持ilo和bios重置


支持第三方和未列出的驱动,通过以下两点得到增强:

驱动可以存储节点"内部的"信息驱动可以注册自己的定时任务,并且由Conductor执行vender_passthru方法现在支持额外的HTTP方法(例如PUT和POST)vendor_passthru方法现在可以在REST API中被发现。查看node vendor passthrudriver vendor passthru其他更新[edit]除了正式的UUID之外,逻辑名称可以被用来标识节点。对于拥有多个本地磁盘的服务器,提示可以提供哪些OS在注入时产生影响支持从HTTP源中直接获取kernel, ramdisk和实例镜像,并且从Glance移除了依赖使用Ironic作为独立服务可以通过REST API将节点设置为维护模式维护模式。一个可选项维护模式原因可以标识原因。已知问题[edit]运行一个以上的nova-compute没有被正式的支持当然Ironic包含了ClusteredComputeManager,允许多余一个以上的nova-compute进程,这个功能被视为实验阶段,并且已经存在了很多问题使用“agent”驱动的部署策略不支持"rebuild --preserve-ephemeral"升级提示[edit]IPMI的密码使REST API请求混乱。可以通过API策略设定关闭。驱动的"agent"类现在支持全盘或者分区镜像。"pxe_deploy_kernel"和"pxe_deploy_ramdisk"的driver_info参数被废弃,取而代之的是"deploy_kernel"和"deploy_ramdisk"。驱动自己实现的版本的方法vendor_passthru()被废弃,取而代之的是使用装饰器@passthru。Juno升级到Kilo[edit]

升级文档请参考:

http://docs.openstack.org/developer/ironic/deploy/upgrade-guide.html#upgrading-from-juno-to-kilo从Icehouse的"nova-baremetal"升级[edit]

直接从Icehouse的Nova安装中使用“baremetal”驱动直接到Kilo的Ironic,没有经过测试也不支持。替代方案,请遵循以下升级顺序:

Icehouse Nova "baremetal" -> Juno Nova "baremetal"Juno Nova "baremetal" -> Juno IronicJuno Ironic -> Kilo Ironic

第一步和第二步的文档:https://wiki.openstack.org/wiki/Ironic/NovaBaremetalIronicMigration

北京休伦科技有限公司提供OpenStack Kilo版本翻译。By Ray Sun & Wendy Pei

OpenStack文档[edit]全新的 docs.openstack.org访问页面和全新设计的 用户使用指南(End User Guide)管理员指南(Admin User Guide)第一个版本的 网络指南(Networking Guide)将RST迁移至 用户使用指南(End User Guide)管路员指南(Admin User Guide)全新的专业团队:安装指南(Install Guides)网络指南(Networking Guide)高可靠指南(High Availability Guide)用户指南(包含管理员和最终用户)第一个App指导(First App Tutorial sprint)驱动文档说明和关系说明(Driver documentation clarification and connections)Jump up↑ [1]Ironic新的状态机Jump up↑ [2]节点清理Jump up↑ [3]硬件检查Jump up↑ [4]REST API "micro"版本

收起
参与6

查看其它 1 个回答study123的回答

study123study123系统架构师ERICSSON
我想把这个分享到我的QQ空间,竟然不行
系统集成 · 2015-05-04
浏览3689

回答者

study123
系统架构师ERICSSON
擅长领域: 数据库服务器数据库迁移

study123 最近回答过的问题

回答状态

  • 发布时间:2015-05-04
  • 关注会员:2 人
  • 回答浏览:3689
  • X社区推广