プロビジョニング 【OP-Addon】

プロビジョニングエージェントは、初期プロビジョニングやICE Coreの起動停止時などに任意の操作を実行する機能を提供します。

overview

初回起動時や、ICE Coreの起動/停止時など、特定のイベント発生時に任意の処理を実行するためのエージェントです。

ICE Coreの起動、停止、再起動や、初期プロビジョニング向けのジョブをサンプルとして提供します。

機能一覧

プロビジョニングエージェントの主な機能を以下に列挙します。

  • ジョブ実行機能

特定のイベントをトリガとして、任意の処理を実行する事が出来ます。

機能詳細

ジョブ実行機能

ジョブ実行機能は、ジョブ、タスク、トリガの3つの要素からなります。

ジョブ

1つ以上のタスクで構成された1連の処理

タスク

コマンドやスクリプトを実行する最小単位

トリガ

ジョブを実行する契機として設定可能なイベント

トリガとして、下記のイベントを設定可能です。

  • プロビジョニングエージェントの初回起動時
  • ICE Core起動時
  • ICE Core停止時
  • ICE Core起動失敗時
  • ICE Core停止失敗時

トリガごとに実行したい処理をジョブとして登録します。1つのトリガに複数のジョブを登録することができます。

トリガイベントが発生した際のジョブ・タスクの実行順序は下記の通りです。

order

ジョブ・タスクは下記のルールに従って処理されます。

  • ジョブはpriorityの値に従って昇順に実行される
  • 同じpriorityのジョブは並列に実行される
  • あるpriorityのジョブが全て完了すると、次のpriorityに処理が移る
  • タスクはジョブに定義された順に上から処理する
  • ジョブを構成するタスクの処理が全て完了もしくは中断した時点で、そのジョブは完了となる
  • ジョブの中でタスクが並列に実行されたり順序が入れ替わることは無い
  • タスク実行に失敗した場合(リターンコードが0以外)、ジョブの処理を中断する(設定で変更可能)
  • 処理中断したジョブがあっても、他のジョブや次のpriorityの実行は継続する
  • あるトリガイベントの処理中に別のトリガイベントが発生した場合、処理中のトリガイベントのジョブが全て完了してから次のトリガイベントの処理に移る

詳細な設定方法等は、プロビジョニングエージェントに関連する設定を参照してください。

サンプルジョブ

provisioning.json

初回起動時に初期プロビジョニングを実行するためのジョブです。 下記のような処理を行います。

  • 製造番号等のユニークな情報からedge_idを生成
  • Secureware連携して証明書類を配置
  • 取得した設定ファイル、証明書等をICE Coreに適用

start_ice.json

ICE Coreを起動するジョブです。

stop_ice.json

ICE Coreを停止するジョブです。

restart_ice.json

ICE Coreを再起動するジョブです。