コンテンツにスキップ

本ページはガバナンス文書

SONiC コミュニティの Feature Quality 定義 を再構成したもの。実装挙動ではなく、機能を Alpha / Beta / GA のいずれの品質レベルで世に出すかの基準。verification: meta で扱う。

SONiC Feature Quality 定義(Alpha / Beta / GA とリリースノート連動)

概要

SONiC コミュニティが新機能を contribute する際の 品質レベル定義 1。3 段階:

  • Alpha: 設計と最低限のテストはあるが、SAI / 平台 vendor API がまだ無い段階
  • Beta: 1 vendor 以上で SAI / 平台 API が利用可能、テスト計画はレビュー済みで一部実装
  • GA (General Availability): テスト計画が sign-off + フル実装

動作仕様

各レベルの要件1

観点 Alpha Beta GA
Unit / VS テスト(カバレッジ整合) 必須 必須 必須
enabled/disabledCONFIG_DB で制御 disabled 既定 disabled 既定 HLD で求める場合のみ enabled 既定
投入先 master のみ master のみ master + 必要なら backport 可
SAI vendor 実装 不要 1 vendor 以上で利用可 1 vendor 以上で利用可
Platform vendor API 不要 1 vendor 以上で利用可 1 vendor 以上で利用可
既存機能への degradation 無し(sonic-mgmt 全体 pass) 無し 無し
sonic-mgmt テスト計画 レビュー済み 一部実装 sign-off + フル実装

Release Notes での公開

リリースノートは新機能の単純な箇条書きではなく、以下表で公開する1:

Feature Name Feature Description HLD PR / PR Tracking Maturity
  • Beta / GA は sonic-mgmt の PR / コードを必ず併記
  • リリース後でも sonic-mgmt のテストが整い次第 Maturity 列を更新可能
  • Maturity の最終承認は sonic test subgroup

Action items(HLD ガイドライン拡張)1

  • HLD テンプレートに メモリ使用量 セクションを追加
  • コンパイル時 disable で 0
  • 設定 disable で memory growth しない
  • 実装は runtime 切替可能 が必須
  • WIP の機能は disabled で出す。enabled 既定は GA 化された機能のみ(HLD で合意)

適用ロードマップ

  • 202305 リリースノートで新フォーマットに合わせる
  • TSC 承認後、コミュニティに通知し 202311 contribution から本基準を要請
  • sonic-mgmt 側で品質保証テンプレートを定義(Microsoft / Nvidia 主導)1

制限事項

  • 本ガイドラインは コードの動作ではなく contribute 受け入れ基準。Verifier の対象外
  • "1 vendor 以上で利用可" の判定は subjective。SAI patchset の merge 状況やビルド可否で評価
  • "degradation 無し" の観測手段は sonic-mgmt 全テスト に依存

干渉する機能

  • HLD テンプレート: メモリ使用量セクションが追加される
  • CONFIG_DB feature flag: ほぼ全機能が FEATURE テーブルや個別 enable で制御される設計を要求

引用元