贡献指南

此仓库集中了所有 Ansible 角色。这些角色都是 Ansible Galaxy 的一部分。

我们欢迎贡献,并乐意让我们的贡献者获得认可,因此所有提交(commits)都必须签名(signed-off)

邮件列表

请在 http://lists.ceph.com/listinfo.cgi/ceph-ansible-ceph.com 注册邮件列表。

IRC

欢迎加入 OFTC 服务器 (https://www.oftc.net) 上的 #ceph-ansible 频道。

GitHub

项目主要的 GitHub 账号是 https://github.com/ceph/ceph-ansible/

提交补丁

要开始贡献,只需执行以下操作:

$ git checkout -b my-working-branch
$ # do your changes #
$ git add -p

如果您的更改影响了角色中的变量文件,例如 roles/ceph-common/defaults/main.yml,您需要生成一个 group_vars 文件

$ ./generate_group_vars_sample.sh

您终于可以把更改推送到 GitHub 了

$ git commit -s
$ git push origin my-working-branch

完成了一项更改但不想为了修复语法而重新发送提交?

$ # do your syntax change #
$ git commit --amend
$ git push -f origin my-working-branch

拉取请求测试

拉取请求测试由 Jenkins 处理。您的拉取请求必须通过所有测试才能合并。

所有正在运行的测试都列在 GitHub UI 中,并会显示其当前状态。

如果某个测试失败,并且您想重新运行它,请在您的拉取请求中按照以下格式评论:

jenkins test $scenario_name

例如

jenkins test centos-non_container-all_daemons

回溯更改

如果某个更改应该回溯到 stable-* Git 分支

  • 用 GitHub 标签 “Backport” 标记您的拉取请求,这样我们就不会忘记它。

  • 将最新更新获取到您的克隆中:git fetch

  • 确定最新的稳定分支:git branch -r --list "origin/stable-[0-9].[0-9]" | sort -r | sed 1q

  • 基于稳定分支为您当前的拉取请求创建一个新的本地分支:git checkout --no-track -b my-backported-change origin/stable-5.0

  • 拣选(Cherry-pick)您的更改:git cherry-pick -x (your-sha1)

  • 针对 stable-5.0 分支创建一个新的拉取请求。

  • 确保您的拉取请求标题有前缀 “backport:”,以便审阅者清楚了解这是什么。

  • 在您的回溯拉取请求中添加评论,链接到原始(主)拉取请求。

对稳定分支的所有更改都应该首先在 main 分支中进行,以避免回归。

完成此操作后,其中一位项目维护者将用您的更改标记稳定分支的尖端(tip)。例如

$ git checkout stable-5.0
$ git pull --ff-only
$ git tag v5.0.12
$ git push origin v5.0.12