X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=csit%2Flibraries%2FSxpLib.robot;h=c75a7820fa3309bd005aff9c2036cb25cc124a30;hb=1b97fc3dc9d0a8e85c3fa97ae6f4b40af34ba1b1;hp=ccf5c2011fbd84ba311c070215cdc9d9b07a6296;hpb=caec1de4a66842e5a663991c9ab99088ec58b32b;p=integration%2Ftest.git diff --git a/csit/libraries/SxpLib.robot b/csit/libraries/SxpLib.robot index ccf5c2011f..c75a7820fa 100644 --- a/csit/libraries/SxpLib.robot +++ b/csit/libraries/SxpLib.robot @@ -28,7 +28,7 @@ Post To Controller BuiltIn.Should Be True ${result} RPC result is False Add Node - [Arguments] ${node} ${password}=${EMPTY} ${version}=version4 ${port}=64999 ${session}=session ${ip}=${EMPTY} + [Arguments] ${node} ${password}=${EMPTY} ${version}=version4 ${port}=64999 ${session}=session ${ip}=${node} ... ${ssl_stores}=${EMPTY} ${retry_open_timer}=1 [Documentation] Add node via RPC to ODL ${data} = Sxp.Add Node Xml ${node} ${port} ${password} ${version} ${ip} @@ -151,10 +151,22 @@ Clean Peer Groups Add Filter [Arguments] ${name} ${type} ${entries} ${node}=127.0.0.1 ${session}=session ${policy}=auto-update [Documentation] Add Filter via RPC from Node + ${data} = Prepare Add/Update Filter Data ${name} ${type} ${entries} ${node} ${policy} + Post To Controller ${session} add-filter ${data} + +Update Filter + [Arguments] ${name} ${type} ${entries} ${node}=127.0.0.1 ${session}=session ${policy}=auto-update + [Documentation] Update Filter via RPC + ${data} = Prepare Add/Update Filter Data ${name} ${type} ${entries} ${node} ${policy} + Post To Controller ${session} update-filter ${data} + +Prepare Add/Update Filter Data + [Arguments] ${name} ${type} ${entries} ${node}=127.0.0.1 ${policy}=auto-update + [Documentation] Prepare XML payload for add-filter and update-filter RPCs. Payloads for both RPCs are the same. ${data} = CompareStream.Run_Keyword_If_At_Least_Else carbon Add Filter Xml ${name} ${type} ${entries} ... ${node} ${policy} ... ELSE Add Filter Xml ${name} ${type} ${entries} ${node} - Post To Controller ${session} add-filter ${data} + [Return] ${data} Add Domain Filter [Arguments] ${name} ${domains} ${entries} ${node}=127.0.0.1 ${filter_name}=base-domain-filter ${session}=session @@ -191,7 +203,7 @@ Should Contain Connection [Documentation] Test if data contains specified connection ${out} = Sxp.Find Connection ${resp} ${version} ${mode} ${ip} ${port} ... ${state} - BuiltIn.Should Be True ${out} Doesn't have ${ip}:${port} ${mode} ${version} + BuiltIn.Should Be True ${out} Doesn't have ${ip}:${port} ${mode} ${version} in state ${state} Should Not Contain Connection [Arguments] ${resp} ${ip} ${port} ${mode} ${version} ${state}=none @@ -248,10 +260,6 @@ Verify Snapshot Was Pushed ${output} = Utils.Run Command On Controller ${ODL_SYSTEM_IP} cat ${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf.log* | grep -c 'Successfully pushed configuration snapshot.*${snapshot_string}' BuiltIn.Should Not Be Equal As Strings ${output} 0 -Clean SXP Session - [Documentation] Destroy created sessions - RequestsLibrary.Delete All Sessions - Add Domain [Arguments] ${domain_name} ${sgt}=None ${prefixes}=None ${origin}=LOCAL ${node}=127.0.0.1 ${session}=session [Documentation] Based on ODL version decide if domain's bindings will be added with or without origin type (introduced in Fluorine) @@ -306,30 +314,44 @@ Check Binding Range Negative \ Should Not Contain Binding ${resp} ${sgt} ${ip}/32 Setup SXP Environment - [Arguments] ${node_range}=2 - [Documentation] Create session to Controller, node_range parameter specifies number of nodes to be created plus one - Setup SXP Session - : FOR ${num} IN RANGE 1 ${node_range} - \ ${ip} = Sxp.Get Ip From Number ${num} - \ ${rnd_retry_time} = BuiltIn.Evaluate random.randint(1, 10) modules=random - \ Add Node ${ip} retry_open_timer=${rnd_retry_time} - \ BuiltIn.Wait Until Keyword Succeeds 20 1 Check Node Started ${ip} + [Arguments] ${node_range}=1 + [Documentation] Create session to Controller, ${node_range} parameter specifies number of localhost nodes to be created on ${ODL_SYSTEM_IP}. + RequestsLibrary.Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} timeout=${DEFAULT_TIMEOUT_HTTP} max_retries=0 + : FOR ${num} IN RANGE 1 ${node_range}+1 + \ ${node} = Sxp.Get Ip From Number ${num} + \ Add Node ${node} retry_open_timer=${num} + \ BuiltIn.Wait Until Keyword Succeeds 20 1 Check Node Started ${node} system=${ODL_SYSTEM_IP} Check Node Started - [Arguments] ${node} ${port}=64999 ${system}=${ODL_SYSTEM_IP} ${session}=session ${ip}=${node} - [Documentation] Verify that SxpNode has data writed to Operational datastore + [Arguments] ${node} ${port}=64999 ${system}=${node} ${session}=session ${ip}=${node} + [Documentation] Verify that SxpNode has data writen to Operational datastore and is running ${resp} = RequestsLibrary.Get Request ${session} /restconf/operational/network-topology:network-topology/topology/sxp/node/${node}/ BuiltIn.Should Be Equal As Strings ${resp.status_code} 200 - ${rc} = Utils.Run Command On Remote System ${system} netstat -tln | grep -q ${ip}:${port} && echo 0 || echo 1 ${ODL_SYSTEM_USER} ${ODL_SYSTEM_PASSWORD} prompt=${ODL_SYSTEM_PROMPT} + ${rc} = Get Node Running Status ${node} ${port} ${system} ${session} ${ip} BuiltIn.Should Be Equal As Strings ${rc} 0 +Check Node Stopped + [Arguments] ${node} ${port}=64999 ${system}=${node} ${session}=session ${ip}=${node} + [Documentation] Verify that SxpNode has data removed from Operational datastore and is not running + ${resp} = RequestsLibrary.Get Request ${session} /restconf/operational/network-topology:network-topology/topology/sxp/node/${node}/ + BuiltIn.Should Be Equal As Strings ${resp.status_code} 404 + ${rc} = Get Node Running Status ${node} ${port} ${system} ${session} ${ip} + BuiltIn.Should Be Equal As Strings ${rc} 1 + +Get Node Running Status + [Arguments] ${node} ${port} ${system} ${session} ${ip} + [Documentation] Get status if node is running by checking that netty server is running + ${rc} = Utils.Run Command On Remote System ${system} netstat -tln | grep -q ${ip}:${port} && echo 0 || echo 1 ${ODL_SYSTEM_USER} ${ODL_SYSTEM_PASSWORD} prompt=${ODL_SYSTEM_PROMPT} + [Return] ${rc} + Clean SXP Environment - [Arguments] ${node_range}=2 + [Arguments] ${node_range}=1 [Documentation] Destroy created sessions - : FOR ${num} IN RANGE 1 ${node_range} + : FOR ${num} IN RANGE 1 ${node_range}+1 \ ${ip} = Sxp.Get Ip From Number ${num} \ Delete Node ${ip} - Clean SXP Session + \ BuiltIn.Wait Until Keyword Succeeds 12x 10s Check Node Stopped ${ip} system=${ODL_SYSTEM_IP} + RequestsLibrary.Delete All Sessions Get Routing Configuration From Controller [Arguments] ${session} @@ -342,6 +364,7 @@ Put Routing Configuration To Controller [Arguments] ${data} ${session} [Documentation] Put Routing configuration to Config DS ${resp} = RequestsLibrary.Put Request ${session} /restconf/config/sxp-cluster-route:sxp-cluster-route/ data=${data} headers=${HEADERS_XML} + BuiltIn.Log ${resp} BuiltIn.Should Match "${resp.status_code}" "20?" Clean Routing Configuration To Controller