X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Frobot%2Fhoneycomb%2Fpersistence.robot;h=a1c08c2ec15308c2569686dd22b07351a49384a9;hb=6a4018c9d8b356bc55af135d68803a08729d0ae1;hp=1c23915acace010efdd33c349ae44dc85b8c83df;hpb=ce469c1a7d56c2be639e5cecde961c4ef6354fb5;p=csit.git diff --git a/resources/libraries/robot/honeycomb/persistence.robot b/resources/libraries/robot/honeycomb/persistence.robot index 1c23915aca..a1c08c2ec1 100644 --- a/resources/libraries/robot/honeycomb/persistence.robot +++ b/resources/libraries/robot/honeycomb/persistence.robot @@ -14,7 +14,7 @@ *** Settings *** | Library | resources.libraries.python.honeycomb.HcAPIKwInterfaces.InterfaceKeywords | ... | WITH NAME | InterfaceAPI -| Library | resources.libraries.python.honeycomb.HcPersistence +| Library | resources/libraries/python/honeycomb/HcPersistence.py | Resource | resources/libraries/robot/honeycomb/honeycomb.robot | Resource | resources/libraries/robot/honeycomb/interfaces.robot | Resource | resources/libraries/robot/honeycomb/vxlan.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 *** @@ -35,8 +35,10 @@ | | ... | *Example:* | | ... | | ... | \| Honeycomb is restarted \| ${nodes['DUT1']} \| +| | ... | | [Arguments] | ${node} | | Stop Honeycomb service on DUTs | ${node} +| | Log Persisted Configuration | ${node} | | Setup Honeycomb service on DUTs | ${node} | VPP is restarted @@ -48,6 +50,7 @@ | | ... | *Example:* | | ... | | ... | \| VPP is restarted \| ${nodes['DUT1']} \| +| | ... | | [Arguments] | ${node} | | Setup DUT | ${node} | | Check VPP connection | ${node} @@ -62,6 +65,7 @@ | | ... | *Example:* | | ... | | ... | \| Check VPP connection \| ${nodes['DUT1']} \| +| | ... | | [Arguments] | ${node} | | Wait until keyword succeeds | 2min | 20sec | | ... | Check Honeycomb startup state | ${node} @@ -76,8 +80,10 @@ | | ... | *Example:* | | ... | | ... | \| Honeycomb and VPP are restarted \| ${nodes['DUT1']} \| +| | ... | | [Arguments] | ${node} | | Stop Honeycomb service on DUTs | ${node} +| | Log Persisted Configuration | ${node} | | Setup DUT | ${node} | | Setup Honeycomb service on DUTs | ${node} @@ -93,6 +99,7 @@ | | ... | | ... | \| Honeycomb configures every setting \| ${nodes['DUT1']} \ | | ... | \| GigabitEthernet0/8/0 \| +| | ... | | [Arguments] | ${node} | ${interface} | | Honeycomb sets interface VxLAN configuration | | ... | ${node} | ${vx_interface} | ${vxlan_settings} @@ -101,30 +108,16 @@ | | Honeycomb creates TAP interface | | ... | ${node} | ${tap_interface} | ${tap_settings} | | Honeycomb creates vhost-user interface -| | ... | ${node} | ${vhost_interface} | ${vhost_user_server} -| | Honeycomb creates sub-interface -| | ... | ${node} | ${interface} | ${sub_interface_id} -| | ... | ${sub_interface_base_settings} | ${sub_interface_settings} +| | ... | ${node} | ${vhost_interface} | ${vhost_user_client} +| | Honeycomb creates sub-interface | ${node} | ${interface} +| | ... | ${sub_if_1_match} | ${sub_if_1_tags} | ${sub_if_1_settings} | | Honeycomb sets interface state | ${node} | ${interface} | up -| | VxLAN configuration from Honeycomb should be -| | ... | ${node} | ${vx_interface} | ${vxlan_settings} -| | VxLAN configuration from VAT should be -| | ... | ${node} | ${vxlan_settings} -| | Bridge domain configuration from Honeycomb should be -| | ... | ${node} | ${bd_name} | ${bd_settings} -| | Bridge domain configuration from VAT should be -| | ... | ${node} | ${0} | ${bd_settings} -| | TAP configuration from Honeycomb should be -| | ... | ${node} | ${tap_interface} | ${tap_settings} -| | TAP configuration from VAT should be -| | ... | ${node} | ${tap_interface} | ${tap_settings} -| | Sub-interface configuration from Honeycomb should be -| | ... | ${node} | ${sub_interface_name} | ${sub_interface_base_settings} -| | ... | ${sub_interface_settings} -| | Sub-interface configuration from VAT should be -| | ... | ${node} | ${sub_interface_name} | ${sub_interface_settings} -| | Interface state from Honeycomb should be | ${node} | ${interface} | up -| | Interface state from VAT should be | ${node} | ${interface} | up +| | Honeycomb sets the sub-interface up +| | ... | ${node} | ${interface} | ${sub_if_id} +| | Honeycomb adds sub-interface to bridge domain +| | ... | ${node} | ${interface} | ${sub_if_id} | ${sub_bd_settings} +| | Honeycomb configures tag rewrite +| | ... | ${node} | ${interface} | ${sub_if_id} | ${tag_rewrite_pop_1} | Honeycomb and VPP should verify every setting | | [Documentation] | Uses Honeycomb and VAT to verify settings for VxLAN,\ @@ -138,6 +131,7 @@ | | ... | | ... | \| Honeycomb and VPP should verify every setting \| ${nodes['DUT1']} \ | | ... | \| GigabitEthernet0/8/0 \| +| | ... | | [Arguments] | ${node} | ${interface} | | VxLAN configuration from Honeycomb should be | | ... | ${node} | ${vx_interface} | ${vxlan_settings} @@ -152,16 +146,23 @@ | | TAP configuration from VAT should be | | ... | ${node} | ${tap_interface} | ${tap_settings} | | Vhost-user configuration from Honeycomb should be -| | ... | ${node} | ${vhost_interface} | ${vhost_user_server} +| | ... | ${node} | ${vhost_interface} | ${vhost_user_client} | | Vhost-user configuration from VAT should be -| | ... | ${node} | ${vhost_user_server} +| | ... | ${node} | ${vhost_user_client} | | Sub-interface configuration from Honeycomb should be -| | ... | ${node} | ${sub_interface_name} | ${sub_interface_base_settings} -| | ... | ${sub_interface_settings} +| | ... | ${node} | ${interface} | ${sub_if_id} | ${sub_if_1_oper} | | Sub-interface configuration from VAT should be -| | ... | ${node} | ${sub_interface_name} | ${sub_interface_settings} +| | ... | ${node} | ${sub_if_name} | ${sub_if_1_oper} | | Interface state from Honeycomb should be | ${node} | ${interface} | up | | Interface state from VAT should be | ${node} | ${interface} | up +| | Sub-interface bridge domain configuration from Honeycomb should be +| | ... | ${node} | ${interface} | ${sub_if_id} | ${sub_bd_settings} +| | Sub-interface bridge domain configuration from VAT should be +| | ... | ${node} | ${sub_if_name} | ${sub_bd_settings} +| | Rewrite tag from Honeycomb should be +| | ... | ${node} | ${interface} | ${sub_if_id} | ${tag_rewrite_pop_1_oper} +| | Rewrite tag from VAT should be +| | ... | ${node} | ${sub_if_name} | ${tag_rewrite_pop_1_VAT} | Honeycomb and VPP should have default configuration | | [Documentation] | Uses Honeycomb and VAT to verify settings for VxLAN,\ @@ -175,6 +176,7 @@ | | ... | | ... | \| Honeycomb and VPP should have default configuration \| | | ... | ${nodes['DUT1']} \| +| | ... | | [Arguments] | ${node} | | VxLAN configuration from Honeycomb should be empty | | ... | ${node} | ${vx_interface} @@ -189,10 +191,27 @@ | | ... | ${node} | ${vhost_interface} | | Vhost-user configuration from VAT should be empty | | ... | ${node} -| | Sub-interface configuration from Honeycomb should be empty -| | ... | ${node} | ${sub_interface_name} -| | Sub-interface configuration from VAT should be empty -| | ... | ${node} | ${sub_interface_name} +| | interface state from Honeycomb should be +| | ... | ${node} | ${interface} | down +| | And interface state from VAT should be +| | ... | ${node} | ${interface} | down + +| Honeycomb and VPP should not have default configuration +| | [Documentation] | Uses Honeycomb and VAT to verify settings for VxLAN,\ +| | ... | bridge domains, TAP, vhost-user and VLAN. Expects any\ +| | ... | configuration other than default. +| | ... +| | ... | *Arguments:* +| | ... | - node - information about a DUT node. Type: dictionary +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Honeycomb and VPP should not have default configuration \ +| | ... | \| ${nodes['DUT1']} \| +| | ... +| | [Arguments] | ${node} +| | Run keyword and expect error | * +| | ... | Honeycomb and VPP should have default configuration | ${node} | Honeycomb should show no rogue interfaces | | [Documentation] | Checks if operational data contains interfaces not\ @@ -204,6 +223,7 @@ | | ... | *Example:* | | ... | | ... | \| Honeycomb should show no rogue interfaces \| ${nodes['DUT1']} \| +| | ... | | [Arguments] | ${node} | | ${data_conf}= | InterfaceAPI.Get all interfaces cfg data | ${node} | | ${data_oper}= | InterfaceAPI.Get all interfaces oper data | ${node} @@ -219,8 +239,22 @@ | | ... | *Example:* | | ... | | ... | \| Persistence file is damaged during restart \| ${nodes['DUT1']} \| +| | ... | | [Arguments] | ${node} | | Stop Honeycomb service on DUTs | ${node} | | Modify persistence files | ${node} | { | abc | | Setup DUT | ${node} -| | Setup Honeycomb service on DUTs | ${node} \ No newline at end of file +| | Setup Honeycomb service on DUTs | ${node} + +| Log persisted configuration on node +| | [Documentation] | Logs the content of Honeycomb's persitence files. +| | ... +| | ... | *Arguments:* +| | ... | - node - information about a DUT node. Type: dictionary +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Log persisted configuration on node \| ${nodes['DUT1']} \| +| | ... +| | [Arguments] | ${node} +| | Log persisted configuration | ${node} \ No newline at end of file