X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Frobot%2Fhoneycomb%2Fbridge_domain.robot;h=a286d11907f5edc61e54e73aa2506ba6f0bb898d;hp=76122fa8f9549a42e392970a2872f1be7a1a94fc;hb=86f35c2c60a680b58fca27d9298dd53d02e0138f;hpb=4f5f136f8d445c60db38c9f59622f379f04ff3bb diff --git a/resources/libraries/robot/honeycomb/bridge_domain.robot b/resources/libraries/robot/honeycomb/bridge_domain.robot index 76122fa8f9..a286d11907 100644 --- a/resources/libraries/robot/honeycomb/bridge_domain.robot +++ b/resources/libraries/robot/honeycomb/bridge_domain.robot @@ -114,29 +114,6 @@ | | interfaceAPI.Add bridge domain to interface | | ... | ${node} | ${interface2} | ${bd_name} | &{settings} -| Honeycomb fails to add interfaces to bridge domain -| | [Documentation] | Uses Honeycomb API to assign interfaces to a bridge\ -| | ... | domain. -| | ... -| | ... | *Arguments:* -| | ... | - node - information about a DUT node. Type: dictionary -| | ... | - interface1, interface2 - names of interfaces to assign to bridge\ -| | ... | domain. Type: string -| | ... | - bd_name - name of the bridge domain. Type: string -| | ... | - settings - bridge domain specific interface settings.\ -| | ... | Type: dictionary -| | ... -| | ... | *Example:* -| | ... -| | ... | \| Honeycomb fails to add interfaces to bridge domain \ -| | ... | \| ${nodes['DUT1']} \| GigabitEthernet0/8/0 \| GigabitEthernet0/9/0 \ -| | ... | \| bd-04 \| ${{split_horizon_group:2, bvi:True}} \| -| | [Arguments] | ${node} | ${interface1} | ${interface2} | ${bd_name} -| | ... | ${settings} -| | Run keyword and expect error | *Failed to validate* -| | ... | Honeycomb adds interfaces to bridge domain | ${node} | ${interface1} -| | ... | ${interface2} | ${bd_name} | ${settings} - | Honeycomb should show interfaces assigned to bridge domain | | [Documentation] | Uses Honeycomb API to verify interface assignment to\ | | ... | bridge domain. @@ -169,29 +146,6 @@ | | ... | ${if2_data['v3po:l2']['bridged-virtual-interface']} | | ... | ${settings['bvi']} -| Honeycomb should not show interfaces assigned to bridge domain -| | [Documentation] | Uses Honeycomb API to verify interface assignment to\ -| | ... | bridge domain. -| | ... -| | ... | *Arguments:* -| | ... | - node - information about a DUT node. Type: dictionary -| | ... | - interface1, interface2 - names of interfaces to check bridge domain\ -| | ... | assignment on. Type: string -| | ... | - bd_name - name of the bridge domain. Type: string -| | ... | - settings - bridge domain specific interface settings.\ -| | ... | Type: dictionary -| | ... -| | ... | *Example:* -| | ... -| | ... | \| Honeycomb should not show interfaces assigned to bridge domain \ -| | ... | \| ${nodes['DUT1']} \| GigabitEthernet0/8/0 \| GigabitEthernet0/9/0 \ -| | ... | \| bd-04 \| ${{split_horizon_group:2, bvi:False}} \| -| | [Arguments] | ${node} | ${interface1} | ${interface2} | ${bd_name} -| | ... | ${settings} -| | Run keyword and expect error | *ValueError* -| | ... | Honeycomb should show interfaces assigned to bridge domain -| | ... | ${node} | ${interface1} | ${interface2} | ${bd_name} | ${settings} - | VAT should show interfaces assigned to bridge domain | | [Documentation] | Uses VAT to verify interface assignment to\ | | ... | bridge domain. @@ -212,9 +166,11 @@ | | ... | \| GigabitEthernet0/9/0 \| ${{split_horizon_group:2, bvi:False}} \| | | [Arguments] | ${node} | ${index} | ${interface1} | ${interface2} | | ... | ${settings} -| | ${if1_index}= | Get interface sw index | ${node} | ${interface1} -| | ${if2_index}= | Get interface sw index | ${node} | ${interface2} -| | ${if_indices}= | Create list | ${if1_index} | ${if2_index} +| | ${if1_link}= | Get interface by name | ${node} | ${interface1} +| | ${if2_link}= | Get interface by name | ${node} | ${interface2} +| | ${if_indices}= | Create list +| | ... | ${node['interfaces']['${if1_link}']['vpp_sw_index']} +| | ... | ${node['interfaces']['${if2_link}']['vpp_sw_index']} | | ${bd_data}= | VPP get bridge domain data | ${node} | | ${bd_interfaces}= | Set Variable | ${bd_data[${index}]['sw_if']} | | @{bd_interfaces}= | Create List | ${bd_interfaces[0]} | ${bd_interfaces[1]} @@ -222,29 +178,38 @@ | | | Should contain | ${if_indices} | ${interface['sw_if_index']} | | | Should be equal | ${interface['shg']} | ${settings['split_horizon_group']} -| VAT should not show interfaces assigned to bridge domain -| | [Documentation] | Uses VAT to verify interface assignment to\ -| | ... | bridge domain, and expects to fail. +| Honeycomb should not show interfaces assigned to bridge domain +| | [Documentation] | Uses Honeycomb API to verify interfaces are not assigned\ +| | ... | to bridge domain. | | ... | | ... | *Arguments:* -| | ... | - node - information about a DUT node. Type: dictionary -| | ... | - index - index of bridge domains on VPP node. Starts from 0,\ -| | ... | new BDs reuse numbers after a bridge domain is removed. Type: integer -| | ... | - interface1, interface2 - names of interfaces to check bridge domain\ -| | ... | assignment on. Type: string -| | ... | - settings - bridge domain specific interface settings.\ -| | ... | Type: dictionary +| | ... | - node - Information about a DUT node. Type: dictionary +| | ... | - interface1, interface2 - Names of interfaces to check\ +| | ... | bridge domain assignment on. Type: string +| | ... | - bd_name - Name of the bridge domain. Type: string | | ... | | ... | *Example:* | | ... -| | ... | \| VAT should not show interfaces assigned to bridge domain \ -| | ... | \| ${nodes['DUT1']} \| ${4} \| GigabitEthernet0/8/0 \ -| | ... | \| GigabitEthernet0/9/0 \| ${{split_horizon_group:2, bvi:False}} \| -| | [Arguments] | ${node} | ${index} | ${interface1} | ${interface2} -| | ... | ${settings} -| | Run keyword and expect error | *No JSON object could be decoded* -| | ... | VAT should show interfaces assigned to bridge domain -| | ... | ${node} | ${index} | ${interface1} | ${interface2} | ${settings} +| | ... | \| Honeycomb should not show interfaces assigned to bridge domain \ +| | ... | \| ${nodes['DUT1']} \| GigabitEthernet0/8/0 \| GigabitEthernet0/9/0 \ +| | ... | \| bd-04 \| +| | [Arguments] | ${node} | ${interface1} | ${interface2} | ${bd_name} +| | ${if1_data_oper}= | interfaceAPI.Get interface oper data +| | ... | ${node} | ${interface1} +| | ${if2_data_oper}= | interfaceAPI.Get interface oper data +| | ... | ${node} | ${interface2} +| | ${if1_data_cfg}= +| | ... | interfaceAPI.Get interface cfg data | ${node} | ${interface1} +| | ${if1_data_cfg}= +| | ... | interfaceAPI.Get interface cfg data | ${node} | ${interface2} +| | Run keyword and expect error | *KeyError: 'v3po:l2'* +| | ... | Set Variable | ${if1_data_oper['v3po:l2']} +| | Run keyword and expect error | *KeyError: 'v3po:l2'* +| | ... | Set Variable | ${if2_data_oper['v3po:l2']} +| | Run keyword and expect error | *KeyError: 'v3po:l2'* +| | ... | Set Variable | ${if1_data_cfg['v3po:l2']} +| | Run keyword and expect error | *KeyError: 'v3po:l2'* +| | ... | Set Variable | ${if2_data_cfg['v3po:l2']} | Honeycomb removes all bridge domains | | [Documentation] | Uses Honeycomb API to remove all bridge domains from the \ @@ -256,8 +221,10 @@ | | ... | *Example:* | | ... | | ... | \| Honeycomb removes all bridge domains \| ${nodes['DUT1']} \| -| | [Arguments] | ${node} -| | Remove all bds | ${node} +| | [Arguments] | ${node} | @{interfaces} +| | :FOR | ${interface} | IN | @{interfaces} +| | | Remove bridge domain from interface | ${node} | ${interface} +| | Remove all bridge domains | ${node} | Honeycomb should show no bridge domains | | [Documentation] | Uses Honeycomb API to verify the removal of all\ @@ -270,8 +237,8 @@ | | ... | | ... | \| Honeycomb should show no bridge domains \| ${nodes['DUT1']} \| | | [Arguments] | ${node} -| | ${bd_data}= | Get all BDs oper data | ${node} -| | Should be empty | ${bd_data} +| | Run keyword and expect error | *Not possible*Status code: 404* +| | ... | Get all BDs oper data | ${node} | VAT should show no bridge domains | | [Documentation] | Uses VAT to verify the removal of all bridge domains. @@ -307,7 +274,7 @@ | | [Arguments] | ${node} | ${interface} | ${bd_name} | ${settings} | | ... | | interfaceAPI.Add bridge domain to interface -| | ... | ${node} | ${interface} | ${settings['bridge-domain']} +| | ... | ${node} | ${interface} | ${bd_name} | | ... | ${settings['split-horizon-group']} | | ... | ${settings['bridged-virtual-interface']}