Sun Cluster 資料服務開發者指南 (適用於 Solaris 作業系統)

Validate 概觀

RGM 藉由傳送至其他方法的引數以及其他引數 (包括正在更新的屬性與值),來呼叫 Validate。 因此,資料服務範例中的此方法必須實施一個不同的函式 parse_args(),以處理其他引數。

資料服務範例中的 Validate 方法確認單一屬性 (Confdir 延伸屬性)。 此屬性指向 DNS 配置目錄,該目錄對於 DNS 的成功作業非常重要。


註解 –

由於配置目錄在執行 DNS 時無法變更,因此 Confdir 屬性在 RTR 檔案中被宣告為 TUNABLE = AT_CREATION。 因此,從不會由於更新而呼叫 Validate 方法以確認 Confdir 屬性,而是僅當建立資料服務資源時才呼叫該方法。


如果 Confdir 是 RGM 傳送至 Validate 的屬性之一,parse_args() 函式將擷取並儲存其值。 然後 Validate 將確認由 Confdir 的新值指向的目錄是可存取的,並確認該目錄中存在 named.conf 檔案且包含一些資料。

如果 parse_args() 函式無法從 RGM 傳送的指令行引數擷取 Confdir 的值,Validate 仍將嘗試驗證 Confdir 屬性。 Validate 使用 scha_resource_get () 來從靜態配置獲取 Confdir 的值。 然後,它將執行相同的檢查,以確認配置目錄是可存取的,並包含非空的 named.conf 檔案。

如果 Validate 以失敗狀態退出,則所有屬性 (而非僅僅 Confdir) 的更新或建立都將失敗。