Ceph开发每周谈 Vol 59 | Ceph 新集成环境

2017年01月 · 麦子迈

这是Ceph开发每周谈的第五十九篇文章,记录从17年1月11号到17年1月16号的社区开发情况。笔者从前年开始做Ceph的技术模块分析到今年中告一段落,想必有挺多人期待下一篇Ceph技术分析。考虑到Ceph的发展已经从前年的一穷二白到现在的如火如荼,但对于社区的方向和实况仍有所脱节,笔者考虑开始Ceph开发每周谈这个系列。每篇文章都会综述上周技术更新,围绕几个热点进行深度解析,如果正好有产业届新闻的话就进行解读,最后有读者反馈问题的话并且值得一聊的话,就附上答疑部分。

  • 一句话消息

Kraken 11.2.0 上周五正式发布

  • Ceph 新集成环境介绍

Andrew Schoen 和 Alfredo 设计了一套新的 Ceph 构建环境来取代之前的 gitbuilder 体系。这个新的体系主要包含以下组件:

Jenkins:

  1. 用来编译 Ceph 并上传到 Chacra
  2. 提供一个 GUI 来初始化编译
  3. 提供权限认证

Chacra:

  1. 提供包和 Repo 的存储空间管理
  2. 通过给 Shama 增加节点来进行横向扩展

Shaman:

  1. 对 Chacra 节点进行协调
  2. 在 Chacra 节点间做负载均衡,这样 Jenkins 决定上传给哪个节点来进行扩展
  3. 给外部用户提供 Chacra 管理
  4. 提供 Ceph Repo 的元数据信息
Mita:
  1. 创建新的 Jenkins Slave
  2. 关闭 Jenkins Slave

Prado:

  1. 用来运行新的 Jenkins Slave

Repo 的使用流程:

– Jenkins build initiated
– By sha1 or branch
– upstream release or dev release (gitbuilder build)
– provide list of distros
– Jenkins performs the build
– Jenkins asks Shaman which chacra instance to upload binaries to
– Shaman will know all the chacra nodes and will provide them for
use in a round robin fashion by use of an api endpoint.
– Jenkins uploads binaries to chacra instance given by shaman
– When repo creation is queued, chacra will ping shaman to notify it
that a repo has been requested.
– When repo creation starts, chacra will ping shaman with that status.
– If repo creation fails, chacra will notify shaman.
– If repo creation succeeds, chacra will notify shaman.
– Shaman can be queried for status of the repos by ref, sha1 or distro.
– Shaman can answer questions like, “What is the latest sha1 I can
use for the master branch on trusty, xenial and centos7?”

  • Ceph 一周一问题

Q: Ceph 的开发测试包从哪里获得?

A: https://shaman.ceph.com/builds/ceph/