第41章 Nmstate の概要
nmstate は宣言型のネットワークマネージャー API です。Nmstate を使用する場合、YAML または JSON 形式の命令を使用して想定されるネットワーク状態を記述します。
Nmstate には多くの利点があります。たとえば、以下のようになります。
- 安定性と拡張可能なインターフェイスを提供して RHEL ネットワーク機能を管理する。
- ホストおよびクラスターレベルでのアトミックおよびトランザクション操作をサポートする。
- ほとんどのプロパティーの部分編集をサポートし、この手順で指定されていない既存の設定を保持する。
Nmstate は次のパッケージで構成されています。
パッケージ | 内容 |
---|---|
|
|
|
|
| Nmstate C ライブラリー |
| Nmstate C ライブラリーヘッダー |
41.1. Python アプリケーションでの libnmstate ライブラリーの使用
libnmstate
Python ライブラリーを使用すると、開発者は独自のアプリケーションで Nmstate を使用できます。
ライブラリーを使用するには、ソースコードにインポートします。
import libnmstate
import libnmstate
このライブラリーを使用するには、nmstate
および python3-libnmstate
パッケージをインストールする必要があることに注意してください。
例41.1 libnmstate ライブラリーを使用したネットワーク状態のクエリー
以下の Python コードは、libnmstate
ライブラリーをインポートし、利用可能なネットワークインターフェイスとその状態を表示します。
import libnmstate from libnmstate.schema import Interface net_state = libnmstate.show() for iface_state in net_state[Interface.KEY]: print(iface_state[Interface.NAME] + ": " + iface_state[Interface.STATE])
import libnmstate
from libnmstate.schema import Interface
net_state = libnmstate.show()
for iface_state in net_state[Interface.KEY]:
print(iface_state[Interface.NAME] + ": "
+ iface_state[Interface.STATE])