2 Documentation Test suite to verify fitration 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 Setup SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing
10 Test Teardown Delete Overlay Topology
11 Library RequestsLibrary
14 Variables ../../../variables/topoprocessing/TopologyRequests.py
15 Variables ../../../variables/topoprocessing/TargetFields.py
16 Variables ../../../variables/Variables.py
17 Resource ../../../libraries/KarafKeywords.robot
18 Resource ../../../libraries/Utils.robot
19 Resource ../../../libraries/TopoprocessingKeywords.robot
22 Filtration Range Number Network Topology Model
23 [Documentation] Test of range number type of filtration operation on Network Topology model
24 ${request} Prepare Filtration Topology Request ${FILTRATION_NT} network-topology-model termination-point network-topo:2
25 ${request} Insert Filter ${request} ${FILTER_RANGE_NUMBER} ${OVSDB_OFPORT}
26 ${request} Set Range Number Filter ${request} 1115 1119
27 Basic Request Put ${request} ${OVERLAY_TOPO_URL}
28 ${resp} Wait Until Keyword Succeeds 3x 1s Output Topo Should Be Complete node_count=5 supporting-node_count=5
29 ... node-ref_count=5 tp_count=3 tp-ref_count=3
30 Check Filtered Termination Points in Node ${resp.content} bgp:6 tp:6:1
31 Check Filtered Termination Points in Node ${resp.content} bgp:7 tp:7:1 tp:7:2
32 Check Filtered Termination Points in Node ${resp.content} bgp:8
33 Check Filtered Termination Points in Node ${resp.content} bgp:9
34 Check Filtered Termination Points in Node ${resp.content} bgp:10
36 Filtration Range Number Inventory Model
37 [Documentation] Test of range number type of filtration operation on Inventory model
38 ${request} Prepare Filtration Topology Request ${FILTRATION_NT} opendaylight-inventory-model termination-point openflow-topo:1
39 ${request} Insert Filter ${request} ${FILTER_RANGE_NUMBER} ${OPENFLOW_NODE_CONNECTOR_PORT_NUMBER}
40 ${request} Set Range Number Filter ${request} 2 4
41 Basic Request Put ${request} ${OVERLAY_TOPO_URL}
42 ${resp} Wait Until Keyword Succeeds 3x 1s Output Topo Should Be Complete node_count=5 supporting-node_count=5
43 ... node-ref_count=5 tp_count=5 tp-ref_count=5
44 Check Filtered Termination Points in Node ${resp.content} of-node:1
45 Check Filtered Termination Points in Node ${resp.content} of-node:2 tp:2:3 tp:2:2
46 Check Filtered Termination Points in Node ${resp.content} of-node:3 tp:3:1 tp:3:2
47 Check Filtered Termination Points in Node ${resp.content} of-node:4
48 Check Filtered Termination Points in Node ${resp.content} of-node:5 tp:5:1
50 Filtration Specific Number Network Topology Model
51 [Documentation] Test of specific number type of filtration operation on Network Topology model
52 ${request} Prepare Filtration Topology Request ${FILTRATION_NT} network-topology-model termination-point network-topo:2
53 ${request} Insert Filter ${request} ${FILTER_SPECIFIC_NUMBER} ${OVSDB_OFPORT}
54 ${request} Set Specific Number Filter ${request} 1119
55 Basic Request Put ${request} ${OVERLAY_TOPO_URL}
56 ${resp} Wait Until Keyword Succeeds 3x 1s Output Topo Should Be Complete node_count=5 supporting-node_count=5
57 ... node-ref_count=5 tp_count=1 tp-ref_count=1
58 ${node} Get Element ${resp.content} xpath=.//node/supporting-node[node-ref='bgp:7']/..
59 ${node} Element to String ${node}
60 Should Contain X Times ${node} <termination-point> 1
61 Check Filtered Termination Points in Node ${resp.content} bgp:6
62 Check Filtered Termination Points in Node ${resp.content} bgp:7 tp:7:1
63 Check Filtered Termination Points in Node ${resp.content} bgp:8
64 Check Filtered Termination Points in Node ${resp.content} bgp:9
65 Check Filtered Termination Points in Node ${resp.content} bgp:10
67 Filtration Specific Number Inventory Model
68 [Documentation] Test of specific number type of filtration operation on Inventory model
69 ${request} Prepare Filtration Topology Request ${FILTRATION_NT} opendaylight-inventory-model termination-point openflow-topo:1
70 ${request} Insert Filter ${request} ${FILTER_SPECIFIC_NUMBER} ${OPENFLOW_NODE_CONNECTOR_MAXIMUM_SPEED}
71 ${request} Set Specific Number Filter ${request} 2
72 Basic Request Put ${request} ${OVERLAY_TOPO_URL}
73 ${resp} Wait Until Keyword Succeeds 3x 1s Output Topo Should Be Complete node_count=5 supporting-node_count=5
74 ... node-ref_count=5 tp_count=3 tp-ref_count=3
75 Check Filtered Termination Points in Node ${resp.content} of-node:1
76 Check Filtered Termination Points in Node ${resp.content} of-node:2 tp:2:2
77 Check Filtered Termination Points in Node ${resp.content} of-node:3 tp:3:1 tp:3:2
78 Check Filtered Termination Points in Node ${resp.content} of-node:4
79 Check Filtered Termination Points in Node ${resp.content} of-node:5
81 Filtration Specific String Network Topology Model
82 [Documentation] Test of specific string type of filtration operation on Network Topology model
83 ${request} Prepare Filtration Topology Request ${FILTRATION_NT} network-topology-model termination-point network-topo:2
84 ${request} Insert Filter ${request} ${FILTER_SPECIFIC_STRING} ${OVSDB_TP_NAME}
85 ${request} Set Specific String Filter ${request} portC
86 Basic Request Put ${request} ${OVERLAY_TOPO_URL}
87 ${resp} Wait Until Keyword Succeeds 3x 1s Output Topo Should Be Complete node_count=5 supporting-node_count=5
88 ... node-ref_count=5 tp_count=1 tp-ref_count=1
89 Check Filtered Termination Points in Node ${resp.content} bgp:6
90 Check Filtered Termination Points in Node ${resp.content} bgp:7 tp:7:2
91 Check Filtered Termination Points in Node ${resp.content} bgp:8
92 Check Filtered Termination Points in Node ${resp.content} bgp:9
93 Check Filtered Termination Points in Node ${resp.content} bgp:10
95 Filtration Specific String Inventory Model
96 [Documentation] Test of specific string type of filtration operation on Inventory model
97 ${request} Prepare Filtration Topology Request ${FILTRATION_NT} opendaylight-inventory-model termination-point openflow-topo:1
98 ${request} Insert Filter ${request} ${FILTER_SPECIFIC_STRING} ${OPENFLOW_NODE_CONNECTOR_NAME}
99 ${request} Set Specific String Filter ${request} portB
100 Basic Request Put ${request} ${OVERLAY_TOPO_URL}
101 ${resp} Wait Until Keyword Succeeds 3x 1s Output Topo Should Be Complete node_count=5 supporting-node_count=5
102 ... node-ref_count=5 tp_count=2 tp-ref_count=2
103 Check Filtered Termination Points in Node ${resp.content} of-node:1
104 Check Filtered Termination Points in Node ${resp.content} of-node:2 tp:2:1
105 Check Filtered Termination Points in Node ${resp.content} of-node:3
106 Check Filtered Termination Points in Node ${resp.content} of-node:4
107 Check Filtered Termination Points in Node ${resp.content} of-node:5 tp:5:1
109 Filtration Range String Network Topology Model
110 [Documentation] Test of range string type of filtration operation on Network Topology model
111 ${request} Prepare Filtration Topology Request ${FILTRATION_NT} network-topology-model termination-point network-topo:2
112 ${request} Insert Filter ${request} ${FILTER_RANGE_STRING} ${OVSDB_TP_NAME}
113 ${request} Set Range String Filter ${request} portA portC
114 Basic Request Put ${request} ${OVERLAY_TOPO_URL}
115 ${resp} Wait Until Keyword Succeeds 3x 1s Output Topo Should Be Complete node_count=5 supporting-node_count=5
116 ... node-ref_count=5 tp_count=3 tp-ref_count=3
117 Check Filtered Termination Points in Node ${resp.content} bgp:6 tp:6:1
118 Check Filtered Termination Points in Node ${resp.content} bgp:7 tp:7:2
119 Check Filtered Termination Points in Node ${resp.content} bgp:8
120 Check Filtered Termination Points in Node ${resp.content} bgp:9
121 Check Filtered Termination Points in Node ${resp.content} bgp:10 tp:10:1
123 Filtration Range String Inventory Model
124 [Documentation] Test of range string type of filtration operation on Inventory model
125 ${request} Prepare Filtration Topology Request ${FILTRATION_NT} opendaylight-inventory-model termination-point openflow-topo:1
126 ${request} Insert Filter ${request} ${FILTER_RANGE_STRING} ${OPENFLOW_NODE_CONNECTOR_NAME}
127 ${request} Set Range String Filter ${request} portA portB
128 Basic Request Put ${request} ${OVERLAY_TOPO_URL}
129 ${resp} Wait Until Keyword Succeeds 3x 1s Output Topo Should Be Complete node_count=5 supporting-node_count=5
130 ... node-ref_count=5 tp_count=3 tp-ref_count=3
131 Check Filtered Termination Points in Node ${resp.content} of-node:1
132 Check Filtered Termination Points in Node ${resp.content} of-node:2 tp:2:1 tp:2:3
133 Check Filtered Termination Points in Node ${resp.content} of-node:3
134 Check Filtered Termination Points in Node ${resp.content} of-node:4
135 Check Filtered Termination Points in Node ${resp.content} of-node:5 tp:5:1
137 Filtration Script Network Topology Model
138 [Documentation] Test of script type of filtration operation on Network Topology model
139 ${request} Prepare Filtration Topology Request ${FILTRATION_NT} network-topology-model termination-point network-topo:1
140 ${request} Insert Filter ${request} ${FILTER_SCRIPT} ${OVSDB_OFPORT}
141 ${script} Set Variable if (node.getValue() > 1117 ) {filterOut.setResult(true);} else {filterOut.setResult(false);}
142 ${request} Set Script Filter ${request} javascript ${script}
143 Basic Request Put ${request} ${OVERLAY_TOPO_URL}
144 ${resp} Wait Until Keyword Succeeds 3x 1s Output Topo Should Be Complete node_count=5 supporting-node_count=5
145 ... node-ref_count=5 tp_count=3 tp-ref_count=3
146 Check Filtered Termination Points in Node ${resp.content} bgp:1
147 Check Filtered Termination Points in Node ${resp.content} bgp:2
148 Check Filtered Termination Points in Node ${resp.content} bgp:3
149 Check Filtered Termination Points in Node ${resp.content} bgp:4 tp:4:1 tp:4:2
150 Check Filtered Termination Points in Node ${resp.content} bgp:5 tp:5:1
152 Filtration Script Inventory Model
153 [Documentation] Test of script type of filtration operation on Inventory model
154 ${request} Prepare Filtration Topology Request ${FILTRATION_NT} opendaylight-inventory-model termination-point openflow-topo:1
155 ${request} Insert Filter ${request} ${FILTER_SCRIPT} ${OPENFLOW_NODE_CONNECTOR_NAME}
156 ${script} Set Variable if (node.getValue().indexOf("portB") > -1 ) {filterOut.setResult(true);} else {filterOut.setResult(false);}
157 ${request} Set Script Filter ${request} javascript ${script}
158 Basic Request Put ${request} ${OVERLAY_TOPO_URL}
159 ${resp} Wait Until Keyword Succeeds 3x 1s Output Topo Should Be Complete node_count=5 supporting-node_count=5
160 ... node-ref_count=5 tp_count=3 tp-ref_count=3
161 Check Filtered Termination Points in Node ${resp.content} of-node:1 tp:1:1
162 Check Filtered Termination Points in Node ${resp.content} of-node:2 tp:2:2 tp:2:3
163 Check Filtered Termination Points in Node ${resp.content} of-node:3
164 Check Filtered Termination Points in Node ${resp.content} of-node:4
165 Check Filtered Termination Points in Node ${resp.content} of-node:5