Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Beispiel: Ändern der Konfiguration mithilfe von SLAX- und XSLT-Op-Skripten

In diesem Beispiel wird erläutert, wie Sie mithilfe eines SLAX-Op-Skripts strukturierte Änderungen an der Junos OS-Konfiguration vornehmen.

Gerätekonfiguration

Schritt-für-Schritt-Anleitung

So laden Sie das Skript herunter, aktivieren es und testen es:

  1. Kopieren Sie das Skript in eine Textdatei, nennen Sie die Datei config-change.slax, und kopieren Sie sie in das Verzeichnis /var/db/scripts/op/ auf dem Gerät.

  2. Konfigurieren Sie im Konfigurationsmodus den Dateinamen des Skripts auf Hierarchieebene [edit system scripts op file] .

  3. Geben Sie den Befehl ein, um die Konfiguration zu bestätigen und in den commit and-quit Betriebsmodus zurückzukehren.

  4. Geben Sie vor dem Ausführen des Skripts den Befehl für den show interfaces interface-name Betriebsmodus aus, und notieren Sie sich den aktuellen Status der Schnittstelle, der vom Skript deaktiviert wird.

  5. Führen Sie das op-Skript aus.

Anforderungen

In diesem Beispiel wird ein Gerät verwendet, auf dem Junos OS ausgeführt wird.

Übersicht und Op-Skript

SLAX- und XSLT-Op-Skripte können mithilfe der jcs:load-configuration Vorlage in der Importdatei junos.xsl strukturierte Änderungen an der Junos OS-Konfiguration vornehmen. In diesem Beispiel wird ein SLAX op-Skript erstellt, das die Vorlage verwendet, um eine Schnittstelle auf einem Gerät zu deaktivieren, auf jcs:load-configuration dem Junos OS ausgeführt wird. Alle für die jcs:load-configuration Vorlage erforderlichen Werte werden als Variablen definiert, die dann an die Vorlage übergeben werden.

In diesem Beispiel wird die Variable usage mit einer allgemeinen Beschreibung der Funktion des Skripts initialisiert. Wenn Sie das Skript ausführen, ruft es die jcs:output() Funktion auf, um die Verwendungsbeschreibung in der CLI auszugeben. Auf diese Weise können Sie überprüfen, ob Sie das Skript für den richtigen Zweck verwenden.

Das Skript ruft die jcs:get-input() Funktion auf, die zur Deaktivierung des Namens der Schnittstelle auffordert, und speichert den Schnittstellennamen in der interface Variablen. Die config-changes Variable speichert die Junos XML-Konfigurationsdaten, die auf dem Gerät geladen werden sollen, und verweist auf die interface Variable. Der jcs:load-configuration Vorlagenaufruf legt den Wert des configuration Parameters auf die in der config-changes Variablen gespeicherten Daten fest.

Die load-action Variable wird auf mergegesetzt, wodurch die neuen Konfigurationsdaten mit der Kandidatenkonfiguration zusammengeführt werden. Dies ist das Äquivalent zum Befehl load mergeCLI configuration mode .

Die options Variable definiert die Optionen für den Commit-Vorgang. Mit dem Operator wird eine := Knotenmenge erstellt, die als Wert des commit-options Parameters an die Vorlage übergeben wird. Dieses Beispiel enthält das log Tag, um die Beschreibung des Commits zum Commit-Protokoll hinzuzufügen, damit Sie später darauf zurückgreifen können.

Der Aufruf der jcs:open() Funktion öffnet eine Verbindung mit dem Junos OS Management Process (mgd) auf dem lokalen Gerät und gibt ein Verbindungshandle zurück, das in der conn Variablen gespeichert ist. Das Skript ruft dann die jcs:load-configuration Vorlage auf.

Der := Operator kopiert die Ergebnisse des jcs:load-configuration Vorlagenaufrufs in eine temporäre Variable und führt die node-set Funktion für diese Variable aus. Die resultierende Knotenmenge wird dann in der results Variablen gespeichert. Der := Operator stellt sicher, dass es sich bei der results Variablen um eine Knotenmenge und nicht um ein Ergebnisstrukturfragment handelt, damit das Skript auf den Inhalt zugreifen kann.

Die jcs:close() Funktion schließt die Verbindung zum Gerät. Standardmäßig gibt die jcs:load-configuration Vorlage keine Meldungen an die CLI aus. In diesem Beispiel wird in der Antwort nach Meldungen xnm:error gesucht und gedrucktxmn:warning, um Probleme mit dem Commit schnell zu identifizieren.

SLAX-Syntax

Verifizierung

Überprüfen des Commits

Zweck

Vergewissern Sie sich, dass der Commit erfolgreich war.

Aktion

Sie sollten Code in Ihr Skript einfügen, der die von der jcs:load-configuration Vorlage zurückgegebene Knotengruppe auf Fehler oder Warnungen analysiert. Auf diese Weise können Sie leichter feststellen, ob der Commit erfolgreich war. Wenn keine Warn- oder Fehlermeldungen vorhanden sind, können Sie den Erfolg des Commits auf verschiedene Weise überprüfen.

  • Überprüfen Sie das Commit-Protokoll, um sicherzustellen, dass der Commit erfolgreich war. Wenn Sie die log Option in den commit-options Parameter aufgenommen haben, sollte die Nachricht zusammen mit den Commit-Informationen im Commit-Protokoll sichtbar sein.

  • Überprüfen Sie die Syslog-Meldungsdatei, um sicherzustellen, dass der Commit-Vorgang protokolliert wurde. In diesem Fall sehen Sie auch eine SNMP_TRAP_LINK_DOWN Meldung für die deaktivierte Schnittstelle so-0/0/0. Abhängig von Ihren Konfigurationseinstellungen für Ablaufverfolgungsoptionen wird diese Meldung möglicherweise in Ihrer Protokolldatei angezeigt oder nicht.

Überprüfen der Konfigurationsänderungen

Zweck

Stellen Sie sicher, dass die richtigen Änderungen in die Konfiguration integriert sind.

Aktion

  • Zeigen Sie die Konfiguration an, und stellen Sie sicher, dass die Änderungen für die angegebene Schnittstelle sichtbar sind.

  • In diesem Beispiel können Sie auch den show interfaces interface-name Befehl Betriebsmodus ausführen, um zu überprüfen, ob die Schnittstelle deaktiviert wurde. In diesem Fall zeigt die Ausgabe, die vor dem Deaktivieren der Schnittstelle erfasst wurde, dass die Schnittstelle Enabled.

    Die Ausgabe, die nach dem Ausführen des Skripts zum Deaktivieren der Schnittstelle erfasst wird, zeigt, dass die Schnittstelle jetzt Administratively down.