跳转到: 导航, 搜索

Roadmap (Marconi)

开始吧

对于 Juno,让我们发布一个速度超快、API 完善且文档齐全的服务。在获得基于实际使用情况的更多反馈之前,我们无法决定项目的未来。如果我们需要根据这些反馈完全重新设计 API,我们可以在 K 中进行。

Juno 主题

  • 速度
  • 波兰语
  • 文档

主要目标

  • 完成完善的 1.0 API 版本,v1.1
  • 发布一个用于高吞吐量用例的驱动程序
    • 每个客户端的任何操作 10 毫秒
    • 每个租户 10K/秒的聚合速率
  • 发布一个用于非 AGPL 后端的驱动程序,该后端具有与 MongoDB 相同的功能
    • 需要持久性,因此不能仅仅是内存中的
    • 如果可能,可以与用于高吞吐量用例的驱动程序相同
  • 扩展用户指南,发布到 RTD


Juno-marconi-cartoon.png

即将到来的里程碑

Juno-3 (9月4日)

毕业

  • 决定我们是否要尝试在本周期毕业,或等待 Kilo。
  • 与 TC 代表在 G+ 上会面,审查毕业计划并获得批准
  • 创建 MongoDB 的非 AGPL 替代方案。Redis 是我们的最佳选择
    • Redis 支持通过 AOF + RDB 实现可选的持久性
    • HA 可通过 Redis Cluster 提供,或者如果我们需要同步复制,我们可以自行实现
    • Apache 2 许可证
  • 重命名项目
  • 在用户指南中记录所有配置选项


质量工程

  • MongoDB 门控
  • 性能调优(分析、基准测试等 - 可能会推迟到 Kilo)
  • 发布 mongo 和 redis 的最小 HA 部署的基准测试(也许在巴黎峰会上设计会议上展示?)
  • 最小 HA 部署的威胁模型
  • 最终的错误修复和稳定
  • 解耦控制平面后端驱动程序与数据平面后端驱动程序,以方便测试和维护(可能会推迟到 Kilo)


驱动程序

  • 完成 Redis 消息存储驱动程序
    • HA(复制 + 故障转移)
    • 完整的测试覆盖率(单元/功能)
    • 门控?
  • 创建一个功能完整的 MongoDB 替代方案,具有相似的持久性和性能(如上所述,在“毕业”下)


API v1.1

  • 完成 flavors 的工作(可能会推迟到 Kilo)
  • 完成 /health 端点的工作
  • 完成 homedoc 的更改
  • 完成 MessagePack 支持(可能会推迟到 Kilo)
    • 取决于更改驱动程序以将主体存储为二进制 blob
  • 响应文档更改
  • 在 python-marconiclient 中实现(可能会推迟到 Kilo)
  • 在用户指南中记录(可能会推迟到 Kilo)
  • 功能测试(可能会推迟到 Kilo)
  • Tempest 测试(可能会推迟到 Kilo)

过去的里程碑

Juno-2 (7月24日)

  • 完成 API v1.0 的 tempest 测试
  • 基本的 marconi-bench 工具(最终将被 Rally 合并)
  • 完成大部分 API 1.1(包括 msgpack 支持)
  • 完成 Redis、AMQP、Elasticsearch (?)、LevelDB (?) 的 POC
  • 开始将 POC 转换为“真实”驱动程序

Juno-1 (6月12日)

  • 开始编写 AMQP
  • 开始编写 Redis
  • 继续进行 API v1.1 的工作
  • 将“shard”重命名为“pool”,并在 wiki 和用户手册中注意名称更改
  • 开始编写 KPIs(/health 端点)
  • 填写 OSSG 安全常见问题模板
  • 撤销 API 1.1 中的只读队列元数据(不要忘记更新规范)

推迟的工作

这里有一些我们希望在本周期完成的事情,但没有足够的人来处理它们。如果您有兴趣提供帮助,请通过 openstack-dev 邮件列表(在主题中使用“[marconi]”前缀)或通过 Freenode 上的 #openstack-marconi IRC 与我们联系。

  • AMQP 传输驱动程序(已经进行了一些研究,但我们仍然需要解决主体内容类型以及如何处理声明语义的问题)
  • 延迟消息功能?(延迟消息可见性 x 秒,将有助于混合/审计用例)
  • 实时队列迁移
  • 重命名项目
  • Admin API 的 AuthZ
  • 基准测试门控(第三方)
  • 在 RTD 上发布用户指南和 API 参考
  • 用户指南 2.0
  • 跨服务请求 ID
  • 基本的安全测试套件
  • Redis 门控?
  • DDoS 测试和缓解
  • 研究通知(与第三方会面,创建设计)
  • 开始编写通知
  • 将通知与 1-2 个其他程序集成
  • 演示视频
  • Kafka 驱动程序
  • API 中的长轮询或 WebSocket 支持
  • 在存储之前对消息主体进行 Snappy 或 LZ4 压缩
  • 结构化日志记录
  • 具有 ACL 的 Temp URL 样式端点,以向不受信任的方提供对队列的有限交互
  • 消息签名