特性生命周期管理
本文档旨在澄清特性与对应API的定义和差异在不同的开发阶段(版本)。
每个版本都有不同的稳定性、支持时间、并要求不同的毕业标准进入下一个级别:
* Alpha
* Beta
* GA
Alpha
-
在后续版本中,该特性可能会以不兼容的方式更改/升级。
-
源代码将在发布分支/标记以及二进制文件中提供。
-
对该功能的支持可以随时停止,恕不另行通知。
-
该功能可能存在错误。
-
如果启用该功能,该功能也可能在其他API/功能中诱发错误。
-
该功能可能没有完全实现。
-
API版本名称将像v1alpha1, v1alpha2等。每次升级时,后缀数字将递增1。
毕业标准
- 每个功能将从alpha级别开始。
- 不应破坏其他API/功能的功能。
Beta
-
在以后的版本中,该特性可能不会以不兼容的方式进行更改/升级。但如果以不兼容的方式更改,则将提供升级策略。
-
源代码将在发布分支/标记以及二进制文件中提供。
-
在没有2个次要版本通知的情况下,不会停止对该功能的支持,并且至少将在接下来的2个次要版本中出现。
-
该功能的错误将非常少。
-
如果启用该功能,则不会在其他API/功能中诱发错误。
-
该功能将完全实现。
-
API版本名称将像v1beta1, v1beta2等。每次升级时,后缀数字将递增1。
毕业标准
-
在端到端测试中,应至少有50%的覆盖率。
-
Project同意在接下来的至少2个次要版本中支持此功能,并在停止支持之前将发出至少2个次要版本的通知。
-
功能所有者应承诺确保在更高版本中的向后/向前兼容性。
GA
-
在接下来的几个版本中,该功能将不会以不兼容的方式更改/升级。
-
源代码将在发布分支/标记以及二进制文件中提供。
-
在没有4个次要版本通知的情况下,不会停止对该功能的支持,并且至少将在接下来的4个次要版本中出现。
-
该功能不会有主要的错误,因为它将被完全测试,并进行e2e测试。
-
如果启用该功能,则不会在其他API/功能中诱发错误。
-
该功能将完全实现。
-
API版本名称将类似于v1、v2等。
毕业标准
- 应该有完整的端到端测试。
- 代码经过彻底测试,据报道非常稳定。
- 项目将至少在接下来的4个次要版本中支持此功能,并在停止支持之前将发出至少4个次要版本的通知。
- 功能所有者应承诺确保在更高版本中的向后/向前兼容性。
- Kmesh维护人员以及使用/与功能/API交互的功能/API所有者的共识。