[Return] ${owner} ${candidates_list}
Check Item Occurrence At URI In Cluster
- [Arguments] ${controller_index_list} ${dictionary_item_occurrence} ${uri} ${headers}=${HEADERS}
+ [Arguments] ${controller_index_list} ${dictionary_item_occurrence} ${uri}
[Documentation] Send a GET with the supplied ${uri} to all cluster instances in ${controller_index_list}
... and check for occurrences of items expressed in a dictionary ${dictionary_item_occurrence}.
: FOR ${i} IN @{controller_index_list}
- \ ${data} Get Data From URI controller${i} ${uri} ${headers}
+ \ ${data} Get Data From URI controller${i} ${uri}
\ Log ${data}
\ Check Item Occurrence ${data} ${dictionary_item_occurrence}
Put And Check At URI In Cluster
- [Arguments] ${controller_index_list} ${controller_index} ${uri} ${body} ${headers}=${HEADERS_YANG_JSON}
- [Documentation] Send a PUT with the supplied ${uri} and ${body} to a ${controller_index}
+ [Arguments] ${controller_index_list} ${controller_index} ${uri} ${body}
+ [Documentation] Send a PUT with the supplied ${uri} and ${body} (json string) to a ${controller_index}
... and check the data is replicated in all instances in ${controller_index_list}.
${expected_body}= Hsf Json ${body}
Log ${body}
- ${json_body}= To Json ${body}
- ${resp} RequestsLibrary.Put Request controller${controller_index} ${uri} ${json_body} ${headers}
+ ${resp} RequestsLibrary.Put Request controller${controller_index} ${uri} ${body} ${HEADERS_YANG_JSON}
Log ${resp.content}
Log ${resp.status_code}
${status_code}= Convert To String ${resp.status_code}
Should Match Regexp ${status_code} 20(0|1)
: FOR ${i} IN @{controller_index_list}
\ ${data} Wait Until Keyword Succeeds 5s 1s Get Data From URI controller${i}
- \ ... ${uri} ${headers}
+ \ ... ${uri}
\ Log ${data}
\ ${received_body} Hsf Json ${data}
\ Should Be Equal ${expected_body} ${received_body}
Delete And Check At URI In Cluster
- [Arguments] ${controller_index_list} ${controller_index} ${uri} ${headers}=${HEADERS_YANG_JSON}
+ [Arguments] ${controller_index_list} ${controller_index} ${uri}
[Documentation] Send a DELETE with the supplied ${uri} to a ${controller_index}
... and check the data is removed from all instances in ${controller_index_list}.
- ${resp} RequestsLibrary.Delete Request controller${controller_index} ${uri} ${headers}
+ ${resp} RequestsLibrary.Delete Request controller${controller_index} ${uri}
Should Be Equal As Strings ${resp.status_code} 200
: FOR ${i} IN @{controller_index_list}
\ Wait Until Keyword Succeeds 5s 1s No Content From URI controller${i} ${uri}
- \ ... ${headers}
Kill Multiple Controllers
[Arguments] @{controller_index_list}
[Documentation] Add sample flow in ${controller_index} and verify it gets applied in all instances in ${controller_index_list}.
${body}= OperatingSystem.Get File ${CURDIR}/../variables/openflowplugin/sample_flow_1.json
${dictionary}= Create Dictionary 10.0.1.0/24=1
- Put And Check At URI In Cluster ${controller_index_list} ${controller_index} ${config_table_0}/flow/1 ${body} ${HEADERS}
+ Put And Check At URI In Cluster ${controller_index_list} ${controller_index} ${config_table_0}/flow/1 ${body}
Wait Until Keyword Succeeds 5s 1s Check Item Occurrence At URI In Cluster ${controller_index_list} ${dictionary} ${operational_table_0}
Modify Sample Flow And Verify
[Documentation] Modify sample flow in ${controller_index} and verify it gets applied in all instances in ${controller_index_list}.
${body}= OperatingSystem.Get File ${CURDIR}/../variables/openflowplugin/sample_flow_2.json
${dictionary}= Create Dictionary 10.0.2.0/24=1
- Put And Check At URI In Cluster ${controller_index_list} ${controller_index} ${config_table_0}/flow/1 ${body} ${HEADERS}
+ Put And Check At URI In Cluster ${controller_index_list} ${controller_index} ${config_table_0}/flow/1 ${body}
Wait Until Keyword Succeeds 5s 1s Check Item Occurrence At URI In Cluster ${controller_index_list} ${dictionary} ${operational_table_0}
Delete Sample Flow And Verify
[Documentation] Add sample flow in ${controller_index} and verify it gets applied from all instances in ${controller_index_list}.
${body}= OperatingSystem.Get File ${CURDIR}/../variables/openflowplugin/add_flow_rpc.json
${dictionary}= Create Dictionary 10.0.1.0/24=1
- ${resp} RequestsLibrary.Post Request controller${controller_index} /restconf/operations/sal-flow:add-flow ${body} ${HEADERS}
+ ${resp} RequestsLibrary.Post Request controller${controller_index} /restconf/operations/sal-flow:add-flow ${body} ${HEADERS_YANG_JSON}
Log ${resp.content}
Should Be Equal As Strings ${resp.status_code} 200
Wait Until Keyword Succeeds 5s 1s Check Item Occurrence At URI In Cluster ${controller_index_list} ${dictionary} ${operational_table_0}
[Documentation] Delete sample flow in ${controller_index} and verify it gets removed from all instances in ${controller_index_list}.
${body}= OperatingSystem.Get File ${CURDIR}/../variables/openflowplugin/delete_flow_rpc.json
${dictionary}= Create Dictionary 10.0.1.0/24=0
- ${resp} RequestsLibrary.Post Request controller${controller_index} /restconf/operations/sal-flow:remove-flow ${body} ${HEADERS}
+ ${resp} RequestsLibrary.Post Request controller${controller_index} /restconf/operations/sal-flow:remove-flow ${body} ${HEADERS_YANG_JSON}
Log ${resp.content}
Should Be Equal As Strings ${resp.status_code} 200
Wait Until Keyword Succeeds 5s 1s Check Item Occurrence At URI In Cluster ${controller_index_list} ${dictionary} ${operational_table_0}
Log ${body}
${TOOLS_SYSTEM_IP1} Replace String ${TOOLS_SYSTEM_IP} ${TOOLS_SYSTEM_IP} "${TOOLS_SYSTEM_IP}"
${dictionary}= Create Dictionary ${TOOLS_SYSTEM_IP1}=1 ${OVSDBPORT}=4 ${BRIDGE}=1
- Put And Check At URI In Cluster ${controller_index_list} ${controller_index} ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE} ${body} ${HEADERS}
+ Put And Check At URI In Cluster ${controller_index_list} ${controller_index} ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE} ${body}
Wait Until Keyword Succeeds 5s 1s Check Item Occurrence At URI In Cluster ${controller_index_list} ${dictionary} ${OPERATIONAL_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}
Create Bridge Manually And Verify
# need to get UUID which should be the same on all controllers in cluster, so asking controller1
${ovsdb_uuid}= Get OVSDB UUID controller_http_session=controller1
${dictionary}= Create Dictionary ${BRIDGE}=0
- Delete And Check At URI In Cluster ${controller_index_list} ${controller_index} ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE} ${HEADERS}
+ Delete And Check At URI In Cluster ${controller_index_list} ${controller_index} ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE}
Wait Until Keyword Succeeds 5s 1s Check Item Occurrence At URI In Cluster ${controller_index_list} ${dictionary} ${OPERATIONAL_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}
Add Port To The Manual Bridge And Verify