From: Martin Mihálek Date: Wed, 29 Jun 2016 09:05:59 +0000 (+0200) Subject: Boron update of CSIT X-Git-Tag: release/beryllium-sr3~48 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=28b2b64ddd53228e6fdff9ed869d605f70bbb434;p=integration%2Ftest.git Boron update of CSIT Change-Id: I5f8cccbb1571ea9ed5b13ca63cc9608408c7be05 Signed-off-by: Martin Mihálek --- diff --git a/csit/libraries/Sxp.py b/csit/libraries/Sxp.py index cd2aefaf9f..2f618951b1 100644 --- a/csit/libraries/Sxp.py +++ b/csit/libraries/Sxp.py @@ -454,7 +454,7 @@ def find_binding_legacy(prefix_groups_json, sgt, prefix, source_, action): return found -def add_entry_xml(sgt, prefix, ip): +def add_entry_xml(sgt, prefix, ip, domain_name): """Generate xml for Add Bindings request :param sgt: Source Group Tag @@ -463,19 +463,22 @@ def add_entry_xml(sgt, prefix, ip): :type prefix: string :param ip: Ipv4 address of node :type ip: string + :param domain_name: Name of Domain + :type domain_name: string :returns: String containing xml data for request """ templ = Template(''' $ip + $domain $sgt $prefix ''') - data = templ.substitute({'sgt': sgt, 'prefix': prefix, 'ip': ip}) + data = templ.substitute({'sgt': sgt, 'prefix': prefix, 'ip': ip, 'domain': get_domain_name(domain_name)}) return data -def add_connection_xml(version, mode, ip, port, node, password_): +def add_connection_xml(version, mode, ip, port, node, password_, domain_name): """Generate xml for Add Connection request :param version: Version of SXP protocol (version1/2/3/4) @@ -490,11 +493,14 @@ def add_connection_xml(version, mode, ip, port, node, password_): :type node: string :param password_: Password type (none/default) :type password_: string + :param domain_name: Name of Domain + :type domain_name: string :returns: String containing xml data for request """ templ = Template(''' $node + $domain $ip @@ -513,11 +519,12 @@ def add_connection_xml(version, mode, ip, port, node, password_): ''') data = templ.substitute( - {'ip': ip, 'port': port, 'mode': mode, 'version': version, 'node': node, 'password_': password_}) + {'ip': ip, 'port': port, 'mode': mode, 'version': version, 'node': node, + 'password_': password_, 'domain': get_domain_name(domain_name)}) return data -def delete_connections_xml(address, port, node): +def delete_connections_xml(address, port, node, domain_name): """Generate xml for Delete Connection request :param address: Ipv4/6 address of remote peer @@ -526,19 +533,22 @@ def delete_connections_xml(address, port, node): :type port: string :param node: Ipv4 address of node :type node: string + :param domain_name: Name of Domain + :type domain_name: string :returns: String containing xml data for request """ templ = Template(''' $node + $domain $address $port ''') - data = templ.substitute({'address': address, 'port': port, 'node': node}) + data = templ.substitute({'address': address, 'port': port, 'node': node, 'domain': get_domain_name(domain_name)}) return data -def update_binding_xml(sgt0, prefix0, sgt1, prefix1, ip): +def update_binding_xml(sgt0, prefix0, sgt1, prefix1, ip, domain_name): """Generate xml for Update Binding request :param sgt0: Original Source Group Tag @@ -551,11 +561,14 @@ def update_binding_xml(sgt0, prefix0, sgt1, prefix1, ip): :type prefix1: string :param ip: Ipv4 address of node :type ip: string + :param domain_name: Name of Domain + :type domain_name: string :returns: String containing xml data for request """ templ = Template(''' $ip + $domain $sgt0 $prefix0 @@ -566,11 +579,12 @@ def update_binding_xml(sgt0, prefix0, sgt1, prefix1, ip): ''') data = templ.substitute( - {'sgt0': sgt0, 'sgt1': sgt1, 'prefix0': prefix0, 'prefix1': prefix1, 'ip': ip}) + {'sgt0': sgt0, 'sgt1': sgt1, 'prefix0': prefix0, 'prefix1': prefix1, 'ip': ip, + 'domain': get_domain_name(domain_name)}) return data -def delete_binding_xml(sgt, prefix, ip): +def delete_binding_xml(sgt, prefix, ip, domain_name): """Generate xml for Delete Binding request :param sgt: Source Group Tag @@ -579,6 +593,8 @@ def delete_binding_xml(sgt, prefix, ip): :type prefix: string :param ip: Ipv4 address of node :type ip: string + :param domain_name: Name of Domain + :type domain_name: string :returns: String containing xml data for request """ @@ -586,8 +602,9 @@ def delete_binding_xml(sgt, prefix, ip): $ip $sgt $prefix + $domain ''') - data = templ.substitute({'sgt': sgt, 'prefix': prefix, 'ip': ip}) + data = templ.substitute({'sgt': sgt, 'prefix': prefix, 'ip': ip, 'domain': get_domain_name(domain_name)}) return data @@ -696,34 +713,211 @@ def delete_filter_xml(group, filter_type, ip): return data -def get_connections_from_node_xml(ip): +def get_connections_from_node_xml(ip, domain_name): """Generate xml for Get Connections request :param ip: Ipv4 address of node :type ip: string + :param domain_name: Name of Domain + :type domain_name: string :returns: String containing xml data for request """ templ = Template(''' $ip + $domain ''') - data = templ.substitute({'ip': ip}) + data = templ.substitute({'ip': ip, 'domain': get_domain_name(domain_name)}) return data -def get_bindings_from_node_xml(ip, binding_range): +def get_bindings_from_node_xml(ip, binding_range, domain_name): """Generate xml for Get Bindings request :param binding_range: All or only Local bindings :type binding_range: string :param ip: Ipv4 address of node :type ip: string + :param domain_name: Name of Domain + :type domain_name: string :returns: String containing xml data for request """ templ = Template(''' $ip $range + $domain +''') + data = templ.substitute({'ip': ip, 'range': binding_range, 'domain': get_domain_name(domain_name)}) + return data + + +def add_node_xml(node_id, port, password, version, node_ip=None, expansion=0): + """Generate xml for Add Node request + + :param node_id: Ipv4 address formatted node id + :type node_id: string + :param node_ip: Ipv4 address of node + :type node_ip: string + :param port: Node port number + :type port: int + :param expansion: Bindings expansion + :type expansion: int + :returns: String containing xml data for request + + """ + if node_ip is None: + node_ip = node_id + templ = Template(''' + $id + + 1 + 120 + 120 + 90 + 120 + 90 + 180 + 30 + + $expansion + + $password + + $port + $version + ODL SXP Controller + $ip + +''') + data = templ.substitute( + {'ip': node_ip, 'id': node_id, 'port': port, 'password': password, 'version': version, 'expansion': expansion}) + return data + + +def delete_node_xml(node_id): + """Generate xml for Delete node request + + :param node_id: Ipv4 address formatted node id + :type node_id: string + :returns: String containing xml data for request + + """ + templ = Template(''' + $id +''') + data = templ.substitute({'id': node_id}) + return data + + +def add_domain_xml(node_id, name): + """Generate xml for Add Domain request + + :param node_id: Id of node + :type node_id: string + :param name: Name of Domain + :type name: string + :returns: String containing xml data for request + + """ + templ = Template(''' + $id + $name +''') + data = templ.substitute({'name': name, 'id': node_id}) + return data + + +def delete_domain_xml(node_id, name): + """Generate xml for Remove Domain request + + :param node_id: Id of node + :type node_id: string + :param name: Name of Domain + :type name: string + :returns: String containing xml data for request + + """ + return add_domain_xml(name, node_id) + + +def get_domain_name(domain_name): + """Generate xml for Get Bindings request + + :param domain_name: Name of Domain + :type domain_name: string + :returns: String containing xml data for request + + """ + if domain_name == 'global': + return '' + else: + return '' + domain_name + '' + + +def add_bindings_xml(node_id, domain, sgt, prefixes): + """Generate xml for Add Bindings request + + :param node_id: Id of node + :type node_id: string + :param domain: Name of Domain + :type domain: string + :param sgt: Security group + :type sgt: int + :param prefixes: List of ip-prefixes + :type prefixes: string + :returns: String containing xml data for request + + """ + bindings = '' + for prefix in prefixes.split(','): + bindings += '\n' + '' + prefix + '' + templ = Template(''' + $id + $name + + $sgt + $bindings + ''') - data = templ.substitute({'ip': ip, 'range': binding_range}) + data = templ.substitute({'name': domain, 'id': node_id, 'sgt': sgt, 'bindings': bindings}) return data + + +def delete_bindings_xml(node_id, domain, sgt, prefixes): + """Generate xml for Remove Bindings request + + :param node_id: Id of node + :type node_id: string + :param domain: Name of Domain + :type domain: string + :param sgt: Security group + :type sgt: int + :param prefixes: List of ip-prefixes + :type prefixes: string + :returns: String containing xml data for request + + """ + return add_bindings_xml(node_id, domain, sgt, prefixes) + + +def prefix_range(start, end): + """Generate and concatenate ip-prefixes + + :param start: Start index + :type start: string + :param end: End index + :type end: string + :returns: String containing concatenated ip-prefixes + + """ + start = int(start) + end = int(end) + index = 0 + prefixes = '' + while index < end: + prefixes += get_ip_from_number(start + index) + '/32' + index += 1 + if index < end: + prefixes += ',' + return prefixes diff --git a/csit/libraries/SxpLib.robot b/csit/libraries/SxpLib.robot index 3a15a48b58..e93dbd188a 100644 --- a/csit/libraries/SxpLib.robot +++ b/csit/libraries/SxpLib.robot @@ -6,101 +6,117 @@ Library SSHLibrary Library String Library ./Sxp.py Resource KarafKeywords.robot +Resource Utils.robot Variables ../variables/Variables.py *** Variables *** ${REST_CONTEXT} /restconf/operations/sxp-controller *** Keywords *** +Add Node + [Arguments] ${node} ${password}=password ${version}=version4 ${port}=64999 ${session}=session + [Documentation] Add node via RPC to ODL + ${DATA} Add Node Xml ${node} ${port} ${password} ${version} + ${resp} Post Request ${session} ${REST_CONTEXT}:add-node data=${DATA} headers=${HEADERS_XML} + Should be Equal As Strings ${resp.status_code} 200 + +Delete Node + [Arguments] ${node} ${session}=session + [Documentation] Delete connection via RPC from node + ${DATA} Delete Node Xml ${node} + ${resp} Post Request ${session} ${REST_CONTEXT}:delete-node data=${DATA} headers=${HEADERS_XML} + Should be Equal As Strings ${resp.status_code} 200 + Add Connection [Arguments] ${version} ${mode} ${ip} ${port} ${node}=127.0.0.1 ${password}=none - ... ${session}=session + ... ${session}=session ${domain}=global [Documentation] Add connection via RPC to node ${DATA} Add Connection Xml ${version} ${mode} ${ip} ${port} ${node} - ... ${password} + ... ${password} ${domain} ${resp} Post Request ${session} ${REST_CONTEXT}:add-connection data=${DATA} headers=${HEADERS_XML} - LOG ${resp} Should be Equal As Strings ${resp.status_code} 200 Get Connections - [Arguments] ${node}=127.0.0.1 ${session}=session + [Arguments] ${node}=127.0.0.1 ${session}=session ${domain}=global [Documentation] Gets all connections via RPC from node - ${DATA} Get Connections From Node Xml ${node} + ${DATA} Get Connections From Node Xml ${node} ${domain} ${resp} Post Request ${session} ${REST_CONTEXT}:get-connections data=${DATA} headers=${HEADERS_XML} Should be Equal As Strings ${resp.status_code} 200 [Return] ${resp.content} Delete Connections - [Arguments] ${ip} ${port} ${node}=127.0.0.1 ${session}=session + [Arguments] ${ip} ${port} ${node}=127.0.0.1 ${session}=session ${domain}=global [Documentation] Delete connection via RPC from node - ${DATA} Delete Connections Xml ${ip} ${port} ${node} + ${DATA} Delete Connections Xml ${ip} ${port} ${node} ${domain} ${resp} Post Request ${session} ${REST_CONTEXT}:delete-connection data=${DATA} headers=${HEADERS_XML} Should be Equal As Strings ${resp.status_code} 200 Clean Connections - [Arguments] ${node}=127.0.0.1 ${session}=session + [Arguments] ${node}=127.0.0.1 ${session}=session ${domain}=global [Documentation] Delete all connections via RPC from node - ${resp} Get Connections ${node} ${session} + ${resp} Get Connections ${node} ${session} ${domain} @{connections} Parse Connections ${resp} : FOR ${connection} IN @{connections} \ delete connections ${connection['peer-address']} ${connection['tcp-port']} ${node} ${session} Verify Connection [Arguments] ${version} ${mode} ${ip} ${port}=64999 ${node}=127.0.0.1 ${state}=on + ... ${session}=session ${domain}=global [Documentation] Verify that connection is ON - ${resp} Get Connections ${node} + ${resp} Get Connections ${node} ${session} ${domain} Should Contain Connection ${resp} ${ip} ${port} ${mode} ${version} ${state} Add Binding - [Arguments] ${sgt} ${prefix} ${node}=127.0.0.1 ${session}=session + [Arguments] ${sgt} ${prefix} ${node}=127.0.0.1 ${session}=session ${domain}=global [Documentation] Add binding via RPC to Master DB of node - ${DATA} Add Entry Xml ${sgt} ${prefix} ${node} + ${DATA} Add Entry Xml ${sgt} ${prefix} ${node} ${domain} ${resp} Post Request ${session} ${REST_CONTEXT}:add-entry data=${DATA} headers=${HEADERS_XML} - LOG ${resp.content} Should be Equal As Strings ${resp.status_code} 200 Get Bindings - [Arguments] ${node}=127.0.0.1 ${session}=session + [Arguments] ${node}=127.0.0.1 ${session}=session ${domain}=global [Documentation] Gets all binding via RPC from Master DB of node - ${DATA} Get Bindings From Node Xml ${node} all - ${resp} Run Keyword If '${ODL_STREAM}' == 'boron' Post Request ${session} ${REST_CONTEXT}:get-node-bindings data=${DATA} + ${DATA} Get Bindings From Node Xml ${node} all ${domain} + ${resp} Run Keyword If '${ODL_STREAM}' not in ['beryllium', 'stable-lithium'] Post Request ${session} ${REST_CONTEXT}:get-node-bindings data=${DATA} ... headers=${HEADERS_XML} ... ELSE Get Request ${session} /restconf/operational/network-topology:network-topology/topology/sxp/node/${node}/master-database/ headers=${HEADERS_XML} Should be Equal As Strings ${resp.status_code} 200 [Return] ${resp.content} Clean Bindings - [Arguments] ${node}=127.0.0.1 ${session}=session + [Arguments] ${node}=127.0.0.1 ${session}=session ${domain}=global [Documentation] Delete all bindings via RPC from Master DB of node - ${resp} Get Bindings ${node} ${session} - @{bindings} Run Keyword If '${ODL_STREAM}' == 'boron' Parse Bindings ${resp} + ${resp} Get Bindings ${node} ${session} ${domain} + @{bindings} Run Keyword If '${ODL_STREAM}' not in ['beryllium', 'stable-lithium'] Parse Bindings ${resp} ... ELSE Parse Prefix Groups ${resp} local : FOR ${binding} IN @{bindings} - \ Run Keyword If '${ODL_STREAM}' == 'boron' Clean Binding ${binding['sgt']} ${binding['ip-prefix']} ${node} - \ ... ${session} + \ Run Keyword If '${ODL_STREAM}' not in ['beryllium', 'stable-lithium'] Clean Binding ${binding['sgt']} ${binding['ip-prefix']} ${node} + \ ... ${session} ${domain} \ ... ELSE Clean Binding ${binding} ${binding['binding']} ${node} - \ ... ${session} + \ ... ${session} ${domain} Clean Binding - [Arguments] ${sgt} ${prefixes} ${node} ${session} + [Arguments] ${sgt} ${prefixes} ${node} ${session} ${domain}=global [Documentation] Used for nester FOR loop : FOR ${prefix} IN @{prefixes} - \ Run Keyword If '${ODL_STREAM}' == 'boron' Delete Binding ${sgt} ${prefix} ${node} - \ ... ${session} + \ Run Keyword If '${ODL_STREAM}' not in ['beryllium', 'stable-lithium'] Delete Binding ${sgt} ${prefix} ${node} + \ ... ${session} ${domain} \ ... ELSE Delete Binding ${sgt['sgt']} ${prefix['ip-prefix']} ${node} - \ ... ${session} + \ ... ${session} ${domain} Update Binding [Arguments] ${sgtOld} ${prefixOld} ${sgtNew} ${prefixNew} ${node}=127.0.0.1 ${session}=session + ... ${domain}=global [Documentation] Updates value of binding via RPC in Master DB of node ${DATA} Update Binding Xml ${sgtOld} ${prefixOld} ${sgtNew} ${prefixNew} ${node} + ... ${domain} ${resp} Post Request ${session} ${REST_CONTEXT}:update-entry data=${DATA} headers=${HEADERS_XML} Should be Equal As Strings ${resp.status_code} 200 Delete Binding - [Arguments] ${sgt} ${prefix} ${node}=127.0.0.1 ${session}=session + [Arguments] ${sgt} ${prefix} ${node}=127.0.0.1 ${session}=session ${domain}=global [Documentation] Delete binding via RPC from Master DB of node - ${DATA} Delete Binding Xml ${sgt} ${prefix} ${node} + ${DATA} Delete Binding Xml ${sgt} ${prefix} ${node} ${domain} ${resp} Post Request ${session} ${REST_CONTEXT}:delete-entry data=${DATA} headers=${HEADERS_XML} Should be Equal As Strings ${resp.status_code} 200 @@ -108,7 +124,6 @@ Add PeerGroup [Arguments] ${name} ${peers}= ${node}=127.0.0.1 ${session}=session [Documentation] Adds new PeerGroup via RPC to Node ${DATA} Add Peer Group Xml ${name} ${peers} ${node} - LOG ${DATA} ${resp} Post Request ${session} ${REST_CONTEXT}:add-peer-group data=${DATA} headers=${HEADERS_XML} Should be Equal As Strings ${resp.status_code} 200 @@ -152,7 +167,7 @@ Delete Filter Should Contain Binding [Arguments] ${resp} ${sgt} ${prefix} ${db_source}=any [Documentation] Tests if data contains specified binding - ${out} Run Keyword If '${ODL_STREAM}' == 'boron' Find Binding ${resp} ${sgt} ${prefix} + ${out} Run Keyword If '${ODL_STREAM}' not in ['beryllium', 'stable-lithium'] Find Binding ${resp} ${sgt} ${prefix} ... ELSE Find Binding Legacy ${resp} ${sgt} ${prefix} ${db_source} ... add Should Be True ${out} Doesn't have ${sgt} ${prefix} @@ -160,7 +175,7 @@ Should Contain Binding Should Not Contain Binding [Arguments] ${resp} ${sgt} ${prefix} ${db_source}=any [Documentation] Tests if data doesn't contains specified binding - ${out} Run Keyword If '${ODL_STREAM}' == 'boron' Find Binding ${resp} ${sgt} ${prefix} + ${out} Run Keyword If '${ODL_STREAM}' not in ['beryllium', 'stable-lithium'] Find Binding ${resp} ${sgt} ${prefix} ... ELSE Find Binding Legacy ${resp} ${sgt} ${prefix} ${db_source} ... add Should Not Be True ${out} Should't have ${sgt} ${prefix} @@ -197,12 +212,97 @@ Setup Topology Complex Add Binding 10 10.10.0.0/16 127.0.0.1 Add Binding 10 10.0.0.0/8 127.0.0.1 -Setup SXP Environment +Setup SXP Session [Documentation] Create session to Controller Verify Feature Is Installed odl-sxp-controller + Wait Until Keyword Succeeds 20 10 Check Karaf Log Has Messages Successfully pushed configuration snapshot 22-sxp-controller-one-node.xml Create Session session url=http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS_XML} - Wait Until Keyword Succeeds 15 1 Get Bindings + ${resp} RequestsLibrary.Get Request session ${MODULES_API} + Should Be Equal As Strings ${resp.status_code} 200 + Should Contain ${resp.content} ietf-restconf -Clean SXP Environment +Clean SXP Session [Documentation] Destroy created sessions Delete All Sessions + +Add Domain + [Arguments] ${domain_name} ${node}=127.0.0.1 ${session}=session + [Documentation] Add Domain via RPC + ${DATA} Add Domain Xml ${node} ${domain_name} + ${resp} Post Request ${session} ${REST_CONTEXT}:add-domain data=${DATA} headers=${HEADERS_XML} + Should be Equal As Strings ${resp.status_code} 200 + +Delete Domain + [Arguments] ${domain_name} ${node}=127.0.0.1 ${session}=session + [Documentation] Delete Domain via RPC + ${DATA} Delete Domain Xml ${node} ${domain_name} + ${resp} Post Request ${session} ${REST_CONTEXT}:delete-domain data=${DATA} headers=${HEADERS_XML} + Should be Equal As Strings ${resp.status_code} 200 + +Add Bindings + [Arguments] ${sgt} ${prefixes} ${node}=127.0.0.1 ${session}=session ${domain}=global + [Documentation] Add bindings via RPC to Master DB of node + ${DATA} Add Bindings Xml ${node} ${domain} ${sgt} ${prefixes} + ${resp} Post Request ${session} ${REST_CONTEXT}:add-bindings data=${DATA} headers=${HEADERS_XML} + Should be Equal As Strings ${resp.status_code} 200 + +Delete Bindings + [Arguments] ${sgt} ${prefixes} ${node}=127.0.0.1 ${session}=session ${domain}=global + [Documentation] Delete bindings via RPC from Master DB of node + ${DATA} Delete Bindings Xml ${node} ${domain} ${sgt} ${prefixes} + ${resp} Post Request ${session} ${REST_CONTEXT}:delete-bindings data=${DATA} headers=${HEADERS_XML} + Should be Equal As Strings ${resp.status_code} 200 + +Add Bindings Range + [Arguments] ${sgt} ${start} ${size} ${node} + [Documentation] Add Bindings to Node specified by range + ${prefixes} Prefix Range ${start} ${size} + Add Bindings ${sgt} ${prefixes} ${node} + +Delete Bindings Range + [Arguments] ${sgt} ${start} ${size} ${node} + [Documentation] Delete Bindings to Node specified by range + ${prefixes} Prefix Range ${start} ${size} + Delete Bindings ${sgt} ${prefixes} ${node} + +Check Binding Range + [Arguments] ${sgt} ${start} ${end} ${node} + [Documentation] Check if Node contains Bindings specified by range + ${resp} Get Bindings ${node} + : FOR ${num} IN RANGE ${start} ${end} + \ ${ip} Get Ip From Number ${num} + \ Should Contain Binding ${resp} ${sgt} ${ip}/32 + +Check Binding Range Negative + [Arguments] ${sgt} ${start} ${end} ${node} + [Documentation] Check if Node does not contains Bindings specified by range + ${resp} Get Bindings ${node} + : FOR ${num} IN RANGE ${start} ${end} + \ ${ip} Get Ip From Number ${num} + \ 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} Get Ip From Number ${num} + \ Run Keyword If '${ODL_STREAM}' not in ['beryllium', 'stable-lithium'] Add Node ${ip} + \ Run Keyword If '${ODL_STREAM}' not in ['beryllium', 'stable-lithium'] Wait Until Keyword Succeeds 20 1 Check Node Started + \ ... ${ip} + +Check Node Started + [Arguments] ${node} ${port}=64999 ${system}=${ODL_SYSTEM_IP} + [Documentation] Verify that SxpNode has data writed to Operational datastore + ${resp} RequestsLibrary.Get Request session /restconf/operational/network-topology:network-topology/topology/sxp/node/${node}/ + Should Be Equal As Strings ${resp.status_code} 200 + ${rc} Run Command On Remote System ${system} netstat -tln | grep -q ${node}:${port} && echo 0 || echo 1 ${ODL_SYSTEM_USER} ${ODL_SYSTEM_PASSWORD} prompt=${ODL_SYSTEM_PROMPT} + Should Be Equal As Strings ${rc} 0 + +Clean SXP Environment + [Arguments] ${node_range}=2 + [Documentation] Destroy created sessions + : FOR ${num} IN RANGE 1 ${node_range} + \ ${ip} Get Ip From Number ${num} + \ Run Keyword If '${ODL_STREAM}' not in ['beryllium', 'stable-lithium'] Delete Node ${ip} + Clean SXP Session diff --git a/csit/suites/sxp/basic/020_Restconf_CRUD.robot b/csit/suites/sxp/basic/020_Restconf_CRUD.robot index 2a57a70903..00c5b1ad3e 100644 --- a/csit/suites/sxp/basic/020_Restconf_CRUD.robot +++ b/csit/suites/sxp/basic/020_Restconf_CRUD.robot @@ -2,18 +2,17 @@ Documentation Test suite to verify CRUD operations Suite Setup Setup SXP Environment Suite Teardown Clean SXP Environment -Test Setup Clean Node +Test Teardown Clean Node Library RequestsLibrary Library ../../../libraries/Sxp.py Resource ../../../libraries/SxpLib.robot -Resource ../../../libraries/KarafKeywords.robot -Resource ../../../variables/Variables.py *** Variables *** *** Test Cases *** Test Add Binding [Documentation] Test if bindings are added to Master DB + [Tags] Restconf CRUD SXP ${resp} Get Bindings Add Binding 5230 1.1.1.1/32 ${resp} Get Bindings @@ -24,6 +23,7 @@ Test Add Binding Test Add Connection [Documentation] Test if connections are added to Node + [Tags] Restconf CRUD SXP Add Connection version4 speaker 10.1.0.0 60000 ${resp} Get Connections Should Contain Connection ${resp} 10.1.0.0 60000 speaker version4 @@ -33,6 +33,7 @@ Test Add Connection Test Delete Binding [Documentation] Test if bindings are deleted from Master DB + [Tags] Restconf CRUD SXP Add Binding 52301 12.1.1.1/32 ${resp} Get Bindings Should Contain Binding ${resp} 52301 12.1.1.1/32 @@ -45,6 +46,7 @@ Test Delete Binding Test Delete Connection [Documentation] Test if conncetions are removed from Node + [Tags] Restconf CRUD SXP Add Connection version4 speaker 127.1.0.30 60000 ${resp} Get Connections Should Contain Connection ${resp} 127.1.0.30 60000 speaker version4 @@ -57,6 +59,7 @@ Test Delete Connection Test Update Binding [Documentation] Test if bindings can be updated to different values + [Tags] Restconf CRUD SXP Add Binding 3230 1.1.1.10/32 ${resp} Get Bindings Should Contain Binding ${resp} 3230 1.1.1.10/32 @@ -67,5 +70,5 @@ Test Update Binding *** Keywords *** Clean Node - Clean Connections 127.0.0.1 Clean Bindings 127.0.0.1 + Clean Connections 127.0.0.1 diff --git a/csit/suites/sxp/basic/030_Connectivity.robot b/csit/suites/sxp/basic/030_Connectivity.robot index 1481963d96..8fb50d6554 100644 --- a/csit/suites/sxp/basic/030_Connectivity.robot +++ b/csit/suites/sxp/basic/030_Connectivity.robot @@ -1,21 +1,19 @@ *** Settings *** Documentation Test suite to test connectivity problems -Suite Setup Setup SXP Environment -Suite Teardown Clean SXP Environment +Suite Setup Setup SXP Environment 6 +Suite Teardown Clean SXP Environment 6 Test Setup Clean Nodes Library RequestsLibrary Library SSHLibrary Library ../../../libraries/Sxp.py Resource ../../../libraries/SxpLib.robot -Resource ../../../libraries/Utils.robot -Resource ../../../libraries/KarafKeywords.robot -Resource ../../../variables/Variables.py *** Variables *** *** Test Cases *** Version 1 [Documentation] Test if Version1 <=> Version1 can be connected + [Tags] SXP Connectivity Test Nodes version1 none version1 Log OK without passwords Clean Nodes @@ -24,6 +22,7 @@ Version 1 Version 2 [Documentation] Test if Version2 <=> Version2 can be connected + [Tags] SXP Connectivity Test Nodes version2 none version2 Log OK without passwords Clean Nodes @@ -31,6 +30,7 @@ Version 2 Version 3 [Documentation] Test if Version3 <=> Version3 can be connected + [Tags] SXP Connectivity Test Nodes version3 none version3 Log OK without passwords Clean Nodes @@ -38,6 +38,7 @@ Version 3 Version 4 [Documentation] Test if Version4 <=> Version4 can be connected + [Tags] SXP Connectivity Test Nodes version4 none version4 Log OK without passwords Clean Nodes @@ -45,6 +46,7 @@ Version 4 Mixed Versions [Documentation] Test of version negotiation proces during connecting + [Tags] SXP Connectivity @{list} = Create List version2 version3 version4 Test Nodes version1 none @{list} Test Nodes version1 default @{list} diff --git a/csit/suites/sxp/basic/040_Custom_Passwords.robot b/csit/suites/sxp/basic/040_Custom_Passwords.robot new file mode 100644 index 0000000000..421a7cf7ea --- /dev/null +++ b/csit/suites/sxp/basic/040_Custom_Passwords.robot @@ -0,0 +1,77 @@ +*** Settings *** +Documentation Test suite to test custom password per peer fuctionality +Suite Setup Setup SXP Environment Local +Suite Teardown Clean SXP Environment 4 +Test Setup Clean Nodes +Library RequestsLibrary +Library SSHLibrary +Library ../../../libraries/Sxp.py +Resource ../../../libraries/SxpLib.robot + +*** Variables *** + +*** Test Cases *** +Version 1 + [Documentation] Test of custom passwords on version1 connections + [Tags] SXP Passwords + Test Mode version1 listener speaker + Clean Nodes + Test Mode version1 speaker listener + +Version 2 + [Documentation] Test of custom passwords on version2 connections + [Tags] SXP Passwords + Test Mode version2 listener speaker + Clean Nodes + Test Mode version2 speaker listener + +Version 3 + [Documentation] Test of custom passwords on version3 connections + [Tags] SXP Passwords + Test Mode version3 listener speaker + Clean Nodes + Test Mode version3 speaker listener + +Version 4 + [Documentation] Test of custom passwords on version4 connections + [Tags] SXP Passwords + Test Mode version4 speaker listener + Clean Nodes + Test Mode version4 listener speaker + Clean Nodes + Test Mode version4 both both + +*** Keywords *** +Setup SXP Environment Local + [Documentation] Create session to Controller + Setup SXP Session + Add Node 127.0.0.1 ${EMPTY} + Add Node 127.0.0.2 ${EMPTY} + Add Node 127.0.0.3 CUSTOM + +Test Mode + [Arguments] ${version} ${mode_local} ${mode_remote} + [Documentation] Setup connection Speaker => Listener / Listener => Speaker / Both <=> Both for specific versions + Add Connection ${version} ${mode_local} 127.0.0.3 64999 127.0.0.1 CUSTOM + Add Connection ${version} ${mode_remote} 127.0.0.1 64999 127.0.0.3 ${EMPTY} + Wait Until Keyword Succeeds 15 1 Verify Connection ${version} ${mode_local} 127.0.0.3 + ... 64999 127.0.0.1 + Wait Until Keyword Succeeds 15 1 Verify Connection ${version} ${mode_remote} 127.0.0.1 + ... 64999 127.0.0.3 + Add Connection ${version} ${mode_local} 127.0.0.2 64999 127.0.0.1 ${EMPTY} + Add Connection ${version} ${mode_remote} 127.0.0.1 64999 127.0.0.2 ${EMPTY} + Wait Until Keyword Succeeds 15 1 Verify Connection ${version} ${mode_local} 127.0.0.2 + ... 64999 127.0.0.1 + Wait Until Keyword Succeeds 15 1 Verify Connection ${version} ${mode_remote} 127.0.0.1 + ... 64999 127.0.0.2 + Add Connection ${version} ${mode_local} 127.0.0.3 64999 127.0.0.2 CUSTOM_2 + Add Connection ${version} ${mode_remote} 127.0.0.2 64999 127.0.0.3 CUSTOM_2 + Wait Until Keyword Succeeds 15 1 Verify Connection ${version} ${mode_local} 127.0.0.3 + ... 64999 127.0.0.2 + Wait Until Keyword Succeeds 15 1 Verify Connection ${version} ${mode_remote} 127.0.0.2 + ... 64999 127.0.0.3 + +Clean Nodes + Clean Connections 127.0.0.1 + Clean Connections 127.0.0.2 + Clean Connections 127.0.0.3 diff --git a/csit/suites/sxp/basic/22-sxp-controller-one-node.xml b/csit/suites/sxp/basic/22-sxp-controller-one-node-beryllium.xml similarity index 96% rename from csit/suites/sxp/basic/22-sxp-controller-one-node.xml rename to csit/suites/sxp/basic/22-sxp-controller-one-node-beryllium.xml index 1f70796b3d..fc8dbc5d4d 100644 --- a/csit/suites/sxp/basic/22-sxp-controller-one-node.xml +++ b/csit/suites/sxp/basic/22-sxp-controller-one-node-beryllium.xml @@ -48,7 +48,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -69,7 +69,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -90,7 +90,7 @@ ODL SXP Controller - 5 + 1 120 30 90 diff --git a/csit/suites/sxp/basic/22-sxp-controller-one-node-lithium.xml b/csit/suites/sxp/basic/22-sxp-controller-one-node-lithium.xml index 1012992594..c5bf2a141d 100644 --- a/csit/suites/sxp/basic/22-sxp-controller-one-node-lithium.xml +++ b/csit/suites/sxp/basic/22-sxp-controller-one-node-lithium.xml @@ -55,7 +55,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -76,7 +76,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -97,7 +97,7 @@ ODL SXP Controller - 5 + 1 120 30 90 diff --git a/csit/suites/sxp/filtering/010_Inbound_Filtering.robot b/csit/suites/sxp/filtering/010_Inbound_Filtering.robot index e895a49509..a02c878a55 100644 --- a/csit/suites/sxp/filtering/010_Inbound_Filtering.robot +++ b/csit/suites/sxp/filtering/010_Inbound_Filtering.robot @@ -1,22 +1,20 @@ *** Settings *** Documentation Test suite to verify Inbound filtering functionality -Suite Setup Setup SXP Environment -Suite Teardown Clean SXP Environment +Suite Setup Setup SXP Environment 6 +Suite Teardown Clean SXP Environment 6 Test Teardown Clean Nodes Library RequestsLibrary Library SSHLibrary Library ../../../libraries/Sxp.py Library ../../../libraries/Common.py Resource ../../../libraries/SxpLib.robot -Resource ../../../libraries/Utils.robot -Resource ../../../libraries/KarafKeywords.robot -Resource ../../../variables/Variables.py *** Variables *** *** Test Cases *** Access List Filtering [Documentation] Test ACL filter behaviour during filter update + [Tags] SXP Filtering ${peers} Add Peers 127.0.0.2 127.0.0.4 Add PeerGroup GROUP ${peers} ${entry1} Get Filter Entry 10 permit acl=10.10.10.0,0.0.0.255 @@ -36,6 +34,7 @@ Access List Filtering Access List Sgt Filtering [Documentation] Test ACL and SGT filter behaviour during filter update + [Tags] SXP Filtering ${peers} Add Peers 127.0.0.3 127.0.0.5 Add PeerGroup GROUP ${peers} ${entry1} Get Filter Entry 10 permit sgt=30 acl=10.10.10.0,0.0.0.255 @@ -51,6 +50,7 @@ Access List Sgt Filtering Prefix List Filtering [Documentation] Test Prefix List filter behaviour during filter update + [Tags] SXP Filtering ${peers} Add Peers 127.0.0.2 127.0.0.4 Add PeerGroup GROUP ${peers} ${entry1} Get Filter Entry 10 permit pl=10.10.10.0/24 @@ -70,6 +70,7 @@ Prefix List Filtering Prefix List Sgt Filtering [Documentation] Test Prefix List and SGT filter behaviour during filter update + [Tags] SXP Filtering ${peers} Add Peers 127.0.0.3 127.0.0.5 Add PeerGroup GROUP ${peers} ${entry1} Get Filter Entry 10 permit sgt=30 pl=10.10.10.0/24 @@ -222,14 +223,14 @@ Check Two Group 5-3 Should Contain Binding ${resp} 40 40.0.0.0/8 sxp Clean Nodes - Clean Connections 127.0.0.1 - Clean Connections 127.0.0.2 - Clean Connections 127.0.0.3 - Clean Connections 127.0.0.4 - Clean Connections 127.0.0.5 - Clean Peer Groups 127.0.0.1 Clean Bindings 127.0.0.1 Clean Bindings 127.0.0.2 Clean Bindings 127.0.0.3 Clean Bindings 127.0.0.4 Clean Bindings 127.0.0.5 + Clean Peer Groups 127.0.0.1 + Clean Connections 127.0.0.1 + Clean Connections 127.0.0.2 + Clean Connections 127.0.0.3 + Clean Connections 127.0.0.4 + Clean Connections 127.0.0.5 diff --git a/csit/suites/sxp/filtering/020_Outbound_Filtering.robot b/csit/suites/sxp/filtering/020_Outbound_Filtering.robot index 0a86aea87e..2ab2c8aeed 100644 --- a/csit/suites/sxp/filtering/020_Outbound_Filtering.robot +++ b/csit/suites/sxp/filtering/020_Outbound_Filtering.robot @@ -1,22 +1,20 @@ *** Settings *** Documentation Test suite to verify Outbound filtering functionality -Suite Setup Setup SXP Environment -Suite Teardown Clean SXP Environment +Suite Setup Setup SXP Environment 6 +Suite Teardown Clean SXP Environment 6 Test Teardown Clean Nodes Library RequestsLibrary Library SSHLibrary Library ../../../libraries/Sxp.py Library ../../../libraries/Common.py Resource ../../../libraries/SxpLib.robot -Resource ../../../libraries/Utils.robot -Resource ../../../libraries/KarafKeywords.robot -Resource ../../../variables/Variables.py *** Variables *** *** Test Cases *** Access List Filtering [Documentation] Test ACL filter behaviour during filter update + [Tags] SXP Filtering ${peers} Add Peers 127.0.0.4 127.0.0.5 Add PeerGroup GROUP ${peers} ${entry1} Get Filter Entry 10 permit acl=10.10.10.0,0.0.0.255 @@ -35,6 +33,7 @@ Access List Filtering Access List Sgt Filtering [Documentation] Test ACL and SGT filter behaviour during filter update + [Tags] SXP Filtering ${peers} Add Peers 127.0.0.2 127.0.0.5 Add PeerGroup GROUP ${peers} ${entry1} Get Filter Entry 10 deny acl=10.10.20.0,0.0.0.255 @@ -51,6 +50,7 @@ Access List Sgt Filtering Prefix List Filtering [Documentation] Test Prefix List filter behaviour during filter update + [Tags] SXP Filtering ${peers} Add Peers 127.0.0.4 127.0.0.5 Add PeerGroup GROUP ${peers} ${entry1} Get Filter Entry 10 permit pl=10.10.10.0/24 @@ -69,6 +69,7 @@ Prefix List Filtering Prefix List Sgt Filtering [Documentation] Test Prefix List and SGT filter behaviour during filter update + [Tags] SXP Filtering ${peers} Add Peers 127.0.0.2 127.0.0.5 Add PeerGroup GROUP ${peers} ${entry1} Get Filter Entry 10 deny pl=10.10.20.0/24 @@ -244,14 +245,14 @@ Check Two Group 2-5 Should Contain Binding ${resp} 30 30.0.0.0/8 sxp Clean Nodes - Clean Connections 127.0.0.1 - Clean Connections 127.0.0.2 - Clean Connections 127.0.0.3 - Clean Connections 127.0.0.4 - Clean Connections 127.0.0.5 - Clean Peer Groups 127.0.0.1 Clean Bindings 127.0.0.1 Clean Bindings 127.0.0.2 Clean Bindings 127.0.0.3 Clean Bindings 127.0.0.4 Clean Bindings 127.0.0.5 + Clean Peer Groups 127.0.0.1 + Clean Connections 127.0.0.1 + Clean Connections 127.0.0.2 + Clean Connections 127.0.0.3 + Clean Connections 127.0.0.4 + Clean Connections 127.0.0.5 diff --git a/csit/suites/sxp/filtering/030_Inbound_Filtering_Discarding.robot b/csit/suites/sxp/filtering/030_Inbound_Filtering_Discarding.robot index 0e7030e3ea..314ae9c2da 100644 --- a/csit/suites/sxp/filtering/030_Inbound_Filtering_Discarding.robot +++ b/csit/suites/sxp/filtering/030_Inbound_Filtering_Discarding.robot @@ -1,22 +1,20 @@ *** Settings *** Documentation Test suite to verify inbound-discarding filtering functionality -Suite Setup Setup SXP Environment -Suite Teardown Clean SXP Environment +Suite Setup Setup SXP Environment 6 +Suite Teardown Clean SXP Environment 6 Test Teardown Clean Nodes Library RequestsLibrary Library SSHLibrary Library ../../../libraries/Sxp.py Library ../../../libraries/Common.py Resource ../../../libraries/SxpLib.robot -Resource ../../../libraries/Utils.robot -Resource ../../../libraries/KarafKeywords.robot -Resource ../../../variables/Variables.py *** Variables *** *** Test Cases *** Access List Filtering [Documentation] Test ACL filter behaviour during filter update + [Tags] SXP Filtering Setup Nodes ${peers} Add Peers 127.0.0.2 127.0.0.4 Add PeerGroup GROUP ${peers} @@ -30,6 +28,7 @@ Access List Filtering Access List Sgt Filtering [Documentation] Test ACL and SGT filter behaviour during filter update + [Tags] SXP Filtering ${peers} Add Peers 127.0.0.3 127.0.0.5 Add PeerGroup GROUP ${peers} ${entry1} Get Filter Entry 10 permit sgt=30 acl=10.10.10.0,0.0.0.255 @@ -43,6 +42,7 @@ Access List Sgt Filtering Prefix List Filtering [Documentation] Test Prefix List filter behaviour during filter update + [Tags] SXP Filtering Setup Nodes ${peers} Add Peers 127.0.0.2 127.0.0.4 Add PeerGroup GROUP ${peers} @@ -56,6 +56,7 @@ Prefix List Filtering Prefix List Sgt Filtering [Documentation] Test Prefix List and SGT filter behaviour during filter update + [Tags] SXP Filtering ${peers} Add Peers 127.0.0.3 127.0.0.5 Add PeerGroup GROUP ${peers} ${entry1} Get Filter Entry 10 permit sgt=30 pl=10.10.10.0/24 @@ -69,6 +70,7 @@ Prefix List Sgt Filtering Access List Filtering Legacy [Documentation] Test ACL filter behaviour during filter update + [Tags] SXP Filtering Setup Nodes Legacy Par Two ${peers} Add Peers 127.0.0.2 127.0.0.4 Add PeerGroup GROUP ${peers} @@ -82,6 +84,7 @@ Access List Filtering Legacy Access List Sgt Filtering Legacy [Documentation] Test ACL and SGT filter behaviour during filter update + [Tags] SXP Filtering ${peers} Add Peers 127.0.0.3 127.0.0.5 Add PeerGroup GROUP ${peers} ${entry1} Get Filter Entry 10 permit sgt=30 acl=10.10.10.0,0.0.0.255 @@ -95,6 +98,7 @@ Access List Sgt Filtering Legacy Prefix List Filtering Legacy [Documentation] Test Prefix List filter behaviour during filter update + [Tags] SXP Filtering Setup Nodes Legacy Par Two ${peers} Add Peers 127.0.0.2 127.0.0.4 Add PeerGroup GROUP ${peers} @@ -108,6 +112,7 @@ Prefix List Filtering Legacy Prefix List Sgt Filtering Legacy [Documentation] Test Prefix List and SGT filter behaviour during filter update + [Tags] SXP Filtering ${peers} Add Peers 127.0.0.3 127.0.0.5 Add PeerGroup GROUP ${peers} ${entry1} Get Filter Entry 10 permit sgt=30 pl=10.10.10.0/24 @@ -233,14 +238,14 @@ Check One Group 5-3 Should Not Contain Binding ${resp} 50 50.0.0.0/8 sxp Clean Nodes - Clean Connections 127.0.0.1 - Clean Connections 127.0.0.2 - Clean Connections 127.0.0.3 - Clean Connections 127.0.0.4 - Clean Connections 127.0.0.5 - Clean Peer Groups 127.0.0.1 Clean Bindings 127.0.0.1 Clean Bindings 127.0.0.2 Clean Bindings 127.0.0.3 Clean Bindings 127.0.0.4 Clean Bindings 127.0.0.5 + Clean Peer Groups 127.0.0.1 + Clean Connections 127.0.0.1 + Clean Connections 127.0.0.2 + Clean Connections 127.0.0.3 + Clean Connections 127.0.0.4 + Clean Connections 127.0.0.5 diff --git a/csit/suites/sxp/filtering/040_Peer_Sequence_filtering.robot b/csit/suites/sxp/filtering/040_Peer_Sequence_filtering.robot index 18ad8d776b..e271e996e6 100644 --- a/csit/suites/sxp/filtering/040_Peer_Sequence_filtering.robot +++ b/csit/suites/sxp/filtering/040_Peer_Sequence_filtering.robot @@ -1,15 +1,13 @@ *** Settings *** -Documentation Test suite to verify Outbound filtering functionality -Suite Setup Setup SXP Environment -Suite Teardown Clean SXP Environment +Documentation Test suite to verify PeerSequence filtering functionality +Suite Setup Setup SXP Environment 6 +Suite Teardown Clean SXP Environment 6 Test Teardown Clean Nodes Library RequestsLibrary Library SSHLibrary Library ../../../libraries/Sxp.py Library ../../../libraries/Common.py Resource ../../../libraries/SxpLib.robot -Resource ../../../libraries/Utils.robot -Resource ../../../libraries/KarafKeywords.robot Resource ../../../variables/Variables.py *** Variables *** @@ -17,6 +15,7 @@ Resource ../../../variables/Variables.py *** Test Cases *** Peer Sequence Filtering [Documentation] Test PeerSequence filter behaviour + [Tags] SXP Filtering ${peers} Add Peers 127.0.0.2 Add PeerGroup GROUP ${peers} ${entry1} Get Filter Entry 10 permit ps=le,0 @@ -50,6 +49,7 @@ Peer Sequence Filtering Inbound PL Combinations Filtering [Documentation] Test PeerSequence filter combined with PrefixList filter + [Tags] SXP Filtering @{scopes} Create List inbound inbound-discarding : FOR ${scope} IN @{scopes} \ Add PeerGroup GROUP @@ -67,6 +67,7 @@ Inbound PL Combinations Filtering Inbound ACL Combinations Filtering [Documentation] Test PeerSequence filter combined with ACL filter + [Tags] SXP Filtering @{scopes} Create List inbound inbound-discarding : FOR ${scope} IN @{scopes} \ ${peers} Add Peers 127.0.0.2 @@ -88,6 +89,7 @@ Inbound ACL Combinations Filtering Outbound PL Combinations Filtering [Documentation] Test PeerSequence filter combined with PrefixList filter + [Tags] SXP Filtering Add PeerGroup GROUP ${entry1} Get Filter Entry 10 permit pl=1.1.1.0/24 ${entries} Combine Strings ${entry1} @@ -102,6 +104,7 @@ Outbound PL Combinations Filtering Outbound ACL Combinations Filtering [Documentation] Test PeerSequence filter combined with ACL filter + [Tags] SXP Filtering Add PeerGroup GROUP ${entry1} Get Filter Entry 10 permit ps=eq,0 ${entry2} Get Filter Entry 20 permit ps=ge,2 @@ -347,14 +350,14 @@ Check Outbound ACL Combinations Filtering Should Not Contain Binding ${resp} 50 5.0.0.0/8 sxp Clean Nodes - Clean Connections 127.0.0.1 - Clean Connections 127.0.0.2 - Clean Connections 127.0.0.3 - Clean Connections 127.0.0.4 - Clean Connections 127.0.0.5 - Clean Peer Groups 127.0.0.1 Clean Bindings 127.0.0.1 Clean Bindings 127.0.0.2 Clean Bindings 127.0.0.3 Clean Bindings 127.0.0.4 Clean Bindings 127.0.0.5 + Clean Peer Groups 127.0.0.1 + Clean Connections 127.0.0.1 + Clean Connections 127.0.0.2 + Clean Connections 127.0.0.3 + Clean Connections 127.0.0.4 + Clean Connections 127.0.0.5 diff --git a/csit/suites/sxp/filtering/22-sxp-controller-one-node.xml b/csit/suites/sxp/filtering/22-sxp-controller-one-node-beryllium.xml similarity index 95% rename from csit/suites/sxp/filtering/22-sxp-controller-one-node.xml rename to csit/suites/sxp/filtering/22-sxp-controller-one-node-beryllium.xml index 8510ca0b2d..aa170cff7e 100644 --- a/csit/suites/sxp/filtering/22-sxp-controller-one-node.xml +++ b/csit/suites/sxp/filtering/22-sxp-controller-one-node-beryllium.xml @@ -48,7 +48,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -69,7 +69,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -90,7 +90,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -111,7 +111,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -132,7 +132,7 @@ ODL SXP Controller - 5 + 1 120 30 90 diff --git a/csit/suites/sxp/scripts/basic_node_setup.sh b/csit/suites/sxp/scripts/basic_node_setup.sh index ed8d173d96..d4976dc9b6 100644 --- a/csit/suites/sxp/scripts/basic_node_setup.sh +++ b/csit/suites/sxp/scripts/basic_node_setup.sh @@ -5,6 +5,6 @@ ssh ${ODL_SYSTEM_IP} "mkdir -p /tmp/${BUNDLEFOLDER}/etc/opendaylight/karaf/" if [ "${BRANCH#*/}" == "lithium" ]; then scp ${WORKSPACE}/test/csit/suites/sxp/basic/22-sxp-controller-one-node-lithium.xml ${ODL_SYSTEM_IP}:/tmp/${BUNDLEFOLDER}/etc/opendaylight/karaf/22-sxp-controller-one-node.xml -else - scp ${WORKSPACE}/test/csit/suites/sxp/basic/22-sxp-controller-one-node.xml ${ODL_SYSTEM_IP}:/tmp/${BUNDLEFOLDER}/etc/opendaylight/karaf/ +elif [ "${BRANCH#*/}" == "beryllium" ]; then + scp ${WORKSPACE}/test/csit/suites/sxp/basic/22-sxp-controller-one-node-beryllium.xml ${ODL_SYSTEM_IP}:/tmp/${BUNDLEFOLDER}/etc/opendaylight/karaf/22-sxp-controller-one-node.xml fi diff --git a/csit/suites/sxp/scripts/filtering_node_setup.sh b/csit/suites/sxp/scripts/filtering_node_setup.sh index 5acf754c8c..592b62b162 100644 --- a/csit/suites/sxp/scripts/filtering_node_setup.sh +++ b/csit/suites/sxp/scripts/filtering_node_setup.sh @@ -3,4 +3,6 @@ echo "Setup config to $ODL_SYSTEM_IP}" ssh ${ODL_SYSTEM_IP} "mkdir -p /tmp/${BUNDLEFOLDER}/etc/opendaylight/karaf/" -scp ${WORKSPACE}/test/csit/suites/sxp/filtering/22-sxp-controller-one-node.xml ${ODL_SYSTEM_IP}:/tmp/${BUNDLEFOLDER}/etc/opendaylight/karaf/ +if [ "${BRANCH#*/}" == "beryllium" ]; then + scp ${WORKSPACE}/test/csit/suites/sxp/filtering/22-sxp-controller-one-node-beryllium.xml ${ODL_SYSTEM_IP}:/tmp/${BUNDLEFOLDER}/etc/opendaylight/karaf/22-sxp-controller-one-node.xml +fi \ No newline at end of file diff --git a/csit/suites/sxp/scripts/topology_node_setup.sh b/csit/suites/sxp/scripts/topology_node_setup.sh index 27a2c2f2ef..5219b74777 100644 --- a/csit/suites/sxp/scripts/topology_node_setup.sh +++ b/csit/suites/sxp/scripts/topology_node_setup.sh @@ -5,6 +5,6 @@ ssh ${ODL_SYSTEM_IP} "mkdir -p /tmp/${BUNDLEFOLDER}/etc/opendaylight/karaf/" if [ "${BRANCH#*/}" == "lithium" ]; then scp ${WORKSPACE}/test/csit/suites/sxp/topology/22-sxp-controller-one-node-lithium.xml ${ODL_SYSTEM_IP}:/tmp/${BUNDLEFOLDER}/etc/opendaylight/karaf/22-sxp-controller-one-node.xml -else - scp ${WORKSPACE}/test/csit/suites/sxp/topology/22-sxp-controller-one-node.xml ${ODL_SYSTEM_IP}:/tmp/${BUNDLEFOLDER}/etc/opendaylight/karaf/ +elif [ "${BRANCH#*/}" == "beryllium" ]; then + scp ${WORKSPACE}/test/csit/suites/sxp/topology/22-sxp-controller-one-node-beryllium.xml ${ODL_SYSTEM_IP}:/tmp/${BUNDLEFOLDER}/etc/opendaylight/karaf/22-sxp-controller-one-node.xml fi diff --git a/csit/suites/sxp/topology/010_Topology_Features.robot b/csit/suites/sxp/topology/010_Topology_Features.robot index 0e3a832e5b..2ed2a15a95 100644 --- a/csit/suites/sxp/topology/010_Topology_Features.robot +++ b/csit/suites/sxp/topology/010_Topology_Features.robot @@ -1,21 +1,19 @@ *** Settings *** Documentation Test suite to verify Behaviour in different topologies -Suite Setup Setup SXP Environment -Suite Teardown Clean SXP Environment +Suite Setup Setup SXP Environment 6 +Suite Teardown Clean SXP Environment 6 Test Teardown Clean Nodes Library RequestsLibrary Library SSHLibrary Library ../../../libraries/Sxp.py Resource ../../../libraries/SxpLib.robot -Resource ../../../libraries/Utils.robot -Resource ../../../libraries/KarafKeywords.robot -Resource ../../../variables/Variables.py *** Variables *** *** Test Cases *** Export Test [Documentation] Test behaviour after shutting down connections in Version4 + [Tags] SXP Topology Setup Topology Triangel version4 Wait Until Keyword Succeeds 4 1 Check Export Part One Delete Connections 127.0.0.1 64999 127.0.0.3 @@ -27,6 +25,7 @@ Export Test Export Test Legacy [Documentation] Test behaviour after shutting down connections in Legacy versions + [Tags] SXP Topology @{list} = Create List version1 : FOR ${version} IN @{list} \ Setup Topology Triangel ${version} @@ -41,21 +40,25 @@ Export Test Legacy Forwarding Test V2=>V1 [Documentation] Version 2 => 1 functionality + [Tags] SXP Topology Setup Topology Linear version2 version1 Wait Until Keyword Succeeds 4 1 Check Forwarding V2=>V1 Forwarding Test V3=>V2 [Documentation] Version 3 => 2 functionality + [Tags] SXP Topology Setup Topology Linear version3 version2 Wait Until Keyword Succeeds 4 1 Check Forwarding V3=>V2 Forwarding Test V4=>V3 [Documentation] Version 4 => 3 functionality + [Tags] SXP Topology Setup Topology Linear version4 version3 Wait Until Keyword Succeeds 4 1 Check Forwarding V4=>V3 Most Recent Rule Test [Documentation] Most Recent Rule + [Tags] SXP Topology Setup Topology Fork version4 Add Binding 542 5.5.5.5/32 127.0.0.2 Sleep 2s @@ -67,6 +70,7 @@ Most Recent Rule Test Shorthest Path Test [Documentation] Shorthes Path over Most Recent + [Tags] SXP Topology Add Connection version4 listener 127.0.0.5 64999 127.0.0.3 Add Connection version4 speaker 127.0.0.3 64999 127.0.0.5 Wait Until Keyword Succeeds 15 1 Verify Connection version4 listener 127.0.0.5 @@ -214,13 +218,13 @@ Check Most Recent Should Contain Binding ${resp} 99 15.15.15.15/32 Clean Nodes - Clean Connections 127.0.0.1 - Clean Connections 127.0.0.2 - Clean Connections 127.0.0.3 - Clean Connections 127.0.0.4 - Clean Connections 127.0.0.5 Clean Bindings 127.0.0.1 Clean Bindings 127.0.0.2 Clean Bindings 127.0.0.3 Clean Bindings 127.0.0.4 Clean Bindings 127.0.0.5 + Clean Connections 127.0.0.1 + Clean Connections 127.0.0.2 + Clean Connections 127.0.0.3 + Clean Connections 127.0.0.4 + Clean Connections 127.0.0.5 diff --git a/csit/suites/sxp/topology/020_Scalability.robot b/csit/suites/sxp/topology/020_Scalability.robot index a4acf25d1b..8c9a114c93 100644 --- a/csit/suites/sxp/topology/020_Scalability.robot +++ b/csit/suites/sxp/topology/020_Scalability.robot @@ -1,49 +1,38 @@ *** Settings *** Documentation Test suite to test scalability of SXP -Suite Setup Setup SXP Environment -Suite Teardown Clean SXP Environment +Suite Setup Setup SXP Environment 32 +Suite Teardown Clean SXP Environment 32 Test Setup Clean Nodes Library RequestsLibrary Library SSHLibrary Library ../../../libraries/Sxp.py Resource ../../../libraries/SxpLib.robot -Resource ../../../libraries/Utils.robot -Resource ../../../libraries/KarafKeywords.robot -Resource ../../../variables/Variables.py *** Variables *** *** Test Cases *** Test Mega Topology [Documentation] Stress test that contains of connecting 20 Nodes and exporting their bindings + [Tags] SXP Scalability Setup Mega Topology - Sleep 5s - ${resp} Get Bindings 127.0.0.1 - : FOR ${num} IN RANGE 2 22 - \ ${ip} Get Ip From Number ${num} - \ Should Contain Binding ${resp} ${num} ${ip}/32 sxp + Wait Until Keyword Succeeds 10 1 Check Binding Range 2 22 Test Complex Mega Topology [Documentation] Stress test that contains of connecting 30 Nodes and exporting their bindings + [Tags] SXP Scalability Setup Complex Mega Topology - Sleep 5s - ${resp} Get Bindings 127.0.0.1 - : FOR ${num} IN RANGE 22 32 - \ ${ip} Get Ip From Number ${num} - \ Should Contain Binding ${resp} ${num} ${ip}/32 sxp + Wait Until Keyword Succeeds 10 1 Check Binding Range 22 32 Text Bindings export [Documentation] Stress test that consist of exporting 500 Bindings under 5s + [Tags] SXP Scalability : FOR ${num} IN RANGE 2 502 \ ${ip} Get Ip From Number ${num} \ Add Binding ${num} ${ip}/32 127.0.0.2 Add Connection version4 listener 127.0.0.2 64999 127.0.0.1 Add Connection version4 speaker 127.0.0.1 64999 127.0.0.2 - Sleep 5s - ${resp} Get Bindings 127.0.0.1 - : FOR ${num} IN RANGE 2 102 - \ ${ip} Get Ip From Number ${num} - \ Should Contain Binding ${resp} ${num} ${ip}/32 sxp + Wait Until Keyword Succeeds 15 1 Verify Connection version4 listener 127.0.0.2 + Wait Until Keyword Succeeds 10 1 Check Binding Range 2 102 *** Keywords *** Setup Mega Topology @@ -75,8 +64,16 @@ Setup Complex Mega Topology \ Wait Until Keyword Succeeds 15 1 Verify Connection ${version} listener \ ... ${ip} 64999 ${second_ip} +Check Binding Range + [Arguments] ${start} ${end} ${node}=127.0.0.1 + [Documentation] Check if binding range is contained by node + ${resp} Get Bindings ${node} + : FOR ${num} IN RANGE ${start} ${end} + \ ${ip} Get Ip From Number ${num} + \ Should Contain Binding ${resp} ${num} ${ip}/32 sxp + Clean Nodes : FOR ${num} IN RANGE 1 32 \ ${ip} Get Ip From Number ${num} - \ Clean Connections ${ip} \ Clean Bindings ${ip} + \ Clean Connections ${ip} diff --git a/csit/suites/sxp/topology/030_Domains_Forwarding.robot b/csit/suites/sxp/topology/030_Domains_Forwarding.robot new file mode 100644 index 0000000000..3ec10fdb4f --- /dev/null +++ b/csit/suites/sxp/topology/030_Domains_Forwarding.robot @@ -0,0 +1,118 @@ +*** Settings *** +Documentation Test suite to verify Domain data separation +Suite Setup Setup Nodes Local +Suite Teardown Clean SXP Environment 15 +Library RequestsLibrary +Library SSHLibrary +Library ../../../libraries/Sxp.py +Resource ../../../libraries/SxpLib.robot + +*** Variables *** +${DOMAIN_1} guest +${DOMAIN_2} trusted +${DOMAIN_3} secure + +*** Test Cases *** +Export Separation Node 7 Test + [Documentation] Test if Node 7 contains only bindings from global domain + [Tags] SXP Domains + Check Binding Range 20 2000 2300 127.0.0.7 + Check Binding Range Negative 30 3000 3300 127.0.0.7 + Check Binding Range Negative 40 4000 4300 127.0.0.7 + Check Binding Range Negative 50 5000 5300 127.0.0.7 + Check Binding Range Negative 60 6000 6300 127.0.0.7 + Check Binding Range Negative 110 11000 11300 127.0.0.7 + Check Binding Range Negative 120 12000 12300 127.0.0.7 + Check Binding Range Negative 130 13000 13300 127.0.0.7 + Check Binding Range Negative 140 14000 14300 127.0.0.7 + +Export Separation Node 8-9 Test + [Documentation] Test if Nodes 8,9 contains only bindings from guest domain + [Tags] SXP Domains + : FOR ${node} IN RANGE 8 10 + \ Check Binding Range Negative 20 2000 2300 127.0.0.${node} + \ Check Binding Range 30 3000 3300 127.0.0.${node} + \ Check Binding Range 40 4000 3300 127.0.0.${node} + \ Check Binding Range Negative 50 5000 5300 127.0.0.${node} + \ Check Binding Range Negative 60 6000 6300 127.0.0.${node} + \ Check Binding Range Negative 110 11000 11300 127.0.0.${node} + \ Check Binding Range Negative 120 12000 12300 127.0.0.${node} + \ Check Binding Range Negative 130 13000 13300 127.0.0.${node} + \ Check Binding Range Negative 140 14000 14300 127.0.0.${node} + +Export Separation Node 10 Test + [Documentation] Test if Node 10 contains only bindings from trusted domain + [Tags] SXP Domains + Check Binding Range Negative 20 2000 2300 127.0.0.10 + Check Binding Range Negative 30 3000 3300 127.0.0.10 + Check Binding Range Negative 40 4000 4300 127.0.0.10 + Check Binding Range 50 5000 5300 127.0.0.10 + Check Binding Range 60 6000 6300 127.0.0.10 + Check Binding Range Negative 110 11000 11300 127.0.0.10 + Check Binding Range Negative 120 12000 12300 127.0.0.10 + Check Binding Range Negative 130 13000 13300 127.0.0.10 + Check Binding Range Negative 140 14000 14300 127.0.0.10 + +Export Separation Node 11-14 Test + [Documentation] Test if Nodes 11-14 contains only bindings from secure domain + [Tags] SXP Domains + : FOR ${node} IN RANGE 11 15 + \ Check Binding Range Negative 20 2000 2300 127.0.0.${node} + \ Check Binding Range Negative 30 3000 3300 127.0.0.${node} + \ Check Binding Range Negative 40 4000 4300 127.0.0.${node} + \ Check Binding Range Negative 50 5000 5300 127.0.0.${node} + \ Check Binding Range Negative 60 6000 6300 127.0.0.${node} + \ Check Binding Range 110 11000 11300 127.0.0.${node} + \ Check Binding Range 120 12000 12300 127.0.0.${node} + \ Check Binding Range 130 13000 13300 127.0.0.${node} + \ Check Binding Range 140 14000 14300 127.0.0.${node} + +*** Keywords *** +Setup Nodes Local + [Arguments] ${version}=version4 + [Documentation] Setups Multi domain topology consisting of 3 specific domains and 1 default, data between domains must remain separated. + Setup SXP Environment 15 + : FOR ${node} IN RANGE 2 7 + \ Add Connection ${version} speaker 127.0.0.1 64999 127.0.0.${node} + \ Add Bindings Range ${node}0 ${node}000 300 127.0.0.${node} + : FOR ${node} IN RANGE 7 11 + \ Add Connection ${version} listener 127.0.0.1 64999 127.0.0.${node} + : FOR ${node} IN RANGE 11 15 + \ Add Connection ${version} both 127.0.0.1 64999 127.0.0.${node} + \ Add Bindings Range ${node}0 ${node}000 300 127.0.0.${node} + Add Domain ${DOMAIN_1} + Add Domain ${DOMAIN_2} + Add Domain ${DOMAIN_3} + # NO DOMAIN + Add Connection ${version} listener 127.0.0.2 64999 + Wait Until Keyword Succeeds 15 1 Verify Connection ${version} listener 127.0.0.2 + Add Connection ${version} speaker 127.0.0.7 64999 + Wait Until Keyword Succeeds 15 1 Verify Connection ${version} speaker 127.0.0.7 + # DOMAIN 1 + Add Connection ${version} listener 127.0.0.3 64999 domain=${DOMAIN_1} + Wait Until Keyword Succeeds 15 1 Verify Connection ${version} listener 127.0.0.3 + ... domain=${DOMAIN_1} + Add Connection ${version} listener 127.0.0.4 64999 domain=${DOMAIN_1} + Wait Until Keyword Succeeds 15 1 Verify Connection ${version} listener 127.0.0.4 + ... domain=${DOMAIN_1} + Add Connection ${version} speaker 127.0.0.8 64999 domain=${DOMAIN_1} + Wait Until Keyword Succeeds 15 1 Verify Connection ${version} speaker 127.0.0.8 + ... domain=${DOMAIN_1} + Add Connection ${version} speaker 127.0.0.9 64999 domain=${DOMAIN_1} + Wait Until Keyword Succeeds 15 1 Verify Connection ${version} speaker 127.0.0.9 + ... domain=${DOMAIN_1} + # DOMAIN 2 + Add Connection ${version} listener 127.0.0.5 64999 domain=${DOMAIN_2} + Wait Until Keyword Succeeds 15 1 Verify Connection ${version} listener 127.0.0.5 + ... domain=${DOMAIN_2} + Add Connection ${version} listener 127.0.0.6 64999 domain=${DOMAIN_2} + Wait Until Keyword Succeeds 15 1 Verify Connection ${version} listener 127.0.0.6 + ... domain=${DOMAIN_2} + Add Connection ${version} speaker 127.0.0.10 64999 domain=${DOMAIN_2} + Wait Until Keyword Succeeds 15 1 Verify Connection ${version} speaker 127.0.0.10 + ... domain=${DOMAIN_2} + # DOMAIN 3 + : FOR ${node} IN RANGE 11 15 + \ Add Connection ${version} both 127.0.0.${node} 64999 domain=${DOMAIN_3} + \ Wait Until Keyword Succeeds 15 1 Verify Connection ${version} both + \ ... 127.0.0.${node} domain=${DOMAIN_3} diff --git a/csit/suites/sxp/topology/040_Domains_Substraction.robot b/csit/suites/sxp/topology/040_Domains_Substraction.robot new file mode 100644 index 0000000000..52c101e7f4 --- /dev/null +++ b/csit/suites/sxp/topology/040_Domains_Substraction.robot @@ -0,0 +1,128 @@ +*** Settings *** +Documentation Test suite to verify Domain data consistency during data change +Test Setup Setup Nodes Local +Test Teardown Clean SXP Environment 15 +Library RequestsLibrary +Library SSHLibrary +Library ../../../libraries/Sxp.py +Resource ../../../libraries/SxpLib.robot + +*** Variables *** +${DOMAIN_1} guest +${DOMAIN_2} trusted +${DOMAIN_3} secure + +*** Test Cases *** +Export Separation Node 7 Test + [Documentation] Test if Node 7 contains only bindings from global domain and is not affected by changes from other nodes + [Tags] SXP Domains + Check Binding Range 20 0 300 127.0.0.7 + Check Binding Range Negative 40 0 300 127.0.0.7 + Check Binding Range Negative 60 0 300 127.0.0.7 + Check Binding Range Negative 120 0 300 127.0.0.7 + Delete Bindings Range 40 0 300 127.0.0.4 + Wait Until Keyword Succeeds 15 1 Check Binding Range 20 0 300 + ... 127.0.0.7 + Delete Bindings Range 20 0 300 127.0.0.2 + Wait Until Keyword Succeeds 15 1 Check Binding Range Negative 20 0 300 + ... 127.0.0.7 + +Export Separation Node 8-9 Test + [Documentation] Test if Nodes 8,9 contains consistent data during its update + [Tags] SXP Domains + : FOR ${node} IN RANGE 8 10 + \ Check Binding Range Negative 20 0 300 127.0.0.${node} + \ Check Binding Range 40 0 300 127.0.0.${node} + \ Check Binding Range Negative 60 0 300 127.0.0.${node} + \ Check Binding Range Negative 120 0 300 127.0.0.${node} + Delete Bindings Range 60 0 300 127.0.0.6 + : FOR ${node} IN RANGE 8 10 + \ Wait Until Keyword Succeeds 15 1 Check Binding Range 40 0 + \ ... 300 127.0.0.${node} + Delete Bindings Range 40 0 300 127.0.0.4 + : FOR ${node} IN RANGE 8 10 + \ Wait Until Keyword Succeeds 15 1 Check Binding Range Negative 40 0 + \ ... 300 127.0.0.${node} + +Export Separation Node 10 Test + [Documentation] Test if Node 10 contains consistent data during its update + [Tags] SXP Domains + Check Binding Range Negative 20 0 300 127.0.0.10 + Check Binding Range Negative 40 0 300 127.0.0.10 + Check Binding Range 60 0 300 127.0.0.10 + Check Binding Range Negative 120 0 300 127.0.0.10 + Delete Bindings Range 20 0 300 127.0.0.2 + Wait Until Keyword Succeeds 15 1 Check Binding Range 60 0 300 + ... 127.0.0.10 + Delete Bindings Range 60 0 300 127.0.0.6 + Wait Until Keyword Succeeds 15 1 Check Binding Range Negative 60 0 300 + ... 127.0.0.10 + +Export Separation Node 11-14 Test + [Documentation] Test if Nodes 11-14 contains consistent data during its update + [Tags] SXP Domains + : FOR ${node} IN RANGE 11 15 + \ Check Binding Range Negative 20 0 300 127.0.0.${node} + \ Check Binding Range Negative 40 0 300 127.0.0.${node} + \ Check Binding Range Negative 60 0 300 127.0.0.${node} + \ Check Binding Range 120 0 300 127.0.0.${node} + Delete Bindings Range 60 0 300 127.0.0.6 + : FOR ${node} IN RANGE 11 15 + \ Wait Until Keyword Succeeds 15 1 Check Binding Range 120 0 + \ ... 300 127.0.0.${node} + Delete Bindings Range 120 0 300 127.0.0.12 + : FOR ${node} IN RANGE 11 15 + \ Wait Until Keyword Succeeds 15 1 Check Binding Range Negative 120 0 + \ ... 300 127.0.0.${node} + +*** Keywords *** +Setup Nodes Local + [Arguments] ${version}=version4 + [Documentation] Setups Multi domain topology consisting of 3 specific domains and 1 default, data between domains must remain separated. + Setup SXP Environment 15 + : FOR ${node} IN RANGE 2 7 + \ Add Connection ${version} speaker 127.0.0.1 64999 127.0.0.${node} + : FOR ${node} IN RANGE 7 11 + \ Add Connection ${version} listener 127.0.0.1 64999 127.0.0.${node} + : FOR ${node} IN RANGE 11 15 + \ Add Connection ${version} both 127.0.0.1 64999 127.0.0.${node} + Add Domain ${DOMAIN_1} + Add Domain ${DOMAIN_2} + Add Domain ${DOMAIN_3} + Add Bindings Range 20 0 300 127.0.0.2 + Add Bindings Range 40 0 300 127.0.0.4 + Add Bindings Range 60 0 300 127.0.0.6 + Add Bindings Range 120 0 300 127.0.0.12 + # NO DOMAIN + Add Connection ${version} listener 127.0.0.2 64999 + Wait Until Keyword Succeeds 15 1 Verify Connection ${version} listener 127.0.0.2 + Add Connection ${version} speaker 127.0.0.7 64999 + Wait Until Keyword Succeeds 15 1 Verify Connection ${version} speaker 127.0.0.7 + # DOMAIN 1 + Add Connection ${version} listener 127.0.0.3 64999 domain=${DOMAIN_1} + Wait Until Keyword Succeeds 15 1 Verify Connection ${version} listener 127.0.0.3 + ... domain=${DOMAIN_1} + Add Connection ${version} listener 127.0.0.4 64999 domain=${DOMAIN_1} + Wait Until Keyword Succeeds 15 1 Verify Connection ${version} listener 127.0.0.4 + ... domain=${DOMAIN_1} + Add Connection ${version} speaker 127.0.0.8 64999 domain=${DOMAIN_1} + Wait Until Keyword Succeeds 15 1 Verify Connection ${version} speaker 127.0.0.8 + ... domain=${DOMAIN_1} + Add Connection ${version} speaker 127.0.0.9 64999 domain=${DOMAIN_1} + Wait Until Keyword Succeeds 15 1 Verify Connection ${version} speaker 127.0.0.9 + ... domain=${DOMAIN_1} + # DOMAIN 2 + Add Connection ${version} listener 127.0.0.5 64999 domain=${DOMAIN_2} + Wait Until Keyword Succeeds 15 1 Verify Connection ${version} listener 127.0.0.5 + ... domain=${DOMAIN_2} + Add Connection ${version} listener 127.0.0.6 64999 domain=${DOMAIN_2} + Wait Until Keyword Succeeds 15 1 Verify Connection ${version} listener 127.0.0.6 + ... domain=${DOMAIN_2} + Add Connection ${version} speaker 127.0.0.10 64999 domain=${DOMAIN_2} + Wait Until Keyword Succeeds 15 1 Verify Connection ${version} speaker 127.0.0.10 + ... domain=${DOMAIN_2} + # DOMAIN 3 + : FOR ${node} IN RANGE 11 15 + \ Add Connection ${version} both 127.0.0.${node} 64999 domain=${DOMAIN_3} + \ Wait Until Keyword Succeeds 15 1 Verify Connection ${version} both + \ ... 127.0.0.${node} domain=${DOMAIN_3} diff --git a/csit/suites/sxp/topology/22-sxp-controller-one-node.xml b/csit/suites/sxp/topology/22-sxp-controller-one-node-beryllium.xml similarity index 94% rename from csit/suites/sxp/topology/22-sxp-controller-one-node.xml rename to csit/suites/sxp/topology/22-sxp-controller-one-node-beryllium.xml index 5e5d80a8b1..28a64a7c9d 100644 --- a/csit/suites/sxp/topology/22-sxp-controller-one-node.xml +++ b/csit/suites/sxp/topology/22-sxp-controller-one-node-beryllium.xml @@ -48,7 +48,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -69,7 +69,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -90,7 +90,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -111,7 +111,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -132,7 +132,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -153,7 +153,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -174,7 +174,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -195,7 +195,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -216,7 +216,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -237,7 +237,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -258,7 +258,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -279,7 +279,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -300,7 +300,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -321,7 +321,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -342,7 +342,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -363,7 +363,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -384,7 +384,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -405,7 +405,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -426,7 +426,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -447,7 +447,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -468,7 +468,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -489,7 +489,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -510,7 +510,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -531,7 +531,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -552,7 +552,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -573,7 +573,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -594,7 +594,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -615,7 +615,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -636,7 +636,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -657,7 +657,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -678,7 +678,7 @@ ODL SXP Controller - 5 + 1 120 30 90 diff --git a/csit/suites/sxp/topology/22-sxp-controller-one-node-lithium.xml b/csit/suites/sxp/topology/22-sxp-controller-one-node-lithium.xml index fbdd501ca5..10737f38c2 100644 --- a/csit/suites/sxp/topology/22-sxp-controller-one-node-lithium.xml +++ b/csit/suites/sxp/topology/22-sxp-controller-one-node-lithium.xml @@ -55,7 +55,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -76,7 +76,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -97,7 +97,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -118,7 +118,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -139,7 +139,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -160,7 +160,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -181,7 +181,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -202,7 +202,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -223,7 +223,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -244,7 +244,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -265,7 +265,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -286,7 +286,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -307,7 +307,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -328,7 +328,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -349,7 +349,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -370,7 +370,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -391,7 +391,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -412,7 +412,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -433,7 +433,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -454,7 +454,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -475,7 +475,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -496,7 +496,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -517,7 +517,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -538,7 +538,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -559,7 +559,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -580,7 +580,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -601,7 +601,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -622,7 +622,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -643,7 +643,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -664,7 +664,7 @@ ODL SXP Controller - 5 + 1 120 30 90 @@ -685,7 +685,7 @@ ODL SXP Controller - 5 + 1 120 30 90 diff --git a/csit/testplans/sxp-basic-beryllium.txt b/csit/testplans/sxp-basic-beryllium.txt new file mode 100644 index 0000000000..6f724cdace --- /dev/null +++ b/csit/testplans/sxp-basic-beryllium.txt @@ -0,0 +1,4 @@ +# Place the suites in run order: +integration/test/csit/suites/sxp/basic/010_Restconf_OK.robot +integration/test/csit/suites/sxp/basic/020_Restconf_CRUD.robot +integration/test/csit/suites/sxp/basic/030_Connectivity.robot \ No newline at end of file diff --git a/csit/testplans/sxp-basic-stable-lithium.txt b/csit/testplans/sxp-basic-stable-lithium.txt new file mode 100644 index 0000000000..6f724cdace --- /dev/null +++ b/csit/testplans/sxp-basic-stable-lithium.txt @@ -0,0 +1,4 @@ +# Place the suites in run order: +integration/test/csit/suites/sxp/basic/010_Restconf_OK.robot +integration/test/csit/suites/sxp/basic/020_Restconf_CRUD.robot +integration/test/csit/suites/sxp/basic/030_Connectivity.robot \ No newline at end of file diff --git a/csit/testplans/sxp-basic.txt b/csit/testplans/sxp-basic.txt index fa9568284d..6a2d32064e 100644 --- a/csit/testplans/sxp-basic.txt +++ b/csit/testplans/sxp-basic.txt @@ -1,3 +1,2 @@ # Place the suites in run order: -integration/test/csit/suites/sxp/basic/ - +integration/test/csit/suites/sxp/basic/ \ No newline at end of file diff --git a/csit/testplans/sxp-filtering-beryllium.txt b/csit/testplans/sxp-filtering-beryllium.txt index b1dd7d7710..c84f5bb605 100644 --- a/csit/testplans/sxp-filtering-beryllium.txt +++ b/csit/testplans/sxp-filtering-beryllium.txt @@ -1,5 +1,4 @@ # Place the suites in run order: integration/test/csit/suites/sxp/filtering/010_Inbound_Filtering.robot integration/test/csit/suites/sxp/filtering/020_Outbound_Filtering.robot -integration/test/csit/suites/sxp/filtering/030_Inbound_Filtering_Discarding.robot - +integration/test/csit/suites/sxp/filtering/030_Inbound_Filtering_Discarding.robot \ No newline at end of file diff --git a/csit/testplans/sxp-filtering.txt b/csit/testplans/sxp-filtering.txt index 173148331a..3709f2cf0b 100644 --- a/csit/testplans/sxp-filtering.txt +++ b/csit/testplans/sxp-filtering.txt @@ -1,3 +1,2 @@ # Place the suites in run order: -integration/test/csit/suites/sxp/filtering/ - +integration/test/csit/suites/sxp/filtering/ \ No newline at end of file diff --git a/csit/testplans/sxp-topology-beryllium.txt b/csit/testplans/sxp-topology-beryllium.txt new file mode 100644 index 0000000000..d4be5bcad8 --- /dev/null +++ b/csit/testplans/sxp-topology-beryllium.txt @@ -0,0 +1,3 @@ +# Place the suites in run order: +integration/test/csit/suites/sxp/topology/010_Topology_Features.robot +integration/test/csit/suites/sxp/topology/020_Scalability.robot \ No newline at end of file diff --git a/csit/testplans/sxp-topology-stable-lithium.txt b/csit/testplans/sxp-topology-stable-lithium.txt new file mode 100644 index 0000000000..d4be5bcad8 --- /dev/null +++ b/csit/testplans/sxp-topology-stable-lithium.txt @@ -0,0 +1,3 @@ +# Place the suites in run order: +integration/test/csit/suites/sxp/topology/010_Topology_Features.robot +integration/test/csit/suites/sxp/topology/020_Scalability.robot \ No newline at end of file diff --git a/csit/testplans/sxp-topology.txt b/csit/testplans/sxp-topology.txt index ea95140fba..d5d840784b 100644 --- a/csit/testplans/sxp-topology.txt +++ b/csit/testplans/sxp-topology.txt @@ -1,2 +1,2 @@ # Place the suites in run order: -integration/test/csit/suites/sxp/topology/ +integration/test/csit/suites/sxp/topology/ \ No newline at end of file