Vergleichen Sie die Aktive oder Kandidatenkonfiguration mit einer vorherigen Version mithilfe des Junos XML-Protokolls
In der Junos OS CLI verwenden Sie den compare
Befehl, um die aktive oder Kandidatenkonfiguration mit einer zuvor zugesagten Konfiguration zu vergleichen und die Unterschiede anzuzeigen. Sie können die Vergleichskonfiguration angeben, indem Sie auf den Konfigurations-Revisions-Identifier oder seine Rollback-Nummer verweisen.
Im Betriebsmodus können Sie beispielsweise die aktive Konfiguration mit einer zuvor zugesagten Konfiguration vergleichen, indem Sie die folgenden Befehle verwenden:
show configuration | compare revision revision-id
show configuration | compare rollback rollback-number
In ähnlicher Weise können Sie im Konfigurationsmodus die Kandidatenkonfiguration mit einer zuvor zugesagten Konfiguration vergleichen, indem Sie die folgenden Befehle verwenden:
show | compare revision revision-id
show | compare rollback rollback-number
In einer Junos XML-Protokollsitzung mit einem Gerät, auf dem Junos OS ausgeführt wird, um zu verlangen, dass der Server die Unterschiede zwischen der aktiven oder der Kandidatenkonfiguration und einer zuvor zugesagten Konfiguration (die Vergleichskonfiguration) anzeigt, verwendet eine Clientanwendung den Vorgang mit dem <get-configuration>
compare
Attribut. Das compare
Attribut akzeptiert die folgenden Werte, die die Methode angeben, mit der die Vergleichskonfiguration referenziert wird:
configuration-revision
– Referenz der Vergleichskonfiguration anhand der konfigurations revisionsbezeichnerden Zeichenfolge, die Sie imconfiguration-revision="revision-id"
Attribut definieren.rollback
— Referenz der Vergleichskonfiguration anhand des Rollback-Index, denrollback="rollback-number"
Sie im Attribut definieren.
Das compare
Attribut kann mit dem database
Attribut kombiniert werden, um anzugeben, ob die Kandidatenkonfiguration oder die aktive Konfiguration mit der zuvor zugesagten Konfiguration verglichen wird. Um die aktive Konfiguration zu vergleichen, geben Sie an database="committed"
. Um die Kandidatenkonfiguration zu vergleichen, geben Sie das Attribut an database="candidate"
oder unterlassen Sie es database
.
Sie definieren die Vergleichskonfiguration, indem Sie das oder rollback
das configuration-revision
Attribut definieren und den entsprechenden Konfigurations-Revisions-Identifier oder Rollback-Index angeben. Wenn Sie das compare
Attribut angeben, aber entweder das entsprechende oder rollback
das entsprechende configuration-revision
Attribut auslassen oder eine ungültige Konfigurationsversionskennung angeben, verwendet der Server die aktive Konfiguration als Vergleichskonfiguration. Die aktive Konfiguration entspricht Rollback-Nummer 0.
Wenn Sie beispielsweise die Kandidatenkonfiguration mit der Konfiguration vergleichen möchten, die über die angegebene Konfigurationsrevisionskennung verfügt, verwenden Sie die folgende Syntax:
<rpc> <get-configuration compare="configuration-revision" configuration-revision="revision-id" format="text"> <!-- optional - configuration elements to compare --> </get-configuration> </rpc>
Verwenden Sie in ähnlicher Weise die folgende Syntax, um die Kandidatenkonfiguration mit der Konfiguration mit dem angegebenen Rollback-Index zu vergleichen:
<rpc> <get-configuration compare="rollback" rollback="[0-49]" format="text"> <!-- optional - configuration elements to compare --> </get-configuration> </rpc>
Um die aktive Konfiguration mit einer vorherigen Konfiguration zu vergleichen, fügen Sie das database="committed"
Attribut ein. Zum Beispiel:
<rpc> <get-configuration database="committed" compare="configuration-revision" configuration-revision="re0-1605138555-328"/> </rpc>
Sie können auch den Umfang des Vergleichs angeben. Sie können die vollständige Konfiguration vergleichen oder einen Teil der Konfiguration vergleichen. Um eine Teilmenge der Konfiguration zu vergleichen, definieren Sie einen Unterbaumfilter, der die zu vergleichenden Elemente auswählt, wie im folgenden Beispiel dargestellt:
<rpc> <get-configuration compare="configuration-revision" configuration-revision="re0-1605288042-335"> <configuration> <system> <scripts/> </system> </configuration> </get-configuration> </rpc>
Wenn Sie die Kandidatenkonfiguration mit der aktiven Konfiguration vergleichen, gibt der Vorgang die compare
XML-Ausgabe zurück. Für alle anderen Vergleiche gibt er die Ausgabe im Patchformat als Text zurück. Die Textausgabe ist in der <configuration-information>
Und-Tags <configuration-output>
eingeschlossen. Die Ausgabe verwendet die folgenden Konventionen, um die Unterschiede zwischen den Konfigurationen festzulegen:
Anweisungen, die sich nur in der aktiven Oder Kandidatenkonfiguration befinden, werden mit einem Pluszeichen (+) vorangestellt.
Anweisungen, die sich nur in der Vergleichsdatei befinden, werden mit einem Minuszeichen (–) vorangestellt.
Anweisungen, die nicht geändert werden, werden mit einem einzigen Leerfeld ( ) vorangestellt.
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/20.4R1/junos"> <configuration-information> <configuration-output> [edit system scripts op] - file bgp-summary.py; + file bgp-neighbors.py; </configuration-output> </configuration-information> </rpc-reply>
Wenn Sie die Kandidatenkonfiguration mit der aktiven Konfiguration vergleichen, können Sie die Unterschiede im Text-, XML- oder JSON-Format anzeigen, indem Sie den entsprechenden Wert für das format
Attribut in der Anfrage einblenden. Sie können die Unterschiede im XML-Format ab Junos OS Version 15.1R1 anzeigen und die Unterschiede im JSON-Format ab Junos OS Version 16.1R1 anzeigen.
<rpc> <get-configuration compare="rollback" rollback="0" format="xml"/> </rpc> <rpc-reply xmlns:junos="http://xml.juniper.net/junos/16.1R1/junos"> <configuration> <system> <scripts operation="create"> <op> <file> <name>bgp.slax</name> </file> </op> </scripts> </system> </configuration> </rpc-reply>
<rpc> <get-configuration compare="rollback" rollback="0" format="json"/> </rpc> <rpc-reply xmlns:junos="http://xml.juniper.net/junos/16.1R1/junos"> <configuration-information> <json-output> { "configuration" : { "system" : { "scripts" : { "@" : { "operation" : "create" }, "op" : { "file" : [ { "name" : "bgp.slax" } ] } } } } } </json-output> </configuration-information> </rpc-reply>
Wenn Sie den Kandidaten und die aktiven Konfigurationen vergleichen und die Unterschiede im XML- oder JSON-Format anzeigen, wird ab Junos OS Version 16.2R2 das Tag in der XML-Ausgabe ausgelassen <configuration>
und das configuration
Objekt in der JSON-Ausgabe ausgelassen, wenn der Vergleich entweder keine Unterschiede zurückgibt oder wenn der Vergleich Unterschiede für nur nicht native Konfigurationsdaten zurückgibt, beispielsweise Konfigurationsdaten, die mit einem OpenConfig-Datenmodell verknüpft sind.