Compare Two Previous (Rollback) Configurations Using the Junos XML Protocol
In a Junos XML protocol session with a device running Junos
OS, a client application can compare the contents of two previously
committed (rollback) configurations by using either of the following
RPCs with the <compare> element:
<get-configuration-by-revision>—Compare configurations by referencing a configuration revision identifier.<get-rollback-information>—Compare configurations by referencing a rollback index.
The <get-configuration-by-revision> RPC with the <compare> element is
equivalent to the show system configuration revision operational
mode command with the compare option. The <compare> element specifies the configuration revision
identifier of the configuration that is the basis for comparison.
The <revision-string> element defines
the configuration revision identifier of the configuration to compare
with the base configuration. The syntax is:
<rpc>
<get-configuration-by-revision>
<revision-string>revision-id</revision-string>
<compare>revision-id</compare>
</get-configuration-by-revision>
</rpc>
For example, the following RPC compares two configurations by referencing their configuration revision identifier strings:
<rpc>
<get-configuration-by-revision>
<revision-string>re0-1605288042-335</revision-string>
<compare>re0-1605288033-334</compare>
</get-configuration-by-revision>
</rpc>Similarly, the <get-rollback-information> RPC with the <compare> element is
equivalent to the show system rollback operational
mode command with the compare option. The <compare> element specifies the rollback index of
the configuration that is the basis for comparison. The <rollback> element specifies the rollback index
of the configuration to compare with the base configuration. Valid
values in both tag elements range from 0 (zero, for the most recently
committed configuration) through 49. The syntax is:
<rpc>
<get-rollback-information>
<rollback>index-number</rollback>
<compare>index-number</compare>
</get-rollback-information>
</rpc>The output corresponds more logically to the chronological
order of changes if the older configuration is the base configuration.
Its index is enclosed in the <compare> element, and the index of the more recent configuration is enclosed
in the <rollback> or <revision-string> tag element.
The Junos XML protocol server encloses its response in
an <rpc-reply> element, a <rollback-information> or <configuration-revision-information> element, depending on the RPC, and <configuration-information> and <configuration-output> elements.
The <load-success/> tag is a side effect
of the implementation and does not affect the results.
<rpc-reply xmlns:junos="URL">
<rollback-information>
<load-success/>
<configuration-information>
<configuration-output>
<!-- formatted ASCII text representing the changes -->
</configuration-output>
</configuration-information>
</rollback-information>
</rpc-reply>The information in the <configuration-output> tag element is formatted ASCII text and includes a banner line (such
as [edit interfaces]) for each hierarchy level at which
the two configurations differ. Each line between banner lines begins
with either a plus sign (+) or a minus sign (–). The plus sign
indicates that adding the statement to the base configuration results
in the second configuration, whereas a minus sign means that removing
the statement from the base configuration results in the second configuration.
The following example shows how to request a comparison of the rollback configurations that have indexes of 20 and 4.
