X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=csit%2Flibraries%2FMininetKeywords.robot;h=c10f496f14f9ed8dd951bc87784862a6162add22;hb=34f29313f349f989aba8e93ce62182e78949e98a;hp=2528d7882f3750dee9a157a35a96a286fe38c96f;hpb=d429e3c8acaccd2e34163a45e28d85ecba58df16;p=integration%2Ftest.git diff --git a/csit/libraries/MininetKeywords.robot b/csit/libraries/MininetKeywords.robot index 2528d7882f..c10f496f14 100644 --- a/csit/libraries/MininetKeywords.robot +++ b/csit/libraries/MininetKeywords.robot @@ -1,6 +1,7 @@ *** Settings *** Documentation Mininet library. This library is useful for tests using mininet tool to simulate devices. Library SSHLibrary +Resource SSHKeywords.robot Resource Utils.robot Resource OVSDB.robot Resource ClusterManagement.robot @@ -12,16 +13,17 @@ ${topology_file_path} MininetTopo/${topology_file} *** Keywords *** Start Mininet Single Controller - [Arguments] ${mininet}=${TOOLS_SYSTEM_IP} ${controller}=${ODL_SYSTEM_IP} ${options}=--topo tree,1 --switch ovsk,protocols=OpenFlow13 ${custom}=${EMPTY} ${ofport}=${ODL_OF_PORT} ${timeout}=${DEFAULT_TIMEOUT} + [Arguments] ${mininet}=${TOOLS_SYSTEM_IP} ${controller}=${ODL_SYSTEM_IP} ${options}=--topo tree,1 ${custom}=${EMPTY} ${ofversion}=13 ${ofport}=${ODL_OF_PORT} + ... ${timeout}=${DEFAULT_TIMEOUT} [Documentation] Start Mininet with custom topology and connect to controller. Log Clear any existing mininet Utils.Clean Mininet System ${mininet} ${mininet_conn_id}= SSHLibrary.Open Connection ${mininet} prompt=${TOOLS_SYSTEM_PROMPT} timeout=${timeout} Set Suite Variable ${mininet_conn_id} - Utils.Flexible Mininet Login + SSHKeywords.Flexible Mininet Login Run Keyword If '${custom}' != '${EMPTY}' Put File ${custom} Log Start mininet ${options} to ${controller} - SSHLibrary.Write sudo mn --controller 'remote,ip=${controller},port=${ofport}' ${options} + SSHLibrary.Write sudo mn --controller 'remote,ip=${controller},port=${ofport}' ${options} --switch ovsk,protocols=OpenFlow${ofversion} SSHLibrary.Read Until mininet> Log Check OVS configuratiom SSHLibrary.Write sh ovs-vsctl show @@ -29,14 +31,15 @@ Start Mininet Single Controller [Return] ${mininet_conn_id} Start Mininet Multiple Controllers - [Arguments] ${mininet} ${controller_index_list}=${EMPTY} ${options}=--topo tree,1 --switch ovsk,protocols=OpenFlow13 ${custom}=${EMPTY} ${ofport}=${ODL_OF_PORT} ${timeout}=${DEFAULT_TIMEOUT} + [Arguments] ${mininet} ${controller_index_list}=${EMPTY} ${options}=--topo tree,1 ${custom}=${EMPTY} ${ofversion}=13 ${ofport}=${ODL_OF_PORT} + ... ${timeout}=${DEFAULT_TIMEOUT} [Documentation] Start Mininet with custom topology and connect to list of controllers in ${controller_index_list} or all if no list is provided. ${index_list} = ClusterManagement.List Indices Or All given_list=${controller_index_list} Log Clear any existing mininet Utils.Clean Mininet System ${mininet} ${mininet_conn_id}= SSHLibrary.Open Connection ${mininet} prompt=${TOOLS_SYSTEM_PROMPT} timeout=${timeout} Set Suite Variable ${mininet_conn_id} - Utils.Flexible Mininet Login + SSHKeywords.Flexible Mininet Login Run Keyword If '${custom}' != '${EMPTY}' Put File ${custom} Log Start mininet ${options} SSHLibrary.Write sudo mn ${options} @@ -52,36 +55,37 @@ Start Mininet Multiple Controllers Log Configure OVS controllers ${controller_opt} in all bridges : FOR ${i} IN RANGE 1 ${num_bridges+1} \ ${bridge}= Utils.Run Command On Mininet ${mininet} sudo ovs-vsctl show | grep Bridge | cut -c 12- | sort | head -${i} | tail -1 - \ OVSDB.Set Controller In OVS Bridge ${mininet} ${bridge} ${controller_opt} + \ OVSDB.Set Controller In OVS Bridge ${mininet} ${bridge} ${controller_opt} ${ofversion} Log Check OVS configuratiom SSHLibrary.Write sh ovs-vsctl show SSHLibrary.Read Until mininet> [Return] ${mininet_conn_id} Start Mininet Multiple Hosts - [Arguments] ${hosts} ${mininet}=${TOOLS_SYSTEM_IP} ${controller}=${ODL_SYSTEM_IP} ${mininet_timeout}=${DEFAULT_TIMEOUT} + [Arguments] ${hosts} ${mininet}=${TOOLS_SYSTEM_IP} ${controller}=${ODL_SYSTEM_IP} ${ofversion}=13 ${ofport}=${ODL_OF_PORT} ${mininet_timeout}=${DEFAULT_TIMEOUT} [Documentation] Start mininet 1 switch with ${hosts} hosts attached. Log Start Mininet Linear - MininetKeywords.StartMininet Single Controller options=--topo single,${hosts} --mac --switch ovsk,protocols=OpenFlow13 timeout=${mininet_timeout} + MininetKeywords.StartMininet Single Controller options=--topo single,${hosts} --mac ofversion=${ofversion} ofport=${ofport} timeout=${mininet_timeout} Start Mininet Linear - [Arguments] ${switches} ${mininet}=${TOOLS_SYSTEM_IP} ${controller}=${ODL_SYSTEM_IP} ${mininet_timeout}=${DEFAULT_TIMEOUT} + [Arguments] ${switches} ${mininet}=${TOOLS_SYSTEM_IP} ${controller}=${ODL_SYSTEM_IP} ${ofversion}=13 ${ofport}=${ODL_OF_PORT} ${mininet_timeout}=${DEFAULT_TIMEOUT} [Documentation] Start mininet linear topology with ${switches} nodes. Log Start Mininet Linear - MininetKeywords.StartMininet Single Controller options=--topo linear,${switches} --switch ovsk,protocols=OpenFlow13 timeout=${mininet_timeout} + MininetKeywords.StartMininet Single Controller options=--topo linear,${switches} ofversion=${ofversion} ofport=${ofport} timeout=${mininet_timeout} Start Mininet Full Mesh - [Arguments] ${switches} ${mininet}=${TOOLS_SYSTEM_IP} ${controller}=${ODL_SYSTEM_IP} ${hosts}=0 ${mininet_timeout}=${DEFAULT_TIMEOUT} + [Arguments] ${switches} ${mininet}=${TOOLS_SYSTEM_IP} ${controller}=${ODL_SYSTEM_IP} ${ofversion}=13 ${ofport}=${ODL_OF_PORT} ${hosts}=0 + ... ${mininet_timeout}=${DEFAULT_TIMEOUT} [Documentation] Start a custom mininet topology. ${mininet_conn_id}= SSHLibrary.Open Connection ${mininet} prompt=${TOOLS_SYSTEM_PROMPT} timeout=${mininet_timeout} Set Suite Variable ${mininet_conn_id} - Utils.Flexible_Mininet_Login + SSHKeywords.Flexible_Mininet_Login Log Copying ${topology_file_path} file to Mininet VM and Creating Full Mesh topology SSHLibrary.Put File ${CURDIR}/${topology_file_path} SSHLibrary.Write python ${topology_file} ${switches} ${hosts} 00:00:00:00:00:00 10.0.0.0 SSHLibrary.Read Until ${TOOLS_SYSTEM_PROMPT} Log Start Mininet Full Mesh - SSHLibrary.Write sudo mn --controller=remote,ip=${controller} --custom switch.py --topo demotopo --switch ovsk,protocols=OpenFlow13 + SSHLibrary.Write sudo mn --controller=remote,ip=${controller},port=${ofport} --custom switch.py --topo demotopo --switch ovsk,protocols=OpenFlow${ofversion} SSHLibrary.Read Until mininet> Log Check OVS configuratiom SSHLibrary.Write sh ovs-vsctl show