Skip to main content
すべての snctl コマンド、引数、フラグの完全なリファレンスです。 snctl は、ラックベースのインフラストラクチャインベントリ、電源操作、およびファームウェアの確認とアップグレードを管理します。

グローバルフラグ

すべてのコマンドで使用できます。
-o wide はすべてのコマンドでサポートされているわけではありません。power on、power off、power cycle、firmware upgrade、group create、group add-rack、group remove-rack、group delete は text または json のみを受け付けます。rack export では -o の用法が異なります — rack export をご参照ください。

コマンド索引


共通の値

複数のコマンドから参照される値です。

デバイスタイプ

access_switch、bmc、data_switch、host、pdu、serial_terminal、xrdu firmware version はこれらに加えて bios、card、all を受け付けます。firmware upgrade は bios、bmc、xrdu、card、all のみを受け付けます。

デバイスパス

PDU は 1 始まり、XRDU は 0 始まり (0〜7) です。host と bmc はインデックスを取りません。

同時実行フラグ

すべての power および firmware サブコマンドで使用できます。

環境変数


config

snctl の設定を管理します。

config init

暗号鍵、空のインベントリ、設定を作成して snctl を初期化します。
AES-GCM 暗号鍵、空のラックインベントリ、暗号化されたシークレットファイル、ログディレクトリ、および config.yaml を作成します。ラックの登録や認証情報の設定を行う前に、一度だけ実行してください。
初期化済みのディレクトリに対して再実行するとエラーになります。既存の設定を確認するには config show を使用してください。

config show

現在の snctl 設定を表示します。
config.yaml、インベントリファイル、暗号鍵、シークレットファイルへのパスに加え、GCS サービスアカウントやログディレクトリなどの任意設定を表示します。snctl が初期化されていない場合は、その旨を表示して正常終了します。 コマンド固有のフラグはありません。

config update

既存の snctl 設定のフィールドを更新します。
初期化済みの設定が必要です。値をクリアするには空文字列を渡します。

diag

snctl のインストールと環境の健全性を診断します。

diag doctor

システムの依存関係と環境の健全性を確認します。
電源操作やファームウェア操作に必要な ipmitool などのツールを含め、snctl が必要とするすべてのシステム依存関係がインストールされていることを検証し、その状態を報告します。コマンドが予期せず失敗する場合に実行してください。 コマンド固有のフラグはありません。

rack

ラックインベントリを管理します。

rack add

新しいラックをインベントリに追加します。
--partnumber はハードウェアモデルを識別し、これによってラックに自動生成されるコンポーネントレイアウトが決まります。

rack add-device

ラック内のデバイスを追加または更新します。
<target> は デバイスパス です。フィールドを省略すると現在の値が維持されます (部分更新)。

rack delete

ラックをインベントリから削除します。
ラックと、それに関連付けられたすべての SN40L ノードを削除します。
ローカルのインベントリにのみ影響します。物理ハードウェアの電源を切ったり変更を加えたりすることはありません。誤って削除した場合は、snctl rack add <rack_id> --partnumber <part> で再登録してください。
コマンド固有のフラグはありません。

rack delete-device

ラックからデバイスを削除します。
コンポーネントをローカルのインベントリからのみ削除します。物理ハードウェアには影響しません。

rack export

ラックを JSON または YAML ファイルにエクスポートします。
ラック ID を指定しない場合、すべてのラックがエクスポートされます。
パスワードは常にプレースホルダ値に置き換えられるため、エクスポートファイルは安全に共有できます。

rack import

JSON または YAML ファイルからラックとグループをインポートします。
ファイルは snctl ネイティブのインベントリで、ラックのみ、グループのみ、またはその両方の一部を含むことができます。標準入力から読み込むには - を使用します。 認証情報の扱い。ソースファイル内の、プレースホルダになっていないデバイスパスワードは、デバイス単位の認証情報として暗号化された認証情報ストアにインポートされます。インベントリ自体にはプレースホルダのみが保存されます。デフォルトの認証情報が未設定のデバイス種別については、その種別で最も番号の小さいラックのパスワードが、その種別のデフォルトにもなります。シークレットが出力されることはありません。--dry-run は、何も書き込まずに、インポートされるシークレットの件数を報告します。

rack list

インベントリ内のすべてのラックを一覧表示します。
各ラックの ID、ハードウェアタイプ、コンポーネント数を表示します。コマンド固有のフラグはありません。

rack show

ラック内のすべてのデバイスを表示します。
すべてのコンポーネントを、ホスト名、IP アドレス、ポート、ユーザー名とともに表示します。電源コマンドやファームウェアコマンドを実行する前の、ネットワークアドレス設定の確認に使用してください。コマンド固有のフラグはありません。

node

インベントリ内のノードを管理します。

node list

インベントリ内のすべてのノードを一覧表示します。
各ノードの名前、所属ラックの ID、ラックのハードウェアタイプ、スロットインデックスを表示します。コマンド固有のフラグはありません。

node rename

ノードの名前を変更します。
新しい名前は、全ノードの中で一意である必要があります。
ローカルのインベントリに対する操作のみです。ハードウェア自体のホスト名は変更されません。
コマンド固有のフラグはありません。

node show

ノード内のすべてのデバイスを表示します。
すべてのコンポーネントサブデバイス (BMC、ホスト、XRDU) を、ホスト名、IP アドレス、ポート、ユーザー名とともに表示します。コマンド固有のフラグはありません。

group

ラックグループを管理します。グループを使用すると、ファームウェアコマンドと電源コマンドを単一の操作で複数のラックに一括展開できます。

group create

グループを作成するか、その説明を更新します。
同名のグループがすでに存在する場合は、その説明が更新されます。

group add-rack

1 つ以上のラックをグループに追加します。
グループはあらかじめ存在している必要があります。すでにグループに属しているラックについては警告が表示され、エラーにはならずスキップされます。

group remove-rack

グループからラックを削除します。
ラックはインベントリに登録されたまま残り、他のグループに追加できます。削除されるのは、このグループへの所属のみです。

group list

インベントリ内のすべてのグループを一覧表示します。
各グループの名前、説明、所属ラック数を表示します。コマンド固有のフラグはありません。

group show

グループとその所属ラックを表示します。
グループの説明と、所属ラックをハードウェアタイプとともに表示します。コマンド固有のフラグはありません。

group delete

グループをインベントリから削除します。
削除前に確認を求められます。
所属ラックは削除されません — グループのレコードのみが削除されます。スクリプト内でプロンプトを抑制するには、SNCTL_NON_INTERACTIVE=1 を設定してください。
コマンド固有のフラグはありません。

secret

デバイスシークレットを管理します。認証情報は AES-GCM で暗号化され、~/.snctl/credentials.json.enc に保存されます。

secret set

デバイスシークレットを設定または削除します。
値の入力と確認を対話的に求められます。入力内容がターミナルに表示 (エコー) されることはありません。電源コマンドやファームウェアコマンドを実行する前に、環境で使用するすべてのコンポーネントタイプの認証情報を設定してください。 デバイス単位の認証情報は、種別レベルのデフォルトよりも優先されます。未設定の認証情報をクリアしてもエラーにはならず正常に完了します。デバイス単位のオーバーライドをクリアすると、そのデバイスは種別レベルの認証情報にフォールバックします。

secret get

デバイスシークレットを取得します。
値はデフォルトで *** にマスクされます。
--show-value は安全な環境でのみ使用してください。出力は決して共有しないでください。

power

ノードの電源オン、電源オフ、パワーサイクル、状態照会を行います。操作は IPMI または Redfish 経由で実行されます。
すべての電源コマンドでは、--node または --group のいずれか一方の指定が必須です (同時には指定できません)。また、事前に secret set でデバイス認証情報を設定しておく必要があります。

power state

ノード、ホスト、または XRDU の電源状態を照会します。
現在の DC 電源状態 (on/off/unknown) を報告します。読み取り専用のため、いつでも安全に実行できます。

power on

ノード、ホスト、または XRDU の電源を入れます。
電源オン後、snctl は snd.service (SambaNova Daemon) がアクティブになるのを待ってから完了します。

power off

ノード、ホスト、または XRDU の電源を切ります。

power cycle

ノード全体のパワーサイクルを実行します。
グレースフルに電源をオフにしてから、オンにします。常にノード全体を対象とし、--type フラグはありません。完了前に snd.service を待機します。

firmware

ノードのファームウェアの照会と更新を行います。
どちらのコマンドでも、--rack-id または --group のいずれか一方の指定が必須です (同時には指定できません)。また、事前に secret set でデバイス認証情報を設定しておく必要があります。

firmware version

ラックのコンポーネントにインストールされているファームウェアバージョンを照会します。
結果には、現在インストールされているバージョン (CURR) がプランオブレコード (Plan of Record; POR) のバージョン (POR) と並べて表示されるため、乖離を一目で把握できます。

firmware upgrade

ラックのコンポーネントにファームウェアイメージを適用します。
--image の動作。省略した場合、各コンポーネントの POR バージョンに対応する正しいファイルが GCS から自動的にダウンロードされ、チェックサム検証のうえキャッシュされます。代わりに特定のローカルファイルを書き込むには --image を渡します。エアギャップ環境では必須です。 --index の制約。xrdu と card でのみ使用できます。bios、bmc、all では拒否されます。BIOS と BMC はスロットを持たないノードレベルのコンポーネントであり、all は両方の種別が混在するため、インデックスを指定するとアップグレードの一部だけが絞り込まれてしまうためです。

version

バージョンとビルド情報を表示します。
リリースバージョン、git コミットハッシュ、ビルドタイムスタンプ、Go ランタイムバージョン、OS/アーキテクチャを表示します。サポートリクエストを提出する際は -o json を使用してください。 コマンド固有のフラグはありません。