From dec1188c7f89f5f8f97085b5f68c6f1d918586b8 Mon Sep 17 00:00:00 2001 From: Tibor Frank Date: Fri, 22 Jul 2016 09:50:03 +0200 Subject: CSIT-219: Realocate resources for Honeycomb tests - move the resources to resources/test_data/honeycomb Change-Id: I77c1bd5707f557799a7a189a9c695c50e5471621 Signed-off-by: Tibor Frank --- resources/libraries/robot/honeycomb/netconf.robot | 2 +- .../libraries/robot/honeycomb/notifications.robot | 4 +- .../libraries/robot/honeycomb/persistence.robot | 2 +- resources/test_data/honeycomb/acl.py | 82 +++++ resources/test_data/honeycomb/l2_fib.py | 142 +++++++++ resources/test_data/honeycomb/netconf/hello.py | 22 ++ .../test_data/honeycomb/netconf/subscription.py | 24 ++ resources/test_data/honeycomb/netconf/triggers.py | 336 +++++++++++++++++++++ resources/test_data/honeycomb/persistence.py | 138 +++++++++ resources/test_data/honeycomb/sub_interfaces.py | 287 ++++++++++++++++++ resources/test_data/honeycomb/vxlan.py | 28 ++ resources/test_data/honeycomb/vxlan_gpe.py | 99 ++++++ tests/suites/honeycomb/021_l2_fib.robot | 2 +- tests/suites/honeycomb/030_vxlan.robot | 2 +- tests/suites/honeycomb/031_vxlan_gpe.robot | 2 +- tests/suites/honeycomb/060_sub_interface.robot | 2 +- tests/suites/honeycomb/070_netconf.robot | 2 +- .../honeycomb/080_access_control_lists.robot | 2 +- tests/suites/honeycomb/resources/acl.py | 82 ----- tests/suites/honeycomb/resources/l2_fib.py | 142 --------- tests/suites/honeycomb/resources/netconf/hello.py | 22 -- .../honeycomb/resources/netconf/subscription.py | 24 -- .../suites/honeycomb/resources/netconf/triggers.py | 336 --------------------- tests/suites/honeycomb/resources/persistence.py | 138 --------- tests/suites/honeycomb/resources/sub_interfaces.py | 287 ------------------ tests/suites/honeycomb/resources/vxlan.py | 28 -- tests/suites/honeycomb/resources/vxlan_gpe.py | 99 ------ 27 files changed, 1168 insertions(+), 1168 deletions(-) create mode 100644 resources/test_data/honeycomb/acl.py create mode 100644 resources/test_data/honeycomb/l2_fib.py create mode 100644 resources/test_data/honeycomb/netconf/hello.py create mode 100644 resources/test_data/honeycomb/netconf/subscription.py create mode 100644 resources/test_data/honeycomb/netconf/triggers.py create mode 100644 resources/test_data/honeycomb/persistence.py create mode 100644 resources/test_data/honeycomb/sub_interfaces.py create mode 100644 resources/test_data/honeycomb/vxlan.py create mode 100644 resources/test_data/honeycomb/vxlan_gpe.py delete mode 100644 tests/suites/honeycomb/resources/acl.py delete mode 100644 tests/suites/honeycomb/resources/l2_fib.py delete mode 100644 tests/suites/honeycomb/resources/netconf/hello.py delete mode 100644 tests/suites/honeycomb/resources/netconf/subscription.py delete mode 100644 tests/suites/honeycomb/resources/netconf/triggers.py delete mode 100644 tests/suites/honeycomb/resources/persistence.py delete mode 100644 tests/suites/honeycomb/resources/sub_interfaces.py delete mode 100644 tests/suites/honeycomb/resources/vxlan.py delete mode 100644 tests/suites/honeycomb/resources/vxlan_gpe.py diff --git a/resources/libraries/robot/honeycomb/netconf.robot b/resources/libraries/robot/honeycomb/netconf.robot index ce7b6a6b38..79fa0a312c 100644 --- a/resources/libraries/robot/honeycomb/netconf.robot +++ b/resources/libraries/robot/honeycomb/netconf.robot @@ -13,7 +13,7 @@ *** Settings *** | Library | resources.libraries.python.honeycomb.Netconf -| Variables | tests/suites/honeycomb/resources/netconf/hello.py +| Variables | resources/test_data/honeycomb/netconf/hello.py | Documentation | Keywords for managing Netconf communication. *** Keywords *** diff --git a/resources/libraries/robot/honeycomb/notifications.robot b/resources/libraries/robot/honeycomb/notifications.robot index 119a351e7d..125e06c7a1 100644 --- a/resources/libraries/robot/honeycomb/notifications.robot +++ b/resources/libraries/robot/honeycomb/notifications.robot @@ -13,8 +13,8 @@ *** Settings *** | Library | resources.libraries.python.honeycomb.Notifications -| Variables | tests/suites/honeycomb/resources/netconf/hello.py -| Variables | tests/suites/honeycomb/resources/netconf/subscription.py +| Variables | resources/test_data/honeycomb/netconf/hello.py +| Variables | resources/test_data/honeycomb/netconf/subscription.py | Documentation | Keywords used to test Honeycomb notifications over Netconf. *** Keywords *** diff --git a/resources/libraries/robot/honeycomb/persistence.robot b/resources/libraries/robot/honeycomb/persistence.robot index 1390254bc4..aacf560f1d 100644 --- a/resources/libraries/robot/honeycomb/persistence.robot +++ b/resources/libraries/robot/honeycomb/persistence.robot @@ -22,7 +22,7 @@ | Resource | resources/libraries/robot/honeycomb/tap.robot | Resource | resources/libraries/robot/honeycomb/vhost_user.robot | Resource | resources/libraries/robot/honeycomb/sub_interface.robot -| Variables | tests/suites/honeycomb/resources/persistence.py | ${interface} +| Variables | resources/test_data/honeycomb/persistence.py | ${interface} | Documentation | Keywords used to test Honeycomb persistence. *** Keywords *** diff --git a/resources/test_data/honeycomb/acl.py b/resources/test_data/honeycomb/acl.py new file mode 100644 index 0000000000..227330c2a9 --- /dev/null +++ b/resources/test_data/honeycomb/acl.py @@ -0,0 +1,82 @@ +# Copyright (c) 2016 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. + +"""Test variables for access control list test suite.""" + +# settings for acl tables +hc_acl_table = { + "name": "acl_table_test", + "nbuckets": 1, + "memory_size": 100000, + "skip_n_vectors": 0, + "miss_next": "permit", + "mask": "00:00:00:00:00:00:ff:ff:ff:ff:ff:ff:00:00:00:00" +} + +hc_acl_table2 = { + "name": "acl_table_test2", + "nbuckets": 2, + "memory_size": 100000, + "skip_n_vectors": 1, + "next_table": "acl_table_test", + "miss_next": "deny", + "mask": "ff:ff:ff:00:00:00:ff:ff:ff:ff:ff:ff:00:00:00:00" +} +# representation of table settings in VAT +table_index = 0 +vat_acl_table = { + "nbuckets": hc_acl_table['nbuckets'], + "skip": 0, + "match": 1, + "nextnode": -1, + "nexttbl": -1, + "mask": hc_acl_table['mask'].replace(":", ""), +} +table_index2 = 1 +vat_acl_table2 = { + "nbuckets": hc_acl_table2['nbuckets'], + "skip": 1, + "match": 1, + "nextnode": 0, + "nexttbl": table_index, + "mask": hc_acl_table2['mask'].replace(":", ""), +} +# setting for acl sessions +hc_acl_session = { + "match": "00:00:00:00:00:00:01:02:03:04:05:06:00:00:00:00", + "hit_next": "permit", + "opaque_index": "1", + "advance": 1 +} + +hc_acl_session2 = { + "match": "00:00:00:00:00:00:06:05:04:03:02:01:00:00:00:00", + "hit_next": "deny", + "opaque_index": "2", + "advance": 1 +} +# representation of session settings in VAT +session_index = 0 +vat_acl_session = { + "match": hc_acl_session['match'].replace(":", ""), + "advance": hc_acl_session['advance'], + "opaque": 1, + "next_index": -1 +} +session_index2 = 1 +vat_acl_session2 = { + "match": hc_acl_session2['match'].replace(":", ""), + "advance": hc_acl_session2['advance'], + "opaque": 2, + "next_index": session_index +} diff --git a/resources/test_data/honeycomb/l2_fib.py b/resources/test_data/honeycomb/l2_fib.py new file mode 100644 index 0000000000..b06193ad1d --- /dev/null +++ b/resources/test_data/honeycomb/l2_fib.py @@ -0,0 +1,142 @@ +# Copyright (c) 2016 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. + +"""Test variables for Honeycomb L2 FIB test suite.""" + +# Bridge domain name. +bd_name = 'test-l2-bd' +bd_index = 1 + +# Bridge domain settings used while creating a test bridge domain. +bd_settings = { + 'flood': True, + 'forward': True, + 'learn': True, + 'unknown-unicast-flood': True, + 'arp-termination': True +} + +# Bridge domain configuration used while adding the bridge domain to an +# interface. +if_bd_settings = { + 'bridge-domain': bd_name, + 'split-horizon-group': 1, + 'bridged-virtual-interface': False +} + +# Add L2 FIB entry (forward). +# Configuration data: +l2_fib_forward_cfg = { + "phys-address": "aa:bb:cc:dd:ee:ff", + "outgoing-interface": "GigabitEthernet0/8/0", + "action": "l2-fib-forward" +} + +# Expected operational data: +l2_fib_forward_oper = { + "phys-address": "aa:bb:cc:dd:ee:ff", + "outgoing-interface": "GigabitEthernet0/8/0", + "bridged-virtual-interface": False, + "action": "v3po:l2-fib-forward", + "static-config": False +} + +# Expected VAT data: +l2_fib_forward_vat = { + "mac": int("".join(l2_fib_forward_oper["phys-address"].split(':')), 16), + "static_mac": 0, + "filter_mac": 0, + "bvi_mac": 0 + } + +# Add L2 FIB entry (static, forward). +# Configuration data: +l2_fib_static_forward_cfg = { + "phys-address": "22:22:33:44:55:66", + "outgoing-interface": "GigabitEthernet0/8/0", + "static-config": True, + "action": "l2-fib-forward" +} + +# Expected operational data: +l2_fib_static_forward_oper = { + "phys-address": "22:22:33:44:55:66", + "outgoing-interface": "GigabitEthernet0/8/0", + "bridged-virtual-interface": False, + "action": "v3po:l2-fib-forward", + "static-config": True +} + +# Expected VAT data: +l2_fib_static_forward_vat = { + "mac": int("".join(l2_fib_static_forward_oper["phys-address"]. + split(':')), 16), + "sw_if_index": 5, + "static_mac": 1, + "filter_mac": 0, + "bvi_mac": 0 +} + +# Add L2 FIB entry (filter). +# Configuration data: +l2_fib_filter_cfg = { + "phys-address": "00:01:02:03:04:05", + "outgoing-interface": "GigabitEthernet0/8/0", + "static-config": True, + "action": "l2-fib-filter" +} + +# Expected operational data: +l2_fib_filter_oper = { + "phys-address": "00:01:02:03:04:05", + "outgoing-interface": "GigabitEthernet0/8/0", + "bridged-virtual-interface": False, + "action": "v3po:l2-fib-filter", + "static-config": True +} + +# Expected VAT data: +l2_fib_filter_vat = { + "mac": int("".join(l2_fib_filter_oper["phys-address"].split(':')), 16), + "sw_if_index": 5, + "static_mac": 1, + "filter_mac": 1, + "bvi_mac": 0 +} + +# WRONG configuration data - Add L2 FIB entry. +l2_fib_forward_cfg_wrong_mac = { + "phys-address": "WRONG-MAC", + "outgoing-interface": "GigabitEthernet0/8/0", + "action": "l2-fib-forward" +} + +l2_fib_forward_cfg_wrong_if = { + "phys-address": "aa:bb:cc:dd:ee:ff", + "outgoing-interface": "WRONG-INTERFACE", + "action": "l2-fib-forward" +} + +l2_fib_forward_cfg_wrong_action = { + "phys-address": "aa:bb:cc:dd:ee:ff", + "outgoing-interface": "GigabitEthernet0/8/0", + "action": "WRONG-ACTION" +} + +# Modify L2 FIB entry (forward). +# Configuration data: +l2_fib_forward_modified_cfg = { + "phys-address": "aa:bb:cc:dd:ee:ff", + "outgoing-interface": "GigabitEthernet0/9/0", + "action": "l2-fib-forward" +} diff --git a/resources/test_data/honeycomb/netconf/hello.py b/resources/test_data/honeycomb/netconf/hello.py new file mode 100644 index 0000000000..2cc89b387c --- /dev/null +++ b/resources/test_data/honeycomb/netconf/hello.py @@ -0,0 +1,22 @@ +# Copyright (c) 2016 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. + +"""Hello message with capabilities list for Netconf sessions.""" + +hello = u""" + + +urn:ietf:params:netconf:base:1.0 + + +]]>]]>""" \ No newline at end of file diff --git a/resources/test_data/honeycomb/netconf/subscription.py b/resources/test_data/honeycomb/netconf/subscription.py new file mode 100644 index 0000000000..ccf8c47022 --- /dev/null +++ b/resources/test_data/honeycomb/netconf/subscription.py @@ -0,0 +1,24 @@ +# Copyright (c) 2016 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. + +"""RPC call to add a subscription to Netconf notifications.""" + +subscription = u""" + + +honeycomb + + +]]>]]>""" diff --git a/resources/test_data/honeycomb/netconf/triggers.py b/resources/test_data/honeycomb/netconf/triggers.py new file mode 100644 index 0000000000..77596bd052 --- /dev/null +++ b/resources/test_data/honeycomb/netconf/triggers.py @@ -0,0 +1,336 @@ +# Copyright (c) 2016 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. + +"""Contains RPC sequences to trigger specific issues through Netconf.""" + +# Test data for issue: https://jira.fd.io/browse/HONEYCOMB-105 +# Creating and removing interfaces may result in duplicated interface indices. +trigger_105 = u""" + + + + + + + + +4fe335c8-6fdc-4654-b12c-d256e9b39229 + + + + + +]]>]]> + + + + + + + + +]]>]]> + + + + + + +none + + + +4fe335c8-6fdc-4654-b12c-d256e9b39229 +neutron port +enabled + +client +/tmp/socket_4fe335c8-6fdc-4654-b12c-d256e9b39229 + +x:vhost-user +true + + + + + +]]>]]> + + + + +]]>]]> + + + + + + + + +]]>]]> + + + + + + + + +]]>]]> + + + + + + +none + + + +4fe335c8-6fdc-4654-b12c-d256e9b39229 + + + + + +]]>]]> + + + + +]]>]]> + + + + + + + + +]]>]]> + + + + + + + + +]]>]]> + + + + + + +none + + + +4fe335c8-6fdc-4654-b12c-d256e9b39229 +neutron port +enabled + +client +/tmp/socket_4fe335c8-6fdc-4654-b12c-d256e9b39229 + +x:vhost-user +true + + + + + +]]>]]> + + + + +]]>]]> + + + + + + + + +]]>]]> + + + + + + + + +]]>]]> + + + + + + +none + + + +d7611278-88ff-40e1-81e2-602e94e96fc7 +neutron port +enabled + +client +/tmp/socket_d7611278-88ff-40e1-81e2-602e94e96fc7 + +x:vhost-user +true + + + + + +]]>]]> + + + + +]]>]]> + + + + + + + + +]]>]]> + + + + + + + + +]]>]]> + + + + + + +none + + + +1f96a665-4351-4984-b1a8-dc6f54683123 +neutron port +enabled + +client +/tmp/socket_1f96a665-4351-4984-b1a8-dc6f54683123 + +x:vhost-user +true + + + + + +]]>]]> + + + + +]]>]]> + + + + + + + + +]]>]]> + + + + + + + + +]]>]]> + + + + + + +none + + + + +e86740a2-042c-4e64-a43b-cc224e0d5240 +true +true +true +true +false + + + + + + +]]>]]> + + + + +]]>]]> + + + + + + + + +]]>]]> + + + + + + + + +]]>]]> + + + + + + + + +]]>]]>""" diff --git a/resources/test_data/honeycomb/persistence.py b/resources/test_data/honeycomb/persistence.py new file mode 100644 index 0000000000..f46cfba597 --- /dev/null +++ b/resources/test_data/honeycomb/persistence.py @@ -0,0 +1,138 @@ +# Copyright (c) 2016 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. + +"""Test variables for Honeycomb persistence test suite.""" + + +def get_variables(interface): + """Creates and returns dictionary of test variables. + + :param interface: name of super-interface for the tested sub-interface + :type interface: str + :return: dictionary of test variables + :rtype: dict + """ + # basic settings + bd_name = 'bd_persist' + sub_if_id = 1 + sub_if_name = interface + '.' + str(sub_if_id) + + variables = { + # VxLan settings + 'vx_interface': 'vx_tunnel_test', + 'vxlan_settings': {'src': '192.168.0.2', + 'dst': '192.168.0.3', + "vni": 88, + 'encap-vrf-id': 0}, + # bridge domain settings + 'bd_name': bd_name, + 'bd_settings': {'flood': True, + 'forward': True, + 'learn': True, + 'unknown-unicast-flood': True, + 'arp-termination': True + }, + # tap interface settings + 'tap_interface': 'tap_test', + 'tap_settings': {'tap-name': 'tap_test', + 'mac': '08:00:27:c0:5d:37', + 'device-instance': 1 + }, + # vhost-user interface settings + 'vhost_interface': 'test_vhost', + 'vhost_user_server': {'socket': 'soc1', + 'role': 'server' + }, + # Vlan subinterface settings + 'sub_if_id': sub_if_id, + 'sub_if_name': sub_if_name, + 'sub_if_1_settings': { + "identifier": sub_if_id, + "vlan-type": "802dot1q", + "enabled": "false" + }, + 'sub_if_1_tags': [ + { + "index": "0", + "dot1q-tag": { + "tag-type": "dot1q-types:s-vlan", + "vlan-id": "100" + } + }, + { + "index": "1", + "dot1q-tag": { + "tag-type": "dot1q-types:c-vlan", + "vlan-id": "any" + } + } + ], + 'sub_if_1_match': "vlan-tagged-exact-match", + 'sub_if_1_oper': { + "identifier": sub_if_id, + "oper-status": "up", + "admin-status": "up", + "tags": { + "tag": [ + { + "index": 1, + "dot1q-tag": { + "tag-type": "dot1q-types:c-vlan", + "vlan-id": "any" + } + }, + { + "index": 0, + "dot1q-tag": { + "tag-type": "dot1q-types:s-vlan", + "vlan-id": "100" + } + } + ] + }, + "match": { + "vlan-tagged": { + "match-exact-tags": False + } + } + }, + 'sub_bd_settings': { + 'bridge-domain': bd_name, + 'split-horizon-group': '1', + 'bridged-virtual-interface': 'False' + }, + 'tag_rewrite_pop_1': { + "pop-tags": "1" + }, + + 'tag_rewrite_pop_1_oper': { + "vlan-type": "vpp-vlan:802dot1ad", + "pop-tags": 1 + }, + + 'tag_rewrite_pop_1_VAT': { + 'sub_default': 0, + 'sub_dot1ad': 0, + 'sub_exact_match': 0, + 'sub_inner_vlan_id': 0, + 'sub_inner_vlan_id_any': 1, + 'sub_number_of_tags': 2, + 'sub_outer_vlan_id': 100, + 'sub_outer_vlan_id_any': 0, + 'vtr_op': 3, + 'vtr_push_dot1q': 0, + 'vtr_tag1': 0, + 'vtr_tag2': 0 + } + } + return variables diff --git a/resources/test_data/honeycomb/sub_interfaces.py b/resources/test_data/honeycomb/sub_interfaces.py new file mode 100644 index 0000000000..6904b48015 --- /dev/null +++ b/resources/test_data/honeycomb/sub_interfaces.py @@ -0,0 +1,287 @@ +# Copyright (c) 2016 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. + +"""Test variables for Honeycomb sub-interface test suite.""" + +# Sub-interface 1 and its settings: +sub_if_1_settings = { + "identifier": "1", + "vlan-type": "802dot1q", + "enabled": "false" +} + +sub_if_1_tags = [ + { + "index": "0", + "dot1q-tag": { + "tag-type": "dot1q-types:s-vlan", + "vlan-id": "100" + } + }, + { + "index": "1", + "dot1q-tag": { + "tag-type": "dot1q-types:c-vlan", + "vlan-id": "any" + } + } +] + +sub_if_1_match = "vlan-tagged-exact-match" + +# Expected operational data: sub-interface. +sub_if_1_oper = { + "identifier": 1, + "oper-status": "down", + "admin-status": "down", + "tags": { + "tag": [ + { + "index": 1, + "dot1q-tag": { + "tag-type": "dot1q-types:c-vlan", + "vlan-id": "any" + } + }, + { + "index": 0, + "dot1q-tag": { + "tag-type": "dot1q-types:s-vlan", + "vlan-id": "100" + } + } + ] + }, + "match": { + "vlan-tagged": { + "match-exact-tags": False + } + } +} + +# Bridge domain name. +bd_name = 'test-sub-bd' + +# Bridge domain settings used while creating a test bridge domain. +bd_settings = { + 'flood': True, + 'forward': True, + 'learn': True, + 'unknown-unicast-flood': True, + 'arp-termination': True +} + +# Bridge domain configuration used while adding the sub-interface to the bridge +# domain. +sub_bd_settings = { + 'bridge-domain': bd_name, + 'split-horizon-group': 1, + 'bridged-virtual-interface': False +} + +# Configuration data: Enable tag-rewrite push. +tag_rewrite_push = { + "vlan-type": "vpp-vlan:802dot1q", + "push-tags": [ + { + "index": 0, + "dot1q-tag": { + "tag-type": "dot1q-types:s-vlan", + "vlan-id":123 + } + }, + { + "index": 1, + "dot1q-tag": { + "tag-type": "dot1q-types:c-vlan", + "vlan-id": 456 + } + } + ] +} + +# Expected operational data: tag-rewrite push. +tag_rewrite_push_oper = { + "vlan-type": "vpp-vlan:802dot1q", + "push-tags": [ + { + "index": 1, + "dot1q-tag": { + "tag-type": "dot1q-types:c-vlan", + "vlan-id": 456 + } + }, + { + "index": 0, + "dot1q-tag": { + "tag-type": "dot1q-types:s-vlan", + "vlan-id": 123 + } + } + ] +} + +# Expected VAT data: tag-rewrite push. +tag_rewrite_push_VAT = { + 'sub_default': 0, + 'sub_dot1ad': 0, + 'sub_exact_match': 0, + 'sub_inner_vlan_id': 0, + 'sub_inner_vlan_id_any': 1, + 'sub_number_of_tags': 2, + 'sub_outer_vlan_id': 100, + 'sub_outer_vlan_id_any': 0, + 'vtr_op': 2, + 'vtr_push_dot1q': 1, + 'vtr_tag1': 123, + 'vtr_tag2': 456 +} + +# Configuration data: Enable tag-rewrite pop 1. +tag_rewrite_pop_1 = { + "pop-tags": "1" +} + +# Expected operational data: tag-rewrite pop 1. +tag_rewrite_pop_1_oper = { + "vlan-type": "vpp-vlan:802dot1ad", + "pop-tags": 1 +} + +# Expected VAT data: tag-rewrite pop 1. +tag_rewrite_pop_1_VAT = { + 'sub_default': 0, + 'sub_dot1ad': 0, + 'sub_exact_match': 0, + 'sub_inner_vlan_id': 0, + 'sub_inner_vlan_id_any': 1, + 'sub_number_of_tags': 2, + 'sub_outer_vlan_id': 100, + 'sub_outer_vlan_id_any': 0, + 'vtr_op': 3, + 'vtr_push_dot1q': 0, + 'vtr_tag1': 0, + 'vtr_tag2': 0 +} + +# Configuration data: Enable tag-rewrite translate 1-2. +tag_rewrite_translate_1_2 = { + "vlan-type": "vpp-vlan:802dot1q", + "pop-tags": "1", + "push-tags": [ + { + "index": 0, + "dot1q-tag": { + "tag-type": "dot1q-types:s-vlan", + "vlan-id": 111 + } + }, + { + "index": 1, + "dot1q-tag": { + "tag-type": "dot1q-types:c-vlan", + "vlan-id": 222 + } + } + ] +} + +# Expected operational data: tag-rewrite translate 1-2. +tag_rewrite_translate_1_2_oper = { + "vlan-type": "vpp-vlan:802dot1q", + "pop-tags": 1, + "push-tags": [ + { + "index": 1, + "dot1q-tag": { + "tag-type": "dot1q-types:c-vlan", + "vlan-id": 222 + } + }, + { + "index": 0, + "dot1q-tag": { + "tag-type": "dot1q-types:s-vlan", + "vlan-id": 111 + } + } + ] +} + +# Expected VAT data: tag-rewrite translate 1-2. +tag_rewrite_translate_1_2_VAT = { + 'sub_default': 0, + 'sub_dot1ad': 0, + 'sub_exact_match': 0, + 'sub_inner_vlan_id': 0, + 'sub_inner_vlan_id_any': 1, + 'sub_number_of_tags': 2, + 'sub_outer_vlan_id': 100, + 'sub_outer_vlan_id_any': 0, + 'vtr_op': 6, + 'vtr_push_dot1q': 1, + 'vtr_tag1': 111, + 'vtr_tag2': 222 +} + +# Configuration data: Disable tag-rewrite. +tag_rewrite_disabled = {} + +# Expected VAT data: Disable tag-rewrite. +tag_rewrite_disabled_VAT = { + 'sub_default': 0, + 'sub_dot1ad': 0, + 'sub_exact_match': 0, + 'sub_inner_vlan_id': 0, + 'sub_inner_vlan_id_any': 1, + 'sub_number_of_tags': 2, + 'sub_outer_vlan_id': 100, + 'sub_outer_vlan_id_any': 0, + 'vtr_op': 0, + 'vtr_push_dot1q': 0, + 'vtr_tag1': 0, + 'vtr_tag2': 0 +} + +# Configuration data: +# Wrong vlan-type for enable tag-rewrite translate 1-2. +tag_rewrite_translate_1_2_wrong = { + "vlan-type": "vpp-vlan:WRONG", + "pop-tags": "1", + "push-tags": [ + { + "index": 0, + "dot1q-tag": { + "tag-type": "dot1q-types:s-vlan", + "vlan-id": 111 + } + }, + { + "index": 1, + "dot1q-tag": { + "tag-type": "dot1q-types:c-vlan", + "vlan-id": 222 + } + } + ] +} + +# IP addresses configured on sub-interface during tests +ipv4 = { + "address": "192.168.0.4", + "netmask": "255.255.255.0", + "prefix-length": 24} +ipv4_2 = { + "address": "192.168.0.5", + "netmask": "255.255.0.0", + "prefix-length": 16} diff --git a/resources/test_data/honeycomb/vxlan.py b/resources/test_data/honeycomb/vxlan.py new file mode 100644 index 0000000000..43307aa61a --- /dev/null +++ b/resources/test_data/honeycomb/vxlan.py @@ -0,0 +1,28 @@ +# Copyright (c) 2016 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. + +"""Test variables for Honeycomb VxLAN management test suite.""" + +# invalid VxLAN settings +vxlan_invalid = [ + # same source and destination IPs + {'src': '192.168.0.2', 'dst': '192.168.0.2', 'vni': 88, 'encap-vrf-id': 0}, + # missing source + {'dst': '192.168.0.2', 'vni': 88, 'encap-vrf-id': 0}, + # missing destination + {'src': '192.168.0.2', 'vni': 88, 'encap-vrf-id': 0}, + # missing vni + {'src': '192.168.0.2', 'dst': '192.168.0.3', 'encap-vrf-id': 0}, + # missing encap id + {'src': '192.168.0.2', 'dst': '192.168.0.3', 'vni': 88} +] diff --git a/resources/test_data/honeycomb/vxlan_gpe.py b/resources/test_data/honeycomb/vxlan_gpe.py new file mode 100644 index 0000000000..308cd0a316 --- /dev/null +++ b/resources/test_data/honeycomb/vxlan_gpe.py @@ -0,0 +1,99 @@ +# Copyright (c) 2016 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. + +"""Test variables for Honeycomb VxLAN GPE management test suite.""" + +# The first VxLAN GPE Interface used in tests. +vxlan_gpe_if1 = 'vxlan_gpe_tunnel0' +vxlan_gpe_base_settings = { + 'name': vxlan_gpe_if1, + 'description': 'for testing purposes', + 'enabled': True, + 'link-up-down-trap-enable': 'enabled' +} +vxlan_gpe_settings = { + 'local': '192.168.50.76', + 'remote': '192.168.50.71', + 'vni': 9, + 'next-protocol': 'ipv4', + 'encap-vrf-id': 0, + 'decap-vrf-id': 0 +} + +# The values of parameters of disabled VxLAN GPE interface. +vxlan_gpe_disabled_base_settings = { + 'name': vxlan_gpe_if1, + 'description': 'for testing purposes', + 'enabled': 'false' +} + +# Wrong interface type. +vxlan_gpe_if2 = 'vxlan_gpe_tunnel1' +vxlan_gpe_wrong_type_base_settings = { + 'name': vxlan_gpe_if2, + 'type': 'iana-if-type:ethernetCsmacd', + 'description': 'for testing purposes', + 'enabled': True, + 'link-up-down-trap-enable': 'enabled' +} + +# Wrong next-protocol value. +vxlan_gpe_if3 = 'vxlan_gpe_tunnel1' +vxlan_gpe_wrong_protocol_base_settings = { + 'name': vxlan_gpe_if3, + 'description': 'for testing purposes', + 'enabled': 'true', + 'link-up-down-trap-enable': 'enabled' +} +vxlan_gpe_wrong_protocol_settings = { + 'local': '192.168.50.77', + 'remote': '192.168.50.72', + 'vni': 9, + 'next-protocol': 'wrong_ipv4', + 'encap-vrf-id': 0, + 'decap-vrf-id': 0 +} + +# The first IPv6 VxLAN GPE interface. +vxlan_gpe_if5 = 'vxlan_gpe_tunnel0' +vxlan_gpe_base_ipv6_settings = { + 'name': vxlan_gpe_if5, + 'description': 'for testing purposes', + 'enabled': True, + 'link-up-down-trap-enable': 'enabled' +} +vxlan_gpe_ipv6_settings = { + 'local': '10:10:10:10:10:10:10:10', + 'remote': '10:10:10:10:10:10:10:11', + 'vni': 9, + 'next-protocol':'ipv4', + 'encap-vrf-id': 0, + 'decap-vrf-id': 0 +} + +# The second IPv6 VxLAN GPE interface. +vxlan_gpe_if6 = 'vxlan_gpe_tunnel1' +vxlan_gpe_base_ipv6_settings2 = { + 'name': vxlan_gpe_if6, + 'description': 'for testing purposes', + 'enabled': True, + 'link-up-down-trap-enable': 'enabled' +} +vxlan_gpe_ipv6_settings2 = { + 'local': '10:10:10:10:10:10:10:20', + 'remote': '10:10:10:10:10:10:10:21', + 'vni': 9, + 'next-protocol': 'ipv4', + 'encap-vrf-id': 0, + 'decap-vrf-id': 0 +} diff --git a/tests/suites/honeycomb/021_l2_fib.robot b/tests/suites/honeycomb/021_l2_fib.robot index c994ad3b5b..ec07e104ad 100644 --- a/tests/suites/honeycomb/021_l2_fib.robot +++ b/tests/suites/honeycomb/021_l2_fib.robot @@ -16,7 +16,7 @@ | Resource | resources/libraries/robot/honeycomb/interfaces.robot | Resource | resources/libraries/robot/honeycomb/bridge_domain.robot | Resource | resources/libraries/robot/honeycomb/l2_fib.robot -| Variables | tests/suites/honeycomb/resources/l2_fib.py +| Variables | resources/test_data/honeycomb/l2_fib.py | Documentation | *Honeycomb L2 FIB management test suite.* | Suite Setup | Run keywords | ... | Set test interface down diff --git a/tests/suites/honeycomb/030_vxlan.robot b/tests/suites/honeycomb/030_vxlan.robot index 03a3d71cd5..7e192cea47 100644 --- a/tests/suites/honeycomb/030_vxlan.robot +++ b/tests/suites/honeycomb/030_vxlan.robot @@ -30,7 +30,7 @@ | Resource | resources/libraries/robot/honeycomb/interfaces.robot | Resource | resources/libraries/robot/honeycomb/vxlan.robot # import additional VxLAN settings from resource file -| Variables | tests/suites/honeycomb/resources/vxlan.py +| Variables | resources/test_data/honeycomb/vxlan.py | Force Tags | honeycomb_sanity | Documentation | *Honeycomb VxLAN management test suite.* | ... diff --git a/tests/suites/honeycomb/031_vxlan_gpe.robot b/tests/suites/honeycomb/031_vxlan_gpe.robot index ec2ef3a518..5c51319070 100644 --- a/tests/suites/honeycomb/031_vxlan_gpe.robot +++ b/tests/suites/honeycomb/031_vxlan_gpe.robot @@ -36,7 +36,7 @@ | Resource | resources/libraries/robot/honeycomb/interfaces.robot | Resource | resources/libraries/robot/honeycomb/vxlan_gpe.robot # Import additional VxLAN GPE settings from resource file -| Variables | tests/suites/honeycomb/resources/vxlan_gpe.py +| Variables | resources/test_data/honeycomb/vxlan_gpe.py | Documentation | *Honeycomb VxLAN-GPE management test suite.* | Force Tags | honeycomb_sanity diff --git a/tests/suites/honeycomb/060_sub_interface.robot b/tests/suites/honeycomb/060_sub_interface.robot index 595bbde2b7..e67638ab97 100644 --- a/tests/suites/honeycomb/060_sub_interface.robot +++ b/tests/suites/honeycomb/060_sub_interface.robot @@ -16,7 +16,7 @@ | Resource | resources/libraries/robot/honeycomb/sub_interface.robot | Resource | resources/libraries/robot/honeycomb/bridge_domain.robot | Resource | resources/libraries/robot/honeycomb/interfaces.robot -| Variables | tests/suites/honeycomb/resources/sub_interfaces.py +| Variables | resources/test_data/honeycomb/sub_interfaces.py | Suite Teardown | Honeycomb removes all bridge domains | ${node} | Force Tags | honeycomb_sanity | Documentation | *Honeycomb sub-interface management test suite.* diff --git a/tests/suites/honeycomb/070_netconf.robot b/tests/suites/honeycomb/070_netconf.robot index 998b550bf6..9925dee15f 100644 --- a/tests/suites/honeycomb/070_netconf.robot +++ b/tests/suites/honeycomb/070_netconf.robot @@ -14,7 +14,7 @@ *** Settings *** | Resource | resources/libraries/robot/default.robot | Resource | resources/libraries/robot/honeycomb/netconf.robot -| Variables | tests/suites/honeycomb/resources/netconf/triggers.py +| Variables | resources/test_data/honeycomb/netconf/triggers.py | Documentation | *Netconf test suite. Contains test cases that need to bypass\ | ... | REST API.* | Force Tags | honeycomb_sanity diff --git a/tests/suites/honeycomb/080_access_control_lists.robot b/tests/suites/honeycomb/080_access_control_lists.robot index 84dc42ee75..146a02edd3 100644 --- a/tests/suites/honeycomb/080_access_control_lists.robot +++ b/tests/suites/honeycomb/080_access_control_lists.robot @@ -18,7 +18,7 @@ *** Settings *** | Resource | resources/libraries/robot/default.robot | Resource | resources/libraries/robot/honeycomb/access_control_lists.robot -| Variables | tests/suites/honeycomb/resources/acl.py +| Variables | resources/test_data/honeycomb/acl.py | Suite Teardown | Clear all ACL settings | ${node} | Documentation | *Honeycomb access control lists test suite.* | Force Tags | Honeycomb_sanity diff --git a/tests/suites/honeycomb/resources/acl.py b/tests/suites/honeycomb/resources/acl.py deleted file mode 100644 index 227330c2a9..0000000000 --- a/tests/suites/honeycomb/resources/acl.py +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright (c) 2016 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. - -"""Test variables for access control list test suite.""" - -# settings for acl tables -hc_acl_table = { - "name": "acl_table_test", - "nbuckets": 1, - "memory_size": 100000, - "skip_n_vectors": 0, - "miss_next": "permit", - "mask": "00:00:00:00:00:00:ff:ff:ff:ff:ff:ff:00:00:00:00" -} - -hc_acl_table2 = { - "name": "acl_table_test2", - "nbuckets": 2, - "memory_size": 100000, - "skip_n_vectors": 1, - "next_table": "acl_table_test", - "miss_next": "deny", - "mask": "ff:ff:ff:00:00:00:ff:ff:ff:ff:ff:ff:00:00:00:00" -} -# representation of table settings in VAT -table_index = 0 -vat_acl_table = { - "nbuckets": hc_acl_table['nbuckets'], - "skip": 0, - "match": 1, - "nextnode": -1, - "nexttbl": -1, - "mask": hc_acl_table['mask'].replace(":", ""), -} -table_index2 = 1 -vat_acl_table2 = { - "nbuckets": hc_acl_table2['nbuckets'], - "skip": 1, - "match": 1, - "nextnode": 0, - "nexttbl": table_index, - "mask": hc_acl_table2['mask'].replace(":", ""), -} -# setting for acl sessions -hc_acl_session = { - "match": "00:00:00:00:00:00:01:02:03:04:05:06:00:00:00:00", - "hit_next": "permit", - "opaque_index": "1", - "advance": 1 -} - -hc_acl_session2 = { - "match": "00:00:00:00:00:00:06:05:04:03:02:01:00:00:00:00", - "hit_next": "deny", - "opaque_index": "2", - "advance": 1 -} -# representation of session settings in VAT -session_index = 0 -vat_acl_session = { - "match": hc_acl_session['match'].replace(":", ""), - "advance": hc_acl_session['advance'], - "opaque": 1, - "next_index": -1 -} -session_index2 = 1 -vat_acl_session2 = { - "match": hc_acl_session2['match'].replace(":", ""), - "advance": hc_acl_session2['advance'], - "opaque": 2, - "next_index": session_index -} diff --git a/tests/suites/honeycomb/resources/l2_fib.py b/tests/suites/honeycomb/resources/l2_fib.py deleted file mode 100644 index b06193ad1d..0000000000 --- a/tests/suites/honeycomb/resources/l2_fib.py +++ /dev/null @@ -1,142 +0,0 @@ -# Copyright (c) 2016 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. - -"""Test variables for Honeycomb L2 FIB test suite.""" - -# Bridge domain name. -bd_name = 'test-l2-bd' -bd_index = 1 - -# Bridge domain settings used while creating a test bridge domain. -bd_settings = { - 'flood': True, - 'forward': True, - 'learn': True, - 'unknown-unicast-flood': True, - 'arp-termination': True -} - -# Bridge domain configuration used while adding the bridge domain to an -# interface. -if_bd_settings = { - 'bridge-domain': bd_name, - 'split-horizon-group': 1, - 'bridged-virtual-interface': False -} - -# Add L2 FIB entry (forward). -# Configuration data: -l2_fib_forward_cfg = { - "phys-address": "aa:bb:cc:dd:ee:ff", - "outgoing-interface": "GigabitEthernet0/8/0", - "action": "l2-fib-forward" -} - -# Expected operational data: -l2_fib_forward_oper = { - "phys-address": "aa:bb:cc:dd:ee:ff", - "outgoing-interface": "GigabitEthernet0/8/0", - "bridged-virtual-interface": False, - "action": "v3po:l2-fib-forward", - "static-config": False -} - -# Expected VAT data: -l2_fib_forward_vat = { - "mac": int("".join(l2_fib_forward_oper["phys-address"].split(':')), 16), - "static_mac": 0, - "filter_mac": 0, - "bvi_mac": 0 - } - -# Add L2 FIB entry (static, forward). -# Configuration data: -l2_fib_static_forward_cfg = { - "phys-address": "22:22:33:44:55:66", - "outgoing-interface": "GigabitEthernet0/8/0", - "static-config": True, - "action": "l2-fib-forward" -} - -# Expected operational data: -l2_fib_static_forward_oper = { - "phys-address": "22:22:33:44:55:66", - "outgoing-interface": "GigabitEthernet0/8/0", - "bridged-virtual-interface": False, - "action": "v3po:l2-fib-forward", - "static-config": True -} - -# Expected VAT data: -l2_fib_static_forward_vat = { - "mac": int("".join(l2_fib_static_forward_oper["phys-address"]. - split(':')), 16), - "sw_if_index": 5, - "static_mac": 1, - "filter_mac": 0, - "bvi_mac": 0 -} - -# Add L2 FIB entry (filter). -# Configuration data: -l2_fib_filter_cfg = { - "phys-address": "00:01:02:03:04:05", - "outgoing-interface": "GigabitEthernet0/8/0", - "static-config": True, - "action": "l2-fib-filter" -} - -# Expected operational data: -l2_fib_filter_oper = { - "phys-address": "00:01:02:03:04:05", - "outgoing-interface": "GigabitEthernet0/8/0", - "bridged-virtual-interface": False, - "action": "v3po:l2-fib-filter", - "static-config": True -} - -# Expected VAT data: -l2_fib_filter_vat = { - "mac": int("".join(l2_fib_filter_oper["phys-address"].split(':')), 16), - "sw_if_index": 5, - "static_mac": 1, - "filter_mac": 1, - "bvi_mac": 0 -} - -# WRONG configuration data - Add L2 FIB entry. -l2_fib_forward_cfg_wrong_mac = { - "phys-address": "WRONG-MAC", - "outgoing-interface": "GigabitEthernet0/8/0", - "action": "l2-fib-forward" -} - -l2_fib_forward_cfg_wrong_if = { - "phys-address": "aa:bb:cc:dd:ee:ff", - "outgoing-interface": "WRONG-INTERFACE", - "action": "l2-fib-forward" -} - -l2_fib_forward_cfg_wrong_action = { - "phys-address": "aa:bb:cc:dd:ee:ff", - "outgoing-interface": "GigabitEthernet0/8/0", - "action": "WRONG-ACTION" -} - -# Modify L2 FIB entry (forward). -# Configuration data: -l2_fib_forward_modified_cfg = { - "phys-address": "aa:bb:cc:dd:ee:ff", - "outgoing-interface": "GigabitEthernet0/9/0", - "action": "l2-fib-forward" -} diff --git a/tests/suites/honeycomb/resources/netconf/hello.py b/tests/suites/honeycomb/resources/netconf/hello.py deleted file mode 100644 index 2cc89b387c..0000000000 --- a/tests/suites/honeycomb/resources/netconf/hello.py +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (c) 2016 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. - -"""Hello message with capabilities list for Netconf sessions.""" - -hello = u""" - - -urn:ietf:params:netconf:base:1.0 - - -]]>]]>""" \ No newline at end of file diff --git a/tests/suites/honeycomb/resources/netconf/subscription.py b/tests/suites/honeycomb/resources/netconf/subscription.py deleted file mode 100644 index ccf8c47022..0000000000 --- a/tests/suites/honeycomb/resources/netconf/subscription.py +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright (c) 2016 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. - -"""RPC call to add a subscription to Netconf notifications.""" - -subscription = u""" - - -honeycomb - - -]]>]]>""" diff --git a/tests/suites/honeycomb/resources/netconf/triggers.py b/tests/suites/honeycomb/resources/netconf/triggers.py deleted file mode 100644 index 77596bd052..0000000000 --- a/tests/suites/honeycomb/resources/netconf/triggers.py +++ /dev/null @@ -1,336 +0,0 @@ -# Copyright (c) 2016 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. - -"""Contains RPC sequences to trigger specific issues through Netconf.""" - -# Test data for issue: https://jira.fd.io/browse/HONEYCOMB-105 -# Creating and removing interfaces may result in duplicated interface indices. -trigger_105 = u""" - - - - - - - - -4fe335c8-6fdc-4654-b12c-d256e9b39229 - - - - - -]]>]]> - - - - - - - - -]]>]]> - - - - - - -none - - - -4fe335c8-6fdc-4654-b12c-d256e9b39229 -neutron port -enabled - -client -/tmp/socket_4fe335c8-6fdc-4654-b12c-d256e9b39229 - -x:vhost-user -true - - - - - -]]>]]> - - - - -]]>]]> - - - - - - - - -]]>]]> - - - - - - - - -]]>]]> - - - - - - -none - - - -4fe335c8-6fdc-4654-b12c-d256e9b39229 - - - - - -]]>]]> - - - - -]]>]]> - - - - - - - - -]]>]]> - - - - - - - - -]]>]]> - - - - - - -none - - - -4fe335c8-6fdc-4654-b12c-d256e9b39229 -neutron port -enabled - -client -/tmp/socket_4fe335c8-6fdc-4654-b12c-d256e9b39229 - -x:vhost-user -true - - - - - -]]>]]> - - - - -]]>]]> - - - - - - - - -]]>]]> - - - - - - - - -]]>]]> - - - - - - -none - - - -d7611278-88ff-40e1-81e2-602e94e96fc7 -neutron port -enabled - -client -/tmp/socket_d7611278-88ff-40e1-81e2-602e94e96fc7 - -x:vhost-user -true - - - - - -]]>]]> - - - - -]]>]]> - - - - - - - - -]]>]]> - - - - - - - - -]]>]]> - - - - - - -none - - - -1f96a665-4351-4984-b1a8-dc6f54683123 -neutron port -enabled - -client -/tmp/socket_1f96a665-4351-4984-b1a8-dc6f54683123 - -x:vhost-user -true - - - - - -]]>]]> - - - - -]]>]]> - - - - - - - - -]]>]]> - - - - - - - - -]]>]]> - - - - - - -none - - - - -e86740a2-042c-4e64-a43b-cc224e0d5240 -true -true -true -true -false - - - - - - -]]>]]> - - - - -]]>]]> - - - - - - - - -]]>]]> - - - - - - - - -]]>]]> - - - - - - - - -]]>]]>""" diff --git a/tests/suites/honeycomb/resources/persistence.py b/tests/suites/honeycomb/resources/persistence.py deleted file mode 100644 index f46cfba597..0000000000 --- a/tests/suites/honeycomb/resources/persistence.py +++ /dev/null @@ -1,138 +0,0 @@ -# Copyright (c) 2016 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. - -"""Test variables for Honeycomb persistence test suite.""" - - -def get_variables(interface): - """Creates and returns dictionary of test variables. - - :param interface: name of super-interface for the tested sub-interface - :type interface: str - :return: dictionary of test variables - :rtype: dict - """ - # basic settings - bd_name = 'bd_persist' - sub_if_id = 1 - sub_if_name = interface + '.' + str(sub_if_id) - - variables = { - # VxLan settings - 'vx_interface': 'vx_tunnel_test', - 'vxlan_settings': {'src': '192.168.0.2', - 'dst': '192.168.0.3', - "vni": 88, - 'encap-vrf-id': 0}, - # bridge domain settings - 'bd_name': bd_name, - 'bd_settings': {'flood': True, - 'forward': True, - 'learn': True, - 'unknown-unicast-flood': True, - 'arp-termination': True - }, - # tap interface settings - 'tap_interface': 'tap_test', - 'tap_settings': {'tap-name': 'tap_test', - 'mac': '08:00:27:c0:5d:37', - 'device-instance': 1 - }, - # vhost-user interface settings - 'vhost_interface': 'test_vhost', - 'vhost_user_server': {'socket': 'soc1', - 'role': 'server' - }, - # Vlan subinterface settings - 'sub_if_id': sub_if_id, - 'sub_if_name': sub_if_name, - 'sub_if_1_settings': { - "identifier": sub_if_id, - "vlan-type": "802dot1q", - "enabled": "false" - }, - 'sub_if_1_tags': [ - { - "index": "0", - "dot1q-tag": { - "tag-type": "dot1q-types:s-vlan", - "vlan-id": "100" - } - }, - { - "index": "1", - "dot1q-tag": { - "tag-type": "dot1q-types:c-vlan", - "vlan-id": "any" - } - } - ], - 'sub_if_1_match': "vlan-tagged-exact-match", - 'sub_if_1_oper': { - "identifier": sub_if_id, - "oper-status": "up", - "admin-status": "up", - "tags": { - "tag": [ - { - "index": 1, - "dot1q-tag": { - "tag-type": "dot1q-types:c-vlan", - "vlan-id": "any" - } - }, - { - "index": 0, - "dot1q-tag": { - "tag-type": "dot1q-types:s-vlan", - "vlan-id": "100" - } - } - ] - }, - "match": { - "vlan-tagged": { - "match-exact-tags": False - } - } - }, - 'sub_bd_settings': { - 'bridge-domain': bd_name, - 'split-horizon-group': '1', - 'bridged-virtual-interface': 'False' - }, - 'tag_rewrite_pop_1': { - "pop-tags": "1" - }, - - 'tag_rewrite_pop_1_oper': { - "vlan-type": "vpp-vlan:802dot1ad", - "pop-tags": 1 - }, - - 'tag_rewrite_pop_1_VAT': { - 'sub_default': 0, - 'sub_dot1ad': 0, - 'sub_exact_match': 0, - 'sub_inner_vlan_id': 0, - 'sub_inner_vlan_id_any': 1, - 'sub_number_of_tags': 2, - 'sub_outer_vlan_id': 100, - 'sub_outer_vlan_id_any': 0, - 'vtr_op': 3, - 'vtr_push_dot1q': 0, - 'vtr_tag1': 0, - 'vtr_tag2': 0 - } - } - return variables diff --git a/tests/suites/honeycomb/resources/sub_interfaces.py b/tests/suites/honeycomb/resources/sub_interfaces.py deleted file mode 100644 index 6904b48015..0000000000 --- a/tests/suites/honeycomb/resources/sub_interfaces.py +++ /dev/null @@ -1,287 +0,0 @@ -# Copyright (c) 2016 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. - -"""Test variables for Honeycomb sub-interface test suite.""" - -# Sub-interface 1 and its settings: -sub_if_1_settings = { - "identifier": "1", - "vlan-type": "802dot1q", - "enabled": "false" -} - -sub_if_1_tags = [ - { - "index": "0", - "dot1q-tag": { - "tag-type": "dot1q-types:s-vlan", - "vlan-id": "100" - } - }, - { - "index": "1", - "dot1q-tag": { - "tag-type": "dot1q-types:c-vlan", - "vlan-id": "any" - } - } -] - -sub_if_1_match = "vlan-tagged-exact-match" - -# Expected operational data: sub-interface. -sub_if_1_oper = { - "identifier": 1, - "oper-status": "down", - "admin-status": "down", - "tags": { - "tag": [ - { - "index": 1, - "dot1q-tag": { - "tag-type": "dot1q-types:c-vlan", - "vlan-id": "any" - } - }, - { - "index": 0, - "dot1q-tag": { - "tag-type": "dot1q-types:s-vlan", - "vlan-id": "100" - } - } - ] - }, - "match": { - "vlan-tagged": { - "match-exact-tags": False - } - } -} - -# Bridge domain name. -bd_name = 'test-sub-bd' - -# Bridge domain settings used while creating a test bridge domain. -bd_settings = { - 'flood': True, - 'forward': True, - 'learn': True, - 'unknown-unicast-flood': True, - 'arp-termination': True -} - -# Bridge domain configuration used while adding the sub-interface to the bridge -# domain. -sub_bd_settings = { - 'bridge-domain': bd_name, - 'split-horizon-group': 1, - 'bridged-virtual-interface': False -} - -# Configuration data: Enable tag-rewrite push. -tag_rewrite_push = { - "vlan-type": "vpp-vlan:802dot1q", - "push-tags": [ - { - "index": 0, - "dot1q-tag": { - "tag-type": "dot1q-types:s-vlan", - "vlan-id":123 - } - }, - { - "index": 1, - "dot1q-tag": { - "tag-type": "dot1q-types:c-vlan", - "vlan-id": 456 - } - } - ] -} - -# Expected operational data: tag-rewrite push. -tag_rewrite_push_oper = { - "vlan-type": "vpp-vlan:802dot1q", - "push-tags": [ - { - "index": 1, - "dot1q-tag": { - "tag-type": "dot1q-types:c-vlan", - "vlan-id": 456 - } - }, - { - "index": 0, - "dot1q-tag": { - "tag-type": "dot1q-types:s-vlan", - "vlan-id": 123 - } - } - ] -} - -# Expected VAT data: tag-rewrite push. -tag_rewrite_push_VAT = { - 'sub_default': 0, - 'sub_dot1ad': 0, - 'sub_exact_match': 0, - 'sub_inner_vlan_id': 0, - 'sub_inner_vlan_id_any': 1, - 'sub_number_of_tags': 2, - 'sub_outer_vlan_id': 100, - 'sub_outer_vlan_id_any': 0, - 'vtr_op': 2, - 'vtr_push_dot1q': 1, - 'vtr_tag1': 123, - 'vtr_tag2': 456 -} - -# Configuration data: Enable tag-rewrite pop 1. -tag_rewrite_pop_1 = { - "pop-tags": "1" -} - -# Expected operational data: tag-rewrite pop 1. -tag_rewrite_pop_1_oper = { - "vlan-type": "vpp-vlan:802dot1ad", - "pop-tags": 1 -} - -# Expected VAT data: tag-rewrite pop 1. -tag_rewrite_pop_1_VAT = { - 'sub_default': 0, - 'sub_dot1ad': 0, - 'sub_exact_match': 0, - 'sub_inner_vlan_id': 0, - 'sub_inner_vlan_id_any': 1, - 'sub_number_of_tags': 2, - 'sub_outer_vlan_id': 100, - 'sub_outer_vlan_id_any': 0, - 'vtr_op': 3, - 'vtr_push_dot1q': 0, - 'vtr_tag1': 0, - 'vtr_tag2': 0 -} - -# Configuration data: Enable tag-rewrite translate 1-2. -tag_rewrite_translate_1_2 = { - "vlan-type": "vpp-vlan:802dot1q", - "pop-tags": "1", - "push-tags": [ - { - "index": 0, - "dot1q-tag": { - "tag-type": "dot1q-types:s-vlan", - "vlan-id": 111 - } - }, - { - "index": 1, - "dot1q-tag": { - "tag-type": "dot1q-types:c-vlan", - "vlan-id": 222 - } - } - ] -} - -# Expected operational data: tag-rewrite translate 1-2. -tag_rewrite_translate_1_2_oper = { - "vlan-type": "vpp-vlan:802dot1q", - "pop-tags": 1, - "push-tags": [ - { - "index": 1, - "dot1q-tag": { - "tag-type": "dot1q-types:c-vlan", - "vlan-id": 222 - } - }, - { - "index": 0, - "dot1q-tag": { - "tag-type": "dot1q-types:s-vlan", - "vlan-id": 111 - } - } - ] -} - -# Expected VAT data: tag-rewrite translate 1-2. -tag_rewrite_translate_1_2_VAT = { - 'sub_default': 0, - 'sub_dot1ad': 0, - 'sub_exact_match': 0, - 'sub_inner_vlan_id': 0, - 'sub_inner_vlan_id_any': 1, - 'sub_number_of_tags': 2, - 'sub_outer_vlan_id': 100, - 'sub_outer_vlan_id_any': 0, - 'vtr_op': 6, - 'vtr_push_dot1q': 1, - 'vtr_tag1': 111, - 'vtr_tag2': 222 -} - -# Configuration data: Disable tag-rewrite. -tag_rewrite_disabled = {} - -# Expected VAT data: Disable tag-rewrite. -tag_rewrite_disabled_VAT = { - 'sub_default': 0, - 'sub_dot1ad': 0, - 'sub_exact_match': 0, - 'sub_inner_vlan_id': 0, - 'sub_inner_vlan_id_any': 1, - 'sub_number_of_tags': 2, - 'sub_outer_vlan_id': 100, - 'sub_outer_vlan_id_any': 0, - 'vtr_op': 0, - 'vtr_push_dot1q': 0, - 'vtr_tag1': 0, - 'vtr_tag2': 0 -} - -# Configuration data: -# Wrong vlan-type for enable tag-rewrite translate 1-2. -tag_rewrite_translate_1_2_wrong = { - "vlan-type": "vpp-vlan:WRONG", - "pop-tags": "1", - "push-tags": [ - { - "index": 0, - "dot1q-tag": { - "tag-type": "dot1q-types:s-vlan", - "vlan-id": 111 - } - }, - { - "index": 1, - "dot1q-tag": { - "tag-type": "dot1q-types:c-vlan", - "vlan-id": 222 - } - } - ] -} - -# IP addresses configured on sub-interface during tests -ipv4 = { - "address": "192.168.0.4", - "netmask": "255.255.255.0", - "prefix-length": 24} -ipv4_2 = { - "address": "192.168.0.5", - "netmask": "255.255.0.0", - "prefix-length": 16} diff --git a/tests/suites/honeycomb/resources/vxlan.py b/tests/suites/honeycomb/resources/vxlan.py deleted file mode 100644 index 43307aa61a..0000000000 --- a/tests/suites/honeycomb/resources/vxlan.py +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright (c) 2016 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. - -"""Test variables for Honeycomb VxLAN management test suite.""" - -# invalid VxLAN settings -vxlan_invalid = [ - # same source and destination IPs - {'src': '192.168.0.2', 'dst': '192.168.0.2', 'vni': 88, 'encap-vrf-id': 0}, - # missing source - {'dst': '192.168.0.2', 'vni': 88, 'encap-vrf-id': 0}, - # missing destination - {'src': '192.168.0.2', 'vni': 88, 'encap-vrf-id': 0}, - # missing vni - {'src': '192.168.0.2', 'dst': '192.168.0.3', 'encap-vrf-id': 0}, - # missing encap id - {'src': '192.168.0.2', 'dst': '192.168.0.3', 'vni': 88} -] diff --git a/tests/suites/honeycomb/resources/vxlan_gpe.py b/tests/suites/honeycomb/resources/vxlan_gpe.py deleted file mode 100644 index 308cd0a316..0000000000 --- a/tests/suites/honeycomb/resources/vxlan_gpe.py +++ /dev/null @@ -1,99 +0,0 @@ -# Copyright (c) 2016 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. - -"""Test variables for Honeycomb VxLAN GPE management test suite.""" - -# The first VxLAN GPE Interface used in tests. -vxlan_gpe_if1 = 'vxlan_gpe_tunnel0' -vxlan_gpe_base_settings = { - 'name': vxlan_gpe_if1, - 'description': 'for testing purposes', - 'enabled': True, - 'link-up-down-trap-enable': 'enabled' -} -vxlan_gpe_settings = { - 'local': '192.168.50.76', - 'remote': '192.168.50.71', - 'vni': 9, - 'next-protocol': 'ipv4', - 'encap-vrf-id': 0, - 'decap-vrf-id': 0 -} - -# The values of parameters of disabled VxLAN GPE interface. -vxlan_gpe_disabled_base_settings = { - 'name': vxlan_gpe_if1, - 'description': 'for testing purposes', - 'enabled': 'false' -} - -# Wrong interface type. -vxlan_gpe_if2 = 'vxlan_gpe_tunnel1' -vxlan_gpe_wrong_type_base_settings = { - 'name': vxlan_gpe_if2, - 'type': 'iana-if-type:ethernetCsmacd', - 'description': 'for testing purposes', - 'enabled': True, - 'link-up-down-trap-enable': 'enabled' -} - -# Wrong next-protocol value. -vxlan_gpe_if3 = 'vxlan_gpe_tunnel1' -vxlan_gpe_wrong_protocol_base_settings = { - 'name': vxlan_gpe_if3, - 'description': 'for testing purposes', - 'enabled': 'true', - 'link-up-down-trap-enable': 'enabled' -} -vxlan_gpe_wrong_protocol_settings = { - 'local': '192.168.50.77', - 'remote': '192.168.50.72', - 'vni': 9, - 'next-protocol': 'wrong_ipv4', - 'encap-vrf-id': 0, - 'decap-vrf-id': 0 -} - -# The first IPv6 VxLAN GPE interface. -vxlan_gpe_if5 = 'vxlan_gpe_tunnel0' -vxlan_gpe_base_ipv6_settings = { - 'name': vxlan_gpe_if5, - 'description': 'for testing purposes', - 'enabled': True, - 'link-up-down-trap-enable': 'enabled' -} -vxlan_gpe_ipv6_settings = { - 'local': '10:10:10:10:10:10:10:10', - 'remote': '10:10:10:10:10:10:10:11', - 'vni': 9, - 'next-protocol':'ipv4', - 'encap-vrf-id': 0, - 'decap-vrf-id': 0 -} - -# The second IPv6 VxLAN GPE interface. -vxlan_gpe_if6 = 'vxlan_gpe_tunnel1' -vxlan_gpe_base_ipv6_settings2 = { - 'name': vxlan_gpe_if6, - 'description': 'for testing purposes', - 'enabled': True, - 'link-up-down-trap-enable': 'enabled' -} -vxlan_gpe_ipv6_settings2 = { - 'local': '10:10:10:10:10:10:10:20', - 'remote': '10:10:10:10:10:10:10:21', - 'vni': 9, - 'next-protocol': 'ipv4', - 'encap-vrf-id': 0, - 'decap-vrf-id': 0 -} -- cgit 1.2.3-korg