这是Ceph开发每周谈的第五十九篇文章,记录从17年1月11号到17年1月16号的社区开发情况。笔者从前年开始做Ceph的技术模块分析到今年中告一段落,想必有挺多人期待下一篇Ceph技术分析。考虑到Ceph的发展已经从前年的一穷二白到现在的如火如荼,但对于社区的方向和实况仍有所脱节,笔者考虑开始Ceph开发每周谈这个系列。每篇文章都会综述上周技术更新,围绕几个热点进行深度解析,如果正好有产业届新闻的话就进行解读,最后有读者反馈问题的话并且值得一聊的话,就附上答疑部分。
-
一句话消息
Kraken 11.2.0 上周五正式发布
-
Ceph 新集成环境介绍
Andrew Schoen 和 Alfredo 设计了一套新的 Ceph 构建环境来取代之前的 gitbuilder 体系。这个新的体系主要包含以下组件:
Jenkins:
- 用来编译 Ceph 并上传到 Chacra
- 提供一个 GUI 来初始化编译
- 提供权限认证
Chacra:
- 提供包和 Repo 的存储空间管理
- 通过给 Shama 增加节点来进行横向扩展
Shaman:
- 对 Chacra 节点进行协调
- 在 Chacra 节点间做负载均衡,这样 Jenkins 决定上传给哪个节点来进行扩展
- 给外部用户提供 Chacra 管理
- 提供 Ceph Repo 的元数据信息
- 创建新的 Jenkins Slave
- 关闭 Jenkins Slave
Prado:
- 用来运行新的 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 的开发测试包从哪里获得?