Open Kilda Java Documentation
org.openkilda.atdd.PathComputationTest Class Reference

Public Member Functions

void a_multi_path_topology () throws Throwable
 
void no_link_properties () throws Throwable
 
void link_costs_are_uploaded_through_the_NB_API () throws Throwable
 
void link_costs_can_be_downloaded () throws Throwable
 
void link_properties_reflect_what_is_in_the_link_properties_table () throws Throwable
 
void link_costs_can_be_deleted () throws Throwable
 
void link_costs_are_updated_through_the_NB_API () throws Throwable
 
void a_flow_request_is_made_between_A_and_B_with_HOPS () throws Throwable
 
void the_path_matches_the_HOPS () throws Throwable
 
void the_path_between_A_and_B_is_pingable () throws Throwable
 
void a_flow_request_is_made_between_A_and_B_with_LATENCY () throws Throwable
 
void the_path_matches_the_LATENCY () throws Throwable
 
void a_flow_request_is_made_between_A_and_B_with_COST () throws Throwable
 
void the_path_matches_the_COST () throws Throwable
 
void a_flow_request_is_made_between_A_and_B_with_EXTERNAL (int arg1) throws Throwable
 
void the_path_matches_the_EXTERNAL (int arg1) throws Throwable
 
void one_or_more_links_are_added_to_the_spider_web_topology () throws Throwable
 
void the_new_links_will_have_the_cost_properties_added_if_the_cost_id_matches () throws Throwable
 

Detailed Description

PathComputationTest implements a majority of the cucumber tests for the Path Computation Engine (PCE). The interesting scenarios are around the following areas:

  • validate that kilda honors the various path computation scenarios
  • there should also be path edge cases that are tested, in order to validate the user experience - eg when a flow is requested that doesn't exist (bandwidth limitation or just no path). However, a few are already implemented in FlowPathTest.

In order to test the scenarios, we use a special topology:

 1 - 2 - 3 - 4 - 5 - 6 - 7
     2 -- 8 - - 9 -- 6
     2 - - - A - - - 6
     2 - - - - - - - 6

This is to ensure that, as we vary the hops (path length) we also very the the path used.

  • For hop count, 2-6 should win.
  • For latency, 2-A-6 should win (we'll configure it as such)
  • For cost, 2-8-9-6 should win (again, we'll configure it as such)
  • For external, 2-3-4-5-6 should win (based on configuration)

To run just the tests in this file:

 $> make atdd tags="@PCE"

Other Notes:

  • Look at FlowPathTest for some of the edge cases related to not enough bandwidth, etc.

Definition at line 60 of file PathComputationTest.java.

Member Function Documentation

◆ a_flow_request_is_made_between_A_and_B_with_COST()

void org.openkilda.atdd.PathComputationTest.a_flow_request_is_made_between_A_and_B_with_COST ( ) throws Throwable

Definition at line 146 of file PathComputationTest.java.

◆ a_flow_request_is_made_between_A_and_B_with_EXTERNAL()

void org.openkilda.atdd.PathComputationTest.a_flow_request_is_made_between_A_and_B_with_EXTERNAL ( int  arg1) throws Throwable

Definition at line 158 of file PathComputationTest.java.

◆ a_flow_request_is_made_between_A_and_B_with_HOPS()

void org.openkilda.atdd.PathComputationTest.a_flow_request_is_made_between_A_and_B_with_HOPS ( ) throws Throwable

Definition at line 116 of file PathComputationTest.java.

◆ a_flow_request_is_made_between_A_and_B_with_LATENCY()

void org.openkilda.atdd.PathComputationTest.a_flow_request_is_made_between_A_and_B_with_LATENCY ( ) throws Throwable

Definition at line 134 of file PathComputationTest.java.

◆ a_multi_path_topology()

void org.openkilda.atdd.PathComputationTest.a_multi_path_topology ( ) throws Throwable

Definition at line 70 of file PathComputationTest.java.

◆ link_costs_are_updated_through_the_NB_API()

void org.openkilda.atdd.PathComputationTest.link_costs_are_updated_through_the_NB_API ( ) throws Throwable

Definition at line 110 of file PathComputationTest.java.

◆ link_costs_are_uploaded_through_the_NB_API()

void org.openkilda.atdd.PathComputationTest.link_costs_are_uploaded_through_the_NB_API ( ) throws Throwable

Definition at line 86 of file PathComputationTest.java.

◆ link_costs_can_be_deleted()

void org.openkilda.atdd.PathComputationTest.link_costs_can_be_deleted ( ) throws Throwable

Definition at line 104 of file PathComputationTest.java.

◆ link_costs_can_be_downloaded()

void org.openkilda.atdd.PathComputationTest.link_costs_can_be_downloaded ( ) throws Throwable

Definition at line 92 of file PathComputationTest.java.

◆ link_properties_reflect_what_is_in_the_link_properties_table()

void org.openkilda.atdd.PathComputationTest.link_properties_reflect_what_is_in_the_link_properties_table ( ) throws Throwable

Definition at line 98 of file PathComputationTest.java.

◆ no_link_properties()

void org.openkilda.atdd.PathComputationTest.no_link_properties ( ) throws Throwable

Definition at line 80 of file PathComputationTest.java.

◆ one_or_more_links_are_added_to_the_spider_web_topology()

void org.openkilda.atdd.PathComputationTest.one_or_more_links_are_added_to_the_spider_web_topology ( ) throws Throwable

Definition at line 170 of file PathComputationTest.java.

◆ the_new_links_will_have_the_cost_properties_added_if_the_cost_id_matches()

void org.openkilda.atdd.PathComputationTest.the_new_links_will_have_the_cost_properties_added_if_the_cost_id_matches ( ) throws Throwable

Definition at line 176 of file PathComputationTest.java.

◆ the_path_between_A_and_B_is_pingable()

void org.openkilda.atdd.PathComputationTest.the_path_between_A_and_B_is_pingable ( ) throws Throwable

Definition at line 128 of file PathComputationTest.java.

◆ the_path_matches_the_COST()

void org.openkilda.atdd.PathComputationTest.the_path_matches_the_COST ( ) throws Throwable

Definition at line 152 of file PathComputationTest.java.

◆ the_path_matches_the_EXTERNAL()

void org.openkilda.atdd.PathComputationTest.the_path_matches_the_EXTERNAL ( int  arg1) throws Throwable

Definition at line 164 of file PathComputationTest.java.

◆ the_path_matches_the_HOPS()

void org.openkilda.atdd.PathComputationTest.the_path_matches_the_HOPS ( ) throws Throwable

Definition at line 122 of file PathComputationTest.java.

◆ the_path_matches_the_LATENCY()

void org.openkilda.atdd.PathComputationTest.the_path_matches_the_LATENCY ( ) throws Throwable

Definition at line 140 of file PathComputationTest.java.


The documentation for this class was generated from the following file: