config warm_restart サブコマンド¶
概要¶
config warm_restart は warm restart の enable 状態と daemon timer を設定する CLI グループ。enable/disable は STATE_DB の WARM_RESTART_ENABLE_TABLE|<module> を更新し、timer 系は CONFIG_DB の WARM_RESTART を更新する1。
コマンド一覧¶
| コマンド | 用途 |
|---|---|
config warm_restart enable [--namespace <ns>] [<module>] |
module の warm restart を有効化 |
config warm_restart disable [--namespace <ns>] [<module>] |
module の warm restart を無効化 |
config warm_restart neighsyncd_timer [--namespace <ns>] <seconds> |
swss の neighsyncd timer を設定 |
config warm_restart bgp_timer [--namespace <ns>] <seconds> |
bgp の timer を設定 |
config warm_restart teamsyncd_timer [--namespace <ns>] <seconds> |
teamd の teamsyncd timer を設定 |
config warm_restart bgp_eoiu [--namespace <ns>] [true|false] |
BGP EOIU を設定 |
各コマンドの詳細¶
enable / disable¶
<module> を省略すると system。module != system の場合は CONFIG_DB FEATURE テーブルに存在する feature 名だけを受け付ける。namespace 指定が無い場合、single-ASIC では default namespace、multi-ASIC では default + ASIC namespace 群に反映する2。
timer 系¶
neighsyncd_timerはWARM_RESTART|swssのneighsyncd_timerを更新する。adhoc validation が有効な場合は 1-9998 秒。bgp_timerはWARM_RESTART|bgpのbgp_timerを更新する。adhoc validation が有効な場合は 1-3599 秒。teamsyncd_timerはWARM_RESTART|teamdのteamsyncd_timerを更新する。adhoc validation が有効な場合は 1-3599 秒。bgp_eoiuはWARM_RESTART|bgpのbgp_eoiuをtrue/falseで更新する。
関連リファレンス¶
引用元¶
データフロー (自動生成)¶
flowchart LR
CLI["config warm_restart"]
SC["sonic-cfggen<br/>(config CLI のみ)"]
CLI --> SC
CDB0[("CONFIG_DB<br/>WARM_RESTART")]
SC --> CDB0
DM0["warmrestart"]
CDB0 --> DM0
CDB1[("CONFIG_DB<br/>FEATURE")]
SC --> CDB1
DM1["coppmgrd"]
CDB1 --> DM1
凡例
config 系 (CLI → CONFIG_DB → daemon) のミニ図。テーブル → daemon 対応は docs/reference/config-db-orch-map.md から機械生成。
関連 Topics¶
運用ヒント¶
典型的な利用シーン¶
よくある落とし穴¶
- warm-restart 中に CONFIG_DB を書き換えると state が破損する。
- timer を短くしすぎると hardware 復旧前に reconcile が走り経路ドロップ。
関連する show / debug¶
-
config warm_restartグループは CONFIG_DB と STATE_DB connector を namespace ごとに初期化する。https://github.com/sonic-net/sonic-utilities/blob/39732bceb8bdefe706518ab40623bbbba6ff33b9/config/main.py#L3940 ↩ -
enable/disableはWARM_RESTART_ENABLE_TABLE|<module>のenableフィールドを書き込む。https://github.com/sonic-net/sonic-utilities/blob/39732bceb8bdefe706518ab40623bbbba6ff33b9/config/main.py#L3973 ↩