Sun Cluster Entwicklerhandbuch Datendienste für Solaris OS

Funktionsweise der Validate-Methode

RGM ruft Validate mit zusätzlichen Argumenten zu denjenigen auf, die an andere Methoden übergeben werden, einschließlich der Eigenschaften und Werte, die aktualisiert werden. Deshalb muss diese Methode des Beispieldatendienstes eine andere parse_args()-Funktion zum Verarbeiten von zusätzlichen Argumenten implementieren.

Die Validate-Methode im Beispieldatendienst überprüft eine einzige Eigenschaft, die Confdir-Erweiterungseigenschaft. Diese Eigenschaft zeigt auf das DNS-Konfigurationsverzeichnis, das für einen erfolgreichen DNS-Betrieb entscheidend ist.


Hinweis –

Da das Konfigurationsverzeichnis nicht geändert werden kann, während DNS ausgeführt wird, wird die Confdir-Eigenschaft in der RTR-Datei als TUNABLE = AT_CREATION deklariert. Deshalb wird die Validate-Methode niemals aufgerufen, um die Confdir-Eigenschaft als Ergebnis eines Updates zu prüfen, sondern nur bei Erstellung der Datendienstressource.


Wenn Confdir eine der Eigenschaften darstellt, die von RGM an Validate übergeben werden, ruft die parse_args()-Funktion ihren Wert ab und speichert ihn. Validate prüft, ob auf das Verzeichnis, auf das mit dem neuen Wert von Confdir verwiesen wird, zugegriffen werden kann und ob die Datei named.conf in diesem Verzeichnis existiert und Daten enthält.

Wenn die parse_args()-Funktion den Wert von Confdir nicht von den Befehlszeilenargumenten abrufen kann, die von RGM übergeben werden, versucht Validate weiterhin, die Confdir-Eigenschaft zu validieren. Validate verwendet scha_resource_get(), um den Wert von Confdir aus der statischen Konfiguration abzurufen. Validate führt dieselben Prüfungen aus, um zu prüfen, ob auf das Konfigurationsverzeichnis zugegriffen werden kann und ob es die Datei named.conf enthält, die nicht leer ist.

Wenn Validate mit Fehlschlag beendet wird, schlägt die Aktualisierung bzw. Erstellung aller Eigenschaften fehl, nicht nur diejenige von Confdir.