Definir o modo de configuração de edição em uma sessão netconf
Ao enviar dados de configuração para o servidor NETCONF, você pode especificar como o dispositivo deve lidar com as mudanças de configuração. Este é conhecido como o modo de configuração de edição. Você pode definir o modo de configuração de edição globalmente durante toda a sessão. Você também pode definir o modo de edição apenas para elementos específicos dentro da sessão.
Os dispositivos que executam o Junos OS têm os seguintes modos de configuração de edição:
merge
— O dispositivo mescla novos dados de configuração aos dados de configuração existentes. Esse é o padrão.replace
— O dispositivo substitui os dados de configuração existentes pelos novos dados de configuração.none
— O dispositivo não altera a configuração existente a menos que o novo elemento de configuração inclua um atributo de operação.
Para definir o modo de configuração de edição globalmente para a sessão, inclua o <default-operation>
elemento com o modo desejado como um elemento infantil de <edit-config>
.
<rpc> <edit-config> <default-operation>mode</default-operation> <edit-config> </rpc>
Para especificar o modo de configuração de edição para um elemento individual, inclua o atributo e o operation
modo desejado na tag desse elemento.
<rpc> <edit-config> <config> <configuration> <protocols> <rip> <message-size operation="replace">255</message-size> </rip> </protocols> </configuration> </config> </edit-config> </rpc>
Você também pode definir um modo de configuração de edição global para um conjunto inteiro de mudanças de configuração e especificar um modo diferente para elementos individuais que você deseja lidar de uma maneira diferente. Por exemplo:
<rpc> <edit-config> <default-operation>merge</default-operation> <config> <configuration> <protocols> <rip> <message-size operation="replace">255</message-size> </rip> </protocols> </configuration> </config> </edit-config> </rpc>
Os modos de configuração de edição são discutidos com mais detalhes nas seguintes seções:
Especificando o modo de dados de fusão
Por padrão, o servidor NETCONF mescla novos dados de configuração na configuração do candidato ou no banco de dados de configuração aberta. Assim, se você não especificar um modo de configuração de edição, o dispositivo mescla os novos elementos de configuração na configuração existente.
A fusão de configurações é realizada de acordo com as seguintes regras. (As regras também se aplicam ao atualizar dados de configuração em um banco de dados de configuração aberta, por exemplo, o banco de dados efêmero, mas para simplicidade a discussão a seguir refere-se apenas à configuração do candidato.)
Um elemento de configuração (nível de hierarquia ou objeto de configuração) que existe na configuração do candidato, mas não na nova configuração permanece inalterado.
Um elemento de configuração que existe na nova configuração, mas não na configuração do candidato, é adicionado à configuração do candidato.
Se houver um elemento de configuração em ambas as configurações, os seguintes resultados ocorrerão:
Se uma declaração infantil do elemento de configuração (representado por um elemento de tag infantil) existir na configuração do candidato, mas não na nova configuração, ela permanecerá inalterada.
Se houver uma declaração de criança na nova configuração, mas não no candidato, ela será adicionada à configuração do candidato.
Se uma declaração infantil existir em ambas as configurações, o valor nos novos dados substitui o valor na configuração do candidato.
Para especificar explicitamente que os dados serão mesclados, o aplicativo inclui o <default-operation>
elemento tag com o valor merge
no <edit-config>
elemento tag.
<rpc> <edit-config> <default-operation>merge</default-operation> <!-- other child tag elements of the <edit-config> tag element --> </edit-config> </rpc> ]]>]]>
Especificando o modo de dados de substituição
No modo de configuração de substituição, os novos dados de configuração substituem completamente os dados na configuração do candidato ou no banco de dados de configuração aberta. Para especificar se os dados serão substituídos, o aplicativo inclui o <default-operation>
elemento tag com o valor replace
no <edit-config>
elemento tag.
<rpc> <edit-config> <default-operation>replace</default-operation> </edit-config> </rpc> ]]>]]>
Recomendamos usar o modo de substituição global apenas quando você planeja substituir completamente a configuração existente com novos dados de configuração. Além disso, quando o modo de configuração de edição é definido, replace
não recomendamos usar o operation
atributo para elementos de configuração individuais.
Você também pode substituir elementos de configuração individuais enquanto se funde ou cria outros. Veja substituir elementos de configuração usando o NETCONF.
Modo de dados sem especificação (sem alterações)
none
No modo de configuração de edição (sem alterações), as alterações na configuração são ignoradas. Este modo é útil quando você está excluindo elementos, e impede que o servidor NETCONF crie níveis de hierarquia dos pais para um elemento que está sendo excluído. Para obter mais informações, veja Excluir elementos de configuração usando o NETCONF.
Para definir o modo de configuração de edição sem alterações globalmente, o aplicativo inclui o <default-operation>
elemento tag com o valor none
no <edit-config>
elemento tag.
<rpc> <edit-config> <default-operation>none</default-operation> </edit-config> </rpc>
Se os novos dados de configuração incluirem um elemento de configuração que não esteja na configuração existente, o servidor NETCONF retorna um erro. Recomendamos usar o modo none
apenas ao remover elementos de configuração da configuração. Ao criar ou modificar elementos, os aplicativos devem usar o modo de fusão.
Quando você usa a <default-operation>
tag para definir globalmente o modo de configuração de edição para none
indicar o modo sem alterações, você ainda pode substituir este modo e especificar um modo de configuração de edição diferente para elementos individuais, incluindo o operation
atributo na tag do elemento. Por exemplo:
<rpc> <edit-config> <default-operation>none</default-operation> <config> <configuration> <system> <services> <outbound-ssh> <client> <name>test</name> <device-id>test</device-id> <keep-alive> <retry operation="merge">4</retry> <timeout operation="merge">15</timeout> </keep-alive> </client> </outbound-ssh> </services> </system> </configuration> </config> </edit-config> </rpc>
Tabela de histórico de mudanças
O suporte de recursos é determinado pela plataforma e versão que você está usando. Use o Feature Explorer para determinar se um recurso é suportado em sua plataforma.
<default-operation>
,
replace
o dispositivo usa uma
load update
operação em vez de uma
load override
operação para substituir a configuração. Nas operações de atualização de carga, o dispositivo notifica apenas os processos junos que correspondem a declarações alteradas, minimizando assim possíveis interrupções na rede.