X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Frobot%2Fhoneycomb%2Faccess_control_lists.robot;h=37cd03c6be8e382972933db12a6aa3701c763366;hp=e35cc929521b1483b2137446fe82f588b4648845;hb=8bac97fb07e863573f5a2914058e1d23229d279b;hpb=8c1bb6ac0c8253ee203d120c1a8f035c47293d9e diff --git a/resources/libraries/robot/honeycomb/access_control_lists.robot b/resources/libraries/robot/honeycomb/access_control_lists.robot index e35cc92952..37cd03c6be 100644 --- a/resources/libraries/robot/honeycomb/access_control_lists.robot +++ b/resources/libraries/robot/honeycomb/access_control_lists.robot @@ -1,4 +1,4 @@ -# Copyright (c) 2017 Cisco and/or its affiliates. +# 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: @@ -10,6 +10,7 @@ # 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. + *** Variables *** #TODO: update based on resolution of bug https://jira.fd.io/browse/HONEYCOMB-119 @@ -18,7 +19,6 @@ | Library | resources.libraries.python.InterfaceUtil | Library | resources.libraries.python.honeycomb.HcAPIKwACL.ACLKeywords | Library | resources.libraries.python.honeycomb.HcAPIKwInterfaces.InterfaceKeywords -| ... | WITH NAME | InterfaceAPI | Documentation | Keywords used to manage ACLs. *** Keywords *** @@ -92,7 +92,7 @@ | | ... | \| Honeycomb enables ACL on interface \| ${nodes['DUT1']} \ | | ... | \| GigabithEthernet0/8/0 \| table0 \| | | [Arguments] | ${node} | ${interface} | ${table_name} -| | InterfaceAPI.Enable ACL on interface +| | Enable ACL on interface | | ... | ${node} | ${interface} | ${table_name} | Honeycomb disables ACL on interface @@ -107,7 +107,7 @@ | | ... | \| Honeycomb disables ACL on interface \| ${nodes['DUT1']} \ | | ... | \| GigabithEthernet0/8/0 \| | | [Arguments] | ${node} | ${interface} -| | InterfaceAPI.Disable ACL on interface | ${node} | ${interface} +| | Disable ACL on interface | ${node} | ${interface} | ACL table from Honeycomb should be | | [Documentation] | Retrieves ACL table information from Honeycomb\ @@ -171,7 +171,7 @@ | | ... | \| ACL table from VAT should not exist \| ${nodes['DUT1']} \ | | ... | \| ${0} \| | | [Arguments] | ${node} | ${table_index} -| | Run keyword and expect error | VAT: no JSON data. +| | Run keyword and expect error | * | | ... | Get classify table data | ${node} | ${table_index} | ACL session from Honeycomb should be @@ -254,7 +254,7 @@ | | ... | Get classify session data | | ... | ${node} | ${table_index} | ${session_index} -| Interface ACL settings from Honeycomb should be +| Interface ACL configuration from Honeycomb should be | | [Documentation] | Retrieves ACL interface settings from Honeycomb\ | | ... | and compares with expected settings. | | ... @@ -265,16 +265,16 @@ | | ... | | ... | *Example:* | | ... -| | ... | \| Interface ACL settings from Honeycomb should be \ +| | ... | \| Interface ACL configuration from Honeycomb should be \ | | ... | \| ${nodes['DUT1']} \| GigabithEthernet0/8/0 \| table0 \| | | [Arguments] | ${node} | ${interface} | ${table_name} -| | ${data}= | InterfaceAPI.Get interface oper data | ${node} | ${interface} +| | ${data}= | Get interface oper data | ${node} | ${interface} | | Should be equal | | ... | ${table_name} | | ... | ${data['vpp-interface-acl:acl']['ingress']['l2-acl']['classify-table']} | | ... | ${data['vpp-interface-acl:acl']['ingress']['ip4-acl']['classify-table']} -| Interface ACL settings from VAT should be +| Interface ACL configuration from VAT should be | | [Documentation] | Retrieves ACL interface settings from VAT\ | | ... | and compares with expected settings. | | ... @@ -285,14 +285,15 @@ | | ... | | ... | *Example:* | | ... -| | ... | \| Interface ACL settings from VAT should be \| ${nodes['DUT1']} \ -| | ... | \| GigabithEthernet0/8/0 \| ${0} \| +| | ... | \| Interface ACL configuration from VAT should be \ +| | ... | \| ${nodes['DUT1']} \| GigabithEthernet0/8/0 \| ${0} \| +| | ... | | [Arguments] | ${node} | ${interface} | ${table_index} | | ${data}= | Get interface classify table | ${node} | ${interface} | | Should be equal | ${table_index} | ${data['l2_table_id']} | | Should be equal | ${table_index} | ${data['ip4_table_id']} -| Interface ACL settings from Honeycomb should be empty +| Interface ACL configuration from Honeycomb should be empty | | [Documentation] | Retrieves ACL interface settings from Honeycomb\ | | ... | and expects to fail. | | ... @@ -302,15 +303,15 @@ | | ... | | ... | *Example:* | | ... -| | ... | \| Interface ACL settings from Honeycomb should be empty \ +| | ... | \| Interface ACL configuration from Honeycomb should be empty \ | | ... | \| ${nodes['DUT1']} \| GigabithEthernet0/8/0 \| | | [Arguments] | ${node} | ${interface} -| | ${data}= | InterfaceAPI.Get interface oper data | ${node} | ${interface} +| | ${data}= | Get interface oper data | ${node} | ${interface} | | Run keyword and expect error | *KeyError: 'vpp-interface-acl:acl' | | ... | Set Variable | | ... | ${data['vpp-interface-acl:acl']['l2-acl']['classify-table']} -| Interface ACL settings from VAT should be empty +| Interface ACL configuration from VAT should be empty | | [Documentation] | Retrieves ACL interface settings from VAT\ | | ... | and expects to fail. | | ... @@ -320,7 +321,7 @@ | | ... | | ... | *Example:* | | ... -| | ... | \| Interface ACL settings from Honeycomb should be empty \ +| | ... | \| Interface ACL configuration from Honeycomb should be empty \ | | ... | \| ${nodes['DUT1']} \| GigabithEthernet0/8/0 \| | | [Arguments] | ${node} | ${interface} | | ${data}= | Get interface classify table | ${node} | ${interface} @@ -356,7 +357,7 @@ | | [Arguments] | ${node} | ${acl_list_name} | ${acl_list_settings} | | ... | ${macip}=${False} | | Create ACL plugin classify chain -| | ... | ${node} | ${acl_list_name} | ${acl_list_settings} | ${macip} +| | ... | ${node} | ${acl_list_name} | ${acl_list_settings} | Honeycomb assigns plugin-ACL chain to interface | | [Documentation] | Applies classification through the high-level\ @@ -377,9 +378,9 @@ | | ... | ${node} | ${interface} | ${acl_list_name} | ${direction} | | ... | ${macip}=${False} | | Set ACL plugin interface -| | ... | ${node} | ${interface} | ${acl_list_name} | ${direction} | ${macip} +| | ... | ${node} | ${interface} | ${acl_list_name} | ${direction} -| Clear plugin-ACL settings +| Clear plugin-ACL configuration | | [Documentation] | Removes ACl assignment from interface, then deletes\ | | ... | IETF-ACL chain. | | ... @@ -389,7 +390,7 @@ | | ... | | ... | *Example:* | | ... -| | ... | \| Clear plugin-ACL settings | ${nodes['DUT1']} \ +| | ... | \| Clear plugin-ACL configuration | ${nodes['DUT1']} \ | | ... | \| GigabitEthernet0/8/0 \| | | [Arguments] | ${node} | ${interface} | | Delete interface plugin ACLs | ${node} | ${interface} @@ -409,7 +410,7 @@ | | VPP log plugin acl settings | ${node} | | VPP log plugin acl interface assignment | ${node} -| Send ICMP packet with type and code +| Send ICMP packet with type and code and verify received packet | | [Documentation] | Sends an ICMP packet with specified code and type. | | ... | | ... | *Arguments:* @@ -429,7 +430,7 @@ | | ... | | ... | *Example:* | | ... -| | ... | \| Send ICMP packet with type and code \| ${nodes['TG']} \ +| | ... | \| Send ICMP packet with type and code and verify received packet \| ${nodes['TG']} \ | | ... | \| 16.0.0.1 \| 32.0.0.1 \| eth2 \| 08:00:27:cc:4f:54 \ | | ... | \| eth4 \| 08:00:27:c9:6a:d5 \| ${1} \| ${1} \| | | ... @@ -438,12 +439,12 @@ | | ${tx_port_name}= | Get interface name | ${tg_node} | ${tx_port} | | ${rx_port_name}= | Get interface name | ${tg_node} | ${rx_port} | | ${args}= | Catenate | --src_mac | ${tx_mac} -| | ... | --dst_mac | ${rx_mac} -| | ... | --src_ip | ${src_ip} -| | ... | --dst_ip | ${dst_ip} -| | ... | --tx_if | ${tx_port_name} -| | ... | --rx_if | ${rx_port_name} -| | ... | --icmp_type | ${icmp_type} -| | ... | --icmp_code | ${icmp_code} +| | ... | --dst_mac | ${rx_mac} +| | ... | --src_ip | ${src_ip} +| | ... | --dst_ip | ${dst_ip} +| | ... | --tx_if | ${tx_port_name} +| | ... | --rx_if | ${rx_port_name} +| | ... | --icmp_type | ${icmp_type} +| | ... | --icmp_code | ${icmp_code} | | Run Traffic Script On Node | send_icmp_type_code.py | | ... | ${tg_node} | ${args}