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 --- .../tap/candidate_config_tap_interface.xml | 77 ++++++++++++++++++++++ .../interfaces/tap/edit_config_tap_interface.xml | 34 ++++++++++ examples/ncclient/interfaces/tap/test_diff_tap.sh | 18 +++++ examples/ncclient/interfaces/tap/test_edit_tap.sh | 20 ++++++ 4 files changed, 149 insertions(+) create mode 100644 examples/ncclient/interfaces/tap/candidate_config_tap_interface.xml create mode 100644 examples/ncclient/interfaces/tap/edit_config_tap_interface.xml create mode 100755 examples/ncclient/interfaces/tap/test_diff_tap.sh create mode 100755 examples/ncclient/interfaces/tap/test_edit_tap.sh (limited to 'examples/ncclient/interfaces/tap') diff --git a/examples/ncclient/interfaces/tap/candidate_config_tap_interface.xml b/examples/ncclient/interfaces/tap/candidate_config_tap_interface.xml new file mode 100644 index 000000000..7d0a5d667 --- /dev/null +++ b/examples/ncclient/interfaces/tap/candidate_config_tap_interface.xml @@ -0,0 +1,77 @@ + + + + + + + + 0 + ipv4 + ipv4-VRF:0 +
+ + 0 + ipv6 + ipv6-VRF:0 +
+
+
+ + + local0 + x:ethernetCsmacd + false + + + tap1 + TAP 1 test interface + + tap1 + + +
+ 10.1.0.3 + 24 +
+
+ x:tap +
+
+ + + + 0 + + 0 + + + + + + + false + + + + + 0 + + + + false + +
diff --git a/examples/ncclient/interfaces/tap/edit_config_tap_interface.xml b/examples/ncclient/interfaces/tap/edit_config_tap_interface.xml new file mode 100644 index 000000000..4f03ef262 --- /dev/null +++ b/examples/ncclient/interfaces/tap/edit_config_tap_interface.xml @@ -0,0 +1,34 @@ + + + + + + tap1 + TAP 1 test interface + + tap1 + + x:tap + +
+ 10.1.0.3 + 24 +
+
+
+
+
diff --git a/examples/ncclient/interfaces/tap/test_diff_tap.sh b/examples/ncclient/interfaces/tap/test_diff_tap.sh new file mode 100755 index 000000000..6da56f6b1 --- /dev/null +++ b/examples/ncclient/interfaces/tap/test_diff_tap.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_tap_interface.xml diff --git a/examples/ncclient/interfaces/tap/test_edit_tap.sh b/examples/ncclient/interfaces/tap/test_edit_tap.sh new file mode 100755 index 000000000..1a752cbf5 --- /dev/null +++ b/examples/ncclient/interfaces/tap/test_edit_tap.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='tap1']" + +${DIR_NAME}/../../test_edit_config.sh ${DIR_NAME}/edit_config_tap_interface.xml ${DIR_NAME}/edit_config_tap_interface.xml ${xPath} -- cgit 1.2.3-korg