コンテンツにスキップ

SYSTEM_DEFAULTS テーブル

概要

システム共通の機能既定値 (デフォルトの enable / disable 状態) を定義する。init_cfg.json 由来の値を保持し、db_migrator が初期化時にエントリの有無を確認する1。具体的なキーは tunnel_qos_remapsynchronous_modedhcp_server など (時期により異なる) で、各機能の起動前提として参照される。

データフロー (自動生成)

flowchart LR
  CDB[("CONFIG_DB<br/>SYSTEM_DEFAULTS")]
  DM["db_migrator"]
  CDB --> DM

凡例

CONFIG_DB から SAI までの典型経路を docs/reference/config-db-orch-map.md から機械生成したミニ図。詳細・例外は本ページ本文と対応表を参照。

key 構造

SYSTEM_DEFAULTS|<name>

<name> は string (1..32)。

主要フィールド

フィールド 説明
status enum enabled/disabled (admin_mode) 機能既定状態

設計上の位置づけ

  • 単一の "ツマミ" として ON/OFF を保持し、より詳細な動作は対応する機能の設定テーブル (FEATURE 含む) で行う
  • db_migrator.py が古い image からアップグレードした際にデフォルト値を補完する

購読者

  • 各 daemon が起動時に該当 <name> を読み、自身の動作を切替

関連 CONFIG_DB / YANG / CLI

  • 関連 CONFIG_DB: FEATUREDEVICE_METADATA
  • 関連 YANG: sonic-system-defaults

関連リファレンス

引用元

値依存挙動マトリクス

status (admin_mode): enabled / disabled

代表的な <name> エントリと各値の意味:

name enabled disabled
tunnel_qos_remap IPinIP デカプセル時の QoS リマップを有効化 (muxorch 起動時のみ参照) QoS リマップなし
synchronous_mode orchagentSAI 操作を同期実行 (P4RT 連携時に必要) 非同期実行
dhcp_server 組み込み DHCP サーバを有効化 無効
mux_tunnel_egress_acl Dual-ToR mux ACL を適用 (Mellanox: enabled が init_cfg デフォルト) ACL 未適用
状態 挙動
エントリ不在 (DEL 後) 各機能は不在を disabled として扱う
tunnel_qos_remap 実行中変更 muxorch は起動時のみ参照のため、サービス再起動まで反映されない

例外条件・特殊挙動

  • テーブル不在時の安全フォールバック: config_samples.py はテーブルが存在しない場合に空 dict を補完する。各機能コードもエントリ不在を "disabled" として扱い KeyError を起こさない。
  • tunnel_qos_remap は起動時のみ参照: muxorch が起動時に SYSTEM_DEFAULTS を一回だけ読み取り QoS remap の有効/無効を決定する。実行中に CONFIG_DB を書き換えてもサービス再起動なしには反映されない。
  • enum 制約違反は YANG 層でブロック: status フィールドは admin_mode enum(enabled/disabled)で制約されており、不正値は CONFIG_DB への書き込み時に YANG バリデーション層で拒否される。
  • エントリ削除の副作用: 機能コードがエントリ不在をデフォルト(通常 disabled)として扱うため、エントリを DEL すると機能が暗黙的に無効化される。

運用ヒント

典型値

  • key 形式: SYSTEM_DEFAULTS|<feature>
  • tunnel_qos_remap / synchronous_mode 等のフラグを enabled/disabled で制御。

よくある誤設定

  • synchronous_mode=enabled のままで遅い orchagent と組み合わせると config push 全体が詰まる。

確認コマンド

sonic-db-cli CONFIG_DB keys 'SYSTEM_DEFAULTS|*'