Topoprocessing - Rework the output requesting mechanism
[integration/test.git] / csit / suites / topoprocessing / basic-topology-operations / 080_Underlay_item_removal.robot
1 *** Settings ***
2 Documentation     Test suite to verify processing of removal requests on different models.
3 ...               Before tests start, configurational files have to be rewriten to change listeners registration datastore type from CONFIG_API to OPERATIONAL_API.
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 ...               Suite setup also installs features required for tested models and clears karaf logs for further synchronization. Tests themselves send configurational
6 ...               xmls and verify output. Topology-id on the end of each url 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     Refresh Underlay Topologies And Delete Overlay Topology
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 *** Test Cases ***
21 Unification Node Removal NT
22     [Documentation]    Test processing of node removal using unification operation on Network Topology model
23     ${model}    Set Variable    network-topology-model
24     #Create the original topology
25     ${request}    Prepare Unification Topology Request    ${UNIFICATION_NT}    network-topology-model    node    network-topo:1    network-topo:2
26     ${request}    Insert Target Field    ${request}    0    ${ISIS_NODE_TE_ROUTER_ID_IPV4}    0
27     ${request}    Insert Target Field    ${request}    1    ${ISIS_NODE_TE_ROUTER_ID_IPV4}    0
28     Basic Request Put    ${request}    ${OVERLAY_TOPO_URL}
29     ${resp}    Wait Until Keyword Succeeds    3x    1s    Output Topo Should Be Complete    node_count=8    supporting-node_count=10    node-ref_count=10
30     #Remove an underlay aggregated node, preserving the overlay node
31     Delete Underlay Node    network-topo:1    bgp:3
32     ${resp}    Wait Until Keyword Succeeds    3x    1s    Output Topo Should Be Complete    node_count=8    supporting-node_count=9    node-ref_count=9
33     Check Aggregated Node in Topology    ${model}    ${resp.content}    2    bgp:4
34     #Remove an underlay aggregated node, expecting removal of the overlay node
35     Delete Underlay Node    network-topo:1    bgp:4
36     ${resp}    Wait Until Keyword Succeeds    3x    1s    Output Topo Should Be Complete    node_count=7    supporting-node_count=8    node-ref_count=8
37
38 Unification Node Removal Inventory
39     [Documentation]    Test processing of node removal using unification operation on Inventory model
40     ${model}    Set Variable    opendaylight-inventory-model
41     #Create the original topology
42     ${request}    Prepare Unification Topology Request    ${UNIFICATION_NT}    ${model}    node    openflow-topo:1    openflow-topo:2
43     ${request}    Insert Target Field    ${request}    0    ${OPENFLOW_NODE_IP_ADDRESS}    0
44     ${request}    Insert Target Field    ${request}    1    ${OPENFLOW_NODE_IP_ADDRESS}    0
45     Basic Request Put    ${request}    ${OVERLAY_TOPO_URL}
46     ${resp}    Wait Until Keyword Succeeds    3x    1s    Output Topo Should Be Complete    node_count=7    supporting-node_count=10    node-ref_count=10
47     #Remove an underlay aggregated node, preserving the overlay node
48     Delete Underlay Node    openflow-topo:2    of-node:6
49     ${resp}    Wait Until Keyword Succeeds    3x    1s    Output Topo Should Be Complete    node_count=7    supporting-node_count=9    node-ref_count=9
50     Check Aggregated Node in Topology    ${model}    ${resp.content}    2    of-node:1
51     #Remove an underlay aggregated node, expecting removal of the overlay node
52     Delete Underlay Node    openflow-topo:1    of-node:1
53     ${resp}    Wait Until Keyword Succeeds    3x    1s    Output Topo Should Be Complete    node_count=6    supporting-node_count=8    node-ref_count=8