“大帐篷”模式是如何改变OpenStack的?
译者的话:
对于OpenStack社区的开发者而言,Liberty版本的发布周期经历了开发模式的重要转变。在全新的、被称为“大帐篷”(Big Tent)的Upstream模式中,OpenStack社区既保持了对规模较小的核心项目的关注,也积极鼓励在更广泛的Upstream生态环境中的自由创新。“大帐篷”正在改变OpenStack,开发者们需要以更加自由且专注、更具未来视野且聚焦的心态和决心迎接新的挑战。
由于“云”对于不同的人来说意味着不同的东西,而OpenStack正尝试着涵盖所有的这些领域。由于存在许多标准,因此基于不同标准的每个 OpenStack部署之间看起来有着很大的区别。已经在OpenStack 社区中推行了一段时间的“大帐篷”(Big Tent)模式正致力于为OpenStack的广大用户提供让他们均能感到满意的答案。
大帐篷与核心服务的关系
在东京OpenStack Summit的一次访谈中,两个最有资格谈论OpenStack大帐篷模式的人深入介绍了“大帐篷”模式的推行情况。两位受访人是Thierry Carrez和Doug Hellmann。
Thierry Carrez是OpenStack基金会的工程主管,同时也是OpenStack技术委员会主席兼发行版本经理。Doug Hellmann目前是OpenStack发行版本周期管理项目的PTL(项目技术主管)。他们在东京OpenStack Summit峰会上均发表了演讲,并且讨论了大帐篷模式是如何改变发行版本管理流程的。
Thierry和Doug乐于分享“大帐篷”模式的推进情况,以及它对OpenStack项目本身带来的改变。
提问1:能够为我们快速地介绍一下“大帐篷”意味着什么,以及它们的出处吗?
Thierry Carrez(以下简称TC):在一篇博客中,Monty Taylor最先使用了这个术语。这个帖子是众多社区成员所发表的一系列帖子当中的一部分。当时我们正在以头脑风暴的方式讨论如何将新的项目纳入到我们的社区当中,同时又保证我们的焦点不分散,不会将横向跨项目的团队逼疯。这个术语背后的理念是让它们变得更加开放,更受欢迎,在内部拥有更多的空间。
Doug Hellmann(以下简称DH):最大的变化是从将OpenStack由一个功能集合体变成了一个贡献者群体。成为“我们中的一员”意味着使用共同的工具和方案展开合作与协作。如果你是我们中的一员,那么你的项目能够成为由其他社区成员所创建的不同项目群组中的一部分。
提问2:在“大帐篷”这一新的开发模式下,Liberty版本中目前令人关注的新项目是什么?
TC:我们有一些在之前版本中还处于“孵化”状态的服务,例如Manila、Zaqar、Designate和 Barbican等。在我们的社区中有许多加入很久的成员,他们一直不想加入到Murano、Mistral、Congress、CloudKitty和 Solum等老的完整发行版本概念中。现在我们有了诸如Cue和SearchLight等新的试验性服务。
提问3:在上次的OpenStack Summit峰会上,标签列表仍然非常稀疏。它最为重要的附件是什么?我们在哪里能够找到完整的列表。
TC:完整的列表可以在http://governance.openstack.org/reference/tags/页面中找到。在这一周期中,一些重要的标签涉及项目团队的联系与差别。近期另一个重要的附件主要用于描述哪些项目主张如果未来对功能不认可,他们将遵循一个特定程序。
DH:我们已经开始在增加能够显示哪些项目能够直接与跨项目团队互动的标签。目前一些标签正处于评估过程中,这些标签能够描述项目如何与devstack互动。
提问4:在温哥华峰会中提到的标签浏览器目前取得了哪些进展?
TC:OpenStack 网站的“软件”部分正在进行大调整,以便更为详细地展现更多项目,包括显示相关标签和其他项目的元数据。这部分工作在未来几天应该就能够完成。
DH:在我们分头查看这些标准时,我们遇到的挑战是如何客观地描述一些标准。尽管我看到了将部分标签做成徽章的形式以鼓励项目进行提升的好处,但是我倾向于用更为详细的文档,因为这更易于涵盖那些细微的情况。
提问5:在温哥华峰会上,你似乎考虑到了所有的东西。对于标签、项目以及你不曾预料的东西,让你感到惊奇的是什么?
TC:从个人角度出发,我认为,我们在六个月的时间内定义了许多标签。我并不认为我们已经涵盖了所有的不同含义。在哪些需要更为详细的文档,以及哪些需要被作为项目元数据之间,我们的确感受到了压力。
提问6:发行版本是指什么?当我点击进入OpenStack.org网站并查找和下载时,发现找不到东西。您的发行程序所生成的东西是什么?
TC:一个发行版本就是一个被签发的源代码原始码。它们是我们在给定时间内的工作成果的缩影。它们也是单点发行的稳定分支的开始。我们会为这一分支打上重要且安全的补丁,让单点发行更加容易升级。也就是说,许多发行版会带有源代码原始码,并将其打包至打包系统内,以便让运营者更加容易地使用和安装。因此在某种意义上,发行版本也标志着上游工作的结束和下游工作的开始。
DH:你是对的,在OpenStack.org网站上没有一个可供下载的东西。我们为每个组件创建一个单独的原始码。部署者可以将这些结合起来,创建一个具有他们需要功能的云。
提问7:目前没有一个完整的发行版本,“发行版”是什么样子?有多个基于多个标签或是标签组合的发行版吗?还是根本就没有一个发行版?
TC:我认为“发行版”正在越来越紧密地与稳定分支联系在一起。处于“发行”中的所有项目都是一个稳定的分支,它们大致是在同一时间(在Liberty开发周期结束的时候)被创建的。它们在综合测试中被一并测试。我们也认为,在查看发行版中的东西时会让人感到困惑,尤其是在我们放弃了同步化的版本管理之后。这也是我们为什么致力于在网站上展示哪些版本和哪些组件是同一发行版本系列中的一部分。你可以在 http://docs.openstack.org/releases/查找它们。
DH:确实如此。尽管没有一个软件被真正完成,但稳定分支代表了一个时间点,此时功能集和稳定性则代表了项目的一个版本,其贡献者社区也愿意提供支持。