d37d0b62d730ebdb1b536dfe9df14c3fca4e9888
[integration/test.git] / csit / suites / topoprocessing / basic-topology-operations / 060_Link_computation.robot
1 *** Settings ***
2 Documentation     Test suite to verify link computation operation on different models.
3 ...               Before test starts, configurational file have to be rewriten to change listners registration datastore type from CONFIGURATION to OPERATIONAL.
4 ...               Need for this change is also a reason why main feature (odl-topoprocessing-framework) is installed after file change and not during boot.
5 ...               Tests themselves install feature required for specific model, clear karaf logs for futher synchronization, send configurational xmls and verify output.
6 ...               Topology-id on the end of each urls must match topology-id from xml. Yang models of components in topology are defined in xmls.
7 Suite Setup       Setup Environment
8 Suite Teardown    Clean Environment
9 Test Teardown     Delete Overlay Topology    ${OVERLAY_TOPO_URL}
10 Library           RequestsLibrary
11 Library           SSHLibrary
12 Library           XML
13 Variables         ../../../variables/topoprocessing/TopologyRequests.py
14 Variables         ../../../variables/topoprocessing/TargetFields.py
15 Variables         ../../../variables/Variables.py
16 Resource          ../../../libraries/KarafKeywords.robot
17 Resource          ../../../libraries/Utils.robot
18 Resource          ../../../libraries/TopoprocessingKeywords.robot
19
20 *** Variables ***
21 ${OVERLAY_TOPO_URL}    ${TOPOLOGY_URL}/topo:1
22
23 *** Test Cases ***
24 Link Computation Aggregation Inside
25     [Documentation]    Test of link computation with unification inside on Network Topology model
26     ${model}    Set Variable    network-topology-model
27     ${request}    Prepare Unification Inside Topology Request    ${UNIFICATION_NT_AGGREGATE_INSIDE}    ${model}    node    network-topo:6
28     ${request}    Insert Target Field    ${request}    0    ${ISIS_NODE_TE_ROUTER_ID_IPV4}    0
29     ${request}    Insert Link Computation Inside    ${request}    ${LINK_COMPUTATION_INSIDE}    n:network-topology-model    network-topo:6
30     ${resp}    Send Basic Request And Test If Contain X Times    ${request}    ${OVERLAY_TOPO_URL}    <node-id>node:    4
31     Should Contain    ${resp.content}    <topology-id>topo:1</topology-id>
32     Should Contain X Times    ${resp.content}    <link-id>    4
33     ${overlay_node_id_28_29}    Check Aggregated Node in Topology    ${model}    ${resp.content}    0    bgp:28    bgp:29
34     ${overlay_node_id_26}    Check Aggregated Node in Topology    ${model}    ${resp.content}    0    bgp:26
35     ${overlay_node_id_30}    Check Aggregated Node in Topology    ${model}    ${resp.content}    0    bgp:30
36     ${overlay_node_id_27}    Check Aggregated Node in Topology    ${model}    ${resp.content}    0    bgp:27
37     ${topology_id}    Set Variable    network-topo:6
38     Check Overlay Link Source And Destination    ${model}    ${resp.content}    ${topology_id}    link:26:28    ${overlay_node_id_26}    ${overlay_node_id_28_29}
39     Check Overlay Link Source And Destination    ${model}    ${resp.content}    ${topology_id}    link:28:29    ${overlay_node_id_28_29}    ${overlay_node_id_28_29}
40     Check Overlay Link Source And Destination    ${model}    ${resp.content}    ${topology_id}    link:29:30-1    ${overlay_node_id_28_29}    ${overlay_node_id_30}
41     Check Overlay Link Source And Destination    ${model}    ${resp.content}    ${topology_id}    link:29:30-2    ${overlay_node_id_28_29}    ${overlay_node_id_30}
42
43 Link Computation Filtration
44     [Documentation]    Test of link computation with filtration on Network Topology model
45     ${model}    Set Variable    network-topology-model
46     ${request}    Prepare Filtration Topology Request    ${FILTRATION_NT}    ${model}    node    network-topo:6
47     ${request}    Insert Filter    ${request}    ${FILTER_IPV4}    ${ISIS_NODE_TE_ROUTER_ID_IPV4}
48     ${request}    Set IPV4 Filter    ${request}    192.168.2.1/32
49     ${request}    Insert Link Computation Inside    ${request}    ${LINK_COMPUTATION_INSIDE}    n:network-topology-model    network-topo:6
50     ${resp}    Send Basic Request And Test If Contain X Times    ${request}    ${OVERLAY_TOPO_URL}    <node-id>node:    2
51     Should Contain    ${resp.content}    <topology-id>topo:1</topology-id>
52     Should Contain X Times    ${resp.content}    <link-id>    1
53     ${overlay_node_id_28}    Check Aggregated Node in Topology    ${model}    ${resp.content}    0    bgp:28
54     ${overlay_node_id_29}    Check Aggregated Node in Topology    ${model}    ${resp.content}    0    bgp:29
55     Check Overlay Link Source And Destination    ${model}    ${resp.content}    network-topo:6    link:28:29    ${overlay_node_id_28}    ${overlay_node_id_29}
56
57 Link Computation Aggregation Filtration
58     [Documentation]    Test of link computation with aggregation filtration on Network Topology model
59     ${model}    Set Variable    network-topology-model
60     ${target_field}    Set Variable    ${ISIS_NODE_TE_ROUTER_ID_IPV4}
61     ${request}    Prepare Unification Filtration Topology Request    ${UNIFICATION_FILTRATION_NT}    ${model}    node    ${target_field}    network-topo:6
62     ...    ${target_field}    network-topo:1
63     ${request}    Insert Filter With ID    ${request}    ${FILTER_IPV4}    ${ISIS_NODE_TE_ROUTER_ID_IPV4}    1
64     ${request}    Insert Apply Filters    ${request}    1    1
65     ${request}    Insert Apply Filters    ${request}    2    1
66     ${request}    Set IPV4 Filter    ${request}    192.168.1.1/24
67     ${request}    Insert Link Computation    ${request}    ${LINK_COMPUTATION}    n:network-topology-model    network-topo:6    network-topo:1
68     ${resp}    Send Basic Request And Test If Contain X Times    ${request}    ${OVERLAY_TOPO_URL}    <node-id>node:    2
69     Should Contain    ${resp.content}    <topology-id>topo:1</topology-id>
70     Should Contain X Times    ${resp.content}    <link>    2
71     ${overlay_node_id_1_26}    Check Aggregated Node in Topology    ${model}    ${resp.content}    3    bgp:26    bgp:1
72     ${overlay_node_id_2_27}    Check Aggregated Node in Topology    ${model}    ${resp.content}    0    bgp:27    bgp:2
73     ${topology_id}    Set Variable    network-topo:1
74     Check Overlay Link Source And Destination    ${model}    ${resp.content}    ${topology_id}    link:1:2-1    ${overlay_node_id_1_26}    ${overlay_node_id_2_27}
75     Check Overlay Link Source And Destination    ${model}    ${resp.content}    ${topology_id}    link:1:2-2    ${overlay_node_id_1_26}    ${overlay_node_id_2_27}