有效贡献 OpenStack 的 Neutron 项目

目前还没有读者喜欢这篇文章。
A brain design in a head

Opensource.com

今年早些时候,Kyle Mestery 在他的 博客上发表了一篇文章,概述了关于为 Neutron 项目做贡献的一些常见误解,以及如何有效地向上游贡献代码。Kyle 是 HP 开源网络部门的高级总监和首席技术专家,负责开源计划的技术愿景、战略和开发。他还致力于 OpenStack、OpenDaylight 和 Open vSwitch 项目。他还是 OpenStack Neutron 项目的项目技术负责人 (PTL), Neutron 项目是 OpenStack 的网络组件,负责处理在虚拟环境中连接机器的复杂任务。

通过本次访谈,详细了解 Kyle 及其在今年巴黎 OpenStack 峰会演讲之前的工作。

您从您的文章中获得了哪些反响?自从您接任 Neutron PTL(项目团队负责人)以来,您还学到了什么?

在 Neutron 中,我们有一个有趣的参与者二分法。我们非常以供应商为中心,这意味着我们有很多具有潜在竞争利益的人。我今年早些时候撰写博客文章的目的是教育 Neutron 社区以及更广泛的开源社区中的新参与者,让他们了解如何成功地进行开源贡献。我收到了许多人的积极反馈,并进行了一些非常有意义的对话。我们即将开始 Kilo 开发周期,所以我希望我能够对所有为 Neutron 以及任何其他开源项目做出贡献的人产生积极的影响。

自从我成为 Neutron PTL 以来,我学到的主要一课是,运营一个大型开源项目不仅需要工程技能,还需要项目管理技能和人员管理技能。试图让像 Neutron 这样的大船朝着正确的方向前进是一项全职工作。我非常荣幸能够当选担任这份工作,我与我们所有的社区成员努力工作,以确保他们取得成功。最终,一个项目的定义不仅在于所产生的代码,还在于在生成代码时建立的人员和关系。拥有一个健康的社区是推动项目长期健康发展的因素。当您思考这些事情时,它们都是显而易见的,但是当领导一个开源项目时,这些会成为您与所做一切互动方式的核心原则。


查看完整的 OpenStack Kilo 峰会演讲者访谈系列

我学到的另一课是,改变可能是好的。在 OpenStack 中,我们不断地发展项目,无论是在技术决策方面,还是在治理方面。我们通过对项目和治理进行细微的调整,尝试一些事情,然后评估其效果,保留效果良好的部分,放弃效果不佳的部分。最终的结果是一个非常动态的项目,它始终朝着积极的方向发展,并根据需要进行更改。

我学到的最后一课,虽然肯定很重要,但在像 OpenStack 这样的项目中,用户输入是我们开发周期的关键部分。OpenStack 项目在收集用户输入和确保用户参与开发周期的所有阶段方面做得越来越出色。在 Neutron 中,我们在 Juno 和 Kilo 期间都进行了更改,以确保我们尽可能早地捕获尽可能多的用户需求。在 Juno 中,我们转向使用 neutron-specs 存储库,该存储库在模板规范中清楚地概述了用户需求。在 Kilo 中,我们更新了 neutron-spec,以便更清楚地将用户需求放在顶部。这样做是为了提醒任何提交规范的人在开始时清楚地捕获这些用户需求。问问自己某人将如何使用它,或者这种更改将如何影响当前用户,这有助于确保积极的用户体验。

在最近的 Juno 版本中,您有什么特别兴奋的事情吗?

Neutron 团队在 Juno 中努力工作,以完成与 nova-network 的对等。其中一个重要的部分是我们所做的更改,以实现分布式虚拟路由器 (DVR) 功能。这项工作使我们能够将 L3 路由和目标网络地址转换 (DNAT) 功能分发到每个计算主机。这消除了为此功能使用单独的 L3 网络节点的需求。源网络地址转换 (SNAT) 仍然在中央网络节点上完成,但为了减轻单点故障,我们还实现了 L3 HA 功能。当使用 DVR 时,这允许 SNAT 具有冗余,或者对于不想使用 DVR 的人来说,他们可以获得所有路由、DNAT 和 SNAT 功能的冗余。

除了 OpenStack 之外,您最喜欢的开源云项目是什么?

除了 OpenStack 之外,我还有两个最喜欢的开源云项目:OpenDaylight 和 Open vSwitch。OpenDaylight 是由 Linux 基金会管理的旨在构建社区驱动的软件定义网络 (SDN) 控制器的项目。自 2013 年初构思以来,我就一直参与该项目。实际上,我也是 OpenDaylight 大使,这意味着我在技术会议上介绍 OpenDaylight,最常见的是如何将其与 OpenStack Neutron 一起使用。我喜欢工作的第二个项目是 Open vSwitch。Open vSwitch 是大多数基于 Linux 的云部署的核心,作为虚拟交换元素。我在 Open vSwitch 工作了大约 3 年。在所有三个项目中工作使我对所有这些在架构级别上的工作方式有了端到端的了解,这非常有帮助。此外,每个社区都很棒,可以一起工作。我非常幸运能够为每个项目的发布做出贡献,并在每个社区结交了伟大的朋友。

您能否向外行描述 OpenStack 和 OpenDaylight 的交叉点,以便更好地理解云和控制器之间的关系?

一种思考它们各自工作方式的方法是查看它们提供的内容。 Neutron 本身具有内置的参考实现,该实现利用代理和 RPC 调用来处理编程虚拟和物理交换机。构建 OpenDaylight 的目的是使其可以使用许多不同的南向协议(OpenFlow、NETCONF、SNMP 等)来执行相同的操作。 Neutron 团队一直在努力稳定和扩展树内参考实现,并且我们在这方面做得非常出色。 OpenDaylight 团队一直在对其 Neutron API 的实现做同样的事情。当两者协同工作时,最终 Neutron 成为 API 和数据库层,以及与诸如 nova(用于 VIF 插件)和 keystone(用于身份验证)之类的东西的挂钩。 OpenDaylight 现在负责将 API 请求解释为每个虚拟和物理节点上的可编程逻辑。现在可以独立于 Neutron 扩展 OpenDaylight。两者协同工作以满足租户的虚拟网络需求。

像 OpenStack 这样的开源项目如何改善可能被视为竞争对手的公司之间的关系?

这与我写的博客文章有关,但这归结为这样一个事实,即如果您想获得成功,就必须愿意妥协。这里的妥协意味着允许其他人塑造您的创造和想法。这意味着允许竞争对手投资于您的想法。作为一个完整的解决方案提出的伟大想法注定会作为一个开源项目而失败。作为一个需要合作者,并真诚地希望聚集合作者的想法提出的伟大想法将会成功。一旦您放开您的想法并让它自行发展,它就会更快地生根发芽。这是一个许多人没有掌握并为之奋斗的关键建议。

查看完整的 OpenStack Kilo 峰会演讲者访谈系列。

标签
User profile image.
Jen 领导红帽数字社区团队的社区经理团队。她与丈夫和女儿 June 和 Jewel 一起住在罗利。

1 条评论

感谢您的文章和建议。

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.