Commit und Anzeige von Konfigurationsdaten für nicht-ative YANG-Module
Sie können standardisierte oder benutzerdefinierte YANG-Module auf Geräte mit Junos OS laden, um Datenmodelle hinzuzufügen, die nicht nativ von Junos OS, aber durch Übersetzung unterstützt werden können. Wenn Sie die Konfigurationshierarchie um neue Datenmodelle erweitern, müssen Sie außerdem ein oder mehrere Übersetzungsskripte angeben, die die Übersetzungslogik bereitstellen, um die nichtnative Konfigurationssyntax dem Junos OS zuzuordnen. Übersetzungsskripte sind standardmäßig aktiviert, sobald Sie den Befehl zum Hinzufügen des request system yang add
request system yang update
Geräts ausstellen.
Sie konfigurieren nicht-ative Datenmodelle in der Kandidatenkonfiguration mithilfe der für diese Modelle definierten Syntax. Wenn Sie Anweisungen konfigurieren, die den YANG-Datenmodellen von Drittanbietern entsprechen, z. B. OpenConfig oder benutzerdefinierten YANG-Datenmodellen, werden die folgenden Funktionen nicht unterstützt:
Verwendung
configure batch
oderconfigure private
ModusKonfigurieren von Anweisungen in der
[edit groups]
Hierarchie
Wenn Sie die Konfiguration festlegen, übersetzen die Übersetzungsskripte die Daten für diese Modelle und übernehmen die entsprechende Junos OS-Konfiguration als vorübergehende Änderung in der Checkout-Konfiguration.
Ab Junos OS Version 16.1R2 sind XPath-Ausdrucksauswertungen für die folgenden YANG-Schlüsselwörter während Commit-Operationen standardmäßig deaktiviert: leafref
, must
und when
. Vor Junos OS Version 16.1R2 bewertet Junos OS die Einschränkungen für diese Schlüsselwörter, was zu längeren Commit-Zeiten führen kann.
Die Kandidaten- und aktiven Konfigurationen enthalten die Konfigurationsdaten für nicht-invasive YANG-Datenmodelle in der von diesen Modellen definierten Syntax. Da die übersetzten Konfigurationsdaten jedoch als vorübergehende Änderung übertragen werden, werden die übersetzten Daten in den Kandidaten- und aktiven Konfigurationen nicht explizit in der Junos OS-Syntax angezeigt, wenn Sie die Konfiguration mithilfe von Befehlen wie show
oder show configuration
.
Sie können die übersetzten Daten in der Junos OS-Syntax in der Kandidaten- oder aktiven Konfiguration explizit anzeigen, indem Sie den | display translation-scripts
Filter im Konfigurationsmodus an den show
Befehl im Konfigurationsmodus oder den show configuration
Befehl im Betriebsmodus anhängen. Die Anwendung des Filters zeigt die Konfiguration nach der Vererbung mit den übersetzten Konfigurationsdaten aus allen aktivierten Übersetzungsskripten an.
Sie können den | display translation-scripts
Filter nur auf die vollständige Junos OS-Konfiguration anwenden. Unterabschnitte der Konfigurationshierarchie können nicht gefiltert werden.
Führen Sie im Betriebsmodus den folgenden Befehl aus, um die festgelegte Konfiguration mit angewendeten Übersetzungsskripten anzuzeigen:
user@host> show configuration | display translation-scripts
Ebenso führen Sie im Konfigurationsmodus den folgenden Befehl aus, um die Kandidatenkonfiguration mit angewendeten Übersetzungsskripten anzuzeigen:
[edit] user@host# show | display translation-scripts
Die Ausgabe, die in diesem Beispiel abgeschnitten wird, zeigt die vollständige Konfiguration nach der Vererbung an und umfasst die nicht-invasiven Konfigurationsdaten sowie die Übersetzung dieser Daten.
## Last changed: 2016-05-13 16:37:42 PDT version "16.1R1; system { host-name host; domain-name example.com; ... /* Translated data */ scripts { op { file test.slax; } } ... } ... /* Nonnative configuration data */ myconfig:myscript { op { filename test.slax; } }
Alternativ können Sie nur die übersetzten Teile der Hierarchie anzeigen, die nichtnativen YANG-Datenmodellen entsprechen, indem Sie das translated-config
Schlüsselwort an den | display translation-scripts
Filter anhängen. Im Betriebsmodus gibt das translated-config
Schlüsselwort die übersetzten Daten für nicht-invasive YANG-Datenmodelle zurück, die in der gebundenen Konfiguration vorhanden sind. Im Konfigurationsmodus gibt das translated-config
Schlüsselwort die übersetzten Daten für nicht-invasive YANG-Datenmodelle in der Kandidatenkonfiguration zurück, die sowohl festgelegte als auch nicht festgeschriebene Konfigurationsdaten enthält.
user@host> show | display translation-scripts translated-config
system { scripts { op { file test.slax; } } }
Die Kandidatenkonfiguration spiegelt die Konfigurationsdaten wider, die auf dem Gerät konfiguriert, aber nicht unbedingt festgelegt wurden. Um nur die Konfigurationsunterschiede in den Hierarchien anzuzeigen, die nichtnativen YANG-Datenmodellen entsprechen, bevor oder nachdem Übersetzungsskripte angewendet werden, hängen Sie das Schlüsselwort bzwtranslated-delta
. das Schlüsselwort an den Befehl an, um nur die configured-delta
Konfigurationsunterschiede in den Hierarchien anzuzeigen, die nicht-invasiven YANG-Datenmodelle entsprechen, bevor oder nach der Anwendung von show | display translation-scripts
Übersetzungsskripten. In beiden Fällen zeigt die XML-Ausgabe die gelöschten Konfigurationsdaten an, gefolgt von den neuen Konfigurationsdaten.
Um z. B. die nicht gebundenen Konfigurationsänderungen für die nichtnativen Datenmodelle in der von diesen Datenmodellen definierten Syntax anzuzeigen, geben Sie den show | display translation-scripts configured-delta
Befehl im Konfigurationsmodus aus.
[edit] user@host# show | display translation-scripts configured-delta
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/16.1R1/junos"> <configuration operation="delete"> </configuration> <configuration operation="create"> <myscript xmlns="http://jnpr.net/yang/myscript" operation="create"> <op> <filename>test2.slax</filename> </op> </myscript> </configuration> <cli> <banner>[edit]</banner> </cli> </rpc-reply>
Geben Sie den Befehl im Konfigurationsmodus aus, um die nichtmittativen Datenmodelle nach der Übersetzung in die Junos OS-Syntax anzuzeigen. show | display translation-scripts translated-delta
Zum Beispiel:
[edit] user@host# show | display translation-scripts translated-delta
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/R1/junos"> <configuration xmlns:junos="http://xml.juniper.net/junos/*/junos"> <system> <scripts> <op> <file> <name>test2.slax</name> </file> </op> </scripts> </system> </configuration> <!-- EOF --> <cli> <banner>[edit]</banner> </cli> </rpc-reply>
Im Konfigurationsmodus können Sie die transienten Änderungen besser verstehen, die für die nichtnativen Datenmodelle vorgenommen werden, indem Sie die verschiedenen Filter verwenden. Um alle Junos OS-Anweisungen zu überprüfen, die während des commit
Vorgangs von Übersetzungsskripten als vorübergehende Änderungen vorgenommen werden, geben Sie den show | display translation-scripts translated-config
Befehl aus, bevor Sie die Kandidatenkonfiguration festlegen. Geben Sie den Befehl aus, um die Junos OS-Anweisungen zu überprüfen, show | display translation-scripts translated-delta
die nur für die geänderten Konfigurationsdaten festgelegt werden. Wenn Sie Übersetzungsskripte für ein Paket deaktivieren, enthält die Ausgabe für diese Befehle nicht die entsprechende Junos OS-Konfiguration für die Datenmodelle, für die die Übersetzung deaktiviert wurde.
Auch wenn in der aktiven Konfiguration möglicherweise nicht-invasive Konfigurationsdaten übertragen werden, wird nicht garantiert, dass die entsprechende übersetzte Konfiguration auch als vorübergehende Änderung vorgenommen wird. Wenn Sie die Übersetzung deaktivieren und dann nichtnative Konfigurationsdaten festlegen, werden die nichtnativen Daten in der zugesagten Konfiguration vorhanden. Das Gerät nimmt die entsprechenden Junos OS-Konfigurationsanweisungen jedoch nicht als vorübergehende Änderungen während des Commit-Vorgangs für irgendwelche Aussagen in den Datenmodellen fest, die von diesem Paket hinzugefügt wurden, auch nicht für die Aussagen, die vor der Deaktivierung der Übersetzung festgelegt wurden.
Tabelle 1 fasst die verschiedenen Filter zusammen, die Sie auf die gebundenen konfigurationen und Kandidaten anwenden können, wenn diese Konfigurationsdaten enthalten, die nicht-invasiven YANG-Datenmodellen entsprechen. Die Tabelle gibt den CLI-Modus für jeden Filter sowie den Umfang und die Syntax der Ausgabe an. Wenn Sie verschiedene Filter auswählen, können Sie die gesamte Konfiguration, die übersetzten Teile der Konfiguration oder die nicht vorgeschriebenen Konfigurationsänderungen anzeigen und die Konfigurationsdaten sowohl vor als auch nach der Verarbeitung durch Übersetzungsskripte anzeigen. Im Konfigurationsmodus können Sie die Junos OS-Änderungen besser bestimmen, die für die nicht-invasiven Hierarchien festgelegt werden.
Filter |
Modus |
Beschreibung |
Syntax und Format der Ausgabe |
---|---|---|---|
|
Operative |
Geben Sie die vollständige, nach der Vererbung festgelegte Konfiguration zurück und fügen Sie die Übersetzung der nichtnativen Daten in die Junos OS-Syntax ein. |
YANG-Datenmodell und Junos OS-Syntax als ASCII-Text |
Konfiguration |
Geben Sie die vollständige Kandidatenkonfiguration nach der Vererbung zurück, und fügen Sie die Übersetzung der nichtnativen Daten in die Junos OS-Syntax ein. |
YANG-Datenmodell und Junos OS-Syntax als ASCII-Text |
|
|
Operative |
Geben Sie die übersetzten Daten zurück, die allen nichtnativen YANG-Datenmodellen in der gebundenen Konfiguration entsprechen. |
Junos OS ASCII-Text |
Konfiguration |
Geben Sie die übersetzten Daten zurück, die allen nichtnativen YANG-Datenmodellen in der Kandidatenkonfiguration entsprechen. |
Junos OS ASCII-Text |
|
|
Konfiguration |
Geben Sie die nicht festgeschriebenen Änderungen in der Kandidatenkonfiguration zurück, die nichtnativen YANG-Datenmodellen entsprechen, in der von diesem Modell definierten Syntax. |
YANG Datenmodell XML |
|
Konfiguration |
Geben Sie die nicht festgeschriebenen Änderungen in der Kandidatenkonfiguration zurück, die nichtnativen YANG-Datenmodellen entsprechen, nach der Übersetzung in die Junos OS-Syntax. |
Junos OS XML |
leafref
,
must
und
when
. Vor Junos OS Version 16.1R2 bewertet Junos OS die Einschränkungen für diese Schlüsselwörter, was zu längeren Commit-Zeiten führen kann.