Sun Cluster データサービス開発ガイド (Solaris OS 版)

xfnts_validate メソッド

リソースが作成されたとき、および、リソースまたは(リソースを含む) グループのプロパティーがクラスタ管理者によって更新されたとき、RGM は Validate メソッドを呼び出します。RGM は、作成または更新が行われる前に Validate メソッドを呼び出します。任意のノード上でメソッドから失敗の終了コードが戻ってくると、作成または更新は取り消されます。

RGM が Validate を呼び出すのは、クラスタ管理者がリソースまたはリソースグループのプロパティーを変更したときや、モニターが StatusStatus_msg リソースプロパティーを設定したときだけです。RGM がプロパティーを設定する場合、RGM は Validate を呼び出しません。


注 –

PROBE メソッドがデータサービスを新しいノードにフェイルオーバーしようとする際には常に、Monitor_check メソッドは Validate メソッドを明示的に呼び出します。


RGM は、ほかのメソッドに渡す引数以外にも、引数を追加して Validate メソッドを呼び出します。この追加引数には、更新されるプロパティーと値が含まれます。xfnts_validate の開始時に実行される scds_initialize() の呼び出しにより、RGM が xfnts_validate に渡したすべての引数が解析され、その情報が scds_handle 引数に格納されます。この情報は、xfnts_validate が呼び出すサブルーチンによって使用されます。

xfnts_validate メソッドは svc_validate() を呼び出して、次のことを検証します。

次に示すように、svc_validate() は戻る前に、割り当てられているすべてのリソースを解放します。

finished:
   scds_free_net_list(snrlp);
   scds_free_port_list(portlist);

   return (rc); /* return result of validation */

注 –

xfnts_validate メソッドは終了する前に scds_close() を呼び出して、scds_initialize() が割り当てたリソースを再利用します。詳細は、scds_initialize() 関数」と、scds_close(3HA)のマニュアルページを参照してください。