Définition du mode de modification de la configuration dans une session NETCONF
Lors de l’envoi des données de configuration au serveur NETCONF, vous pouvez spécifier comment l’appareil doit gérer les modifications de configuration. C’est ce qu’on appelle le mode de configuration d’édition. Vous pouvez définir le mode de configuration d’édition globalement pour l’ensemble de la session. Vous pouvez également définir le mode d’édition uniquement pour des éléments spécifiques de la session.
Les périphériques exécutant Junos OS ont les modes de configuration de modification suivants :
merge: l’appareil fusionne les nouvelles données de configuration avec les données de configuration existantes. Il s’agit de l’option par défaut.replace: l’appareil remplace les données de configuration existantes par les nouvelles données de configuration.none: l’appareil ne modifie pas la configuration existante, sauf si le nouvel élément de configuration inclut un attribut d’opération.
Pour définir globalement le mode de configuration de mise à jour de la session, incluez l’élément <default-operation> avec le mode souhaité en tant qu’élément enfant de <edit-config>.
<rpc>
<edit-config>
<default-operation>mode</default-operation>
<edit-config>
</rpc>
Pour spécifier le mode de configuration d’édition d’un élément individuel, incluez l’attribut et le mode souhaité dans la operation balise de cet élément.
<rpc>
<edit-config>
<config>
<configuration>
<protocols>
<rip>
<message-size operation="replace">255</message-size>
</rip>
</protocols>
</configuration>
</config>
</edit-config>
</rpc>
Vous pouvez également définir un mode de configuration de modification globale pour l’ensemble des modifications de configuration et spécifier un mode différent pour les éléments individuels que vous souhaitez traiter d’une manière différente. Par exemple :
<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>
Les modes de configuration d’édition sont abordés plus en détail dans les sections suivantes :
Spécification du mode de fusion des données
Par défaut, le serveur NETCONF fusionne les nouvelles données de configuration dans la base de données de configuration candidate ou de configuration ouverte. Ainsi, si vous ne spécifiez pas de mode de configuration de modification, l’appareil fusionne les nouveaux éléments de configuration dans la configuration existante.
La fusion des configurations s’effectue selon les règles suivantes. (Les règles s’appliquent également lors de la mise à jour des données de configuration dans une base de données de configuration ouverte, par exemple, la base de données éphémère, mais pour simplifier, la discussion suivante se réfère uniquement à la configuration candidate.)
Un élément de configuration (niveau hiérarchique ou objet de configuration) qui existe dans la configuration candidate mais pas dans la nouvelle configuration reste inchangé.
Un élément de configuration qui existe dans la nouvelle configuration, mais pas dans la configuration candidate, est ajouté à la configuration candidate.
Si un élément de configuration existe dans les deux configurations, les résultats suivants se produisent :
Si une instruction enfant de l’élément de configuration (représentée par un élément de balise enfant) existe dans la configuration candidate mais pas dans la nouvelle configuration, elle reste inchangée.
Si une instruction enfant existe dans la nouvelle configuration, mais pas dans la configuration candidate, elle est ajoutée à la configuration candidate.
S’il existe une instruction enfant dans les deux configurations, la valeur des nouvelles données remplace la valeur de la configuration candidate.
Pour spécifier explicitement que les données doivent être fusionnées, l’application inclut l’élément de <default-operation> balise avec la valeur merge de l’élément de <edit-config> balise.
<rpc> <edit-config> <default-operation>merge</default-operation> <!-- other child tag elements of the <edit-config> tag element --> </edit-config> </rpc> ]]>]]>
Spécification du mode de remplacement des données
En mode de configuration de remplacement et de modification, les nouvelles données de configuration remplacent complètement les données de la configuration candidate ou de la base de données de configuration ouverte. Pour spécifier que les données doivent être remplacées, l’application inclut l’élément de <default-operation> balise avec la valeur replace de l’élément de <edit-config> balise.
<rpc> <edit-config> <default-operation>replace</default-operation> </edit-config> </rpc> ]]>]]>
Nous vous recommandons d’utiliser le mode de remplacement global uniquement lorsque vous prévoyez de remplacer complètement la configuration existante par de nouvelles données de configuration. De plus, lorsque le mode de configuration d’édition est défini sur replace, nous vous déconseillons d’utiliser l’attribut pour des operation éléments de configuration individuels.
Vous pouvez également remplacer des éléments de configuration individuels lors de la fusion ou de la création d’autres éléments. Reportez-vous à la section Remplacer des éléments de configuration à l’aide de NETCONF.
Spécification du mode de données none (no-change)
Dans le mode de configuration d’édition none (sans changement), les modifications apportées à la configuration sont ignorées. Ce mode est utile lorsque vous supprimez des éléments et qu’il empêche le serveur NETCONF de créer des niveaux hiérarchiques parents pour un élément en cours de suppression. Pour plus d’informations, reportez-vous à la section Supprimer des éléments de configuration à l’aide de NETCONF.
Pour définir globalement le mode de configuration de mise à jour sans modification, l’application inclut l’élément de <default-operation> balise avec la valeur none dans l’élément de <edit-config> balise.
<rpc>
<edit-config>
<default-operation>none</default-operation>
</edit-config>
</rpc>
Si les nouvelles données de configuration incluent un élément de configuration qui ne figure pas dans la configuration existante, le serveur NETCONF renvoie une erreur. Nous vous recommandons d’utiliser mode none uniquement lorsque vous supprimez des éléments de configuration de la configuration. Lors de la création ou de la modification d’éléments, les applications doivent utiliser le mode de fusion.
Lorsque vous utilisez la <default-operation> balise pour définir globalement le mode de configuration de mise à jour afin none d’indiquer le mode sans modification, vous pouvez toujours remplacer ce mode et spécifier un mode de configuration de mise à jour différent pour les éléments individuels en incluant l’attribut operation dans la balise de l’élément. Par exemple :
<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>
Tableau de l’historique des modifications
La prise en charge des fonctionnalités est déterminée par la plate-forme et la version que vous utilisez. Utilisez l’Explorateur de fonctionnalités pour déterminer si une fonctionnalité est prise en charge sur votre plateforme.
<default-operation> sur
replace, le périphérique utilise une
load update opération au lieu d’une
load override opération pour remplacer la configuration. Lors des opérations de mise à jour de charge, l’équipement notifie uniquement les processus Junos qui correspondent aux instructions modifiées, minimisant ainsi les perturbations possibles du réseau.