aboutsummaryrefslogtreecommitdiffstats
path: root/resources
diff options
context:
space:
mode:
authorselias <samelias@cisco.com>2017-02-27 13:56:22 +0100
committerPeter Mikus <pmikus@cisco.com>2017-03-13 07:51:49 +0000
commit86f35c2c60a680b58fca27d9298dd53d02e0138f (patch)
tree8bc91e97e5afff080d871dcf7358da274493ba85 /resources
parent3a761053c1dacc9d5f21ec1ddf75e1f192473f2c (diff)
HC Test: create Vlan sub-interface using netconf
- add netconf test for specific issue HC2VPP-60 Change-Id: I8fc64bce40f1e43d93e7e92c952e564151bc8232 Signed-off-by: selias <samelias@cisco.com>
Diffstat (limited to 'resources')
-rw-r--r--resources/libraries/python/honeycomb/Netconf.py8
-rw-r--r--resources/libraries/robot/honeycomb/netconf.robot5
-rw-r--r--resources/test_data/honeycomb/netconf/triggers.py101
3 files changed, 103 insertions, 11 deletions
diff --git a/resources/libraries/python/honeycomb/Netconf.py b/resources/libraries/python/honeycomb/Netconf.py
index e3cdbe5dce..770af95afa 100644
--- a/resources/libraries/python/honeycomb/Netconf.py
+++ b/resources/libraries/python/honeycomb/Netconf.py
@@ -154,14 +154,20 @@ class Netconf(object):
return response
- def send(self, message):
+ def send(self, message, **params):
"""Sends provided message through the channel.
:param message: Message to be sent to Honeycomb.
+ :param params: Format the message string with these parameters.
:type message: str
+ :type params: dict
"""
+ message = message.format(**params)
+
if not message.endswith(self.delimiter):
message += self.delimiter
+ logger.debug(message)
+
self.channel.send(message)
diff --git a/resources/libraries/robot/honeycomb/netconf.robot b/resources/libraries/robot/honeycomb/netconf.robot
index 79fa0a312c..75eaefbf25 100644
--- a/resources/libraries/robot/honeycomb/netconf.robot
+++ b/resources/libraries/robot/honeycomb/netconf.robot
@@ -35,12 +35,13 @@
| | ...
| | ... | *Arguments:*
| | ... | - trigger - RPC sequence that triggers a specific error. Type: string
+| | ... | - params - Parameters for the trigger template. Type: string
| | ...
| | ... | *Example:*
| | ...
| | ... | \| Error trigger is sent \| <rpc>_some data_</rpc>]]>]]> \|
-| | [Arguments] | ${trigger}
-| | Send | ${trigger}
+| | [Arguments] | ${trigger} | &{params}
+| | Send | ${trigger} | &{params}
| Replies should not contain RPC errors
| | [Documentation] | Read response received through the channel, and check if\
diff --git a/resources/test_data/honeycomb/netconf/triggers.py b/resources/test_data/honeycomb/netconf/triggers.py
index c3a72e4df4..51a6ab6967 100644
--- a/resources/test_data/honeycomb/netconf/triggers.py
+++ b/resources/test_data/honeycomb/netconf/triggers.py
@@ -363,7 +363,7 @@ trigger_revert1 = u"""
</rpc>
]]>]]>
-<rpc message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<rpc message-id="102" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<edit-config>
<target>
<candidate/>
@@ -388,7 +388,7 @@ trigger_revert1 = u"""
</rpc>
]]>]]>
- <rpc message-id="102"
+ <rpc message-id="103"
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<commit/>
</rpc>
@@ -418,7 +418,7 @@ trigger_revert2 = u"""
</rpc>
]]>]]>
-<rpc message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<rpc message-id="102" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<edit-config>
<target>
<candidate/>
@@ -439,8 +439,93 @@ trigger_revert2 = u"""
</rpc>
]]>]]>
- <rpc message-id="102"
- xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
- <commit/>
- </rpc>
- ]]>]]>""" \ No newline at end of file
+<rpc message-id="103" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<commit/>
+</rpc>
+]]>]]>"""
+
+
+# Test data for issue HC2VPP-60
+# Creating Vlan sub-interface over netconf fails due to ODL bug
+trigger_vlan = u"""
+<rpc message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<edit-config>
+<target>
+<candidate/>
+</target>
+<config>
+<interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces">
+<interface>
+<name>{interface}</name>
+<sub-interfaces xmlns="urn:opendaylight:params:xml:ns:yang:vpp:vlan"/>
+</interface>
+</interfaces>
+</config>
+</edit-config>
+</rpc>
+]]>]]>
+
+<rpc message-id="102" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<edit-config>
+<target>
+<candidate/>
+</target>
+<config>
+<interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces">
+<interface>
+<name>{interface}</name>
+<sub-interfaces xmlns="urn:opendaylight:params:xml:ns:yang:vpp:vlan">
+<sub-interface>
+<identifier>2420</identifier>
+</sub-interface>
+</sub-interfaces>
+</interface>
+</interfaces>
+</config>
+</edit-config>
+</rpc>
+]]>]]>
+
+<rpc message-id="103" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<edit-config>
+<target>
+<candidate/>
+</target>
+<default-operation>none</default-operation>
+<config>
+<interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces">
+<interface>
+<name>{interface}</name>
+<sub-interfaces xmlns="urn:opendaylight:params:xml:ns:yang:vpp:vlan">
+<sub-interface xmlns:a="urn:ietf:params:xml:ns:netconf:base:1.0" a:operation="replace">
+<identifier>2420</identifier>
+<match>
+<vlan-tagged>
+<match-exact-tags>true</match-exact-tags>
+</vlan-tagged>
+</match>
+<vlan-type>802dot1q</vlan-type>
+<enabled>false</enabled>
+<tags>
+<tag>
+<index>0</index>
+<dot1q-tag>
+<tag-type xmlns:x="urn:ieee:params:xml:ns:yang:dot1q-types">x:s-vlan</tag-type>
+<vlan-id>2420</vlan-id>
+</dot1q-tag>
+</tag>
+</tags>
+</sub-interface>
+</sub-interfaces>
+</interface>
+</interfaces>
+</config>
+</edit-config>
+</rpc>
+]]>]]>
+
+<rpc message-id="104" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<commit/>
+</rpc>
+]]>]]>
+""" \ No newline at end of file