Compare a configuração ativa ou de candidato com uma versão anterior usando o protocolo Junos XML
No Junos OS CLI, você usa o compare
comando para comparar a configuração ativa ou de candidato com uma configuração previamente comprometida e exibir as diferenças. Você pode especificar a configuração de comparação fazendo referência ao identificador de revisão de configuração ou ao número de reversão.
Por exemplo, no modo operacional, você pode comparar a configuração ativa com uma configuração previamente comprometida usando os seguintes comandos:
show configuration | compare revision revision-id
show configuration | compare rollback rollback-number
Da mesma forma no modo de configuração, você pode comparar a configuração do candidato com uma configuração previamente comprometida usando os seguintes comandos:
show | compare revision revision-id
show | compare rollback rollback-number
Em uma sessão de protocolo Junos XML com um dispositivo que executa o Junos OS, para solicitar que o servidor exira as diferenças entre a configuração ativa ou candidata e uma configuração previamente comprometida (a configuração de comparação), um aplicativo do cliente usa a <get-configuration>
operação com o compare
atributo. O compare
atributo aceita os seguintes valores, que indicam o método usado para fazer referência à configuração de comparação:
configuration-revision
— Referencia a configuração de comparação por sua cadeia de identificador de revisão de configuração, que você define noconfiguration-revision="revision-id"
atributo.rollback
— Faça referência à configuração de comparação por seu índice de reversão, que você define norollback="rollback-number"
atributo.
O compare
atributo pode ser combinado com o database
atributo para indicar se a configuração do candidato ou a configuração ativa são comparadas à configuração previamente comprometida. Para comparar a configuração ativa, especifique database="committed"
. Para comparar a configuração do candidato, especifique database="candidate"
ou omite o database
atributo.
Você define a configuração de comparação definindo o ou rollback
atributo configuration-revision
e especificando o identificador ou índice de reversão de configuração apropriado. Se você incluir o compare
atributo, mas omitir o correspondente configuration-revision
ou rollback
atributo ou fornecer um identificador de revisão de configuração inválido, o servidor usa a configuração ativa como configuração de comparação. A configuração ativa corresponde à reversão número 0.
Por exemplo, para comparar a configuração do candidato com a configuração que tem o identificador de revisão de configuração, use a seguinte sintaxe:
<rpc> <get-configuration compare="configuration-revision" configuration-revision="revision-id" format="text"> <!-- optional - configuration elements to compare --> </get-configuration> </rpc>
Da mesma forma, para comparar a configuração do candidato com a configuração que tem o determinado índice de reversão, use a seguinte sintaxe:
<rpc> <get-configuration compare="rollback" rollback="[0-49]" format="text"> <!-- optional - configuration elements to compare --> </get-configuration> </rpc>
Para comparar a configuração ativa com uma configuração anterior, inclua o database="committed"
atributo. Por exemplo:
<rpc> <get-configuration database="committed" compare="configuration-revision" configuration-revision="re0-1605138555-328"/> </rpc>
Você também pode especificar o escopo da comparação. Você pode comparar a configuração completa ou comparar um subconjunto da configuração. Para comparar um subconjunto da configuração, defina um filtro de sub-árvore que selecione os elementos para comparar, conforme mostrado no exemplo a seguir:
<rpc> <get-configuration compare="configuration-revision" configuration-revision="re0-1605288042-335"> <configuration> <system> <scripts/> </system> </configuration> </get-configuration> </rpc>
Quando você compara a configuração do candidato com a configuração ativa, a operação retorna a compare
saída XML. Para todas as outras comparações, ele devolve a saída como texto usando um formato de patch. A saída de texto está fechada nas <configuration-information>
tags. <configuration-output>
A saída usa as seguintes convenções para especificar as diferenças entre configurações:
As declarações que estão apenas na configuração ativa ou de candidato são prefixadas com um sinal plus (+).
As declarações que estão apenas no arquivo de comparação são prefixadas com um sinal de menos (-).
As declarações que não são alteradas são prefixadas com um único espaço em branco ( ).
<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>
Quando você compara a configuração do candidato com a configuração ativa, você pode exibir as diferenças no formato texto, XML ou JSON, incluindo o valor apropriado para o format
atributo na solicitação. Você pode exibir as diferenças no formato XML a partir do Junos OS Release 15.1R1, e você pode exibir as diferenças no formato JSON a partir do Junos OS Release 16.1R1.
<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>
Começando no Junos OS Release 16.2R2, quando você compara o candidato e as configurações ativas e exibe as diferenças no formato XML ou JSON, o dispositivo omite a <configuration>
tag na saída XML e omite o configuration
objeto na saída JSON se a comparação não retornar diferenças ou se a comparação devolver diferenças apenas para dados de configuração não nativos, por exemplo, dados de configuração associados a um modelo de dados OpenConfig.