[改进后的中文总结内容]

会议纪要

会议概述

本次会议为每周一次的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中的应用和潜在影响。
  • 提出了关于依赖管理和库选择的未来工作方向。

会议结束

会议在讨论了所有议题后圆满结束,感谢所有参与者的贡献和讨论。