Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Verwenden Sie Junos PyEZ, um die Konfiguration zu bestätigen

Mit Junos PyEZ können Sie strukturierte und unstrukturierte Konfigurationsänderungen auf Junos-Geräten vornehmen. Nachdem Sie eine Verbindung mit dem Gerät hergestellt und die Konfiguration geändert haben, müssen Sie die Konfiguration festlegen, um sie aktiv zu machen. In diesem Thema wird erläutert, wie Sie die Konfiguration festlegen und welche Commit-Optionen in Junos PyEZ-Anwendungen unterstützt werden.

So bestätigen Sie die Kandidatenkonfiguration

Wenn Sie das Junos PyEZ-Dienstprogramm jnpr.junos.utils.config.Config verwenden, um unstrukturierte Konfigurationsänderungen auf einem Gerät vorzunehmen, bestätigen Sie die Kandidatenkonfiguration, indem Sie die Config Instanzmethode commit() aufrufen. Zum Beispiel:

Um die Syntax der Konfiguration zu überprüfen, ohne sie zu verpflichten, rufen Sie die commit_check() Methode anstelle der commit() Methode auf.

Wenn Sie Junos PyEZ-Konfigurationstabellen und -Ansichten verwenden, um strukturierte Konfigurationsänderungen auf einem Gerät vorzunehmen, bestätigen Sie die Kandidatenkonfiguration, indem Sie entweder die set() Methode aufrufen, die automatisch die lock()Methoden und load()commit() unlock() Methoden aufruft, oder indem Sie die verschiedenen Methoden einzeln aufrufen. Zum Beispiel:

Ebenso können Sie die einzelnen Methoden aufrufen, wie im folgenden Beispiel:

Hinweis:

Wenn Sie ein Kontext-Manager verwenden, um das Objekt oder das Config Table-Objekt zu erstellen und das mode Argument auf private, exclusive, dynamic, oder ephemeralbatchfestlegen, rufen Sie nur die load() und commit() Methoden zur Konfiguration des Geräts auf. Der Kontext-Manager verarbeitet das Öffnen, Sperren und Schließen und Entsperren der Datenbank, sodass Aufrufe von lock(), unlock()oder set() Methoden in einem dieser Modi zu einer LockError-Ausnahme führen.

So legen Sie Commit-Optionen fest

Die Junos CLI bietet Optionen für den Commit-Vorgang, z. B. das Hinzufügen eines Commit-Kommentars oder die Synchronisierung der Konfiguration auf mehreren Routing-Engines. Junos PyEZ unterstützt viele derselben Commit-Optionen und einige zusätzliche Optionen, die Sie in Ihrer Junos PyEZ-Anwendung verwenden können, indem Sie die entsprechenden Argumente in die Liste der Methodenargumente oder set() - commit() argumente einschreiben. Tabelle 1 zeigt die unterstützten Commit-Optionen und den entsprechenden CLI-Befehl.

Tabelle 1: Von Junos PyEZ unterstützte Commit-Optionen

Argument "Commit-Option"

Beschreibung

CLI-Befehl

comment="comment"

Protokollieren Sie einen Kommentar für diesen Commit-Vorgang in der Systemprotokolldatei und im Commit-Verlauf des Geräts.

commit comment "comment"

confirm=(True | minutes)

Fordern Sie, dass ein Commit-Vorgang innerhalb einer bestimmten Zeit nach dem ersten Commit bestätigt wird. Andernfalls setzen Sie ein Rollback zur zuvor festgelegten Konfiguration ein.

Legen Sie das Argument so fest, dass True die Standardzeit von 10 Minuten verwendet wird.

commit confirmed <minutes>

detail=True

Geben Sie ein XML-Objekt mit detaillierten Informationen zum Commit-Prozess zurück.

commit | display detail | display xml

force_sync=True

Synchronisieren und bestätigen Sie die Konfiguration auf beiden Routing-Engines, selbst wenn es offene Konfigurationssitzungen oder nicht zweckgebundene Konfigurationsänderungen auf der anderen Routing-Engine gibt.

commit synchronize force

ignore_warning=True

ignore_warning="string"

ignore_warning=["string1", "string2"]

Ignorieren Sie Warnungen, die während des Commit-Vorgangs ausgelöst werden.

Legen Sie das Argument so fest, dass True alle Warnungen ignoriert werden, oder legen Sie das Argument auf eine Zeichenfolge oder eine Liste von Zeichenfolgen fest, die angeben, welche Warnungen ignoriert werden sollen.

sync=True

Synchronisierung und Commit der Konfiguration auf beiden Routing-Engines.

commit synchronize

timeout=seconds

Warten Sie auf den Abschluss des Vorgangs und verwenden Sie den angegebenen Wert als Timeout.

Commit-Kommentar

Wenn Sie die Konfiguration festlegen, können Sie einen kurzen Kommentar einfügen, um den Zweck der vorgenommenen Änderungen zu beschreiben. Um einen Kommentar zu protokollieren, der die Änderungen beschreibt, fügen Sie gegebenenfalls den comment Parameter und eine Nachrichtenzeichenfolge in die Argumentliste oder set() die Liste der commit() Methodenargumente ein. Zum Beispiel:

Das Einschreiben des comment Arguments entspricht der Ausgabe des commit comment Konfigurationsmodusbefehls in der CLI. Der Kommentar wird in der Systemprotokolldatei protokolliert und in den Commit-Verlauf des Geräts aufgenommen, den Sie durch Ausgabe des show system commit Befehls in der CLI anzeigen können.

Commit-Bestätigung

Wenn Sie verlangen möchten, dass ein Commit-Vorgang innerhalb einer bestimmten Zeit nach dem ersten Commit bestätigt wird, fügen Sie das confirm=minutes Argument gegebenenfalls in die Argumentliste oder set() die Liste der commit() Methodenargumente ein.

Wenn der Commit nicht innerhalb des vorgegebenen Zeitlimits bestätigt wird, setzt das Gerät automatisch einen Roll zur zuvor zugegesagten Konfiguration zurück und sendet eine Broadcast-Nachricht an alle angemeldeten Benutzer. Der zulässige Bereich beträgt 1 bis 65.535 Minuten. Sie können auch angeben, dass confirm=True die Standard-Rollbackzeit von 10 Minuten verwendet wird. Um den Commit-Vorgang zu bestätigen, rufen Sie entweder die commit() Oder-Methode commit_check() auf.

Der bestätigte Commit-Vorgang ist nützlich, um zu überprüfen, ob eine Konfigurationsänderung korrekt funktioniert, und verhindert den Verwaltungszugriff auf das Gerät nicht. Wenn die Änderung den Zugriff verhindert oder andere Fehler verursacht, ermöglicht das automatische Rollback zur vorherigen Konfiguration den Zugriff auf das Gerät nach Ablauf der Rollback-Frist. Wenn Sie die Verbindung zum Gerät verlieren, müssen Sie die Junos PyEZ-Methode open() ausstellen, um die Konnektivität wiederherzustellen.

Commit-Detail

Sie können die Details des gesamten Commit-Vorgangs überprüfen, indem Sie das detail=True Argument in die Liste der Methodenargumente oder set() -commit()argumente einschreiben. Wenn Sie dieses Argument einschließen, gibt die Methode ein XML-Objekt mit detaillierten Informationen über den Commit-Prozess zurück. Der Rückgabewert entspricht dem Inhalt, der vom Element in der <commit-results> Ausgabe des Befehls in der commit | display detail | display xml CLI umschlossen wird.

Commit-Synchronisierung

Wenn das Gerät über zwei Routing-Engines verfügt, können Sie die Konfiguration auf beiden Routing-Engines synchronisieren und festlegen, indem Sie das sync=True Argument in die Methoden-Argumentliste oder set() die Liste der commit() Methodenargumente einschreiben.

Wenn Sie das sync=True Argument einschließen, kopiert das Gerät die auf der lokalen Routing-Engine gespeicherte Kandidatenkonfiguration in die andere Routing-Engine, überprüft die syntaktische Korrektheit des Kandidaten und begeht es auf beiden Routing-Engines. Um den commit synchronize Erfolg des Vorgangs auch dann zu erzwingen, wenn es offene Konfigurationssitzungen oder nicht zweckgebundene Konfigurationsänderungen auf der anderen Routing-Engine gibt, verwenden Sie das force_sync=True Argument, das das Gerät veranlasst, alle Konfigurationssitzungen auf der anderen Routing-Engine zu beenden, bevor Sie die Konfiguration synchronisieren und festlegen.

Commit- und Commit-Check-Timeout

Die Standardzeit für ein RPC-Time out beträgt 30 Sekunden. Große Konfigurationsänderungen können diesen Wert überschreiten, was dazu führt, dass ein Commit- oder Commit-Überprüfungsvorgang ein Time out ist, bevor die Konfiguration hochgeladen, geprüft und übertragen werden kann. Um Konfigurationsänderungen zu berücksichtigen, die eine Commit-Prüfung oder Commit-Zeit erfordern, die länger als das Standard-Timeout-Intervall ist, fügen Sie das timeout=seconds Argument in die Argumentliste oder set() die commit_check()commit() Argumentliste der Methode ein, und legen Sie das Timeout-Intervall auf einen entsprechenden Wert fest. Zum Beispiel:

Warnungen ignorieren

Junos PyEZ löst eine Ausnahme aus RpcError , wenn die RPC-Antwort Elemente mit einem Warnungsschwere oder höher enthält <rpc-error> . In Fällen, in denen es notwendig oder wünschenswert ist, die Ausnahmen, die RpcError als Reaktion auf Warnungen ausgelöst werden, zu unterdrücken, können Sie den Parameter der commit() ignore_warning Methode angeben. Zum Beispiel:

Weitere Informationen zur Verwendung des Parameters finden Sie unter Unterdrücken von RpcError-Ausnahmen für Warnungen in Junos PyEZ-Anwendungen.ignore_warning