OpenStack 开发人员邮件列表摘要 5 月 14 日至 6 月 17 日

SuccessBot 说

  • Qiming: Senlin 已完成 API 从 WADL 的迁移。
  • Mugsie: Kiall 修复了网关 – 开发现在可以继续了!!!
  • notmyname: 就在 6 年前的今天,Swift 上线生产环境
  • kiall: DNS API 参考已上线 [1]
  • sdague: Nova 旧版 v2 API 代码已移除 [2]
  • HenryG: Neutron 中已移除 oslo incubator 的最后残余 [3]
  • dstanek: 我使用我的新 SAML2 中间件在 keystone 和 testshib.org 之间执行了往返操作!
  • Sdague: Nova 现在默认使用 Glance v2 进行镜像操作 [4]
  • Ajaeger: 第一份项目特定安装指南已发布 – 祝贺 Heat 团队!
  • Jeblair: 没有 Jenkins,只有 Zuul。
  • 全部

要求 OpenStack 项目的公平竞争环境

  • Thierry Carrez 为 OpenStack “官方”项目提出了一项新要求 [5]
  • 开放协作平台的关键特征是它们需要一个公平的竞争环境。任何特定组织都不能获得不公平的优势。
    • 被指定为“官方”项目团队的项目需要公平运作。否则,它们可能本质上成为某个特定组织的特洛伊木马。
    • 如果在某个项目中,来自特定组织的开发人员受益于特定的知识或硬件访问权限,则该项目应根据“开放社区”规则被拒绝。
    • Cinder 等项目提供了一个有趣的灰色地带,但只要所有驱动程序都包含在内,并且有一个功能齐全(且流行)的开源实现,就不太可能存在任何特定组织获得不公平优势的情况。
  • 针对特定网络硬件的 Neutron 插件可能会使硬件制造商的开发人员获得不公平的优势(能够访问硬件进行测试,并且能够查看和修改其专有源代码)。
  • 不符合开放社区要求的开源项目仍然可以在生态系统中存在(使用 gerrit 和 openstack/* git 仓库开发,进行网关测试,但作为非官方项目)。
  • 完整线程

添加禁用某些严格响应检查的选项以进行互操作性测试

  • Nova 引入了其 API 微版本更改 [6]
  • QA 团队向 Tempest 添加了严格的 API 模式检查,以确保没有额外的 Nova API 响应 [7][8]
    • 在过去一年中,三家参与 OpenStack 认证计划的供应商受到了此影响 [9]
  • DefCore 工作组为 OpenStack 认证计划制定了指导方针。
    • 包括与 Tempest 的相关功能测试相关联的能力,这些测试必须通过。
    • 在开发方向和部署滞后指标以及用户采用之间存在平衡。
  • 工作组成员 Chris Hoge 希望为严格的 API 检查要求实施临时豁免。
    • 虽然这在开发社区进行了公开讨论,并且花费了一些时间来实现,但它仍然很快落地,并一夜之间破坏了几个现有部署。
    • 由于通过了 TC 决议 [10],建议 DefCore 使用 Tempest 作为能力测试的单一来源,因此下游部署者使用不具有这些严格响应检查的旧版 Tempest 是不可行的。
  • 提议
    • 短期
      • 将有一份关于 Tempest 的蓝图和补丁,允许配置一个 Nova API 的灰名单,其中将禁用对其他属性的严格响应检查。
      • 使用此代码将发出弃用警告。
      • 这将在 2017.01 中移除。
      • 供应商需要提交 API 的灰名单以及将发布到其市场条目的额外响应数据。
    • 长期
      • 供应商应与上游合作更新 API 以返回额外数据。
      • 在 2017.01 指南发布后,将不再允许豁免。
  • 前 QA PTL Matthew Treinish 认为这是巨大的倒退。
    • 实施了带外扩展或在响应中注入了额外内容的供应商认为他们是可互操作的。API 不是区分供应商的地方。
    • 作为多个云的用户,响应中的随机数据使得编写代码更加困难。哪些是供应商特定的响应?
  • 不给供应商更多市场时间的选择
    • 一些供应商离开认证计划,不必要地削弱了它。
    • 迫使 DefCore 采用非上游测试,无论是作为分支还是独立的测试套件。
  • 如果通过向 Tempest 添加新测试来应用新的执行策略,那么 DefCore 就可以在一段时间内通过其流程添加它们,下游部署者可能不会遇到问题。
    • 相反,行为是针对一系列现有测试的。
  • Tempest master 今天支持所有当前支持的稳定分支。
    • 在 git 仓库中创建标签,添加/删除对某个版本的支持。
      • 无分支 Tempest 最初是在 Icehouse 版本中开始的,并且是为了强制 API 在不同版本边界上保持一致而实现的。
  • 如果 DefCore 想要 Kilo、Liberty 和 Mitaka 的最低公分母,有一个标签是 [11]。对于 Juno、Kilo、Liberty,标签将是 [12]
  • 完整线程

没有 Jenkins,只有 Zuul

  • 自 OpenStack 成立以来,我们一直使用 Jenkins 进行测试和构建制品。
    • 当我们只有两个 git 仓库时,我们有一个 Jenkins master 和一些 slave。这很容易维护。
    • 随着 1,200 个 git 仓库、分布在 8 个 Jenkins master 和 800 个动态 slave 节点上的 8,000 个作业,事情已经显著增长。
  • Jenkins Job Builder [13] 被创建,用于从模板化的 YAML 中创建 8,000 个作业。
  • Zuul [14] 被创建用于驱动项目自动化,通过指导我们的测试,每天运行数万个作业。响应
    • 代码审查
    • 堆叠潜在的更改以便一起测试。
  • Zuul 版本 3 进行了重大更改
    • 在多节点环境中运行作业更容易
    • 易于管理大量作业
    • 作业变体
    • 支持树内作业配置
    • 能够使用 Ansible 定义作业
  • 虽然 3 版本仍在开发中,但它今天能够完全运行我们的作业。
  • 截至 6 月 16 日,我们已关闭了最后一个 Jenkins master,我们所有的自动化都由 Zuul 运行。
    • Jenkins Job Builder 有 OpenStack 以外的贡献者,并将继续由他们维护。
  • 完整线程

OpenStack 项目的语言与范围

  • OpenStack 停在哪里,更广泛的开源社区在哪里开始?两个选择
    • 如果 OpenStack 纯粹是“集成引擎”,用于集成底层技术(例如,虚拟机监控程序、数据库、块存储),那么范围是有限的,Python 应该足够了,我们不需要分散我们的社区。
    • 如果 OpenStack 是“为实现我们的使命不惜一切代价”,那么是的,我们需要添加一种语言来覆盖底层/原生优化。
  • Swift PTL John Dickinson 提到定义 OpenStack 项目的范围并不定义实现它们所需的语言。这些考虑是正交的。
    • OpenStack 定义为实现使命声明所需要的一切。
    • 定义“底层”非常困难。由于 Nova API 正在监听公共网络接口并与集群中的各种服务协调,因此它足够底层,可以考虑优化。
  • 另一种方法是面向产品。“底层组件是 OpenStack 的依赖项,而不是 OpenStack 本身。”
    • 不受 TC 管理,并且可以使用任何必要的语言和工具。
    • OpenStack 需要许多开源项目和库来实现其使命,而这些项目和库不是“OpenStack”:Python、MySQL、KVM、Ceph、OpenvSwitch。
  • 我们是否希望参与构建会遇到 Python 限制的数据平面服务?
    • 控制平面服务不太可能遇到需要用另一种语言重写的扩展性问题。
  • Swift 首先在 Python 中遇到了项目成熟度的限制,现在它们正专注于这种优化。
    • Glance(部分数据平面)确实达到了这个限制,并通过使用 Ceph 并将其直接暴露给 Nova 来缓解。因此,Glance 现在只关心位置和元数据。Ceph 等依赖项关心数据平面。
  • Go 编程语言的决议已在之前的技术委员会会议上讨论过,但未通过 [14]。John Dickinson 及其他人确实计划继续努力,让 Swift 使用该语言获得例外。
  • 完整线程

 

技术委员会亮点 2016 年 6 月 13 日

距离上次精彩集锦发布已经有一段时间了,所以这次内容丰富。

新发布标签:cycle-trailing

这是描述发布模型的标签集合中的一个新添加项。此标签旨在允许特定项目在 OpenStack 发布版本发布后进行发布。此标签对于需要等待“最终”OpenStack 版本发布的项目很有用。例如,Kolla、TripleO、Ansible 等项目。

重新组织跨项目工作协调

跨项目团队是审查跨项目规范的参考团队。此决议授予跨项目团队对跨项目规范的批准权,因此能够在无需技术委员会干预的情况下合并这些规范。这是 TC 赋能社区尽可能自治的使命向前迈出的一大步。此决议承认 **openstack-specs** 的审阅者为一个团队。

项目添加和移除

– 添加 OpenStack Salt:此项目提供了 SaltStack 公式,用于安装和运行 OpenStack 云部署。该项目的主要重点是以简单、可扩展和可预测的方式设置开发、测试和生产 OpenStack 部署。

– 添加 OpenStack Vitrage:此项目旨在组织、分析和可视化 OpenStack 告警和事件,从而洞察问题的根本原因,并在直接检测到问题之前推断出它们的存在。

– 添加 OpenStack Watcher:Watcher 的目标是为多租户 OpenStack 云提供灵活且可扩展的资源优化服务。

– 移除 OpenStack Cue:Cue 项目团队的活动已降至官方 OpenStack 项目团队的预期水平以下。因此,它已从官方项目列表中移除。

关于 DefCore 验证测试位置的建议

一项新决议已被合并,其中建议 DefCore 团队使用 Tempest 的仓库作为验证测试的中心仓库。在峰会期间,讨论了两种可能的建议选项:

  • 使用 Tempest git 仓库内的测试。
  • 通过允许项目在其自己的代码树中使用 Tempest 的插件功能来添加 Tempest 测试。

通过推荐使用 Tempest 仓库,社区将倾向于集中这些测试,这将改善 DefCore 事务的协作,并将提高 API 验证所用测试的一致性。

使命陈述更新

一方面,Magnum 在讨论后缩小了其使命陈述。该团队决定 Magnum 应专注于管理容器编排引擎(COE),而不是管理容器的生命周期。另一方面,Kuryr扩展了其使命,也包括管理容器的存储抽象。

扩展 OpenStack 项目中的技术选择

表面上看,这个请求很简单。“我们可以使用 Golang 来开发 OpenStack 吗?”在这次治理补丁审查中询问 TC。

这是一个是或否的问题。它为我们设定了非黑即白的定义,尽管任何一个答案都可能带来许多连锁反应。

“是”意味着项目之间的专业知识共享更少,以及一些隔离。我们的希望是,某些技术决策是为我们的社区和“OpenStack 的方式”做出最佳选择。我们将信任项目,为所有受技术选择影响的操作员和用户制定计划。选择“是”意味着信任我们所有的项目(目前超过五十五个),不要浪费时间追逐最新技术或进行无谓的重写,并相信技术选择的自由比共享通用知识和专业知识更重要。对一些人来说,这意味着我们正在作为技术人员不断发展和创新。

投票“否”意味着,如果您想用另一种语言进行开发,您应该在 OpenStack 社区之外组建自己的语言社区。即使投票“否”,项目仍然可以使用我们的开发基础设施,如邮件列表、Gerrit、Zuul 等。投票“否”一项语言选择意味着该团队的可交付成果简单地处于技术委员会的治理监督之外,并且不由我们的跨项目团队(如发布、文档、质量)处理。为了用户群的利益,您应该确保所有技术影响,就像“是”投票一样,但您的团队不需要在 TC 的监督下工作。

如何从“否”变为“是”?这是否意味着我们希望您留在 OpenStack 社区,但请将那些在构建时未考虑整个社区的部分插件化?

我们已经讨论了额外的灰色区域答案。这是光谱

  • 是,无限制。
  • 是,但在我们的治理范围内。
  • 否,请记住,使用其他语言编写外部依赖项是完全可以的。
  • 否,不符合我们技术标准的项目不利用 OpenStack 提供的共享资源,因此它们可以在 OpenStack 之外运行。

我们已经排除了“是”和“否”的外部边缘描述。本周我们继续讨论内部“是”和内部“否”的描述,但没有一个选项真正令人满意。经过大量讨论,我们最终以“否”的答案结束,放弃了该补丁,同时寻求在限制内实现“是”的输入。

基本上,我们的答案是专注于我们共同拥有什么,什么定义了我们。这符合“大帐篷”的方法,即将“OpenStack 项目”定义为由一个使用 OpenStack 方式的连贯社区开发的。这是关于分享更多东西。我们在必要时容忍甚至拥抱差异,但这并不意味着项目必须生活在帐篷里。它可以是一个友好的邻居,而不是在里面导致帐篷分成更小的子帐篷。

常见问题解答:OpenStack 设计峰会的演变

作为社区讨论的结果,OpenStack 基金会正在改变其为社区制作的活动格式,从 2017 年开始。该提案是将目前每六个月一次的、作为主要 OpenStack Summit 一部分的 Design Summit 分为两部分:在主要 Summit 上进行跨社区讨论和用户输入(我们称之为“什么”讨论)的“论坛”,以及一个独立的“项目团队大会”活动,供项目团队成员见面并完成工作(“如何”讨论和冲刺)。目的是减轻对单独的周期中期会议的需求,因此开发团队将继续每年开会四次,两次与广大社区开会,两次在一个更小、更集中的环境中开会。发布周期也将调整,以便在发布和 Summit 之间有更多空间。此次变更引发了很多担忧和问题——本次 FAQ 的目的是试图解决它们。

请注意,我们曾举行社区全体会议来解释 OpenStack Design Summit 不断变化的格式。您可以观看此次录音以了解更多信息。


问:这次变革如何帮助上游开发者?

 

答:在 Summit 周期间,上游开发者有许多不同的目标。我们利用 Summit 来沟通新事物(发表演讲)、学习新事物(参加演讲)、获得用户和运营商对我们最新发布的反馈、收集痛点和未来开发优先级、提出变更并听取社区意见、招募和入职新团队成员、进行重要的跨项目讨论、与现有项目团队成员会面、启动新周期工作,以及完成工作。4 到 5 天的时间根本不足以完成所有这些,所以我们通常会放弃一半的目标。大多数人会 Skip 参加演讲。有些人会放弃发表演讲的想法。有些人会放弃跨项目讨论,导致它们没有足够的代表性来真正发挥作用。有些人会退出自己的项目团队会议去别处。时间冲突让我们在会话之间跳来跳去,导致我们通常无法倾听反馈、痛点或新来者。到周末,我们会精疲力竭,无法完成任何事情。我们需要腾出一些时间。有些目标只能在 Summit 环境下实现,那里代表着我们的整个社区——我们应该将这些目标保留在 Summit 周。有些目标在没有干扰的环境下实现效果更好——我们应该为它们组织一个单独的活动。


问:“论坛”是什么?

 

答:“论坛”是 Design Summit(Ops+Devs)的一部分的代号,它仍然会在主要 Summit 活动中举行。它将主要专注于下一个版本的战略讨论和规划(“什么”),基本上是下一个发布周期的开始,即使开发还要 3 个月才会开始。我们仍然应该利用我们整个社区(Devs、Ops、最终用户……)的代表性来举行跨社区讨论。这意味着从用户和运营商那里获取关于我们最新版本特定项目的反馈,收集痛点和未来开发的优先级,提出变更并了解社区的意见,以及招募和入职新团队成员。我们希望在[一个中立的场地]进行,而不是有单独的“Ops”和“Dev”日,这样讨论就不会受到会议所有者的影响。此活动将在上一个版本发布至少两个月后举行,以便用户有时间测试并提供有价值的反馈。


问:“项目团队大会”是什么?

 

答:“项目团队大会”是 Design Summit 的一部分的代号,现在将作为一项独立活动举行。它将主要为项目团队提供空间,以做出实施决策并开始开发工作(“如何”)。这就是我们将进行重要的跨项目讨论,与现有项目团队成员会面,建立共同理解,启动新周期开发工作,并通常完成工作的地方。OpenStack 项目团队将被分配单独的房间,可以开会一到两天,形式[松散](没有 40 分钟的插槽)。如果您自认为是某个特定 OpenStack 项目团队的成员,您应该[肯定]参加。如果您不是特定项目团队的一员(或者无法选择 一个 团队),您仍然可以参加,但您在该活动的体验可能不是最佳的,因为该活动的参与者的目标是完成工作,而不是听取反馈或与新来者互动。此活动将在[上一个版本发布时间]左右举行,届时开发人员已准备好将开发工作完全切换到新周期。


问:这次变革如何帮助整个 OpenStack?

 

答:将更大的 Summit 活动从上一个版本[推远]应该会[极大]改善反馈循环。目前,在 Summit 上征求反馈不起作用:用户根本没有时间使用上一个版本,因此我们收集的大部分反馈都基于 7 个月前的[上一个]版本。这也[不是]推动新功能的[正确]时机:我们[已经]在[新]周期中[处于]领先地位,现在添加新优先级[为时已晚]。新的“论坛”活动相对于开发周期的位置应该足够晚,可以获得[上一个]版本的反馈,并且足够早,可以影响[下一个]周期中要完成的工作。通过腾出 Summit 周期间开发者的时间,我们还[期望]改善所有[参与者]的 Summit 体验:开发者将[更容易]参与并倾听。峰会的技术内容也将受益于[更多]上游开发者提供讲座和参与小组讨论。最后,将 Summit 安排在[发布]之后,应该有助于供应商准备和宣布基于最新版本的产品,从而使 Summit 市场[更]具吸引力和[相关性]。

 

问:变更何时发生?

 

答:Summit 的预订[已]排到 2017 年,所以我们[无法]很快[移动]它们。相反,我们建议[逐步]调整发布周期。巴塞罗那和波士顿之间实际上有 7 个月,所以我们有机会在这里[逐步]调整周期,影响[有限]。想法是进行一个 5 个月的发布周期(10 月至 2 月之间),在 2 月底举行第一次项目团队大会,然后回到 6 个月的周期(3 月至 8 月),并在其中期(5 月)举行波士顿 Summit(和论坛)。因此,在巴塞罗那之后,即 2017 年,变更[将]开始生效。这为我们研究场地和完善新活动格式[提供了]时间。


问:关于周期中会议?

 

答:周期中冲刺会议是由项目团队单独组织的,作为聚集团队成员和完成工作的一种方式。随着主要 Summit 会议上的干扰越来越多,并且项目团队很难在 Design Summit 上聚集、建立社交联系并普遍[高效],周期中冲刺会议越来越受欢迎。我们希望团队在项目团队大会上[找回]失去的生产力和社交联系,从而消除对单独团队冲刺会议的需求。 


问:这个项目团队大会很可能也是一个[盛大]的活动。我怎么能[在那里]变得[高效]?或者和我的[小]团队[建立]社交联系?

 

答:项目团队大会比 Summit(大约 400-500 人,而不是 7500 人)要[小]得多。项目团队被安排在单独的房间里,[很]像一个[共同]定位的周期中冲刺会议。唯一[大家]会面的时候是[午餐]时。不会有晚间派对:鼓励项目团队组织单独的团队晚餐并建立[牢固]的社交联系。


问:这种新格式是否真的有助于[跨项目]工作?


答:不幸的是,跨项目工作是许多与会者在努力应对 Summit 周期间必须完成的[诸多]事项时放弃的事情之一。跨项目研讨会最终[变得]越来越[无效率],尤其是在[达成]决策或[产出]工作方面。周期中冲刺会议最终成为了可以完成工作的地方,但它们是[单独]组织的,这意味着跨项目团队(基础设施、文档、QA、发布管理……)的成员参加所有这些会议的成本[非常高]。我们基本上以一种使跨项目工作成本过高的方式[安排]了我们的活动,然后[纳闷]为什么我们在招募人员[来]做这项工作时遇到这么多困难。新格式确保我们有一个地方可以真正[进行]跨项目工作,而[不会]有任何其他事情与之冲突,就在项目团队大会上。它[极大]地减少了文档人员(例如)需要前往[参加]与项目团队成员[进行]面对面工作的地方的数量。它为垂直团队中的项目团队成员提供了一个选择,可以打破他们各自的[孤立],并加入这样的跨项目团队。它允许我们为特定的跨项目[倡议]分配单独的房间,[超越]现有的[水平]团队,以[完成]特定的跨项目工作。


问:在主要 Summit 上是否仍然需要开发者?

 

答:上游开发者在主要 Summit 上仍然[非常]需要。Summit 是(并且一直是)反馈循环发生的地方。所有项目团队都需要在那里[出席],以参与[规划],收集对其项目的反馈,参与跨社区讨论,接触新成员并入职新开发者。我们也非常希望开发者在 Summit 的会议部分发表演讲(我们实际上[期望]他们会有[更多]的空闲时间[来]发表演讲,并且 Summit 的技术内容[因此]会[得到]改进)。所以是的,开发者在主要 Summit 上仍然[非常]需要。


问:如果整个团队[不]每 3 个月见面一次,我的项目团队就会[分崩离析]。我们以前在 Design Summit 和我们单独的周期中项目团队会议上都是这样做的。我担心我们会失去每 3 个月[一起]聚会一次的能力。

 

答:如前所述,我们希望项目团队大会比当前的 Design Summit[更]高效,从而减少对周期中冲刺会议的需求。也就是说,如果您[确实]仍然需要组织一次单独的周期中冲刺会议,那么您[绝对]可以自由地这样做。我们计划在主要 Summit 活动中提供场地,以便您可以[在那里]举行周期中冲刺会议,并[利用]已经[聚集]的大量人员。如果您决定举办一次周期中冲刺会议,您应该[沟通]您的团队周期中会议将与 Summit[共同]地点举行,并且[强烈]鼓励团队成员参加。


问:我们是一个[小]团队。我们目前不做周期中会议。感觉[通过]您的[变更],我们每个周期需要[旅行]两次而不是一次。

 

答:您需要决定是否认为需要让团队[一起]聚集起来完成一些工作。如果您[是],您应该(作为一个团队)参加项目团队大会。如果您[不]是,您的团队应该 Skip。[PTL]和任何对您团队中的跨项目工作感兴趣的人[仍然]绝对应该参加项目团队大会,但您不需要让所有团队成员都[去],因为您在那里不会有团队房间。在所有情况下,您的项目都希望有[一些]开发者[出席] Summit,与社区[其他]成员互动。


问:我参与的项目[主要]由[单一]供应商驱动,我们[大多数]人[在]同一个办公室工作。我不确定[我们]所有人都[需要]去一个[远程]地点来[完成]一些工作!

 

答:您说得对,[不需要]。我们可能不会为单一供应商项目团队在项目团队大会上提供[特定]场地。PTL(以及任何其他[感兴趣]的人)[应该]仍然参加项目团队大会,以参与跨项目工作。而且您[也]绝对应该[参加] Summit,与其他组织和贡献者互动,并[增加]您的[联盟]多样性,以便您[能够]利用项目团队大会。


问:我是一名翻译,我应该去参加项目团队大会吗?

 

答:I18n 团队当然可以在项目团队大会上开会。然而,考虑到该团队的性质(成员众多、地理分散、来自我们社区、Ops、Devs、用户),利用 Summit 来聚集翻译人员可能更有意义。Summit 不断接触新的社区和国家,而项目团队大会可能会[专注于]主要的开发者领域。我们可能通过在“论坛”上举行 I18n 会议或研讨会来获得更好的外展效果。


问:很多人参加当前的 Design Summit 来一窥“幕后制作”,这可能[导致]他们参与其中。新的格式是否会危及这种入职?

 

答:确实,Design Summit 是向世界展示开放设计工作方式的重要组成部分。然而,这总是以牺牲现有项目团队成员的生产力为代价的。在 40 分钟的会议中,一半的时间将用于向新来者总结主题的历史。热烈的讨论会[被]后面的人打断,他们要求[与会者]使用麦克风。我们曾试图在 Design Summit 分离鱼缸和工作间,将讨论/反馈会议与团队成员工作会议分开。这[曾经]奏效过一段时间,但人们开始绕过它,导致一些工作间看起来像[拥挤]的鱼缸。最终,这会让所有[参与者]都体验[糟糕],并[产生]很多社区[紧张]。在新格式下,“论坛”会议仍将允许人们[观察]开放设计的运作,并且由于这些会议[专门]设置为[倾听]会议(而不是“完成工作”会议),我们将花时间[互动]和倾听。我们将腾出时间进行[特定]的入职和教育活动。一周内[更少]的日程冲突意味着我们不必[总]是奔向下一个会议,并且[很]可能[有]更多时间在走廊交流中接触他人。


问:Ops 周期中会议呢?

 

答:Ops 会议仍在进行,而且在未来一两年内很可能不会[有]太大变化。在 5 月份,成立了“Ops 会议团队”来回答关于会议未来的问题,并积极组织即将举行的会议。该团队的一部分定义是:“保持 ops 会议的精神”——会议由 ops 运行,为 ops 服务,并将继续如此。如果您有兴趣,请加入该团队,讨论会议的数量和地区位置,以及它们的内容。


问:Summit 的 ATC 通行证怎么样?

 

答:OpenStack 基金会为过去六个月有过贡献的上游贡献者(不是所有 ATC)提供折扣通行证,以便他们能更轻松地参加 Summit。我们可能会改变模式,因为我们将为第二个活动[提供]资金,但将[专注于]最小化需要同时参加 Summit 和项目团队大会的人员的成本。最初的建议是为项目团队大会收取[最低]费用(以更好地[估算]出席人数并[尽量]减少赞助商的出现),然后任何亲身参加项目团队大会的人将获得折扣代码参加下一个 Summit。也正在为用户委员会(例如 Ops)代表的贡献者考虑类似的事情。同时,我们可能会[加强]旅行支持计划,以便我们能够让所有需要的人参加[正确]的活动。

 

OpenStack 开发人员邮件列表摘要 5 月 7-13

SuccessBot 说

  • Pabelanger: bare-precise 已被 ubuntu-precise 取代。DIB 万岁
  • bknudson: Keystone CLI 终于消失了。Openstack CLI 万岁。
  • Jrichli: Swift 今日合并了一项已进行一年多的重大工作,这将[促进]新功能——例如加密
  • 全部

发布倒计时 R-20,5 月 16 日-20 日

  • 重点
    • 各团队应已将 Summit 会议摘要发布到 openstack-dev 邮件列表。
    • 规范编写
    • 审查优先功能
  • 通用说明
    • 发布公告邮件将标记为“new”而不是“release”。
    • 发布周期模型标签现在明确表示发布团队负责管理发布。
  • 发布操作
    • 发布联络人应将其姓名和联系方式添加到此列表 [1]
    • 新联络人应了解发布说明 [2]
    • 想要更改其发布模型的项目团队应在 R-18 的第一个里程碑之前进行。
  • 重要日期
    • Newton 1 里程碑:R-18 6 月 2 日
    • Newton 发布时间表 [3]

收集我们的 Wiki 用例

  • 起初,社区一直使用 wiki [4] 作为默认的社区信息发布平台。
  • 存在斗争
    • 保持信息更新。
    • 防止被篡改。
    • 旧流程。
    • 不再存在的项目。
  • 这些过时的信息会使使用过程变得混乱,尤其是对于搜索引擎会引用到的新用户。
  • 已经进行了各种努力,将信息从 wiki 推送到适当的文档指南,例如
    • 基础设施指南 [5]
    • 项目团队指南 [6]
  • 同行评审的参考网站
  • 有很多用例 wiki 是一个很好的解决方案,我们可能需要一个轻量级的发布平台(如 wiki)来涵盖这些用例。
  • 如果您将 wiki 作为 OpenStack 工作的一部分,请确保它已在此 etherpad 中记录 [9]
  • 完整线程

支持 Go(续)

  • 承接上一期 Dev Digest [10]
  • 在 Go 1.5 之前(没有 -buildmode=shared),它不支持共享库的概念。因此,当库升级时,发布团队必须为每一个反向依赖触发重新构建。
  • 在 Swift 使用 Go 的例子中,很难用 Python 编写一个网络服务,该服务在网络和块设备之间传输数据并有效利用所有可用硬件。
    • 通过 eventlet 使用协程并发 fork() 子进程效果很好,但管理许多核心和许多驱动器上的所有异步操作非常困难。Python 中没有有效的接口。我们正在讨论针对当前任务的有效工具。
    • Eventlet, asyncio 或其他任何单线程解决方案都会遇到同样的问题,即文件系统系统调用需要很长时间,并且调用线程可能会被阻塞。例如
      • 调用 select()/epoll() 以等待多个文件描述符的事件发生。
      • 对于每个就绪的文件描述符,如果文件描述符套接字可读,则读取它,否则内核返回 EWOULDBLOCK,然后移至下一个文件描述符。
  • Designate 团队解释了他们选择 Go 的原因
    • MiniDNS 是一个组件,由于其工作方式,很难进行重大改进。
    • 该组件会获取数据并在每次更新记录集时发送区域传输。这是一个完整的 (AXFR) 区域传输,其中区域中的每个记录都会发送到用户可以访问的每个 DNS 服务器。
      • 存在一个用于增量更改的 DNS 标准,但实现复杂,并且最终经常会回退到完整的区域传输。
    • Ns[1-6].example.com 可能是任何 IP 和负载均衡器后面的数十或数百台服务器。
    • 内部或外部区域可能相当大。考虑 200-300Mb。
    • 区域可能流量很高,其中记录会在每次启动/销毁时添加/删除。
    • Designate 团队很小,在考察了各种选项后,根据可用的开发人员小时数,决定采用不同的语言。
  • 查看 Designate 的实现,可以进行一些容易实现的改进
    • 停止为每个请求生成一个线程。
    • 停止为每个请求实例化 Oslo 配置对象。
    • 避免每次请求与数据库进行 3 次往返。大多数请求不是在 Python 中花费的。这些数据应该很容易缓存,因为 Designate 知道何时使缓存数据无效。
      • 在实际用例中,由于多个 MiniDNS 服务器的乱序,可能会发生缓存未命中。
  • Designate 团队在 2000 条记录的 AXFR(无缓存)上实现了 10 倍的改进。缓存也可能会加速 Go 实现。
  • Go 在多核方面历史性能较差 [11]
    • 该语言的主要优点可能是 CSP 模型。
    • Twisted 在这方面做得很好,但我们社区一致支持 eventlet。Eventlet 具有线程编程模型,这对于 Swift 的情况来说非常不合适。
    • 6 年前,PyPy 在 Twisted 的 DNS 组件的基准测试中比 CPython 实现了 40% 的性能提升 [12]
  • 现在我们的堆栈已经有 C、Python、Erlang、Java、Shell 等依赖项。
  • 最终用户根本不在乎 API 服务器是用什么语言编写的。他们想要稳定性、性能和功能。
  • Go 的基础设施相关问题(可靠构建、打包等)正在解决中 [13]
  • Swift 已测试在 PyPy 下运行,并得出了一些结论
    • 假设 PyPy 和 OpenStack 具有生产级稳定性,所有人都应该使用 PyPy 而不是 CPython。
      • 它就是更快。
      • 仍有一些与垃圾收集器相关的 Swift 用例问题需要解决。
      • 有一些补丁能够更好地处理 Swift 中的套接字,这些补丁在 PyPy 下运行效果更好。
    • PyPy 仅在 CPU 密集型环境中有所帮助。
    • Swift 中 GoLang 的目标与有效的线程管理系统调用和 IO 相关。
    • 观看 Austin 会议上的相关演讲 [14]
  • 完整线程

 

OpenStack 开发人员邮件列表摘要 4 月 23 – 5 月 6

Success Bot Says

  • Sdague: nova-network 已弃用 [1]
  • Ajaeger: Transifex 上的 OpenStack 内容已删除,translate.openstack.org 上的 Zanata 已被证明是所有翻译人员的稳定平台,因此不再需要 Transifex。
  • 全部

向后兼容性跟进

  • 近期客户端和库向后兼容性会议的协议
    • 客户端需要能够与所有版本的 OpenStack 通信。云。
    • Oslo 库已经需要做到向后兼容。
    • 我们部署的 1% 到 50% 之间存在一些就地升级,例如 Nova 已升级,而 Neutron 稍后升级。但现在 Neutron 必须与 Nova 升级后的库一起工作。
  • 我们是否应该支持就地升级?如果支持,我们需要至少 1 个或多个版本的兼容性,以便 Mitaka Nova 可以运行 Newton Oslo+客户端库。
    • 如果我们不支持就地升级,则必须设计部署方法,以避免在单个 Python 环境中升级客户端或 N 个服务中的一个。所有客户端和服务必须一起升级,要么全部升级,要么都不升级。
  • 如果我们决定支持就地升级,我们需要弄清楚如何有效地测试它;支持的稳定版本数量呈线性增长。
  • 如果我们决定不支持,我们不再需要 OpenStack 版本之间任何交叉兼容性。
  • 我们仍然必须在单个更改上实现向后兼容。
  • 完整线程

Newton 安装指南计划

  • 承接之前的 Dev Digest [2],大帐篷正在壮大,我们的文档团队希望各项目维护自己的安装文档。这应该在保持团队所追求的质量、有效的工作安装信息和一致性的同时进行。
  • 安装指南团队在峰会上举行了一个爆满的会议,并达成了一些坚定的 Newton 目标。
  • 两个正在讨论的问题
    • 如何处理现有的安装指南。
    • 创建一种方式,让项目在其自己的仓库中编写安装文档。
  • 所有指南都将从各个仓库渲染,并显示在 docs.openstack.org 上。
  • 文档团队为编写安装指南的项目提供建议
    • 构建在现有的安装指南架构之上,无需重复造轮子。
    • 遵循文档约定 [3]
    • 使用与安装指南相同的名为 openstackdocstheme 的主题。
    • 使用与安装指南相同的发行版。源代码安装是一个替代方案。
    • 指南应进行版本控制。
    • RST 是首选文档格式。RST 也易于翻译。
    • 通用命名方案:“X 服务安装指南”——其中 X 是您的服务名称。
  • 选定的 URL 格式为 docs.openstack.org/project-install-guide/RELEASE/SERVICE。
  • 有大量后续工作项 [4],欢迎志愿者!
  • 完整线程

Magnum 使命的拟议修订

  • 在峰会讨论中,对 Magnum 的使命陈述提出了修订 [5]
  • 目的是缩小 Magnum 的范围,让团队能够专注于使流行的容器编排引擎 (COE) 软件与 OpenStack 良好配合。允许用户设置由 Swarm、Kubernetes、Mesos 等 COE 管理的云容量集群。
  • 弃用 Magnum API 中的 /containers 资源。任何新项目都可以承担创建抽象一个或多个 COE 的 API 服务的任务。
  • 完整线程

支持 Go 编程语言

  • Swift 社区有一个名为 feature/hummingbird 的 git 分支,其中包含 Swift 的部分内容,用 Go 重写。[6]
  • 目标是在巴塞罗那峰会前准备好一个可合并的特性分支。峰会之后不久,计划将 Go 代码合并到 master 中。
  • 随后的技术委员会决议修正案将建议 Go 作为 OpenStack 项目支持的语言 [7]
  • 一些技术委员会成员表示希望看到技术优势能够抵消因添加该语言而产生的社区碎片化和基础设施任务增加。
  • 一些未解决的问题
    • 我们如何运行单元测试?
    • 我们如何提供代码覆盖率?
    • 我们如何管理依赖项?
    • 我们如何构建源代码包?
    • 我们是否应该以某种格式构建二进制包?
    • 如何管理树内文档?
    • 我们如何处理日志和消息字符串翻译?
    • DevStack 如何在网关作业中安装项目?
  • Designate 也正在考虑将单个组件迁移到 Go。
    • 最好有两个案例来帮助避免将任何项目特定的假设硬编码到测试和构建接口中。
  • 完整线程

发布倒计时 R-21,5 月 9 日-13 日

  • 重点
    • 各团队应专注于完成 Mitaka 周期结束时遗留的未完成工作。
    • 宣布 Summit 的计划。
    • 完成规范和蓝图。
  • 常规说明
    • 想要更改其发布模型标签的项目团队应在 Newton-1 里程碑之前进行。这可以通过向 projects.yaml 文件中的 governance 仓库提交补丁来完成。
    • 提议将发布公告邮件的标签从“release”更改为“newrel” [8]
  • 发布操作
    • 发布联络人应将其姓名和联系信息添加到此列表 [9]
    • 发布联络人应将其 IRC 客户端加入 #openstack-release。
  • 重要日期
    • Newton 1 里程碑:R-18 6 月 2 日
    • Newton 发布时间表 [10]
  • 完整线程

讨论 Trove 中的镜像构建

  • Trove 团队经常从新用户那里收到的一个常见问题是,如何以及从哪里获取 guest 镜像来尝试 Trove。
    • 今天,文档已分散在多个地方 [11][12],但仍有改进空间。
  • Trove 有一个用于使用 libguestfs 方法构建镜像的规范提案 [13],而不是使用当前的 diskimage-builder (DIB)。
    • 所有替代方案都应该是等效的且可互换的。
    • Trove 已经为所有受支持的数据库准备了基于 DIB 的元素,但这些元素并未打包供客户使用。这样做只需要提供一个从固定位置安装 guest 代理软件的元素。
    • 我们应该了解切换工具链的 DIB 的任何不足之处。这可以基于 Trove 和 Sahara 的经验。
  • OpenStack Infrastructure 团队已经成功使用 DIB 了一段时间,因为它是一个灵活的工具。
    • 默认情况下,Nova 会禁用文件注入 [14]
    • DevStack 不允许您启用 Nova 文件注入,并将其硬设置为关闭 [15]
    • 允许使用 yum 或 debootstrap 进行引导
    • 为现有镜像选择文件系统。
  • 让我们修复 DIB 的问题,Trove 正在遇到这些问题,并避免重复造轮子。
  • DIB 的问题是什么,它们如何阻止 Trove/Sahara 用户今天构建镜像?
    • Libguestfs 在 libguestfs 创建的辅助 VM 中以可预测的方式操作镜像。
      • 为了提供速度/较低的资源使用,DIB 会放弃隔离。
    • 可以发生就地镜像操作(包安装、配置声明),而无需解压缩或重新压缩整个镜像。
      • 创建修改现有镜像并就地进行 DIB 元素非常简单。
    • DIB 脚本的配置设置可以通过自由形式的环境变量传递,这对于新用户来说很难理解和记录。Libguestfs 需要更正式的参数传递。
    • “给我一个镜像。我不在乎调整旋钮”的便利性。
      • OpenStack Infra 团队已经有一个包装器 [16]
  • Sahara 支持几种与镜像生成相关的案例
    • 在 Nova 中预先生成集群镜像。
    • 在 Nova 启动后从“干净”的操作系统镜像构建集群。
    • Nova 启动后验证镜像。
  • 在 Sahara Summit 会议上,讨论了使用 libguestfs 而不是 DIB 的计划,目的是定义一个线性、幂等的步骤来打包每个插件的镜像。
  • 维护两套镜像构建代码将是一个巨大的劣势。
  • 是什么阻止我们在未来几发行决定 libguestfs 性能不佳,我们决定使用新工具?由于 DIB 是 OpenStack 项目,Trove 应该考虑支持标准的镜像构建方式。
  • Trove Summit 的讨论结果是同意通过使构建 guest 镜像更容易来推进镜像构建器,利用 DIB。
  • 完整线程

 

OpenStack 开发人员邮件列表摘要 4 月 9-22

Success Bot Says

  • Clarkb: infra 团队已将 Gerrit 重新部署到新的更大服务器上。应能减少 500 错误。
  • danpb: 哇哦,终于使用 nova + os-vif + openvswitch + privsep 启动了真正的 VM。
  • neiljerram: Neutron 路由网络规范今天已合并;Carl + 所有其他贡献者辛苦了!
  • Sigmavirus24: Hacking 0.11.0 是一年多以来该项目的首次发布。
  • Stevemar: dtroyer 发布了 openstackclient 2.4.0 – 现在支持更多网络命令 \o/
  • odyssey4me: OpenStack-Ansible Mitaka 13.0.1 已发布!
  • 全部

一个平台 – 容器/裸金属?

  • 从非官方董事会会议 [1],一个感兴趣的话题是如何在与虚拟机共同的 API 下真正支持容器和裸金属。
  • 当出现“但云应该……”的论调时,我们想强调 OpenStack 通过能够提供虚拟机和裸金属这两种不同资源来获得优势。
  • 关于“支持容器”的讨论有所不同,而不是 Nova 提供它们。
    • 而是与社区合作,使 OpenStack 成为运行 Kubernetes 和 Docker swarm 等的最佳场所。
  • 我们希望支持裸金属和容器,但支持方式因[两者]而异
  • 过去,曾考虑过为 Magnum 提供一个通用的计算 API,但人们认识到该 API 将导致所有计算类型的最低公分母,以及一个极其复杂的接口。
    • Trove 等项目希望提供这些计算选择而不增加项目自身的复杂性,可以利用 Nova 的解决方案来部署虚拟机、裸金属和容器(libvirt-lxc)。
  • Magnum 将在 Summit 会议 [2] 上讨论构建 Kubernetes、Docker swarm 和 Mesos 的通用抽象层是否有意义。
  • 有人认为原生 API 和 LCD API 可以共存。
    • Trove 是一个不需要原生 API 所提供的一切的服务的例子。
    • 将工作负载从 VM 迁移到容器。
    • 支持应用程序的混合部署(VM 和容器)。
    • 将容器(在 Magnum bays 中)引入 Heat 模板,并启用容器与其他 OpenStack 资源之间的连接
    • 支持 Horizon 的容器
    • 将容器指标发送到 Ceilometer
    • 跨容器解决方案的便携式体验。
    • 有些人只想要一个容器,而不想要其他组件(COE、bays、baymodels 等)的复杂性。
  • 完整线程

Delimiter,配额管理库提案

  • 此时,存在大量反对开发一个管理所有服务配额的服务的意见。我们将讨论开发一个供服务用于管理自身配额的库。
  • 您不需要可序列化的隔离级别。只需使用带重试的比较和更新策略。这将阻止多个写入者过度分配任何具有隔离级别的资源。
    • inventories 表中的“generation”字段允许多个写入者确保数据的一致视图,而无需依赖关系数据库管理系统中的重锁定语义。
  • 预订不属于配额库。
    • 预订是[声明]资源的[概念]。
    • 配额检查返回系统*当前*是否可以处理*当前*的请求以声明一组资源。
  • Delimiter 库的关键方面
    • 这是一个库,而不是服务。
    • 限制资源消耗。
    • 不负责速率限制。
    • 不维护资源数据。项目将负责保留/维护资源和资源消耗的数据。
    • 不包含预订的概念。
    • 将从各自的项目获取项目配额。
    • 将考虑项目是扁平的还是嵌套的。
  • Delimiter 将依赖 generation-id 的概念来保证排序。Generation-id 提供项目资源使用情况的时间点视图。使用 delimiter 的项目在检查或消耗配额时需要提供此信息。目前 Nova [3] 具有 generation-id 的概念。
  • 完整线程

Newton 发布管理沟通

  • 担任 PTL 和联络人职位的志愿者负责确保项目团队之间的沟通顺畅。
  • 电子邮件,用于公告和异步通信。
    • 发布团队将在 openstack-dev 邮件列表上使用“[release]”主题标签。
    • Doug Hellmann 将发送倒计时邮件,每周更新
      • 焦点
      • 任务
      • 重要的即将到来的日期
    • 相应地配置您的邮件客户端,以便这些消息可见。
  • IRC,用于时间敏感的交互。
    • 您应该有一个 IRC bouncer 设置,并在 freenode 上的 #openstack-release 频道中可用。在截止日期(每个截止日期前一周)期间,您绝对应该在那里。
  • 书面文档,用于相对稳定的信息。
    • 发布团队已发布 Newton 周期的日程表 [4]。
    • 如果您的项目有独特之处要添加到发布时间表中,请向 openstack/release 仓库提交补丁。
  • 请确保您项目的发布联络人有时间并有能力处理管理您发布所需的沟通。
  • 我们的发布里程碑和截止日期是基于日期的,而不是基于功能的。当日期过去,里程碑也随之过去。如果您错过了,那就错过了。Mitaka 期间有几个项目由于沟通不畅而遇到了问题。
  • 完整线程

OpenStack 客户端缓慢

  • 在对 nova help 命令进行性能分析时,注意到 pkg_resource 模块及其对 pyparsing 的使用花费了大量时间。我们能否避免启动新 Python 解释器的启动惩罚,因为我们运行每个命令?
    • 在跟踪 Devstack 时,发现 openstack 和 neutron 命令运行了 140 次。如果每个命令都有 1.5 秒的开销,我们可能可以为 Devstack 执行时间节省 3 分半钟。
    • 作为概念验证,Daniel Berrange 创建了一个 openstack-server 命令,该命令监听 Unix 套接字以接收请求,然后调用 OpenStackShell.run 或 OpenStackComputeShell.main 或 NeutronShell.run。nova、neutron 和 openstack 命令将调用此 openstack-server 命令。
    • Devstack 的结果(无此调整)
      • 实际 21m34.050s
      • 用户 7m8.649s
      • 系统 1m57.865s
    • Destack 的结果(有此调整)
      • 实际 17m47.059s
      • 用户 3m51.087s
      • 系统 1m42.428s
  • Dean Troyer 对那些有兴趣进一步研究的人的一些说明
    • OpenStack Client 直到真正需要进行 REST 调用时才调用任何项目客户端。
    • 帮助命令的计时包括对所有入口点的完整扫描,以生成命令列表。
    • –time 选项列出了所有正确通过我们的 TimingSession 对象调用的 REST 调用。除非某个库不使用它提供的会话,否则它们都应该包括在内。
    • 交互模式在不实际运行命令的情况下,可以用于计时仅设置/拆卸过程。
  • 完整线程

需要关于 Summit 全球要求讨论的输入

  • 大帐篷项目的共安装性是巨大的能量消耗。服务隔离(使用容器、虚拟环境或不同主机)可以避免解决这个问题。
  • 今天的all-in-one安装支持得益于使用Devstack的开发环境。
  • 就像在向后兼容库和客户端的讨论一样,OpenStack 服务在同一主机上共存可能会共享相同的依赖项。今天,我们不能保证如果将 Nova 升级到 Newton 并升级了与 Cinder 服务(Mitaka)共享的客户端/库,事情就能正常工作。
  • 使用虚拟环境的 Devstack 几乎已经准备就绪。由于操作员的反馈,这被停止了。
  • 传统发行版依赖于社区注意跨服务的共享依赖版本,以便可以使用 apt/yum 工具轻松安装 OpenStack。
    • 根据 2016 年 OpenStack 用户调查,56% 的部署正在使用“来自操作系统的未修改包”。[4]
  • 其他发行版开始支持基于容器的软件包,一次只有一个版本的库将消失。
    • 无论如何,全球要求的好处 [5] 将为我们提供一种鼓励依赖项收敛的机制。
      • 限制了操作 OpenStack 所需的知识。
      • 方便贡献者在不同代码库之间切换。
      • 许可证检查的检查点。
      • 通过限制我们依赖的代码来减少整体安全风险。
    • 一些人认为这是退回到没有可靠的包管理的日子。容器可能滞后/缺少关键安全补丁,例如。
  • 完整线程

 

 

OpenStack 开发人员邮件列表摘要 4 月 2-8

SuccessBot 说

  • Ttx:设计峰会的占位符会议已推迟到奥斯汀官方日程。
  • Pabelanger:我们启动了第一个带有节点池的 Ubuntu-Xenial 作业!
  • Mriedem:Flavors 现已加入 Nova API 数据库。
  • sridhar_ram:Tacker 0.3.0 for Mitaka 的第一个官方版本已发布!
  • Dhellmann:我们已宣布 Mitaka 发布,祝贺大家!
  • Tristanc:Newton 已选出 54 名 PTL 和 7 名 TC 成员。
  • Ajaeger:docs.openstack.org 已为 Mitaka 做好准备 — 包括新手册和发布说明链接。
  • 通过 IRC 发送消息“#success [插入成功案例]”告诉我们你的成功案例。
  • 全部

Mitaka 版本已发布!

  • 大家做得太棒了!
  • 阅读我们第 13 版的更多信息! [1]
  • 查看项目的发布说明,了解新功能、错误修复和升级说明。 [2]

最近接受的 API-WG 指南

  • API 微版本版本发现指南 [3]
  • API 微版本客户端交互指南 [4]
  • API 微版本版本控制指南 [5]
  • 意外属性指南 [6]
  • 完整线程

技术委员会选举结果

  • Davanum Srinivas (dims)
  • Flavio Percoco (flaper87)
  • John Garbutt (johnthetubaguy)
  • Matthew Treinish (mtreinish)
  • Mike Perez (thingee)
  • Morgan Fainberg (morgan)/(notmorgan)
  • Thierry Carrez (ttx)
  • 完整结果 [7]
  • 完整线程

跨项目会议日程

  • 日程已发布 [8]
  • 如果您对某个会议感兴趣,但因冲突无法参加,请考虑在 OpenStack 开发者邮件列表中提早展开讨论。
  • 完整线程

OpenStack 开发人员邮件列表摘要 3 月 26 日 – 4 月 1 日

SuccessBot 说

  • Tonyb:Dims 修复了 Routes 2.3 API 中断的问题  🙂
  • pabelanger:从 devstack-trusty 到 ubuntu-trusty 的迁移已完成!
  • 通过 IRC 发送消息“#success [插入成功案例]”告诉我们你的成功案例。
  • 全部

技术委员会选举投票现已开始

  • 我们正在选举 7 名 TC 成员。
  • 已确认候选人 [1]
  • 如果您是基金会个人会员 [2] 并且在 Liberty 和 Mitaka 开发期间为官方项目 [3] 做出过贡献,您就有资格投票。
  • 重要日期
    • 选举开始:2015-04-01 00:00 UTC
    • 选举结束:2015-04-07 23:59 UTC
  • 关于选举的更多细节 [4]
  • 完整线程

官方项目的发布流程变更

  • 发布团队致力于自动化标记和文档记录 [5],重点关注带有 release:managed 标签的项目。
  • 第二阶段是扩展到所有项目。
  • 发布团队将更新项目的 gerrit ACL,以确保它们能够处理发布和分支。
  • 所有官方团队都可以使用发布存储库请求新发布,而不是先标记发布再记录到发布存储库。
  • 如果您不熟悉发布流程,请查看 openstack/releases 存储库中的 README 文件 [6]
  • 完整线程

Mitaka 中的服务目录 TNG 工作……后续步骤

  • Mitaka 包括了事实调查
  • 公共 / 管理员 / 内部 URL
    • 内部 URL 的概念在许多部署中都有使用,因为人们认为这表示数据传输没有变化。
    • 一些部署将它们全部设置为相同,并使用网络来确保内部连接命中内部接口。
    • 后续步骤
      • 我们需要根据目前已有的信息构建一套用户故事。
  • project_id 在 projects 中是可选的 — 进展良好
    • project_id 被硬编码到许多项目中,没有有用的原因。
    • Nova 在微版本 2.18 中演示了移除这一点。
    • 一个补丁 [7] 已用于 devstack 以启用此功能。
    • 后续步骤
      • 让其他项目从其 URL 中移除 project_id。
  • 服务类型权威
    • 我们同意需要一个地方来认可服务类型 [8]
    • 甚至对于大多数服务,我们也无法满足服务可能存在单一 URL 来描述 API 的假设。
    • 这次推动导致 [9] 部分工作转移到 API 参考的 RST 工作。
    • 后续步骤
      • 完成 API 文档转换工作。
      • 审查 service-types-authority 存储库的补丁 [10]
  • 服务目录 TNG 架构
    • 我们有一些早期工作,基于已知信息建立了一个架构,并留下一些空白以应对未知的未知,直到我们确定了其中的一些(类型/允许的 URL)。
    • 后续步骤
      • 审查当前架构。
  • 每周会议
    • 在发布前的繁忙时期,团队一直在 #openstack-meeting-cp 频道每周开会,直到人们忙不过来。
    • 会议目前将暂停,直到奥斯汀峰会之后,并在回来工作一周后恢复。
  • 完整线程

哦,Swagger,你在哪里?

  • 此前已沟通从 WADL 迁移到 Swagger 以获取 API 参考信息。
  • 已发现 Swagger 与我们当前的所有 API 设计都不匹配。
  • 有一个计算服务器参考文档补丁 [11] 使用 Sphinx 和 RST 来几乎复制 API 参考页面。
    • Nova-API 团队、API 工作组和其他人都同意继续推进。
  • 我们仍然可以为一些非常符合规范的项目找到 Swagger 的用途。
  • 例如,Swagger 不支持
    • 显示微版本之间的变化
    • 具有 /actions 资源的项目的请求体可能不同。
  • 一个新计划即将出台,但目前 API 参考和 WADL 文件仍将保留在 api-site 存储库中。
  • 将在上游贡献者轨道中就 Swagger 作为标准进行一次规范和演示 [12]
  • 完整线程

跨项目峰会会议提案截止

Mitaka 发布周的最终计划

  • 我们即将迎来 Mitaka 发布周的最后一周。
  • 重要日期
    • 3 月 31 日是遵循里程碑发布模型的项目申请发布候选版的最后一天。
    • 4 月 1 日是遵循中间发布模型的服务项目申请完整发布的最后一天。
    • 4 月 7 日,发布团队将标记每个里程碑的最新发布候选版。
    • 发布团队将默认拒绝或推迟新库发布和新服务发布候选版的请求。
    • 只有发布后无法修复的真正关键错误修复将由发布团队确定。
  • 完整线程

[1] – https://wiki.openstack.org/wiki/TC_Elections_April_2016#Confirmed_Candidates

[2] – https://openstack.org/community/members/

[3] – http://git.openstack.org/cgit/openstack/governance/tree/reference/projects.yaml

[4] – https://wiki.openstack.org/wiki/TC_Elections_April_2016

[5] – https://specs.openstack.org/openstack-infra/infra-specs/specs/centralize-release-tagging.html

[6] – http://git.openstack.org/cgit/openstack/releases/tree/README.rst

[7] – https://review.openstack.org/#/c/233079/

[8] – http://lists.openstack.org/pipermail/openstack-dev/2016-February/thread.html#85748

[9] – http://lists.openstack.org/pipermail/openstack-dev/2016-March/090659.html

[10] – https://review.openstack.org/#/q/project:openstack/service-types-authority

[11] – https://review.openstack.org/#/c/292420

[12] – https://openstack.org/summit/austin-2016/summit-schedule/events/7723

[13] – https://etherpad.openstack.org/p/newton-cross-project-sessions

OpenStack 开发人员邮件列表摘要 3 月 19-25 日

SuccessBot 说

  • redrobot:Barbican API 指南现已发布。 [1]
  • jroll:ironic 5.1.0 已发布,作为 stable/mitaka 的基础。
  • ttx:所有里程碑驱动项目都有了 RC1。
  • zara:storyboard.openstack.org 现在发送电子邮件了!
  • noggin143:我的第一个 Bay 在 CERN 生产云上使用 Magnum 运行。
  • sdague:Grenade 已从 stable/liberty 升级到 stable/mitaka,并且 stable/mitaka 升级到了 master。
  • 通过 IRC 发送消息“#success [插入成功案例]”告诉我们你的成功案例。
  • 全部

PTL 选举结果

  • 结果已出,祝贺大家! [2]
  • TC 为无领导项目任命的 PTL [3]
    • EC-API:Alex Andrelevine
    • 稳定分支维护:Tony Breeds
    • Winstackers:Claudiu Belu
  • 完整线程

技术委员会职位候选人提案现已开放

  • 重要日期
    • 提名开始:2016-03-25 00:00 UTC
    • 提名结束:2016-03-31 23:59 UTC
    • 选举开始:2015-04-01 00:00 UTC
    • 选举结束:2015-04-07 23:59 UTC
  • 关于选举的更多细节 [4]
  • 完整线程

发布倒计时(R-1 周,3 月 27 日 - 4 月 1 日)

  • 重点
    • 遵循里程碑周期的项目团队应测试其发布候选版。
    • 遵循中间周期的项目团队应至少有一个 Mitaka 版本,并确定在 Mitaka 周期结束前是否需要发布。
    • 所有项目都应致力于修复发布关键错误。
  • 常规说明
    • 全局需求列表仍然冻结。
    • 如果您需要更改依赖项以修复发布关键错误,请在变更请求中提供足够详细的信息。
    • 所有遵循里程碑周期的项目的 master 分支已开放 Newton 开发工作。
  • 发布操作
    • 遵循中间周期的项目,但尚未明确其最终发布版本
      • bifrost
      • magnum
      • python-searchlightclient
      • senlin-dashboard
      • solum-infra-guestagent
      • os-win
      • cloudkitty
      • tacker
    • 这些项目应尽快联系发布团队或向发布存储库提交发布请求。最晚请于周三或周四提交请求。
      • 3 月 31 日之后,功能发布将计入 Newton 周期。
    • 发布团队在 R1 和峰会之间的可用性将因差旅而减少。请使用 dev 邮件列表联系团队,并在主题中包含“[release]”。
  • 完整线程

机器人及其影响:Gerrit、IRC 等

  • 机器人对于执行重复性任务非常有用。
  • 它们需要执行特定操作的权限,需要维护以确保它们按预期运行,并且会产生输出,有些人觉得是音乐,有些人觉得是噪音。
  • 从一次基础设施会议 [5] 中,到目前为止已提出以下问题:
    • 权限:在 Gerrit 上拥有 +2 +A 权限的机器人是我们希望避免的。
    • 共享多个团队频道的“未经授权”机器人(非 infra 配置文件中的机器人)(会议频道、-dev 频道)。
    • 形成对机器人的依赖,并期望基础设施事后维护它们(例如:机器人 Soren 由 Soren 维护,直到 Soren 不再维护)。
    • 由于回声机器人(echoing bot)的存在而引起他人的烦恼,基础设施最终会被要求或期望进行调解。
    • 功能重复,meetbot 和 purplebot 都记录频道并在不同位置托管存档。
    • Canonical 机器人未得到维护。
  • 基础设施目前维护的机器人可能具有人们不知道的功能。
  • 批准 +2 审查的机器人可能会带来问题,需要考虑时间表、中断、网关问题等。
  • 例如,Success bot 是一个利用已存在的 status bot 的附加功能。
  • 人们为什么会编写自己的机器人,而不是在适用的情况下为现有基础设施机器人做贡献?
  • 完整线程

发布后 Master 分支的语义版本

  • 发布团队假设人们在安装东西时会选择三种选项之一:
    • 来自任何分支的已标记版本。
      • 清晰,并且总是产生可重现的部署,版本独立且随时间递增。
    • 稳定分支上的未标记版本。
    • master 分支上的未标记版本。
      • 选项 2 和 3 是与发布周期边界相关的内容。
      • 在短时间内在不同分支上生成相同的版本号。
      • 发布团队认为,人们不太可能混合使用选项 2 和 3,因为这将使升级变得困难。
  • 一些发行版希望打包未被贡献者标记为可发布的软件。
    • 消费者
      • 他们正处于开发周期中,希望/需要整个周期都跟上主线。
      • 一个周期中会引入许多变化,包括新功能、弃用、移除、不兼容等。通过提供这些不断更新的软件包,他们能够立即进行测试。
    • 打包工作量很大,发行版希望快速完成。
      • 如果发行版只在官方稳定版本发布后才开始打包 OpenStack,那么发行版将需要数周/数月才能推出稳定的软件包。
      • 使用软件包进行部署的项目(例如 TripleO、Packstack、Kolla、Puppet-OpenStack)的发布就会因此延迟,无法及时测试它们使用的软件包。
  • 完整线程

我们的安装指南只涵盖 Defcore — Big Tent 呢?

  • 直到最近,像 Manila [6] 和 Magnum 这样的项目才被接受到安装指南中,但我们一开始就遇到了问题,因为它们没有被 Defcore 工作组考虑。
    • 随着 Big Tent 项目的扩展,文档团队收到要求将他们的安装文档纳入其中的请求。
    • 文档团队今天维护和验证每个版本的安装文档,对于已经接受的 OpenStack 项目来说,这可能是一项艰巨的任务。
  • 目标
    • 使 Big Tent 中项目的安装指南易于贡献。
    • 避免文档团队维护所有项目的安装文档。
    • 作为操作员,我应该能够轻松地发现 Big Tent 中项目的安装文档。
    • 通过易于访问的安装文档,项目有望实现
      • 改进采用
      • 通过实际能够安装和测试项目的用户报告,获得更稳定的工作。
  • 提议:安装文档可以存放在项目的存储库中,以便它们维护和更新。
    • 将所有这些文档源渲染到一个位置,以便于发现。
  • 完整线程

技术委员会亮点 2016 年 3 月 21 日

好久不见!

Poppy 和我们的 Open Core 讨论

Poppy 团队申请将该项目纳入 OpenStack 治理。Poppy,对于不熟悉的各位,它提供 CDN 即服务。它是一个配置服务 — 就像 OpenStack 中的其他项目,如 Nova — 但针对 CDN。总体提案似乎都没问题,只有一个例外:没有开源的 CDN 解决方案。这意味着 Poppy 基于其他商业服务配置 CDN,并且要求 Poppy 的使用者拥有其中一个 CDN 服务的帐户才能使用它。这从 OpenStack 的角度来看会带来几个问题。其中一个问题是之前提到的,即使用 Poppy 要求云依赖于其他 CDN。另一个问题是,由于没有开源解决方案,OpenStack 的网关无法很好地测试该服务。OpenStack 的基础设施团队不会订阅任何这些 CDN 服务来测试 Poppy,Poppy 团队也不会。

就此话题进行了不少讨论,TC 投票决定“开放核心”问题是否足够关键,可以允许或拒绝 Poppy 加入 Big Tent。在审查中,对于 Poppy 是否是开放核心以及是否应允许其加入 OpenStack 的 Big Tent,尽管缺乏开源 CDN 解决方案,但存在不同的观点。最终 TC 以 7-6 的微弱票数决定否决 Poppy 的提案。

使命宣言,第二版

正如 Russell Bryant 在 这个基金会邮件列表线程 中很好地说明的,OpenStack 的使命宣言在项目生命周期中一直保持得很好。关于更新的讨论开始,以确保我们纳入一些关键主题作为我们不断增长的社区的重点领域:互操作性和最终用户需求。OpenStack 技术委员会创建了一个使命宣言的迭代版本,董事会也在讨论。请查看 修订版,以便我们的修改能够获得社区的认同。

新项目

OpenStack Big Tent 欢迎以下官方项目团队:

  • Dragonflow,一个 Neutron 的分布式控制平面实现,它通过 OpenStack Networking API 实现高级网络服务。
  • Kuryr,一个连接容器框架网络模型和 OpenStack 网络抽象的桥梁。
  • Tacker,一个提供网络功能虚拟化 (NFV) 编排服务和库的生命周期管理工具。
  • EC2API,提供一个兼容 EC2 的 API 来访问 OpenStack 功能。

新标签:stable:follows-policy

这个新标签允许指示哪些可交付成果遵循稳定策略。迄今为止使用的现有 `release:has-stable-branches` 标签只描述了可交付成果是否有一个名为“stable/something”的分支,因此未能正确表明稳定策略正在被遵循。新标签旨在涵盖这一领域,并应最终完全取代现有标签。您可以在 标签参考页面 上阅读有关此标签的更多信息。

 

这篇博文由 Flavio Percoco 和 Thierry Carrez 共同撰写。