From 498be1107120dd7a9a8df5443b74689fbe95f61a Mon Sep 17 00:00:00 2001 From: Michal Cmarada Date: Wed, 23 Jan 2019 11:41:26 +0100 Subject: Update ncclient examples - added optional parameter host for copy_config, get_config and edit-config. - added basic tests for interfaces: - loopback interface - af-packet interface - tap interface - added diff_xml.py to find differences between two sets of config. It supports both full xml comparison and comparison based on xPath - added example diff between running and candidate config (interfaces) - fixed formatting and namespaces Change-Id: If6dd7a76fab538735ab92c67f9457326fbcba7ec Signed-off-by: Michal Cmarada --- .../loop/candidate_config_loop_interface.xml | 61 ++++++++++++++++++++++ .../interfaces/loop/edit_config_loop_interface.xml | 33 ++++++++++++ .../ncclient/interfaces/loop/test_diff_loopback.sh | 18 +++++++ .../ncclient/interfaces/loop/test_edit_loopback.sh | 20 +++++++ 4 files changed, 132 insertions(+) create mode 100644 examples/ncclient/interfaces/loop/candidate_config_loop_interface.xml create mode 100644 examples/ncclient/interfaces/loop/edit_config_loop_interface.xml create mode 100755 examples/ncclient/interfaces/loop/test_diff_loopback.sh create mode 100755 examples/ncclient/interfaces/loop/test_edit_loopback.sh (limited to 'examples/ncclient/interfaces/loop') diff --git a/examples/ncclient/interfaces/loop/candidate_config_loop_interface.xml b/examples/ncclient/interfaces/loop/candidate_config_loop_interface.xml new file mode 100644 index 000000000..c477ad288 --- /dev/null +++ b/examples/ncclient/interfaces/loop/candidate_config_loop_interface.xml @@ -0,0 +1,61 @@ + + + + + + 0 + ipv4 + ipv4-VRF:0 +
+ + 0 + ipv6 + ipv6-VRF:0 +
+
+
+ + + local0 + x:ethernetCsmacd + false + + + loop0 + x:loopback + true + +
+ 10.0.0.1 + 24 +
+
+ + +
+
+ + + + 0 + + 0 + + + + + + + false + + + + + 0 + + + + false + +
+ diff --git a/examples/ncclient/interfaces/loop/edit_config_loop_interface.xml b/examples/ncclient/interfaces/loop/edit_config_loop_interface.xml new file mode 100644 index 000000000..9dfeeadb1 --- /dev/null +++ b/examples/ncclient/interfaces/loop/edit_config_loop_interface.xml @@ -0,0 +1,33 @@ + + + + + + loop0 + x:loopback + true + +
+ 10.0.0.1 + 24 +
+
+ + +
+
+
diff --git a/examples/ncclient/interfaces/loop/test_diff_loopback.sh b/examples/ncclient/interfaces/loop/test_diff_loopback.sh new file mode 100755 index 000000000..fdc07ec4a --- /dev/null +++ b/examples/ncclient/interfaces/loop/test_diff_loopback.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# +# Copyright (c) 2019 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +DIR_NAME=$(dirname $0) + +${DIR_NAME}/../../test_diff_config.sh ${DIR_NAME}/candidate_config_loop_interface.xml diff --git a/examples/ncclient/interfaces/loop/test_edit_loopback.sh b/examples/ncclient/interfaces/loop/test_edit_loopback.sh new file mode 100755 index 000000000..757d65609 --- /dev/null +++ b/examples/ncclient/interfaces/loop/test_edit_loopback.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# +# Copyright (c) 2019 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +DIR_NAME=$(dirname $0) +xPath="./{urn:ietf:params:xml:ns:yang:ietf-interfaces}interfaces/\ +{urn:ietf:params:xml:ns:yang:ietf-interfaces}interface[{urn:ietf:params:xml:ns:yang:ietf-interfaces}name='loop0']" + +${DIR_NAME}/../../test_edit_config.sh ${DIR_NAME}/edit_config_loop_interface.xml ${DIR_NAME}/edit_config_loop_interface.xml ${xPath} -- cgit 1.2.3-korg