Sun Cluster Entwicklerhandbuch Datendienste für Solaris OS

Überblick über Validate

RGM ruft Validate mit zusätzlichen Argumenten zu denjenigen auf, die von anderen Methoden übergeben wurden, einschließlich der aktualisierten Eigenschaften und Werte. Daher muss diese Methode im Beispieldatendienst eine andere parse_args()-Funktion implementieren, um die zusätzlichen Argumente zu bearbeiten.

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 läuft, wird die Confdir-Eigenschaft in der RTR-Datei als TUNABLE = AT_CREATION deklariert. Daher wird die Validate-Methode nie aufgerufen, um die Confdir-Eigenschaft nach einer Aktualisierung zu überprüfen, sondern nur bei Erstellung der Datendienstressource.


Wenn Confdir eine der Eigenschaften ist, die RGM an Validate übergibt, ruft die parse_args()-Funktion deren Wert ab und speichert ihn. Validate überprüft daraufhin, ob auf das Verzeichnis, auf das der neue Wert von Confdir zeigt, zugegriffen werden kann, und ob die named.conf-Datei in diesem Verzeichnis vorhanden ist und Daten enthält.

Wenn die parse_args()-Funktion den Wert von Confdir nicht aus den von RGM übergebenen Befehlszeilenargumenten abrufen kann, versucht Validate dennoch, die Confdir-Eigenschaft zu validieren. Validate verwendet scha_resource_get(), um den Wert von Confdir aus der statischen Konfiguration abzurufen. Dann führt die Funktion die gleichen Prüfungen aus, um zu überprüfen, ob auf das Konfigurationsverzeichnis zugegriffen werden kann und keine leere named.conf-Datei enthält.

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