Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 

Ansibleを使用して、デバイスの停止、再起動、シャットダウンを実行Junos OS

まとめAnsibleモジュールのジュニパーネットワークスを使用して、デバイスで動作しているデバイスの停止、再起動、シャットダウンJunos OS。

Ansibleの使用によるデバイスの停止、再起動、シャットダウン

ジュニパーネットワークスは、Ansibleを使用してJunos OSを実行しているデバイスを管理し、デバイスの停止、再起動、シャットダウンを可能にする Ansibleモジュールを提供します。 表 1 に、 使用可能なモジュールの概要を示します。

表 1:デバイスの停止、再起動、シャット ダウンを実行するモジュール

コンテンツ セット

モジュール名

juniper.device コレクション

system

Juniper.junos 役割

juniper_junos_system

注:

リリース Juniper.junos 2.0.0 より、モジュールは、モジュールの機能 juniper_junos_system を置き junos_shutdownjunos_zeroize える機能です。

モジュールを使用して、デバイスで稼働しているデバイスで次の操作をJunos OS。デフォルトでは、モジュールは要求された操作を即座に実行し、デュアル ルーティング エンジンまたはルーティング エンジン設定でバーチャル シャーシします。

  • 即時システムの停止、再起動、シャットダウン

  • オプションの遅延による停止、再起動、シャットダウン操作

  • スケジュールされた特定の日時にスケジュールされた運用の停止、再起動、シャットダウン

および system モジュールには、モジュールが実行するアクションを定義する引数 juniper_junos_systemaction 1 つ必要です。 表 2 は、デバイスの停止、再起動、シャット ダウンに必要なパラメーター値を定義し、各アクションと対応する CLI コマンドの簡単な説明 action を示しています。このアクションの詳細については、「 Ansible を使用して、実行中のデバイスを復元する Junos OS工場出荷時のデフォルト構成設定 」 "zeroize" を参照してください

表 2:システムおよび juniper_junos_system アクションのパラメーター値

パラメータの action

説明

同等の CLI コマンド

"halt"

ソフトウェアのスイッチをグレースJunos OSにシャット ダウンするが、システムの電力は維持する

request system halt

"reboot"

ソフトウェアを再起動Junos OSする

request system reboot

"shutdown"

ソフトウェアをグレースフルJunos OSシャット ダウンし、ルーティング エンジンの電源を切る

request system power-off

次の Ansible プレイブックは、モジュールを使用して、指定されたインベントリ グループ内のホスト上のすべてのルーティング エンジンを直ちに system action: "reboot" 再起動します。

遅延または指定時間での停止、再起動、シャットダウンの実行方法

指定した分で操作の停止、再起動、シャット ダウンを行う場合は、オプション パラメータを、操作の実行前にシステムが待機する時間(分)に in_min 設定します。次のタスクでは、すべてのルーティング エンジンを30分で再起動する必要があります。

特定の時点での停止、再起動、シャットダウンをスケジュールするには、次のいずれかの方法で指定できる文字列を取るパラメーター at を含めて、以下を実行します。

  • now:直ちにソフトウェアの停止、再起動、シャットダウンを開始します。

  • +minutes—要求されたアクションが開始された今から数分。

  • yymmddhhmm—要求されたアクションを開始する絶対時間(年、月、日、時間、分)が指定されます。

  • hh:mm—要求されたアクションを開始する現在の日の絶対時刻(24 時間で指定)。

次のタスクは、現在の日の 22:30 に、すべてのルーティング エンジンのシステム シャット ダウンをスケジュールします。

ターゲット 情報を指定するルーティング エンジン

デフォルトでは、 および モジュール は、デュアル ルーティング エンジンまたはルーティング エンジン設定のすべてのルーティング エンジンルーティング エンジン system juniper_junos_system 実行バーチャル シャーシします。また、モジュールに対して、アプリケーションが接続されている ルーティング エンジン にのみ操作を実行するように指示したり、アプリケーションが接続されているルーティング エンジン以外のすべてのルーティング エンジンで操作を実行するように指示することもできます。

ルーティング エンジンを指定するには、 および パラメーター all_re を使用 other_re します。 表 3 は 、特定のルーティング エンジンで要求された操作を実行するために必要な all_re other_re 値と値を要約しています。

表 3:ルーティング エンジンを指定するパラメーター

影響を受けるルーティング エンジン

all_re パラメーター

other_re パラメーター

すべてのルーティング エンジン(デフォルト)

除外または次に設定する True

接続されたネットワークルーティング エンジン

に設定します。 False

アプリケーションが接続されているルーティング エンジンを除くすべてのルーティング エンジン

に設定します。 True

デュアル ルーティング エンジン または バーチャル シャーシ セットアップのすべてのルーティング エンジンで操作を実行する必要を明示的に示すために、引数(デフォルト)を all_re: True 含める。

アプリケーションが接続されているアプリケーションのサーバールーティング エンジンに対して要求されたアクションを実行するには、引数を含 all_re: False める必要があります。

アプリケーションが接続されているデバイス ルーティング エンジン を除き、システム内のすべてのルーティング エンジンで要求されたアクションを実行するには、引数を含 other_re: True める必要があります。

VMホストの再起動方法

VMホストをサポートするルーティングエンジンを搭載したデバイスでは、Junos OS Vマシン(VMホスト)上で仮想マシン(VM)として動作します。と system モジュール juniper_junos_systemvmhost 、VMホストを再起動できる引数をサポートしています。との引数を指定すると、動作モード コマンドに対応する RPC を実行することで、すべてのルーティング エンジン上でホスト OS と互換 Junos OS が再起動 action: "reboot" vmhost: True <request-vmhost-reboot> request vmhost reboot されます。

次のプレイブックでは VM ホストの再起動を実行し、ホスト OS とゲスト デバイスの両方を再起動Junos OS。

例: Ansibleを使用してデバイスを再起動し、Junos OS

この system コレクション内の juniper.device モジュールを使用すると、デバイスで動作しているデバイスの停止、再起動、シャット ダウンJunos OS。この例では、モジュール system を使用して、デバイスで実行中のデバイスを再起動Junos OS。

要件

この例では、次のハードウェアとソフトウェアのコンポーネントを使用しています。

  • コレクションをインストールした状態で Ansible 2.10 以降が実行されている構成 juniper.device 管理サーバー

  • NETCONF Junos OSを実行しているデバイスと、適切な権限を持って設定されたユーザー アカウント

  • Ansibleコントロールノードおよび実行中のデバイスで、適切なユーザーに対して設定されたSSHパブリック/プライベートキーのペアJunos OS

  • 必要なホストが定義された既存の Ansible インベントリ ファイル

概要

この例では、モジュールを使用してデバイスを再起動する Ansible プレイ system ブックをJunos OS。モジュールの引数の値は action 、ホストで実行する操作を定義します。

プレイブックからモジュールを呼び出す場合は、インタラクティブ プロンプトを使用して、ユーザーが指定したデバイスを再起動することを確認することをお勧めします。ユーザーが意図せずプレイブックを実行し、チェックができないと、影響を受けるデバイスを必要とするネットワークに悪影響を与える可能性があります。対策として、このプレイブックではインタラクティブなプロンプトを使用して、ユーザーがデバイスを再起動する予定で、モジュールを実行するためにコマンドラインで「」と手動で入力する必要があることを確認 yes します。タスクに Confirmation check 障害が発生した場合、Ansible制御ノードは、そのデバイスの他のタスクをスキップします。

このプレイブックには、モジュールを使用してデフォルトの Checking NETCONF connectivity NETCONFポート830を使用して、Junos OSを実行するデバイスとのNETCONFセッションを確立しようとするタスクが含まれています wait_for 。プレイブックの実行中にコントロール ノードがデバイスとの NETCONF セッションを確立できない場合、そのデバイスのプレイ中の残りのタスクはスキップします。

確認と NETCONF チェックが正常に完了すると、デバイスを再起動するタスクはモジュール system を実行します。引数 action は、 値に設定されています。これは、ソフトウェアを再起動 "reboot" する必要があります。引数は、モジュールに、指定された数分間待機してから再起動コマンド in_min: 2 を実行するよう指示します。これにより、すべてのユーザーがシステムからログアウトする時間が提供されます。

このタスクは、モジュールの結果を変数に格納 result し、2 つのハンドラーに通知します。ハンドラーは、再起動操作が開始された後に指定した時間待機し、ハンドラーが再起動が行う前にデバイスがオンラインになされているのをハンドラーが誤って検知するのを pause_for_reboot wait_reboot 防ぐ。次に、ハンドラーはデバイスとのセッションを確立して、再起動後にデバイスがオンライン wait_reboot に戻ってくるか確認します。この変数は、コントロール ノードがデバイスとの再接続を試みる時間 wait_time_after_reboot の長さを定義します。

構成

Ansible Playbook の作成と実行

手順

モジュールを使用して仮想ネットワークを実行しているデバイス system を再起動するプレイブックを作成するには、次のJunos OS。

  1. プレイブックのプレートと、モジュールをローカルで実行するこのプレイを含めます。

  2. 必要な変数を定義またはインポートします。

  3. ユーザーがモジュールを誤って実行しないようにするインタラクティブなプロンプトを作成します。影響を最初に理解する必要があります。

  4. ユーザーの意図を確認するタスクを作成します。

  5. (オプション)NETCONF 接続を検証するタスクを作成します。

  6. 指定した数分後にデバイスを再起動し、ハンドラーに通知するタスクを作成します。

  7. (オプション)レスポンスを印刷するタスクを作成します。

  8. 再起動後に一時停止するハンドラーと、再起動後にデバイスがオンラインに戻ってくるか確認するハンドラーを作成します。

    ハンドラーの名前は、再起動タスクで参照されるハンドラーの名前と同じ名前にする必要があります。

結果

Ansible Control Node で、完了したプレイブックを確認します。プレイブックに意図したコードが表示されない場合は、この例の手順を繰り返してプレイブックを修正します。

プレイブックの実行

手順

手順

プレイブックを実行するには、以下の通りを実行します。

  • 制御ノード ansible-playbook で コマンドを発行し、プレイブックパスと必要なオプションを提供します。

検証

再起動の検証

目的

実行中のデバイスが正常にJunos OSされたことを検証します。

アクション

プレイブックを実行する際には、各デバイスの wait_reboot タスクの出力を確認します。

意味

その結果は、コントロール ノードがデバイスの再起動後にデバイスとのセッションを正常に確立 wait_reboot したかどうかを示します。結果が成功したと示された場合、デバイスはオンラインになります。

リリース履歴テーブル
リリース
説明
2.0.0
ジュニパー.junos リリース 2.0.0 より、juniper_junos_system モジュールは、junos_shutdown および junos_zeroize モジュールの機能を置き換える機能です。