[改进后的中文总结内容]
会议纪要
会议概述
本次会议为每周一次的Ceph Orchestrator会议,主要内容包括两个项目的更新报告。会议由主持人开场,随后分别由Aaron和Melissa进行项目进展的展示。
第一个项目:Aaron的周二项目更新
- 项目背景:Aaron介绍了他在过去几个月中致力于开发一个新的集成测试框架,使用Jacqueline语言来确保Orchestrator操作的安全性。
- 技术细节:
- Jacqueline语言:一种使用常见关键词(如Given、And、Then)定义执行步骤的自然语言,用于创建测试场景。
- KCLI工具:用于创建运行特定测试的环境。
- 项目目标:创建类似执行命令并验证命令输出的场景,无需编程语言知识。
- 当前进展:
- 实现了用户定义不同测试实验室配置的功能,使用KCLI创建环境并执行特定测试。
- 用户可以定义在虚拟机上执行的命令,并指定预期输出中的关键词。
- 正在进一步定义更多测试场景,并实现命令执行和输出存储的功能。
- 实施结构:
- 使用Behave测试框架,定义在.feature文件中,步骤实现则在Python脚本中。
- 环境配置示例:三个节点,每个节点4GB RAM和4个CPU,使用Fedora 32镜像。
- 当前问题:
- 无法使用Talks命令运行Behave测试,因为需要环境变量和适当权限。
- 正在寻找解决方案以缓解此问题。
第二个项目:Melissa的Outreach实习项目更新
- 项目背景:Melissa的项目旨在用Python的Async SSH库替换Zeknet和Remoto,以改善Cephadm中的远程命令执行。
- 技术细节:
- Async SSH:一个异步实现的SSH协议库,支持OpenSSH配置,提供更好的错误处理和调试日志。
- 挑战:
- 选择合适的Python SSH库。
- 将异步函数集成到现有的同步代码中。
- 学习和调试容器化环境。
- 实施结构:
- 创建一个专用的SSH线程,并在该线程中运行事件循环。
- 使用同步包装函数来调用异步协程,确保代码的同步执行顺序。
- 示例代码展示了如何使用Async SSH执行远程命令并处理结果。
- 未来展望:
- 确保有一个专用的SSH线程和线程安全的异步函数调用。
- 开发者可以继续使用同步包装函数,无需过多关注事件循环。
后续行动计划
- Aaron的项目:
- 继续定义和实现更多的测试场景。
- 寻找并实施解决方案以解决Behave测试的权限问题。
- Melissa的项目:
- 确保Async SSH的稳定集成和维护。
- 考虑将Async SSH库添加到Ceph的依赖管理中,特别是对于CentOS等系统。
其他讨论
- 讨论了Async编程在Cephadm中的应用和潜在影响。
- 提出了关于依赖管理和库选择的未来工作方向。
会议结束
会议在讨论了所有议题后圆满结束,感谢所有参与者的贡献和讨论。