aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--resources/libraries/python/honeycomb/Routing.py25
-rw-r--r--resources/templates/honeycomb/config_routing_table.url2
-rw-r--r--resources/templates/honeycomb/config_slaac.url2
-rw-r--r--resources/templates/honeycomb/oper_routing_table.url2
-rw-r--r--resources/test_data/honeycomb/bgp.py16
-rw-r--r--resources/test_data/honeycomb/routing.py186
-rw-r--r--tests/honeycomb/func/mgmt-cfg-bgp-apihc-func.robot2
7 files changed, 125 insertions, 110 deletions
diff --git a/resources/libraries/python/honeycomb/Routing.py b/resources/libraries/python/honeycomb/Routing.py
index 520f53e676..8d8f7f4401 100644
--- a/resources/libraries/python/honeycomb/Routing.py
+++ b/resources/libraries/python/honeycomb/Routing.py
@@ -98,11 +98,10 @@ class RoutingKeywords(object):
protocol = "vpp-protocol-attributes"
full_data = {
- "routing-protocol": [
+ "control-plane-protocol": [
{
"name": name,
"description": "hc2vpp-csit test route",
- "enabled": "true",
"type": "static",
protocol: {
"primary-vrf": vrf
@@ -116,7 +115,7 @@ class RoutingKeywords(object):
]
}
- path = "/routing-protocol/{0}".format(name)
+ path = "/control-plane-protocol/hc2vpp-ietf-routing:static/{0}".format(name)
return RoutingKeywords._set_routing_table_properties(
node, path, full_data)
@@ -132,7 +131,7 @@ class RoutingKeywords(object):
:rtype: bytearray
"""
- path = "/routing-protocol/{0}".format(name)
+ path = "/control-plane-protocol/hc2vpp-ietf-routing:static/{0}".format(name)
return RoutingKeywords._set_routing_table_properties(node, path)
@staticmethod
@@ -150,7 +149,7 @@ class RoutingKeywords(object):
:raises HoneycombError: If the operation fails.
"""
- path = "/routing-protocol/{0}".format(name)
+ path = "/control-plane-protocol/hc2vpp-ietf-routing:static/{0}".format(name)
status_code, resp = HcUtil.\
get_honeycomb_data(node, "oper_routing_table", path)
@@ -160,7 +159,7 @@ class RoutingKeywords(object):
"routing tables. Status code: {0}.".format(status_code))
data = RoutingKeywords.clean_routing_oper_data(
- resp['routing-protocol'][0]['static-routes']
+ resp['control-plane-protocol'][0]['static-routes']
['hc2vpp-ietf-{0}-unicast-routing:{0}'.format(ip_version)]['route'])
return data
@@ -219,21 +218,15 @@ class RoutingKeywords(object):
interface = Topology.convert_interface_reference(
node, interface, 'name')
- interface_orig = interface
interface = interface.replace('/', '%2F')
- path = 'interface/' + interface
+ path = 'interface/' + interface + '/ipv6/ipv6-router-advertisements'
if not slaac_data:
status_code, _ = HcUtil.delete_honeycomb_data(
node, 'config_slaac', path)
else:
data = {
- 'interface': [
- {
- 'name': interface_orig,
- 'ipv6-router-advertisements': slaac_data
- }
- ]
+ 'ipv6-router-advertisements': slaac_data
}
status_code, _ = HcUtil.put_honeycomb_data(
@@ -258,7 +251,7 @@ class RoutingKeywords(object):
interface = Topology.convert_interface_reference(
node, interface, 'name')
interface = interface.replace('/', '%2F')
- path = 'interface/' + interface
+ path = 'interface/' + interface + '/ipv6/ipv6-router-advertisements'
status_code, resp = HcUtil.\
get_honeycomb_data(node, "config_slaac", path)
@@ -268,7 +261,7 @@ class RoutingKeywords(object):
"Not possible to get operational information about SLAAC. "
"Status code: {0}.".format(status_code))
try:
- dict_of_str = resp['interface'][0][
+ dict_of_str = resp[
'hc2vpp-ietf-ipv6-unicast-routing:ipv6-router-advertisements']
return {k: str(v) for k, v in dict_of_str.items()}
except (KeyError, TypeError):
diff --git a/resources/templates/honeycomb/config_routing_table.url b/resources/templates/honeycomb/config_routing_table.url
index f3b846f8a3..2e484d9cfd 100644
--- a/resources/templates/honeycomb/config_routing_table.url
+++ b/resources/templates/honeycomb/config_routing_table.url
@@ -1 +1 @@
-/restconf/config{odl_url_part}/hc2vpp-ietf-routing:routing/routing-instance/vpp-routing-instance/routing-protocols \ No newline at end of file
+/restconf/config{odl_url_part}/hc2vpp-ietf-routing:routing/control-plane-protocols \ No newline at end of file
diff --git a/resources/templates/honeycomb/config_slaac.url b/resources/templates/honeycomb/config_slaac.url
index 5b363ffa8b..d74c35ec3c 100644
--- a/resources/templates/honeycomb/config_slaac.url
+++ b/resources/templates/honeycomb/config_slaac.url
@@ -1 +1 @@
-/restconf/config{odl_url_part}/hc2vpp-ietf-routing:routing/routing-instance/vpp-routing-instance/interfaces/ \ No newline at end of file
+/restconf/config{odl_url_part}/ietf-interfaces:interfaces/ \ No newline at end of file
diff --git a/resources/templates/honeycomb/oper_routing_table.url b/resources/templates/honeycomb/oper_routing_table.url
index 8096dcb69e..1206301186 100644
--- a/resources/templates/honeycomb/oper_routing_table.url
+++ b/resources/templates/honeycomb/oper_routing_table.url
@@ -1 +1 @@
-/restconf/operational{odl_url_part}/hc2vpp-ietf-routing:routing-state/routing-instance/vpp-routing-instance/routing-protocols \ No newline at end of file
+/restconf/operational{odl_url_part}/hc2vpp-ietf-routing:routing/control-plane-protocols \ No newline at end of file
diff --git a/resources/test_data/honeycomb/bgp.py b/resources/test_data/honeycomb/bgp.py
index 84c9431e6b..c7a968cfd6 100644
--- a/resources/test_data/honeycomb/bgp.py
+++ b/resources/test_data/honeycomb/bgp.py
@@ -194,7 +194,7 @@ route_data_ipv6 = {
table1_oper = {
"destination-prefix": route_address_ipv4,
"next-hop": "192.168.1.1",
- "vpp-ipv4-route-state": {}
+ "vpp-ipv4-unicast-routing:vpp-ipv4-route": {}
}
# Peer configurations for traffic test
@@ -306,18 +306,18 @@ rib_operational = {
}
route_operational = {
- "vpp-ipv4-route-state": {},
- "next-hop": "192.168.1.3",
+ "next-hop": {"next-hop-address": "192.168.1.3"},
+ "vpp-ipv4-unicast-routing:vpp-ipv4-route": {},
"destination-prefix": dut1_route_address
}
# IPv6 route for traffic test
-dut1_route_ip6_address = "3ffe:62::1/64"
+dut1_route_ip6_prefix = "3ffe:62::/64"
dut1_route_ip6_id = 1
dut1_route_ip6 = {
"bgp-inet:ipv6-route": [{
"path-id": dut1_route_ip6_id,
- "prefix": dut1_route_ip6_address,
+ "prefix": dut1_route_ip6_prefix,
"attributes": {
"as-path": {},
"origin": {
@@ -347,7 +347,7 @@ rib_ip6_operational = {
}
route_ip6_operational = {
- "vpp-ipv6-route-state": {},
- "next-hop": "3ffe:63::1",
- "destination-prefix": dut1_route_ip6_address
+ "next-hop": {"next-hop-address": "3ffe:63::1"},
+ "vpp-ipv6-unicast-routing:vpp-ipv6-route": {},
+ "destination-prefix": dut1_route_ip6_prefix
}
diff --git a/resources/test_data/honeycomb/routing.py b/resources/test_data/honeycomb/routing.py
index c28b2212a4..25fefe9426 100644
--- a/resources/test_data/honeycomb/routing.py
+++ b/resources/test_data/honeycomb/routing.py
@@ -63,80 +63,86 @@ def get_variables(node, ip_version, out_interface):
# route configuration used in tests
tables_cfg = {
"table1": {
- "id": 1,
"description": "single hop ipv4",
"destination-prefix":
"{0}/{1}".format(ipv4_base["dst_net"], ipv4_base["prefix_len"]),
- "next-hop": ipv4_base["next_hop"],
- "outgoing-interface": out_interface,
- "vpp-ipv4-route": {}
+ "next-hop": {
+ "next-hop-address" : ipv4_base["next_hop"],
+ "outgoing-interface": out_interface
+ },
+ "vpp-ipv4-unicast-routing:vpp-ipv4-route": {}
},
"table2": {
- "id": 1,
"description": "multi hop ipv4",
"destination-prefix":
"{0}/{1}".format(ipv4_base["dst_net"], ipv4_base["prefix_len"]),
- "next-hop-list": {
- "next-hop": [
- {
- "id": 1,
- "address": ipv4_base["next_hop1"],
- "outgoing-interface": out_interface,
- "weight": "1"
- },
- {
- "id": 2,
- "address": ipv4_base["next_hop2"],
- "outgoing-interface": out_interface,
- "weight": "1"
- }
- ]
+ "next-hop":{
+ "next-hop-list": {
+ "next-hop": [
+ {
+ "index": "1",
+ "next-hop-address": ipv4_base["next_hop1"],
+ "outgoing-interface": out_interface,
+ "weight": "1"
+ },
+ {
+ "index": "2",
+ "next-hop-address": ipv4_base["next_hop2"],
+ "outgoing-interface": out_interface,
+ "weight": "1"
+ }
+ ]
+ }
}
},
"table3": {
- "id": 1,
"description": "blackhole ipv4",
"destination-prefix":
"{0}/{1}".format(ipv4_base["dst_net"], ipv4_base["prefix_len"]),
- "special-next-hop": "receive"
+ "next-hop": {
+ "special-next-hop-enum": "blackhole"
+ }
},
"table4": {
- "id": 1,
"description": "single hop ipv6",
"destination-prefix":
"{0}/{1}".format(ipv6_base["dst_net"], ipv6_base["prefix_len"]),
- "next-hop": ipv6_base["next_hop"],
- "outgoing-interface": out_interface,
- "vpp-ipv6-route": {}
+ "next-hop": {
+ "next-hop-address": ipv6_base["next_hop"],
+ "outgoing-interface": out_interface
+ },
+ "vpp-ipv6-unicast-routing:vpp-ipv6-route": {}
},
"table5": {
- "id": 1,
"description": "multi hop ipv6",
"destination-prefix":
"{0}/{1}".format(ipv6_base["dst_net"], ipv6_base["prefix_len"]),
- "next-hop-list": {
- "next-hop": [
- {
- "id": 1,
- "address": ipv6_base["next_hop1"],
- "outgoing-interface": out_interface,
- "weight": "1"
- },
- {
- "id": 2,
- "address": ipv6_base["next_hop2"],
- "outgoing-interface": out_interface,
- "weight": "1"
- }
- ]
+ "next-hop":{
+ "next-hop-list": {
+ "next-hop": [
+ {
+ "index": "1",
+ "next-hop-address": ipv6_base["next_hop1"],
+ "outgoing-interface": out_interface,
+ "weight": "1"
+ },
+ {
+ "index": "2",
+ "next-hop-address": ipv6_base["next_hop2"],
+ "outgoing-interface": out_interface,
+ "weight": "1"
+ }
+ ]
+ }
}
},
"table6": {
- "id": 1,
"description": "blackhole ipv6",
"destination-prefix":
"{0}/{1}".format(ipv6_base["dst_net"], ipv6_base["prefix_len"]),
- "special-next-hop": "blackhole"
+ "next-hop":{
+ "special-next-hop-enum": "blackhole"
+ }
}
}
@@ -145,69 +151,85 @@ def get_variables(node, ip_version, out_interface):
"table1_oper": {
"destination-prefix":
"{0}/{1}".format(ipv4_base["dst_net"], ipv4_base["prefix_len"]),
- "next-hop": ipv4_base["next_hop"],
- "outgoing-interface": out_interface,
- "vpp-ipv4-route-state": {}
+ "next-hop":{
+ "next-hop-address": ipv4_base["next_hop"],
+ "outgoing-interface": out_interface
+ },
+ "vpp-ipv4-unicast-routing:vpp-ipv4-route": {}
},
"table2_oper": {
"destination-prefix":
"{0}/{1}".format(ipv4_base["dst_net"], ipv4_base["prefix_len"]),
- "next-hop-list": {
- "next-hop": [
- {
- "address": ipv4_base["next_hop1"],
- "outgoing-interface": out_interface,
- "weight": 1
- },
- {
- "address": ipv4_base["next_hop2"],
- "outgoing-interface": out_interface,
- "weight": 1
- }
- ]
+ "next-hop":{
+ "next-hop-list": {
+ "next-hop": [
+ {
+ "index": "2",
+ "next-hop-address": ipv4_base["next_hop2"],
+ "outgoing-interface": out_interface,
+ "vpp-ipv4-unicast-routing:weight": 1
+ },
+ {
+ "index": "1",
+ "next-hop-address": ipv4_base["next_hop1"],
+ "outgoing-interface": out_interface,
+ "vpp-ipv4-unicast-routing:weight": 1
+ }
+ ]
+ }
},
- 'vpp-ipv4-route-state': {}
+ "vpp-ipv4-unicast-routing:vpp-ipv4-route": {}
},
"table3_oper": {
"destination-prefix":
"{0}/{1}".format(ipv4_base["dst_net"], ipv4_base["prefix_len"]),
- "special-next-hop": "receive",
- "vpp-ipv4-route-state": {}
+ "next-hop":{
+ "special-next-hop-enum": "blackhole"
+ },
+ "vpp-ipv4-unicast-routing:vpp-ipv4-route": {}
},
"table4_oper": {
"destination-prefix":
"{0}/{1}".format(ipv6_base["dst_net"],
ipv6_base["prefix_len"]),
- "next-hop": ipv6_base["next_hop"],
- "outgoing-interface": out_interface,
- "vpp-ipv6-route-state": {}
+ "next-hop":{
+ "next-hop-address": ipv6_base["next_hop"],
+ "outgoing-interface": out_interface
+ },
+ "vpp-ipv6-unicast-routing:vpp-ipv6-route": {}
},
"table5_oper": {
"destination-prefix":
"{0}/{1}".format(ipv6_base["dst_net"],
ipv6_base["prefix_len"]),
- "next-hop-list": {
- "next-hop": [
- {
- "address": ipv6_base["next_hop1"],
- "outgoing-interface": out_interface,
- "weight": 1
- },
- {
- "address": ipv6_base["next_hop2"],
- "outgoing-interface": out_interface,
- "weight": 1
- }
- ]
+ "next-hop":{
+ "next-hop-list": {
+ "next-hop": [
+ {
+ "index": "2",
+ "next-hop-address": ipv6_base["next_hop2"],
+ "outgoing-interface": out_interface,
+ "vpp-ipv6-unicast-routing:weight": 1
+ },
+ {
+ "index": "1",
+ "next-hop-address": ipv6_base["next_hop1"],
+ "outgoing-interface": out_interface,
+ "vpp-ipv6-unicast-routing:weight": 1
+ }
+ ]
+ }
},
- "vpp-ipv6-route-state": {}
+ "vpp-ipv6-unicast-routing:vpp-ipv6-route": {}
},
"table6_oper": {
"destination-prefix":
"{0}/{1}".format(ipv6_base["dst_net"],
ipv6_base["prefix_len"]),
- "special-next-hop": "blackhole",
- 'vpp-ipv6-route-state': {}
+ "next-hop":{
+ "special-next-hop-enum": "blackhole"
+ },
+ "vpp-ipv6-unicast-routing:vpp-ipv6-route": {}
}
}
diff --git a/tests/honeycomb/func/mgmt-cfg-bgp-apihc-func.robot b/tests/honeycomb/func/mgmt-cfg-bgp-apihc-func.robot
index b5fed1e583..b213abc13a 100644
--- a/tests/honeycomb/func/mgmt-cfg-bgp-apihc-func.robot
+++ b/tests/honeycomb/func/mgmt-cfg-bgp-apihc-func.robot
@@ -268,7 +268,7 @@
| | ... | ${dut2_node} | ${address_application} | ${peer_application}
| | And Honeycomb configures BGP route
| | ... | ${dut2_node} | ${address_application} | ${dut1_route_ip6}
-| | ... | ${dut1_route_ip6_address} | ${dut1_route_ip6_id} | ipv6
+| | ... | ${dut1_route_ip6_prefix} | ${dut1_route_ip6_id} | ipv6
| | And Sleep | 5s | Wait for route advertisement. Retry timer is 5 seconds.
| | Then Routing data from Honeycomb should contain
| | ... | ${dut1_node} | learned-protocol-0 | ipv6 | ${route_ip6_operational}