<?xml version="1.0" encoding="UTF-8"?>
<robot generator="Robot 7.4.2 (Python 3.11.10 on linux)" generated="2026-07-27T01:45:17.495382" rpa="false" schemaversion="5">
<suite id="s1" name="openflowplugin-cbench.txt" source="/w/workspace/openflowplugin-csit-1node-cbench-only-titanium/test/csit/suites/openflowplugin/Performance/010_Cbench.robot">
<kw name="Cbench Suite Setup" type="SETUP">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Issue_Command_On_Karaf_Console" owner="KarafKeywords">
<if>
<branch type="IF" condition="'${IS_KARAF_APPL}' == 'False'">
<return>
<value>Not A Karaf App</value>
<status status="NOT RUN" start="2026-07-27T01:45:18.048927" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-07-27T01:45:18.048789" elapsed="0.000215"/>
</branch>
<status status="PASS" start="2026-07-27T01:45:18.048760" elapsed="0.000272"/>
</if>
<kw name="Open Connection" owner="SSHLibrary">
<arg>${controller}</arg>
<arg>port=${karaf_port}</arg>
<arg>prompt=${KARAF_PROMPT_LOGIN}</arg>
<arg>timeout=${timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-07-27T01:45:18.049177" elapsed="0.000534"/>
</kw>
<kw name="Login" owner="SSHLibrary">
<msg time="2026-07-27T01:45:18.050184" level="INFO">Logging into '10.30.170.140:8101' as 'karaf'.</msg>
<msg time="2026-07-27T01:45:18.864123" level="INFO">Read output: [33m                                                                                           
[33m    ________                       ________                .__  .__       .__     __       
[33m    \_____  \ ______   ____   ____ \______ \ _____  ___.__.|  | |__| ____ |  |___/  |_     
[33m     /   |   \\____ \_/ __ \ /    \ |    |  \\__  \&lt;   |  ||  | |  |/ ___\|  |  \   __\    
[33m    /    |    \  |_&gt; &gt;  ___/|   |  \|    `   \/ __ \\___  ||  |_|  / /_/  &gt;   Y  \  |      
[33m    \_______  /   __/ \___  &gt;___|  /_______  (____  / ____||____/__\___  /|___|  /__|      
[33m            \/|__|        \/     \/        \/     \/\/            /_____/      \/          
[33m                                                                                           

Hit '[1m&lt;tab&gt;[0m' for a list of available commands
and '[1m[cmd] --help[0m' for help on a specific command.
Hit '[1m&lt;ctrl-d&gt;[0m' or type '[1msystem:shutdown[0m' or '[1mlogout[0m' to shutdown OpenDaylight.

[?1h=[90m~[0m                                                                                [?2004hopendaylight-user</msg>
<arg>${KARAF_USER}</arg>
<arg>${KARAF_PASSWORD}</arg>
<arg>loglevel=${loglevel}</arg>
<doc>Logs into the SSH server with the given ``username`` and ``password``.</doc>
<status status="PASS" start="2026-07-27T01:45:18.049885" elapsed="0.814443"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-07-27T01:45:18.914542" level="INFO">@root&gt;log:set ERROR</msg>
<arg>${cmd}</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-07-27T01:45:18.864638" elapsed="0.049979"/>
</kw>
<kw name="Read Until Regexp" owner="SSHLibrary">
<msg time="2026-07-27T01:45:18.916353" level="INFO">[?1l&gt;[?2004l[?1h=[90m~[0m                                                                                [?2004hopendaylight-user@root&gt;</msg>
<msg time="2026-07-27T01:45:18.916464" level="INFO">${output} = [?1l&gt;[?2004l[?1h=[90m~[0m                                                                                [?2004hopendaylight-user@root&gt;</msg>
<var>${output}</var>
<arg>${KARAF_PROMPT}</arg>
<doc>Consumes and returns the server output until a match to ``regexp`` is found.</doc>
<status status="PASS" start="2026-07-27T01:45:18.914795" elapsed="0.001699"/>
</kw>
<kw name="Write Bare" owner="SSHLibrary">
<arg>logout\n</arg>
<doc>Writes the given ``text`` on the remote machine without appending a newline.</doc>
<status status="PASS" start="2026-07-27T01:45:18.916677" elapsed="0.000214"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-07-27T01:45:18.917052" elapsed="0.000232"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T01:45:18.917794" level="INFO">[?1l&gt;[?2004l[?1h=[90m~[0m                                                                                [?2004hopendaylight-user@root&gt;</msg>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T01:45:18.917439" elapsed="0.000411"/>
</kw>
<return>
<value>${output}</value>
<status status="PASS" start="2026-07-27T01:45:18.917903" elapsed="0.000064"/>
</return>
<arg>log:set ${log_level}</arg>
<doc>Will execute the given ${cmd} by ssh'ing to the karaf console running on 10.30.170.140
Note that this keyword will open&amp;close new SSH connection, without switching back to previously current session.</doc>
<status status="PASS" start="2026-07-27T01:45:18.048406" elapsed="0.869699"/>
</kw>
<arg>3x</arg>
<arg>1s</arg>
<arg>KarafKeywords.Issue Command On Karaf Console</arg>
<arg>log:set ${log_level}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-07-27T01:45:18.044852" elapsed="0.873317"/>
</kw>
<kw name="Append To File" owner="OperatingSystem">
<msg time="2026-07-27T01:45:18.918783" level="INFO" html="true">Appended to file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-cbench-only-titanium/latency.csv"&gt;/w/workspace/openflowplugin-csit-1node-cbench-only-titanium/latency.csv&lt;/a&gt;'.</msg>
<arg>${latency_results_file}</arg>
<arg>LATENCY_MIN,LATENCY_MAX,LATENCY_AVERAGE\n</arg>
<doc>Appends the given content to the specified file.</doc>
<status status="PASS" start="2026-07-27T01:45:18.918386" elapsed="0.000454"/>
</kw>
<kw name="Append To File" owner="OperatingSystem">
<msg time="2026-07-27T01:45:18.919245" level="INFO" html="true">Appended to file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-cbench-only-titanium/throughput.csv"&gt;/w/workspace/openflowplugin-csit-1node-cbench-only-titanium/throughput.csv&lt;/a&gt;'.</msg>
<arg>${throughput_results_file}</arg>
<arg>THROUGHPUT_MIN,THROUGHPUT_MAX,THROUGHPUT_AVERAGE\n</arg>
<doc>Appends the given content to the specified file.</doc>
<status status="PASS" start="2026-07-27T01:45:18.918994" elapsed="0.000335"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-07-27T01:45:18.919906" level="INFO">${duration_in_ms} = 60000</msg>
<var>${duration_in_ms}</var>
<arg>${duration_in_secs} * 1000</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-07-27T01:45:18.919510" elapsed="0.000423"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-07-27T01:45:18.920471" level="INFO">${duration_in_ms} = 60000</msg>
<arg>${duration_in_ms}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-07-27T01:45:18.920112" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-07-27T01:45:18.921067" level="INFO">${test_timeout} = 900.0</msg>
<var>${test_timeout}</var>
<arg>(${loops} * ${duration_in_secs}) * 1.5</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-07-27T01:45:18.920687" elapsed="0.000407"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-07-27T01:45:18.921584" level="INFO">${test_timeout} = 900.0</msg>
<arg>${test_timeout}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-07-27T01:45:18.921271" elapsed="0.000354"/>
</kw>
<if>
<branch type="IF" condition="&quot;${cbench_system}&quot; == &quot;localhost&quot;">
<kw name="File Should Exist" owner="OperatingSystem">
<arg>${cbench_executable}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="NOT RUN" start="2026-07-27T01:45:18.921944" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-07-27T01:45:18.921726" elapsed="0.000273"/>
</branch>
<branch type="ELSE">
<kw name="Verify File Exists On Remote System" owner="Utils">
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-07-27T01:45:18.926355" level="INFO">${conn_id} = 2</msg>
<var>${conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${prompt_timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-07-27T01:45:18.925930" elapsed="0.000452"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-07-27T01:45:18.927444" level="INFO">Length is 0.</msg>
<msg time="2026-07-27T01:45:18.927530" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-07-27T01:45:18.926927" elapsed="0.000627"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-07-27T01:45:18.927699" elapsed="0.000642"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-07-27T01:45:18.929391" level="INFO">Logging into '10.30.170.80:22' as 'jenkins'.</msg>
<msg time="2026-07-27T01:45:19.757948" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-153-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon Jul 27 01:45:19 UTC 2026

  System load:  0.04               Processes:             111
  Usage of /:   19.3% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.170.80
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

9 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


[?2004h[jenkins@releng-48317-792-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-07-27T01:45:18.928873" elapsed="0.829195"/>
</kw>
<msg time="2026-07-27T01:45:19.758138" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-07-27T01:45:18.928502" elapsed="0.829706"/>
</kw>
<arg>${user}</arg>
<arg>${password}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-07-27T01:45:18.926588" elapsed="0.831739"/>
</kw>
<kw name="File Should Exist" owner="SSHLibrary">
<msg time="2026-07-27T01:45:19.767160" level="INFO">[chan 1] Opened sftp connection (server version 3)</msg>
<arg>${file}</arg>
<doc>Fails if the given ``path`` does NOT point to an existing file.</doc>
<status status="PASS" start="2026-07-27T01:45:19.758492" elapsed="0.011068"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-07-27T01:45:19.769962" elapsed="0.000632"/>
</kw>
<arg>${cbench_system}</arg>
<arg>${cbench_executable}</arg>
<doc>Will create connection with public key and will PASS if the given ${file} exists,
otherwise will FAIL</doc>
<status status="PASS" start="2026-07-27T01:45:18.925403" elapsed="0.845331"/>
</kw>
<status status="PASS" start="2026-07-27T01:45:18.922077" elapsed="0.848738"/>
</branch>
<status status="PASS" start="2026-07-27T01:45:18.921687" elapsed="0.849187"/>
</if>
<kw name="Should Be True" owner="BuiltIn">
<arg>${loops} &gt;= 2</arg>
<arg>If number of loops is less than 2, cbench will not run</arg>
<doc>Fails if the given condition is not true.</doc>
<status status="PASS" start="2026-07-27T01:45:19.771202" elapsed="0.000961"/>
</kw>
<kw name="Verify_Feature_Is_Installed" owner="KarafKeywords">
<if>
<branch type="IF" condition="'${IS_KARAF_APPL}' == 'False'">
<return>
<value>Not A Karaf App</value>
<status status="NOT RUN" start="2026-07-27T01:45:19.779114" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-07-27T01:45:19.778950" elapsed="0.000234"/>
</branch>
<status status="PASS" start="2026-07-27T01:45:19.778919" elapsed="0.000298"/>
</if>
<kw name="Issue_Command_On_Karaf_Console" owner="KarafKeywords">
<if>
<branch type="IF" condition="'${IS_KARAF_APPL}' == 'False'">
<return>
<value>Not A Karaf App</value>
<status status="NOT RUN" start="2026-07-27T01:45:19.783780" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-07-27T01:45:19.783668" elapsed="0.000158"/>
</branch>
<status status="PASS" start="2026-07-27T01:45:19.783649" elapsed="0.000199"/>
</if>
<kw name="Open Connection" owner="SSHLibrary">
<arg>${controller}</arg>
<arg>port=${karaf_port}</arg>
<arg>prompt=${KARAF_PROMPT_LOGIN}</arg>
<arg>timeout=${timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-07-27T01:45:19.783977" elapsed="0.000443"/>
</kw>
<kw name="Login" owner="SSHLibrary">
<msg time="2026-07-27T01:45:19.784825" level="INFO">Logging into '10.30.170.140:8101' as 'karaf'.</msg>
<msg time="2026-07-27T01:45:20.034178" level="INFO">Read output: [33m                                                                                           
[33m    ________                       ________                .__  .__       .__     __       
[33m    \_____  \ ______   ____   ____ \______ \ _____  ___.__.|  | |__| ____ |  |___/  |_     
[33m     /   |   \\____ \_/ __ \ /    \ |    |  \\__  \&lt;   |  ||  | |  |/ ___\|  |  \   __\    
[33m    /    |    \  |_&gt; &gt;  ___/|   |  \|    `   \/ __ \\___  ||  |_|  / /_/  &gt;   Y  \  |      
[33m    \_______  /   __/ \___  &gt;___|  /_______  (____  / ____||____/__\___  /|___|  /__|      
[33m            \/|__|        \/     \/        \/     \/\/            /_____/      \/          
[33m                                                                                           

Hit '[1m&lt;tab&gt;[0m' for a list of available commands
and '[1m[cmd] --help[0m' for help on a specific command.
Hit '[1m&lt;ctrl-d&gt;[0m' or type '[1msystem:shutdown[0m' or '[1mlogout[0m' to shutdown OpenDaylight.

[?1h=[90m~[0m                                                                                [?2004hopendaylight-user</msg>
<arg>${KARAF_USER}</arg>
<arg>${KARAF_PASSWORD}</arg>
<arg>loglevel=${loglevel}</arg>
<doc>Logs into the SSH server with the given ``username`` and ``password``.</doc>
<status status="PASS" start="2026-07-27T01:45:19.784566" elapsed="0.249716"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-07-27T01:45:20.129096" level="INFO">@root&gt;feature:list -i | 0[C 0g[Krep odl-openflowplugin-drop-test</msg>
<arg>${cmd}</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-07-27T01:45:20.034443" elapsed="0.094741"/>
</kw>
<kw name="Read Until Regexp" owner="SSHLibrary">
<msg time="2026-07-27T01:45:20.136559" level="INFO">[?1l&gt;[?2004l[31;1modl-openflowplugin-drop-test[0m                                    x 0.20.2           x x        x Started x [31;1modl-openflowplugin-drop-test[0m                                    x OpenDaylight :: Openflow Plugin :: Drop Test
[?1h=[90m~[0m                                                                                [?2004hopendaylight-user@root&gt;</msg>
<msg time="2026-07-27T01:45:20.136747" level="INFO">${output} = [?1l&gt;[?2004l[31;1modl-openflowplugin-drop-test[0m                                    x 0.20.2           x x        x Started x [31;1modl-openflowplugin-drop-test[0m                     ...</msg>
<var>${output}</var>
<arg>${KARAF_PROMPT}</arg>
<doc>Consumes and returns the server output until a match to ``regexp`` is found.</doc>
<status status="PASS" start="2026-07-27T01:45:20.129368" elapsed="0.007411"/>
</kw>
<kw name="Write Bare" owner="SSHLibrary">
<arg>logout\n</arg>
<doc>Writes the given ``text`` on the remote machine without appending a newline.</doc>
<status status="PASS" start="2026-07-27T01:45:20.136923" elapsed="0.000194"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-07-27T01:45:20.137280" elapsed="0.000186"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T01:45:20.137872" level="INFO">[?1l&gt;[?2004l[31;1modl-openflowplugin-drop-test[0m                                    x 0.20.2           x x        x Started x [31;1modl-openflowplugin-drop-test[0m                                    x OpenDaylight :: Openflow Plugin :: Drop Test
[?1h=[90m~[0m                                                                                [?2004hopendaylight-user@root&gt;</msg>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T01:45:20.137603" elapsed="0.000324"/>
</kw>
<return>
<value>${output}</value>
<status status="PASS" start="2026-07-27T01:45:20.137972" elapsed="0.000039"/>
</return>
<msg time="2026-07-27T01:45:20.138147" level="INFO">${output} = [?1l&gt;[?2004l[31;1modl-openflowplugin-drop-test[0m                                    x 0.20.2           x x        x Started x [31;1modl-openflowplugin-drop-test[0m                     ...</msg>
<var>${output}</var>
<arg>feature:list -i | grep ${feature_name}</arg>
<arg>${controller}</arg>
<arg>${karaf_port}</arg>
<doc>Will execute the given ${cmd} by ssh'ing to the karaf console running on 10.30.170.140
Note that this keyword will open&amp;close new SSH connection, without switching back to previously current session.</doc>
<status status="PASS" start="2026-07-27T01:45:19.783315" elapsed="0.354864"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${output}</arg>
<arg>${feature_name}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-27T01:45:20.138347" elapsed="0.000527"/>
</kw>
<return>
<value>${output}</value>
<status status="PASS" start="2026-07-27T01:45:20.138925" elapsed="0.000034"/>
</return>
<arg>odl-openflowplugin-drop-test</arg>
<doc>Will Succeed if the given ${feature_name} is found in the output of "feature:list -i"</doc>
<status status="PASS" start="2026-07-27T01:45:19.778545" elapsed="0.360514"/>
</kw>
<kw name="Issue_Command_On_Karaf_Console" owner="KarafKeywords">
<if>
<branch type="IF" condition="'${IS_KARAF_APPL}' == 'False'">
<return>
<value>Not A Karaf App</value>
<status status="NOT RUN" start="2026-07-27T01:45:20.142691" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-07-27T01:45:20.142555" elapsed="0.000184"/>
</branch>
<status status="PASS" start="2026-07-27T01:45:20.142534" elapsed="0.000227"/>
</if>
<kw name="Open Connection" owner="SSHLibrary">
<arg>${controller}</arg>
<arg>port=${karaf_port}</arg>
<arg>prompt=${KARAF_PROMPT_LOGIN}</arg>
<arg>timeout=${timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-07-27T01:45:20.142892" elapsed="0.000438"/>
</kw>
<kw name="Login" owner="SSHLibrary">
<msg time="2026-07-27T01:45:20.143731" level="INFO">Logging into '10.30.170.140:8101' as 'karaf'.</msg>
<msg time="2026-07-27T01:45:20.342100" level="INFO">Read output: [33m                                                                                           
[33m    ________                       ________                .__  .__       .__     __       
[33m    \_____  \ ______   ____   ____ \______ \ _____  ___.__.|  | |__| ____ |  |___/  |_     
[33m     /   |   \\____ \_/ __ \ /    \ |    |  \\__  \&lt;   |  ||  | |  |/ ___\|  |  \   __\    
[33m    /    |    \  |_&gt; &gt;  ___/|   |  \|    `   \/ __ \\___  ||  |_|  / /_/  &gt;   Y  \  |      
[33m    \_______  /   __/ \___  &gt;___|  /_______  (____  / ____||____/__\___  /|___|  /__|      
[33m            \/|__|        \/     \/        \/     \/\/            /_____/      \/          
[33m                                                                                           

Hit '[1m&lt;tab&gt;[0m' for a list of available commands
and '[1m[cmd] --help[0m' for help on a specific command.
Hit '[1m&lt;ctrl-d&gt;[0m' or type '[1msystem:shutdown[0m' or '[1mlogout[0m' to shutdown OpenDaylight.

[?1h=[90m~[0m                                                                                [?2004hopendaylight-user</msg>
<arg>${KARAF_USER}</arg>
<arg>${KARAF_PASSWORD}</arg>
<arg>loglevel=${loglevel}</arg>
<doc>Logs into the SSH server with the given ``username`` and ``password``.</doc>
<status status="PASS" start="2026-07-27T01:45:20.143478" elapsed="0.198709"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-07-27T01:45:20.365352" level="INFO">@root&gt;dropallpacketsrpc on</msg>
<arg>${cmd}</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-07-27T01:45:20.342358" elapsed="0.023050"/>
</kw>
<kw name="Read Until Regexp" owner="SSHLibrary">
<msg time="2026-07-27T01:45:20.367161" level="INFO">[?1l&gt;[?2004lDropAllFlows transitions to on
[?1h=[90m~[0m                                                                                [?2004hopendaylight-user@root&gt;</msg>
<msg time="2026-07-27T01:45:20.367269" level="INFO">${output} = [?1l&gt;[?2004lDropAllFlows transitions to on
[?1h=[90m~[0m                                                                                [?2004hopendaylight-user@root&gt;</msg>
<var>${output}</var>
<arg>${KARAF_PROMPT}</arg>
<doc>Consumes and returns the server output until a match to ``regexp`` is found.</doc>
<status status="PASS" start="2026-07-27T01:45:20.365551" elapsed="0.001749"/>
</kw>
<kw name="Write Bare" owner="SSHLibrary">
<arg>logout\n</arg>
<doc>Writes the given ``text`` on the remote machine without appending a newline.</doc>
<status status="PASS" start="2026-07-27T01:45:20.367433" elapsed="0.000176"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-07-27T01:45:20.367752" elapsed="0.000152"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T01:45:20.368319" level="INFO">[?1l&gt;[?2004lDropAllFlows transitions to on
[?1h=[90m~[0m                                                                                [?2004hopendaylight-user@root&gt;</msg>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T01:45:20.368038" elapsed="0.000331"/>
</kw>
<return>
<value>${output}</value>
<status status="PASS" start="2026-07-27T01:45:20.368414" elapsed="0.000035"/>
</return>
<arg>dropallpacketsrpc on</arg>
<doc>Will execute the given ${cmd} by ssh'ing to the karaf console running on 10.30.170.140
Note that this keyword will open&amp;close new SSH connection, without switching back to previously current session.</doc>
<status status="PASS" start="2026-07-27T01:45:20.142229" elapsed="0.226321"/>
</kw>
<status status="PASS" start="2026-07-27T01:45:18.043059" elapsed="2.325551"/>
</kw>
<test id="s1-t1" name="Cbench Latency Test" line="37">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T01:45:20.370755" level="INFO">Cbench tests using 10 iterations of 60 second tests. Switch Count: 16. Unique MACS to cycle: 100</msg>
<arg>Cbench tests using ${loops} iterations of ${duration_in_secs} second tests. Switch Count: ${switch_count}. Unique MACS to cycle: ${num_of_unique_macs}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T01:45:20.369456" elapsed="0.001365"/>
</kw>
<kw name="Run Cbench And Log Results">
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-07-27T01:45:20.372223" level="INFO">${output_filename} = latency.csv</msg>
<arg>${output_filename}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-07-27T01:45:20.371882" elapsed="0.000408"/>
</kw>
<if>
<branch type="IF" condition="&quot;${cbench_system}&quot; == &quot;localhost&quot;">
<kw name="Run" owner="OperatingSystem">
<var>${output}</var>
<arg>${cbench_executable} -c ${ODL_SYSTEM_IP} ${cbench_args}</arg>
<doc>_This keyword is considered deprecated. Use the
[http://robotframework.org/robotframework/latest/libraries/Process.html|
Process] library instead._</doc>
<status status="NOT RUN" start="2026-07-27T01:45:20.372582" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-07-27T01:45:20.372363" elapsed="0.000277"/>
</branch>
<branch type="ELSE">
<kw name="Run Command On Remote System" owner="Utils">
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot; and &quot;${return_stderr}&quot;!=&quot;True&quot;">
<kw name="Fail" owner="BuiltIn">
<arg>At least one of {return_stdout} or {return_stderr} args should be set to True</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="NOT RUN" start="2026-07-27T01:45:20.375586" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-07-27T01:45:20.375337" elapsed="0.000305"/>
</branch>
<status status="PASS" start="2026-07-27T01:45:20.375318" elapsed="0.000350"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-07-27T01:45:20.375992" level="INFO">index=None
host=None
alias=None
port=22
timeout=3 seconds
newline=

prompt=None
term_type=vt100
width=80
height=24
path_separator=/
encoding=utf8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-07-27T01:45:20.376115" level="INFO">${current_ssh_connection} = index=None
host=None
alias=None
port=22
timeout=3 seconds
newline=

prompt=None
term_type=vt100
width=80
height=24
path_separator=/
encoding=utf8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_ssh_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-07-27T01:45:20.375800" elapsed="0.000342"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T01:45:20.376718" level="INFO">Attempting to execute command "/usr/local/bin/cbench -c 10.30.170.140 -m 60000 -M 100 -S 16 -l 10 -D 5000 -p 6633" on remote system "10.30.170.80" by user "jenkins" with keyfile pass "any" and prompt "&gt;" and password ""</msg>
<arg>Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" and password "${password}"</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T01:45:20.376298" elapsed="0.000479"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-07-27T01:45:20.377390" level="INFO">${conn_id} = 5</msg>
<var>${conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${prompt_timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-07-27T01:45:20.376916" elapsed="0.000500"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-07-27T01:45:20.378321" level="INFO">Length is 0.</msg>
<msg time="2026-07-27T01:45:20.378413" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-07-27T01:45:20.377998" elapsed="0.000439"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-07-27T01:45:20.378579" elapsed="0.000323"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-07-27T01:45:20.379781" level="INFO">Logging into '10.30.170.80:22' as 'jenkins'.</msg>
<msg time="2026-07-27T01:45:20.709582" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-153-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon Jul 27 01:45:19 UTC 2026

  System load:  0.04               Processes:             111
  Usage of /:   19.3% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.170.80
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

9 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon Jul 27 01:45:19 2026 from 10.30.170.160
[?2004h[jenkins@releng-48317-792-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-07-27T01:45:20.379426" elapsed="0.330294"/>
</kw>
<msg time="2026-07-27T01:45:20.709790" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-07-27T01:45:20.379064" elapsed="0.330800"/>
</kw>
<arg>${user}</arg>
<arg>${password}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-07-27T01:45:20.377623" elapsed="0.332346"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-27T01:45:20.710424" level="INFO">Executing command '/usr/local/bin/cbench -c 10.30.170.140 -m 60000 -M 100 -S 16 -l 10 -D 5000 -p 6633'.</msg>
<msg time="2026-07-27T01:55:26.824393" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-27T01:55:26.827244" level="INFO">${stdout} = </msg>
<msg time="2026-07-27T01:55:26.827398" level="INFO">${stderr} = cbench: controller benchmarking tool
   running in mode 'latency'
   connecting to controller at 10.30.170.140:6633 
   faking 16 switches with 1 threads :: 10 tests each; 60000 ms per test
   with 10...</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<arg>${cmd}</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-07-27T01:45:20.710152" elapsed="606.117309"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-07-27T01:55:26.827959" elapsed="0.000917"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T01:55:26.830137" level="INFO">cbench: controller benchmarking tool
   running in mode 'latency'
   connecting to controller at 10.30.170.140:6633 
   faking 16 switches with 1 threads :: 10 tests each; 60000 ms per test
   with 100 unique source MACs per switch
   learning destination mac addresses before the test
   starting test with 5000 ms delay after features_reply
   ignoring first 1 "warmup" and last 0 "cooldown" loops
   debugging info is off
Master Thread: Creating thread-0! 
Thread-0: All switches initialized. Running at node 10.30.170.140. So far 1 cbench instances have initialized their switches.  Waiting for other cbench-instances
Thread-0: Total switches from ALL cbench-instances initialized.
01:46:25.887 16  switches: flows:  86015 88041 84559 85054 86858 88080 86694 88922 87162 86049 84856 85497 85754 85343 83749 87455  total = 23.001467 per ms 
01:47:25.988 16  switches: flows:  98123 103488 100010 101039 100259 101745 101600 102473 100065 100723 100099 97957 99799 99310 97034 97053  total = 26.635034 per ms 
01:48:26.091 16  switches: flows:  90765 92665 91991 91711 91851 93323 93539 92898 91131 90878 92672 88763 91464 90799 90205 89695  total = 24.364927 per ms 
01:49:26.195 16  switches: flows:  106297 106176 105497 105633 105696 107190 106455 104806 102116 104273 102646 104455 100892 103208 100312 100796  total = 27.727838 per ms 
01:50:26.295 16  switches: flows:  106641 105601 104958 105191 106306 106796 105064 106622 103651 102207 102536 103858 100895 102786 99963 101703  total = 27.700053 per ms 
01:51:26.398 16  switches: flows:  118594 120576 119223 119637 121397 119836 119934 119961 117694 118068 114860 117356 114059 115549 113903 114554  total = 31.367640 per ms 
01:52:26.499 16  switches: flows:  105854 106444 106576 106349 107796 107960 106525 106833 104740 102796 103024 104218 103476 103048 101849 103018  total = 27.961730 per ms 
01:53:26.600 16  switches: flows:  115442 118291 117450 119160 119637 118923 118193 116234 115831 114923 115023 116356 114343 113714 114502 113421  total = 30.972308 per ms 
01:54:26.701 16  switches: flows:  120719 122880 120611 120608 120037 120297 120479 119913 119636 117278 118345 118748 117758 117406 117466 117559  total = 31.775948 per ms 
01:55:26.802 16  switches: flows:  121553 125563 121724 121270 123187 124733 122140 123015 122898 119971 120724 122016 120852 120780 119619 120594  total = 32.456443 per ms 
RESULT: 16 switches 9 tests min/max/avg/stdev = 24364.93/32456.44/28995.77/10007.59 responses/s</msg>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T01:55:26.829319" elapsed="0.001171"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="PASS" start="2026-07-27T01:55:26.831004" elapsed="0.000088"/>
</return>
<status status="PASS" start="2026-07-27T01:55:26.830686" elapsed="0.000509"/>
</branch>
<status status="PASS" start="2026-07-27T01:55:26.830627" elapsed="0.000659"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="NOT RUN" start="2026-07-27T01:55:26.831512" elapsed="0.000030"/>
</return>
<status status="NOT RUN" start="2026-07-27T01:55:26.831427" elapsed="0.000178"/>
</branch>
<status status="NOT RUN" start="2026-07-27T01:55:26.831391" elapsed="0.000262"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-07-27T01:55:26.831728" elapsed="0.000030"/>
</return>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-07-27T01:55:26.836236" elapsed="0.000484"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-07-27T01:55:26.836974" elapsed="0.000315"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-07-27T01:55:26.837477" elapsed="0.000141"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-07-27T01:55:26.832472" elapsed="0.005222"/>
</kw>
<msg time="2026-07-27T01:55:26.837873" level="INFO">${output} = cbench: controller benchmarking tool
   running in mode 'latency'
   connecting to controller at 10.30.170.140:6633 
   faking 16 switches with 1 threads :: 10 tests each; 60000 ms per test
   with 10...</msg>
<var>${output}</var>
<arg>${cbench_system}</arg>
<arg>${cbench_executable} -c ${ODL_SYSTEM_IP} ${cbench_args}</arg>
<arg>prompt_timeout=${test_timeout}</arg>
<arg>return_stdout=False</arg>
<arg>return_stderr=True</arg>
<doc>Reduces the common work of running a command on a remote system to a single higher level
robot keyword, taking care to log in with a public key and. The command given is written and the return value
depends on the passed argument values of return_stdout (default: True) and return_stderr (default: False).
At least one should be True, or the keyword will exit and FAIL. If both are True, the resulting return value
will be a two element list containing both. Otherwise the resulting return value is a string.
No test conditions are checked.</doc>
<status status="PASS" start="2026-07-27T01:45:20.372985" elapsed="606.464930"/>
</kw>
<status status="PASS" start="2026-07-27T01:45:20.372667" elapsed="606.465325"/>
</branch>
<status status="PASS" start="2026-07-27T01:45:20.372342" elapsed="606.465686"/>
</if>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T01:55:26.838502" level="INFO">cbench: controller benchmarking tool
   running in mode 'latency'
   connecting to controller at 10.30.170.140:6633 
   faking 16 switches with 1 threads :: 10 tests each; 60000 ms per test
   with 100 unique source MACs per switch
   learning destination mac addresses before the test
   starting test with 5000 ms delay after features_reply
   ignoring first 1 "warmup" and last 0 "cooldown" loops
   debugging info is off
Master Thread: Creating thread-0! 
Thread-0: All switches initialized. Running at node 10.30.170.140. So far 1 cbench instances have initialized their switches.  Waiting for other cbench-instances
Thread-0: Total switches from ALL cbench-instances initialized.
01:46:25.887 16  switches: flows:  86015 88041 84559 85054 86858 88080 86694 88922 87162 86049 84856 85497 85754 85343 83749 87455  total = 23.001467 per ms 
01:47:25.988 16  switches: flows:  98123 103488 100010 101039 100259 101745 101600 102473 100065 100723 100099 97957 99799 99310 97034 97053  total = 26.635034 per ms 
01:48:26.091 16  switches: flows:  90765 92665 91991 91711 91851 93323 93539 92898 91131 90878 92672 88763 91464 90799 90205 89695  total = 24.364927 per ms 
01:49:26.195 16  switches: flows:  106297 106176 105497 105633 105696 107190 106455 104806 102116 104273 102646 104455 100892 103208 100312 100796  total = 27.727838 per ms 
01:50:26.295 16  switches: flows:  106641 105601 104958 105191 106306 106796 105064 106622 103651 102207 102536 103858 100895 102786 99963 101703  total = 27.700053 per ms 
01:51:26.398 16  switches: flows:  118594 120576 119223 119637 121397 119836 119934 119961 117694 118068 114860 117356 114059 115549 113903 114554  total = 31.367640 per ms 
01:52:26.499 16  switches: flows:  105854 106444 106576 106349 107796 107960 106525 106833 104740 102796 103024 104218 103476 103048 101849 103018  total = 27.961730 per ms 
01:53:26.600 16  switches: flows:  115442 118291 117450 119160 119637 118923 118193 116234 115831 114923 115023 116356 114343 113714 114502 113421  total = 30.972308 per ms 
01:54:26.701 16  switches: flows:  120719 122880 120611 120608 120037 120297 120479 119913 119636 117278 118345 118748 117758 117406 117466 117559  total = 31.775948 per ms 
01:55:26.802 16  switches: flows:  121553 125563 121724 121270 123187 124733 122140 123015 122898 119971 120724 122016 120852 120780 119619 120594  total = 32.456443 per ms 
RESULT: 16 switches 9 tests min/max/avg/stdev = 24364.93/32456.44/28995.77/10007.59 responses/s</msg>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T01:55:26.838181" elapsed="0.000397"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${output}</arg>
<arg>RESULT</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-27T01:55:26.838734" elapsed="0.000377"/>
</kw>
<kw name="Get Lines Containing String" owner="String">
<msg time="2026-07-27T01:55:26.839532" level="INFO">1 out of 23 lines matched.</msg>
<msg time="2026-07-27T01:55:26.839625" level="INFO">${result_line} = RESULT: 16 switches 9 tests min/max/avg/stdev = 24364.93/32456.44/28995.77/10007.59 responses/s</msg>
<var>${result_line}</var>
<arg>${output}</arg>
<arg>RESULT</arg>
<doc>Returns lines of the given ``string`` that contain the ``pattern``.</doc>
<status status="PASS" start="2026-07-27T01:55:26.839297" elapsed="0.000353"/>
</kw>
<kw name="Split String" owner="String">
<msg time="2026-07-27T01:55:26.840064" level="INFO">@{results_list} = [ RESULT: | 16 | switches | 9 | tests | min/max/avg/stdev | = | 24364.93/32456.44/28995.77/10007.59 | responses/s ]</msg>
<var>@{results_list}</var>
<arg>${result_line}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="PASS" start="2026-07-27T01:55:26.839805" elapsed="0.000286"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T01:55:26.842516" level="INFO">min/max/avg/stdev</msg>
<arg>${results_list[5]}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T01:55:26.840246" elapsed="0.002327"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T01:55:26.844959" level="INFO">24364.93/32456.44/28995.77/10007.59</msg>
<arg>${results_list[7]}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T01:55:26.842718" elapsed="0.002300"/>
</kw>
<kw name="Split String" owner="String">
<msg time="2026-07-27T01:55:26.847430" level="INFO">@{result_name_list} = [ min | max | avg | stdev ]</msg>
<var>@{result_name_list}</var>
<arg>${results_list[5]}</arg>
<arg>/</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="PASS" start="2026-07-27T01:55:26.845170" elapsed="0.002290"/>
</kw>
<kw name="Split String" owner="String">
<msg time="2026-07-27T01:55:26.849875" level="INFO">@{result_value_list} = [ 24364.93 | 32456.44 | 28995.77 | 10007.59 ]</msg>
<var>@{result_value_list}</var>
<arg>${results_list[7]}</arg>
<arg>/</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="PASS" start="2026-07-27T01:55:26.847663" elapsed="0.002241"/>
</kw>
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-07-27T01:55:26.850395" level="INFO">Length is 4.</msg>
<msg time="2026-07-27T01:55:26.850486" level="INFO">${num_stats} = 4</msg>
<var>${num_stats}</var>
<arg>${result_name_list}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-07-27T01:55:26.850060" elapsed="0.000450"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T01:55:26.855228" level="INFO">min :: 24364.93</msg>
<arg>${result_name_list[${i}]} :: ${result_value_list[${i}]}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T01:55:26.850928" elapsed="0.004374"/>
</kw>
<var name="${i}">0</var>
<status status="PASS" start="2026-07-27T01:55:26.850795" elapsed="0.004543"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T01:55:26.859834" level="INFO">max :: 32456.44</msg>
<arg>${result_name_list[${i}]} :: ${result_value_list[${i}]}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T01:55:26.855567" elapsed="0.004325"/>
</kw>
<var name="${i}">1</var>
<status status="PASS" start="2026-07-27T01:55:26.855437" elapsed="0.004490"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T01:55:26.864574" level="INFO">avg :: 28995.77</msg>
<arg>${result_name_list[${i}]} :: ${result_value_list[${i}]}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T01:55:26.860145" elapsed="0.004487"/>
</kw>
<var name="${i}">2</var>
<status status="PASS" start="2026-07-27T01:55:26.860016" elapsed="0.004651"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T01:55:26.869302" level="INFO">stdev :: 10007.59</msg>
<arg>${result_name_list[${i}]} :: ${result_value_list[${i}]}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T01:55:26.864906" elapsed="0.004454"/>
</kw>
<var name="${i}">3</var>
<status status="PASS" start="2026-07-27T01:55:26.864758" elapsed="0.004637"/>
</iter>
<var>${i}</var>
<value>0</value>
<value>${num_stats}</value>
<status status="PASS" start="2026-07-27T01:55:26.850583" elapsed="0.018845"/>
</for>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-07-27T01:55:26.873634" level="INFO">${min} = 24364.93</msg>
<var>${min}</var>
<arg>${result_value_list[${0}]}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-07-27T01:55:26.869600" elapsed="0.004069"/>
</kw>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-07-27T01:55:26.877763" level="INFO">${max} = 32456.44</msg>
<var>${max}</var>
<arg>${result_value_list[${1}]}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-07-27T01:55:26.873828" elapsed="0.003963"/>
</kw>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-07-27T01:55:26.881669" level="INFO">${average} = 28995.77</msg>
<var>${average}</var>
<arg>${result_value_list[${2}]}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-07-27T01:55:26.877945" elapsed="0.003751"/>
</kw>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-07-27T01:55:26.885598" level="INFO">${stdev} = 10007.59</msg>
<var>${stdev}</var>
<arg>${result_value_list[${3}]}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-07-27T01:55:26.881856" elapsed="0.003769"/>
</kw>
<kw name="Get Time" owner="BuiltIn">
<msg time="2026-07-27T01:55:26.886175" level="INFO">${date} = 2026-07-27 01:55:26</msg>
<var>${date}</var>
<arg>d,m,s</arg>
<doc>Returns the given time in the requested format.</doc>
<status status="PASS" start="2026-07-27T01:55:26.885790" elapsed="0.000411"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T01:55:26.886774" level="INFO">CBench Result: 2026-07-27 01:55:26,-m 60000 -M 100 -S 16 -l 10 -D 5000 -p 6633,24364.93,32456.44,28995.77,10007.59</msg>
<arg>CBench Result: ${date},${cbench_args},${min},${max},${average},${stdev}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T01:55:26.886365" elapsed="0.000484"/>
</kw>
<kw name="Log Results And Determine Status">
<kw name="Append To File" owner="OperatingSystem">
<msg time="2026-07-27T01:55:26.887938" level="INFO" html="true">Appended to file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-cbench-only-titanium/latency.csv"&gt;/w/workspace/openflowplugin-csit-1node-cbench-only-titanium/latency.csv&lt;/a&gt;'.</msg>
<arg>${output_file}</arg>
<arg>${min},${max},${average}\n</arg>
<doc>Appends the given content to the specified file.</doc>
<status status="PASS" start="2026-07-27T01:55:26.887508" elapsed="0.000499"/>
</kw>
<kw name="Should Be True" owner="BuiltIn">
<arg>${average} &gt; ${threshold}</arg>
<arg>${average} flow_mods per/sec did not exceed threshold of ${threshold}</arg>
<doc>Fails if the given condition is not true.</doc>
<status status="PASS" start="2026-07-27T01:55:26.888159" elapsed="0.000482"/>
</kw>
<arg>${min}</arg>
<arg>${max}</arg>
<arg>${average}</arg>
<arg>${average_threshold}</arg>
<arg>${output_filename}</arg>
<status status="PASS" start="2026-07-27T01:55:26.887004" elapsed="0.001704"/>
</kw>
<arg>-m ${duration_in_ms} -M ${num_of_unique_macs} -S ${switch_count} -l ${loops} -D ${start_delay} -p ${of_port}</arg>
<arg>${latency_threshold}</arg>
<arg>${latency_results_file}</arg>
<status status="PASS" start="2026-07-27T01:45:20.371238" elapsed="606.517532"/>
</kw>
<kw name="Sleep" owner="BuiltIn">
<msg time="2026-07-27T01:55:26.889294" level="INFO">Slept 0 seconds.</msg>
<arg>${test_delay}</arg>
<doc>Pauses the test executed for the given time.</doc>
<status status="PASS" start="2026-07-27T01:55:26.888952" elapsed="0.000402"/>
</kw>
<kw name="Log Results As Zero If Cbench Timed Out" type="TEARDOWN">
<kw name="Run Keyword If Timeout Occurred" owner="BuiltIn">
<arg>Log Results And Determine Status</arg>
<arg>0</arg>
<arg>0</arg>
<arg>0</arg>
<arg>0</arg>
<arg>${output_filename}</arg>
<doc>Runs the given keyword if either a test or a keyword timeout has occurred.</doc>
<status status="PASS" start="2026-07-27T01:55:26.889880" elapsed="0.000275"/>
</kw>
<status status="PASS" start="2026-07-27T01:55:26.889573" elapsed="0.000652"/>
</kw>
<doc>cbench executed in default latency mode. Test parameters have defaults, but can be overridden
on the pybot command line</doc>
<tag>cbench</tag>
<tag>latency</tag>
<timeout value="15 minutes"/>
<status status="PASS" start="2026-07-27T01:45:20.368759" elapsed="606.521520"/>
</test>
<test id="s1-t2" name="Cbench Throughput Test" line="51">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T01:55:26.891581" level="INFO">Cbench tests using 10 iterations of 60 second tests. Switch Count: 16. Unique MACS to cycle: 100</msg>
<arg>Cbench tests using ${loops} iterations of ${duration_in_secs} second tests. Switch Count: ${switch_count}. Unique MACS to cycle: ${num_of_unique_macs}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T01:55:26.891175" elapsed="0.000463"/>
</kw>
<kw name="Run Cbench And Log Results">
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-07-27T01:55:26.892935" level="INFO">${output_filename} = throughput.csv</msg>
<arg>${output_filename}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-07-27T01:55:26.892569" elapsed="0.000411"/>
</kw>
<if>
<branch type="IF" condition="&quot;${cbench_system}&quot; == &quot;localhost&quot;">
<kw name="Run" owner="OperatingSystem">
<var>${output}</var>
<arg>${cbench_executable} -c ${ODL_SYSTEM_IP} ${cbench_args}</arg>
<doc>_This keyword is considered deprecated. Use the
[http://robotframework.org/robotframework/latest/libraries/Process.html|
Process] library instead._</doc>
<status status="NOT RUN" start="2026-07-27T01:55:26.893336" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-07-27T01:55:26.893096" elapsed="0.000300"/>
</branch>
<branch type="ELSE">
<kw name="Run Command On Remote System" owner="Utils">
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot; and &quot;${return_stderr}&quot;!=&quot;True&quot;">
<kw name="Fail" owner="BuiltIn">
<arg>At least one of {return_stdout} or {return_stderr} args should be set to True</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="NOT RUN" start="2026-07-27T01:55:26.896273" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-07-27T01:55:26.896010" elapsed="0.000320"/>
</branch>
<status status="PASS" start="2026-07-27T01:55:26.895984" elapsed="0.000370"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-07-27T01:55:26.896694" level="INFO">index=None
host=None
alias=None
port=22
timeout=3 seconds
newline=

prompt=None
term_type=vt100
width=80
height=24
path_separator=/
encoding=utf8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-07-27T01:55:26.896816" level="INFO">${current_ssh_connection} = index=None
host=None
alias=None
port=22
timeout=3 seconds
newline=

prompt=None
term_type=vt100
width=80
height=24
path_separator=/
encoding=utf8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_ssh_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-07-27T01:55:26.896487" elapsed="0.000371"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T01:55:26.897638" level="INFO">Attempting to execute command "/usr/local/bin/cbench -c 10.30.170.140 -t -m 60000 -M 100 -S 16 -l 10 -D 5000 -p 6633" on remote system "10.30.170.80" by user "jenkins" with keyfile pass "any" and prompt "&gt;" and password ""</msg>
<arg>Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" and password "${password}"</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T01:55:26.897003" elapsed="0.000694"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-07-27T01:55:26.898265" level="INFO">${conn_id} = 7</msg>
<var>${conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${prompt_timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-07-27T01:55:26.897837" elapsed="0.000456"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-07-27T01:55:26.899228" level="INFO">Length is 0.</msg>
<msg time="2026-07-27T01:55:26.899340" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-07-27T01:55:26.898864" elapsed="0.000501"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-07-27T01:55:26.899504" elapsed="0.000319"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-07-27T01:55:26.900698" level="INFO">Logging into '10.30.170.80:22' as 'jenkins'.</msg>
<msg time="2026-07-27T01:55:27.488123" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-153-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon Jul 27 01:55:27 UTC 2026

  System load:  1.0                Processes:             104
  Usage of /:   19.3% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.170.80
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

9 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon Jul 27 01:45:20 2026 from 10.30.170.160
[?2004h[jenkins@releng-48317-792-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-07-27T01:55:26.900343" elapsed="0.588001"/>
</kw>
<msg time="2026-07-27T01:55:27.488435" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-07-27T01:55:26.899973" elapsed="0.588558"/>
</kw>
<arg>${user}</arg>
<arg>${password}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-07-27T01:55:26.898494" elapsed="0.590161"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-27T01:55:27.489263" level="INFO">Executing command '/usr/local/bin/cbench -c 10.30.170.140 -t -m 60000 -M 100 -S 16 -l 10 -D 5000 -p 6633'.</msg>
<msg time="2026-07-27T02:01:38.454312" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-07-27T02:01:38.454876" level="INFO">${stdout} = </msg>
<msg time="2026-07-27T02:01:38.454982" level="INFO">${stderr} = cbench: controller benchmarking tool
   running in mode 'throughput'
   connecting to controller at 10.30.170.140:6633 
   faking 16 switches with 1 threads :: 10 tests each; 60000 ms per test
   with...</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<arg>${cmd}</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-07-27T01:55:27.488902" elapsed="370.966138"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-07-27T02:01:38.455518" elapsed="0.000691"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T02:01:38.457384" level="INFO">cbench: controller benchmarking tool
   running in mode 'throughput'
   connecting to controller at 10.30.170.140:6633 
   faking 16 switches with 1 threads :: 10 tests each; 60000 ms per test
   with 100 unique source MACs per switch
   learning destination mac addresses before the test
   starting test with 5000 ms delay after features_reply
   ignoring first 1 "warmup" and last 0 "cooldown" loops
   debugging info is off
Master Thread: Creating thread-0! 
Thread-0: All switches initialized. Running at node 10.30.170.140. So far 1 cbench instances have initialized their switches.  Waiting for other cbench-instances
Thread-0: Total switches from ALL cbench-instances initialized.
01:56:32.610 16  switches: flows:  510915 493328 503705 496837 486580 511026 496793 508404 472126 465183 489735 455830 494707 462388 493696 490162  total = 130.523583 per ms 
01:57:34.519 16  switches: flows:  437503 444592 435447 434325 434174 443704 442437 437429 439795 430827 434629 441330 446533 432504 438357 430498  total = 113.135007 per ms 
01:58:34.621 16  switches: flows:  485644 493387 483532 481321 483533 480690 488999 477237 484348 445314 477363 480872 476461 477808 475984 481221  total = 127.678816 per ms 
01:59:34.723 16  switches: flows:  500674 501603 496744 508727 507934 501333 502827 498667 507450 499327 503839 498802 503840 507576 495643 508214  total = 133.827339 per ms 
02:00:34.824 16  switches: flows:  487681 482583 487676 491029 483388 483043 476318 482590 497130 483545 489606 454956 491154 488253 494447 489498  total = 129.164119 per ms 
02:01:34.965 16  switches: flows:  461028 461987 461230 388520 460957 461473 461648 459432 469881 460859 467220 462449 458908 462168 457264 455330  total = 121.554854 per ms 
controller msgbuf_read() = 0:   closed connection ... exiting</msg>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T02:01:38.456608" elapsed="0.001070"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="PASS" start="2026-07-27T02:01:38.458150" elapsed="0.000070"/>
</return>
<status status="PASS" start="2026-07-27T02:01:38.457852" elapsed="0.000493"/>
</branch>
<status status="PASS" start="2026-07-27T02:01:38.457802" elapsed="0.000601"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="NOT RUN" start="2026-07-27T02:01:38.458611" elapsed="0.000028"/>
</return>
<status status="NOT RUN" start="2026-07-27T02:01:38.458530" elapsed="0.000169"/>
</branch>
<status status="NOT RUN" start="2026-07-27T02:01:38.458495" elapsed="0.000251"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-07-27T02:01:38.458813" elapsed="0.000029"/>
</return>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-07-27T02:01:38.464458" elapsed="0.000542"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-07-27T02:01:38.465147" elapsed="0.000184"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-07-27T02:01:38.465459" elapsed="0.000102"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-07-27T02:01:38.459525" elapsed="0.006090"/>
</kw>
<msg time="2026-07-27T02:01:38.465743" level="INFO">${output} = cbench: controller benchmarking tool
   running in mode 'throughput'
   connecting to controller at 10.30.170.140:6633 
   faking 16 switches with 1 threads :: 10 tests each; 60000 ms per test
   with...</msg>
<var>${output}</var>
<arg>${cbench_system}</arg>
<arg>${cbench_executable} -c ${ODL_SYSTEM_IP} ${cbench_args}</arg>
<arg>prompt_timeout=${test_timeout}</arg>
<arg>return_stdout=False</arg>
<arg>return_stderr=True</arg>
<doc>Reduces the common work of running a command on a remote system to a single higher level
robot keyword, taking care to log in with a public key and. The command given is written and the return value
depends on the passed argument values of return_stdout (default: True) and return_stderr (default: False).
At least one should be True, or the keyword will exit and FAIL. If both are True, the resulting return value
will be a two element list containing both. Otherwise the resulting return value is a string.
No test conditions are checked.</doc>
<status status="PASS" start="2026-07-27T01:55:26.893733" elapsed="371.572036"/>
</kw>
<status status="PASS" start="2026-07-27T01:55:26.893422" elapsed="371.572395"/>
</branch>
<status status="PASS" start="2026-07-27T01:55:26.893074" elapsed="371.572766"/>
</if>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T02:01:38.466284" level="INFO">cbench: controller benchmarking tool
   running in mode 'throughput'
   connecting to controller at 10.30.170.140:6633 
   faking 16 switches with 1 threads :: 10 tests each; 60000 ms per test
   with 100 unique source MACs per switch
   learning destination mac addresses before the test
   starting test with 5000 ms delay after features_reply
   ignoring first 1 "warmup" and last 0 "cooldown" loops
   debugging info is off
Master Thread: Creating thread-0! 
Thread-0: All switches initialized. Running at node 10.30.170.140. So far 1 cbench instances have initialized their switches.  Waiting for other cbench-instances
Thread-0: Total switches from ALL cbench-instances initialized.
01:56:32.610 16  switches: flows:  510915 493328 503705 496837 486580 511026 496793 508404 472126 465183 489735 455830 494707 462388 493696 490162  total = 130.523583 per ms 
01:57:34.519 16  switches: flows:  437503 444592 435447 434325 434174 443704 442437 437429 439795 430827 434629 441330 446533 432504 438357 430498  total = 113.135007 per ms 
01:58:34.621 16  switches: flows:  485644 493387 483532 481321 483533 480690 488999 477237 484348 445314 477363 480872 476461 477808 475984 481221  total = 127.678816 per ms 
01:59:34.723 16  switches: flows:  500674 501603 496744 508727 507934 501333 502827 498667 507450 499327 503839 498802 503840 507576 495643 508214  total = 133.827339 per ms 
02:00:34.824 16  switches: flows:  487681 482583 487676 491029 483388 483043 476318 482590 497130 483545 489606 454956 491154 488253 494447 489498  total = 129.164119 per ms 
02:01:34.965 16  switches: flows:  461028 461987 461230 388520 460957 461473 461648 459432 469881 460859 467220 462449 458908 462168 457264 455330  total = 121.554854 per ms 
controller msgbuf_read() = 0:   closed connection ... exiting</msg>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T02:01:38.465979" elapsed="0.000377"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-27T02:01:38.466957" level="FAIL">'cbench: controller benchmarking tool
   running in mode 'throughput'
   connecting to controller at 10.30.170.140:6633 
   faking 16 switches with 1 threads :: 10 tests each; 60000 ms per test
   with 100 unique source MACs per switch
   learning destination mac addresses before the test
   starting test with 5000 ms delay after features_reply
   ignoring first 1 "warmup" and last 0 "cooldown" loops
   debugging info is off
Master Thread: Creating thread-0! 
Thread-0: All switches initialized. Running at node 10.30.170.140. So far 1 cbench instances have initialized their switches.  Waiting for other cbench-instances
Thread-0: Total switches from ALL cbench-instances initialized.
01:56:32.610 16  switches: flows:  510915 493328 503705 496837 486580 511026 496793 508404 472126 465183 489735 455830 494707 462388 493696 490162  total = 130.523583 per ms 
01:57:34.519 16  switches: flows:  437503 444592 435447 434325 434174 443704 442437 437429 439795 430827 434629 441330 446533 432504 438357 430498  total = 113.135007 per ms 
01:58:34.621 16  switches: flows:  485644 493387 483532 481321 483533 480690 488999 477237 484348 445314 477363 480872 476461 477808 475984 481221  total = 127.678816 per ms 
01:59:34.723 16  switches: flows:  500674 501603 496744 508727 507934 501333 502827 498667 507450 499327 503839 498802 503840 507576 495643 508214  total = 133.827339 per ms 
02:00:34.824 16  switches: flows:  487681 482583 487676 491029 483388 483043 476318 482590 497130 483545 489606 454956 491154 488253 494447 489498  total = 129.164119 per ms 
02:01:34.965 16  switches: flows:  461028 461987 461230 388520 460957 461473 461648 459432 469881 460859 467220 462449 458908 462168 457264 455330  total = 121.554854 per ms 
controller msgbuf_read() = 0:   closed connection ... exiting' does not contain 'RESULT'</msg>
<arg>${output}</arg>
<arg>RESULT</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-27T02:01:38.466508" elapsed="0.000636">'cbench: controller benchmarking tool
   running in mode 'throughput'
   connecting to controller at 10.30.170.140:6633 
   faking 16 switches with 1 threads :: 10 tests each; 60000 ms per test
   with 100 unique source MACs per switch
   learning destination mac addresses before the test
   starting test with 5000 ms delay after features_reply
   ignoring first 1 "warmup" and last 0 "cooldown" loops
   debugging info is off
Master Thread: Creating thread-0! 
Thread-0: All switches initialized. Running at node 10.30.170.140. So far 1 cbench instances have initialized their switches.  Waiting for other cbench-instances
Thread-0: Total switches from ALL cbench-instances initialized.
01:56:32.610 16  switches: flows:  510915 493328 503705 496837 486580 511026 496793 508404 472126 465183 489735 455830 494707 462388 493696 490162  total = 130.523583 per ms 
01:57:34.519 16  switches: flows:  437503 444592 435447 434325 434174 443704 442437 437429 439795 430827 434629 441330 446533 432504 438357 430498  total = 113.135007 per ms 
01:58:34.621 16  switches: flows:  485644 493387 483532 481321 483533 480690 488999 477237 484348 445314 477363 480872 476461 477808 475984 481221  total = 127.678816 per ms 
01:59:34.723 16  switches: flows:  500674 501603 496744 508727 507934 501333 502827 498667 507450 499327 503839 498802 503840 507576 495643 508214  total = 133.827339 per ms 
02:00:34.824 16  switches: flows:  487681 482583 487676 491029 483388 483043 476318 482590 497130 483545 489606 454956 491154 488253 494447 489498  total = 129.164119 per ms 
02:01:34.965 16  switches: flows:  461028 461987 461230 388520 460957 461473 461648 459432 469881 460859 467220 462449 458908 462168 457264 455330  total = 121.554854 per ms 
controller msgbuf_read() = 0:   closed connection ... exiting' does not contain 'RESULT'</status>
</kw>
<kw name="Get Lines Containing String" owner="String">
<var>${result_line}</var>
<arg>${output}</arg>
<arg>RESULT</arg>
<doc>Returns lines of the given ``string`` that contain the ``pattern``.</doc>
<status status="NOT RUN" start="2026-07-27T02:01:38.467374" elapsed="0.000023"/>
</kw>
<kw name="Split String" owner="String">
<var>@{results_list}</var>
<arg>${result_line}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-07-27T02:01:38.467542" elapsed="0.000020"/>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${results_list[5]}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-07-27T02:01:38.467697" elapsed="0.000020"/>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${results_list[7]}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-07-27T02:01:38.467848" elapsed="0.000035"/>
</kw>
<kw name="Split String" owner="String">
<var>@{result_name_list}</var>
<arg>${results_list[5]}</arg>
<arg>/</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-07-27T02:01:38.468054" elapsed="0.000023"/>
</kw>
<kw name="Split String" owner="String">
<var>@{result_value_list}</var>
<arg>${results_list[7]}</arg>
<arg>/</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-07-27T02:01:38.468220" elapsed="0.000020"/>
</kw>
<kw name="Get Length" owner="BuiltIn">
<var>${num_stats}</var>
<arg>${result_name_list}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="NOT RUN" start="2026-07-27T02:01:38.468397" elapsed="0.000020"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Log" owner="BuiltIn">
<arg>${result_name_list[${i}]} :: ${result_value_list[${i}]}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-07-27T02:01:38.468677" elapsed="0.000019"/>
</kw>
<var name="${i}"/>
<status status="NOT RUN" start="2026-07-27T02:01:38.468554" elapsed="0.000174"/>
</iter>
<var>${i}</var>
<value>0</value>
<value>${num_stats}</value>
<status status="NOT RUN" start="2026-07-27T02:01:38.468476" elapsed="0.000281"/>
</for>
<kw name="Set Variable" owner="BuiltIn">
<var>${min}</var>
<arg>${result_value_list[${0}]}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-07-27T02:01:38.468903" elapsed="0.000019"/>
</kw>
<kw name="Set Variable" owner="BuiltIn">
<var>${max}</var>
<arg>${result_value_list[${1}]}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-07-27T02:01:38.469060" elapsed="0.000019"/>
</kw>
<kw name="Set Variable" owner="BuiltIn">
<var>${average}</var>
<arg>${result_value_list[${2}]}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-07-27T02:01:38.469215" elapsed="0.000020"/>
</kw>
<kw name="Set Variable" owner="BuiltIn">
<var>${stdev}</var>
<arg>${result_value_list[${3}]}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-07-27T02:01:38.469388" elapsed="0.000019"/>
</kw>
<kw name="Get Time" owner="BuiltIn">
<var>${date}</var>
<arg>d,m,s</arg>
<doc>Returns the given time in the requested format.</doc>
<status status="NOT RUN" start="2026-07-27T02:01:38.469552" elapsed="0.000020"/>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>CBench Result: ${date},${cbench_args},${min},${max},${average},${stdev}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-07-27T02:01:38.469708" elapsed="0.000021"/>
</kw>
<kw name="Log Results And Determine Status">
<arg>${min}</arg>
<arg>${max}</arg>
<arg>${average}</arg>
<arg>${average_threshold}</arg>
<arg>${output_filename}</arg>
<status status="NOT RUN" start="2026-07-27T02:01:38.469858" elapsed="0.000022"/>
</kw>
<arg>-t -m ${duration_in_ms} -M ${num_of_unique_macs} -S ${switch_count} -l ${loops} -D ${start_delay} -p ${of_port}</arg>
<arg>${throughput_threshold}</arg>
<arg>${throughput_results_file}</arg>
<status status="FAIL" start="2026-07-27T01:55:26.891964" elapsed="371.578049">'cbench: controller benchmarking tool
   running in mode 'throughput'
   connecting to controller at 10.30.170.140:6633 
   faking 16 switches with 1 threads :: 10 tests each; 60000 ms per test
   with 100 unique source MACs per switch
   learning destination mac addresses before the test
   starting test with 5000 ms delay after features_reply
   ignoring first 1 "warmup" and last 0 "cooldown" loops
   debugging info is off
Master Thread: Creating thread-0! 
Thread-0: All switches initialized. Running at node 10.30.170.140. So far 1 cbench instances have initialized their switches.  Waiting for other cbench-instances
Thread-0: Total switches from ALL cbench-instances initialized.
01:56:32.610 16  switches: flows:  510915 493328 503705 496837 486580 511026 496793 508404 472126 465183 489735 455830 494707 462388 493696 490162  total = 130.523583 per ms 
01:57:34.519 16  switches: flows:  437503 444592 435447 434325 434174 443704 442437 437429 439795 430827 434629 441330 446533 432504 438357 430498  total = 113.135007 per ms 
01:58:34.621 16  switches: flows:  485644 493387 483532 481321 483533 480690 488999 477237 484348 445314 477363 480872 476461 477808 475984 481221  total = 127.678816 per ms 
01:59:34.723 16  switches: flows:  500674 501603 496744 508727 507934 501333 502827 498667 507450 499327 503839 498802 503840 507576 495643 508214  total = 133.827339 per ms 
02:00:34.824 16  switches: flows:  487681 482583 487676 491029 483388 483043 476318 482590 497130 483545 489606 454956 491154 488253 494447 489498  total = 129.164119 per ms 
02:01:34.965 16  switches: flows:  461028 461987 461230 388520 460957 461473 461648 459432 469881 460859 467220 462449 458908 462168 457264 455330  total = 121.554854 per ms 
controller msgbuf_read() = 0:   closed connection ... exiting' does not contain 'RESULT'</status>
</kw>
<kw name="Sleep" owner="BuiltIn">
<arg>${test_delay}</arg>
<doc>Pauses the test executed for the given time.</doc>
<status status="NOT RUN" start="2026-07-27T02:01:38.470178" elapsed="0.000021"/>
</kw>
<kw name="Log Results As Zero If Cbench Timed Out" type="TEARDOWN">
<kw name="Run Keyword If Timeout Occurred" owner="BuiltIn">
<arg>Log Results And Determine Status</arg>
<arg>0</arg>
<arg>0</arg>
<arg>0</arg>
<arg>0</arg>
<arg>${output_filename}</arg>
<doc>Runs the given keyword if either a test or a keyword timeout has occurred.</doc>
<status status="PASS" start="2026-07-27T02:01:38.470758" elapsed="0.000263"/>
</kw>
<status status="PASS" start="2026-07-27T02:01:38.470461" elapsed="0.000631"/>
</kw>
<doc>cbench executed in throughput mode (-t). Test parameters have defaults, but can be overridden
on the pybot command line</doc>
<tag>cbench</tag>
<tag>throughput</tag>
<timeout value="15 minutes"/>
<status status="FAIL" start="2026-07-27T01:55:26.890589" elapsed="371.580540">'cbench: controller benchmarking tool
   running in mode 'throughput'
   connecting to controller at 10.30.170.140:6633 
   faking 16 switches with 1 threads :: 10 tests each; 60000 ms per test
   with 100 unique source MACs per switch
   learning destination mac addresses before the test
   starting test with 5000 ms delay after features_reply
   ignoring first 1 "warmup" and last 0 "cooldown" loops
   debugging info is off
Master Thread: Creating thread-0! 
Thread-0: All switches initialized. Running at node 10.30.170.140. So far 1 cbench instances have initialized their switches.  Waiting for other cbench-instances
Thread-0: Total switches from ALL cbench-instances initialized.
01:56:32.610 16  switches: flows:  510915 493328 503705 496837 486580 511026 496793 508404 472126 465183 489735 455830 494707 462388 493696 490162  total = 130.523583 per ms 
01:57:34.519 16  switches: flows:  437503 444592 435447 434325 434174 443704 442437 437429 439795 430827 434629 441330 446533 432504 438357 430498  total = 113.135007 per ms 
01:58:34.621 16  switches: flows:  485644 493387 483532 481321 483533 480690 488999 477237 484348 445314 477363 480872 476461 477808 475984 481221  total = 127.678816 per ms 
01:59:34.723 16  switches: flows:  500674 501603 496744 508727 507934 501333 502827 498667 507450 499327 503839 498802 503840 507576 495643 508214  total = 133.827339 per ms 
02:00:34.824 16  switches: flows:  487681 482583 487676 491029 483388 483043 476318 482590 497130 483545 489606 454956 491154 488253 494447 489498  total = 129.164119 per ms 
02:01:34.965 16  switches: flows:  461028 461987 461230 388520 460957 461473 461648 459432 469881 460859 467220 462449 458908 462168 457264 455330  total = 121.554854 per ms 
controller msgbuf_read() = 0:   closed connection ... exiting' does not contain 'RESULT'</status>
</test>
<test id="s1-t3" name="Rerun Latency Test To Check Bug 6176" line="65">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T02:01:38.472526" level="INFO">Cbench tests using 10 iterations of 60 second tests. Switch Count: 16. Unique MACS to cycle: 100</msg>
<arg>Cbench tests using ${loops} iterations of ${duration_in_secs} second tests. Switch Count: ${switch_count}. Unique MACS to cycle: ${num_of_unique_macs}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T02:01:38.472123" elapsed="0.000462"/>
</kw>
<kw name="Run Cbench And Log Results">
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-07-27T02:01:38.474038" level="INFO">${output_filename} = bug.csv</msg>
<arg>${output_filename}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-07-27T02:01:38.473450" elapsed="0.000633"/>
</kw>
<if>
<branch type="IF" condition="&quot;${cbench_system}&quot; == &quot;localhost&quot;">
<kw name="Run" owner="OperatingSystem">
<var>${output}</var>
<arg>${cbench_executable} -c ${ODL_SYSTEM_IP} ${cbench_args}</arg>
<doc>_This keyword is considered deprecated. Use the
[http://robotframework.org/robotframework/latest/libraries/Process.html|
Process] library instead._</doc>
<status status="NOT RUN" start="2026-07-27T02:01:38.474380" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-07-27T02:01:38.474152" elapsed="0.000287"/>
</branch>
<branch type="ELSE">
<kw name="Run Command On Remote System" owner="Utils">
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot; and &quot;${return_stderr}&quot;!=&quot;True&quot;">
<kw name="Fail" owner="BuiltIn">
<arg>At least one of {return_stdout} or {return_stderr} args should be set to True</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="NOT RUN" start="2026-07-27T02:01:38.477433" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-07-27T02:01:38.477170" elapsed="0.000319"/>
</branch>
<status status="PASS" start="2026-07-27T02:01:38.477150" elapsed="0.000363"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-07-27T02:01:38.477819" level="INFO">index=None
host=None
alias=None
port=22
timeout=3 seconds
newline=

prompt=None
term_type=vt100
width=80
height=24
path_separator=/
encoding=utf8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-07-27T02:01:38.477937" level="INFO">${current_ssh_connection} = index=None
host=None
alias=None
port=22
timeout=3 seconds
newline=

prompt=None
term_type=vt100
width=80
height=24
path_separator=/
encoding=utf8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_ssh_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-07-27T02:01:38.477643" elapsed="0.000322"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T02:01:38.478532" level="INFO">Attempting to execute command "/usr/local/bin/cbench -c 10.30.170.140 -m 60000 -M 100 -S 16 -l 10 -D 5000 -p 6633" on remote system "10.30.170.80" by user "jenkins" with keyfile pass "any" and prompt "&gt;" and password ""</msg>
<arg>Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" and password "${password}"</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T02:01:38.478098" elapsed="0.000493"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-07-27T02:01:38.479123" level="INFO">${conn_id} = 9</msg>
<var>${conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${prompt_timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-07-27T02:01:38.478731" elapsed="0.000419"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-07-27T02:01:38.480067" level="INFO">Length is 0.</msg>
<msg time="2026-07-27T02:01:38.480157" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-07-27T02:01:38.479736" elapsed="0.000446"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-07-27T02:01:38.480334" elapsed="0.000321"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-07-27T02:01:38.481515" level="INFO">Logging into '10.30.170.80:22' as 'jenkins'.</msg>
<msg time="2026-07-27T02:01:39.057736" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-153-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon Jul 27 02:01:38 UTC 2026

  System load:  0.27               Processes:             108
  Usage of /:   19.3% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.170.80
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

9 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon Jul 27 01:55:27 2026 from 10.30.170.160
[?2004h[jenkins@releng-48317-792-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-07-27T02:01:38.481145" elapsed="0.576714"/>
</kw>
<msg time="2026-07-27T02:01:39.057921" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-07-27T02:01:38.480803" elapsed="0.577179"/>
</kw>
<arg>${user}</arg>
<arg>${password}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-07-27T02:01:38.479364" elapsed="0.578709"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-27T02:01:39.058483" level="INFO">Executing command '/usr/local/bin/cbench -c 10.30.170.140 -m 60000 -M 100 -S 16 -l 10 -D 5000 -p 6633'.</msg>
<msg time="2026-07-27T02:11:45.091574" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-27T02:11:45.092227" level="INFO">${stdout} = </msg>
<msg time="2026-07-27T02:11:45.092369" level="INFO">${stderr} = cbench: controller benchmarking tool
   running in mode 'latency'
   connecting to controller at 10.30.170.140:6633 
   faking 16 switches with 1 threads :: 10 tests each; 60000 ms per test
   with 10...</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<arg>${cmd}</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-07-27T02:01:39.058236" elapsed="606.034195"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-07-27T02:11:45.092942" elapsed="0.000766"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T02:11:45.094970" level="INFO">cbench: controller benchmarking tool
   running in mode 'latency'
   connecting to controller at 10.30.170.140:6633 
   faking 16 switches with 1 threads :: 10 tests each; 60000 ms per test
   with 100 unique source MACs per switch
   learning destination mac addresses before the test
   starting test with 5000 ms delay after features_reply
   ignoring first 1 "warmup" and last 0 "cooldown" loops
   debugging info is off
Master Thread: Creating thread-0! 
Thread-0: All switches initialized. Running at node 10.30.170.140. So far 1 cbench instances have initialized their switches.  Waiting for other cbench-instances
Thread-0: Total switches from ALL cbench-instances initialized.
02:02:44.186 16  switches: flows:  110863 115901 120961 110724 109918 120480 110998 110244 109530 107626 107686 108947 109049 122741 109391 114554  total = 29.993550 per ms 
02:03:44.286 16  switches: flows:  109853 113938 110969 112366 109940 110379 110997 110921 110919 108639 109767 111147 108950 110598 109817 112146  total = 29.473188 per ms 
02:04:44.387 16  switches: flows:  110307 112453 109496 113663 110839 109315 111845 109455 107539 109216 108930 109592 110189 109062 109383 110296  total = 29.310652 per ms 
02:05:44.487 16  switches: flows:  110651 114130 109063 112732 111788 110074 110567 111728 107221 107683 110817 108072 109799 106276 107642 111105  total = 29.273478 per ms 
02:06:44.588 16  switches: flows:  117854 120177 119781 121173 121465 118875 120016 120350 117700 118455 118963 120077 117018 117170 117814 119861  total = 31.726206 per ms 
02:07:44.688 16  switches: flows:  87773 88656 88885 90204 91152 88304 89147 88763 88579 86765 88482 89496 88244 87999 87718 89619  total = 23.623650 per ms 
02:08:44.790 16  switches: flows:  109113 115110 112488 115086 112210 112373 113432 112542 112577 109873 111320 110553 109708 111387 110959 113338  total = 29.817156 per ms 
02:09:44.890 16  switches: flows:  103735 103973 102205 105679 103520 105996 101277 101144 100505 103683 100201 104708 96927 104077 102385 101621  total = 27.315020 per ms 
02:10:44.990 16  switches: flows:  113467 114762 113656 116624 114273 113966 113314 112885 112185 110725 113983 112841 112529 113866 113104 114072  total = 30.220383 per ms 
02:11:45.091 16  switches: flows:  118506 121599 118067 122421 120086 119246 119423 119625 117237 116931 119674 118500 117817 119658 119331 120855  total = 31.763261 per ms 
RESULT: 16 switches 9 tests min/max/avg/stdev = 23623.65/31763.26/29169.22/9999.72 responses/s</msg>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T02:11:45.094125" elapsed="0.001213"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="PASS" start="2026-07-27T02:11:45.095828" elapsed="0.000071"/>
</return>
<status status="PASS" start="2026-07-27T02:11:45.095525" elapsed="0.000470"/>
</branch>
<status status="PASS" start="2026-07-27T02:11:45.095471" elapsed="0.000583"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="NOT RUN" start="2026-07-27T02:11:45.096300" elapsed="0.000032"/>
</return>
<status status="NOT RUN" start="2026-07-27T02:11:45.096183" elapsed="0.000213"/>
</branch>
<status status="NOT RUN" start="2026-07-27T02:11:45.096148" elapsed="0.000296"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-07-27T02:11:45.096515" elapsed="0.000031"/>
</return>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-07-27T02:11:45.101428" elapsed="0.000455"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-07-27T02:11:45.102128" elapsed="0.000296"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-07-27T02:11:45.102630" elapsed="0.000139"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-07-27T02:11:45.097230" elapsed="0.005616"/>
</kw>
<msg time="2026-07-27T02:11:45.103024" level="INFO">${output} = cbench: controller benchmarking tool
   running in mode 'latency'
   connecting to controller at 10.30.170.140:6633 
   faking 16 switches with 1 threads :: 10 tests each; 60000 ms per test
   with 10...</msg>
<var>${output}</var>
<arg>${cbench_system}</arg>
<arg>${cbench_executable} -c ${ODL_SYSTEM_IP} ${cbench_args}</arg>
<arg>prompt_timeout=${test_timeout}</arg>
<arg>return_stdout=False</arg>
<arg>return_stderr=True</arg>
<doc>Reduces the common work of running a command on a remote system to a single higher level
robot keyword, taking care to log in with a public key and. The command given is written and the return value
depends on the passed argument values of return_stdout (default: True) and return_stderr (default: False).
At least one should be True, or the keyword will exit and FAIL. If both are True, the resulting return value
will be a two element list containing both. Otherwise the resulting return value is a string.
No test conditions are checked.</doc>
<status status="PASS" start="2026-07-27T02:01:38.474775" elapsed="606.628286"/>
</kw>
<status status="PASS" start="2026-07-27T02:01:38.474464" elapsed="606.628665"/>
</branch>
<status status="PASS" start="2026-07-27T02:01:38.474134" elapsed="606.629025"/>
</if>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T02:11:45.103787" level="INFO">cbench: controller benchmarking tool
   running in mode 'latency'
   connecting to controller at 10.30.170.140:6633 
   faking 16 switches with 1 threads :: 10 tests each; 60000 ms per test
   with 100 unique source MACs per switch
   learning destination mac addresses before the test
   starting test with 5000 ms delay after features_reply
   ignoring first 1 "warmup" and last 0 "cooldown" loops
   debugging info is off
Master Thread: Creating thread-0! 
Thread-0: All switches initialized. Running at node 10.30.170.140. So far 1 cbench instances have initialized their switches.  Waiting for other cbench-instances
Thread-0: Total switches from ALL cbench-instances initialized.
02:02:44.186 16  switches: flows:  110863 115901 120961 110724 109918 120480 110998 110244 109530 107626 107686 108947 109049 122741 109391 114554  total = 29.993550 per ms 
02:03:44.286 16  switches: flows:  109853 113938 110969 112366 109940 110379 110997 110921 110919 108639 109767 111147 108950 110598 109817 112146  total = 29.473188 per ms 
02:04:44.387 16  switches: flows:  110307 112453 109496 113663 110839 109315 111845 109455 107539 109216 108930 109592 110189 109062 109383 110296  total = 29.310652 per ms 
02:05:44.487 16  switches: flows:  110651 114130 109063 112732 111788 110074 110567 111728 107221 107683 110817 108072 109799 106276 107642 111105  total = 29.273478 per ms 
02:06:44.588 16  switches: flows:  117854 120177 119781 121173 121465 118875 120016 120350 117700 118455 118963 120077 117018 117170 117814 119861  total = 31.726206 per ms 
02:07:44.688 16  switches: flows:  87773 88656 88885 90204 91152 88304 89147 88763 88579 86765 88482 89496 88244 87999 87718 89619  total = 23.623650 per ms 
02:08:44.790 16  switches: flows:  109113 115110 112488 115086 112210 112373 113432 112542 112577 109873 111320 110553 109708 111387 110959 113338  total = 29.817156 per ms 
02:09:44.890 16  switches: flows:  103735 103973 102205 105679 103520 105996 101277 101144 100505 103683 100201 104708 96927 104077 102385 101621  total = 27.315020 per ms 
02:10:44.990 16  switches: flows:  113467 114762 113656 116624 114273 113966 113314 112885 112185 110725 113983 112841 112529 113866 113104 114072  total = 30.220383 per ms 
02:11:45.091 16  switches: flows:  118506 121599 118067 122421 120086 119246 119423 119625 117237 116931 119674 118500 117817 119658 119331 120855  total = 31.763261 per ms 
RESULT: 16 switches 9 tests min/max/avg/stdev = 23623.65/31763.26/29169.22/9999.72 responses/s</msg>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T02:11:45.103373" elapsed="0.000520"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${output}</arg>
<arg>RESULT</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-27T02:11:45.104104" elapsed="0.000531"/>
</kw>
<kw name="Get Lines Containing String" owner="String">
<msg time="2026-07-27T02:11:45.105163" level="INFO">1 out of 23 lines matched.</msg>
<msg time="2026-07-27T02:11:45.105306" level="INFO">${result_line} = RESULT: 16 switches 9 tests min/max/avg/stdev = 23623.65/31763.26/29169.22/9999.72 responses/s</msg>
<var>${result_line}</var>
<arg>${output}</arg>
<arg>RESULT</arg>
<doc>Returns lines of the given ``string`` that contain the ``pattern``.</doc>
<status status="PASS" start="2026-07-27T02:11:45.104857" elapsed="0.000486"/>
</kw>
<kw name="Split String" owner="String">
<msg time="2026-07-27T02:11:45.105908" level="INFO">@{results_list} = [ RESULT: | 16 | switches | 9 | tests | min/max/avg/stdev | = | 23623.65/31763.26/29169.22/9999.72 | responses/s ]</msg>
<var>@{results_list}</var>
<arg>${result_line}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="PASS" start="2026-07-27T02:11:45.105556" elapsed="0.000388"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T02:11:45.109366" level="INFO">min/max/avg/stdev</msg>
<arg>${results_list[5]}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T02:11:45.106234" elapsed="0.003212"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T02:11:45.112311" level="INFO">23623.65/31763.26/29169.22/9999.72</msg>
<arg>${results_list[7]}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T02:11:45.109654" elapsed="0.002715"/>
</kw>
<kw name="Split String" owner="String">
<msg time="2026-07-27T02:11:45.114770" level="INFO">@{result_name_list} = [ min | max | avg | stdev ]</msg>
<var>@{result_name_list}</var>
<arg>${results_list[5]}</arg>
<arg>/</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="PASS" start="2026-07-27T02:11:45.112517" elapsed="0.002280"/>
</kw>
<kw name="Split String" owner="String">
<msg time="2026-07-27T02:11:45.117172" level="INFO">@{result_value_list} = [ 23623.65 | 31763.26 | 29169.22 | 9999.72 ]</msg>
<var>@{result_value_list}</var>
<arg>${results_list[7]}</arg>
<arg>/</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="PASS" start="2026-07-27T02:11:45.114993" elapsed="0.002207"/>
</kw>
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-07-27T02:11:45.117676" level="INFO">Length is 4.</msg>
<msg time="2026-07-27T02:11:45.117762" level="INFO">${num_stats} = 4</msg>
<var>${num_stats}</var>
<arg>${result_name_list}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-07-27T02:11:45.117370" elapsed="0.000416"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T02:11:45.122577" level="INFO">min :: 23623.65</msg>
<arg>${result_name_list[${i}]} :: ${result_value_list[${i}]}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T02:11:45.118241" elapsed="0.004393"/>
</kw>
<var name="${i}">0</var>
<status status="PASS" start="2026-07-27T02:11:45.118083" elapsed="0.004587"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T02:11:45.127184" level="INFO">max :: 31763.26</msg>
<arg>${result_name_list[${i}]} :: ${result_value_list[${i}]}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T02:11:45.122888" elapsed="0.004353"/>
</kw>
<var name="${i}">1</var>
<status status="PASS" start="2026-07-27T02:11:45.122759" elapsed="0.004532"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T02:11:45.131758" level="INFO">avg :: 29169.22</msg>
<arg>${result_name_list[${i}]} :: ${result_value_list[${i}]}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T02:11:45.127514" elapsed="0.004301"/>
</kw>
<var name="${i}">2</var>
<status status="PASS" start="2026-07-27T02:11:45.127383" elapsed="0.004467"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T02:11:45.136387" level="INFO">stdev :: 9999.72</msg>
<arg>${result_name_list[${i}]} :: ${result_value_list[${i}]}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T02:11:45.132065" elapsed="0.004378"/>
</kw>
<var name="${i}">3</var>
<status status="PASS" start="2026-07-27T02:11:45.131936" elapsed="0.004542"/>
</iter>
<var>${i}</var>
<value>0</value>
<value>${num_stats}</value>
<status status="PASS" start="2026-07-27T02:11:45.117852" elapsed="0.018656"/>
</for>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-07-27T02:11:45.140453" level="INFO">${min} = 23623.65</msg>
<var>${min}</var>
<arg>${result_value_list[${0}]}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-07-27T02:11:45.136682" elapsed="0.003798"/>
</kw>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-07-27T02:11:45.144496" level="INFO">${max} = 31763.26</msg>
<var>${max}</var>
<arg>${result_value_list[${1}]}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-07-27T02:11:45.140642" elapsed="0.003882"/>
</kw>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-07-27T02:11:45.148731" level="INFO">${average} = 29169.22</msg>
<var>${average}</var>
<arg>${result_value_list[${2}]}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-07-27T02:11:45.144678" elapsed="0.004081"/>
</kw>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-07-27T02:11:45.152659" level="INFO">${stdev} = 9999.72</msg>
<var>${stdev}</var>
<arg>${result_value_list[${3}]}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-07-27T02:11:45.148915" elapsed="0.003771"/>
</kw>
<kw name="Get Time" owner="BuiltIn">
<msg time="2026-07-27T02:11:45.153204" level="INFO">${date} = 2026-07-27 02:11:45</msg>
<var>${date}</var>
<arg>d,m,s</arg>
<doc>Returns the given time in the requested format.</doc>
<status status="PASS" start="2026-07-27T02:11:45.152846" elapsed="0.000384"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-27T02:11:45.153799" level="INFO">CBench Result: 2026-07-27 02:11:45,-m 60000 -M 100 -S 16 -l 10 -D 5000 -p 6633,23623.65,31763.26,29169.22,9999.72</msg>
<arg>CBench Result: ${date},${cbench_args},${min},${max},${average},${stdev}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-27T02:11:45.153394" elapsed="0.000460"/>
</kw>
<kw name="Log Results And Determine Status">
<kw name="Append To File" owner="OperatingSystem">
<msg time="2026-07-27T02:11:45.155019" level="INFO" html="true">Appended to file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-cbench-only-titanium/bug.csv"&gt;/w/workspace/openflowplugin-csit-1node-cbench-only-titanium/bug.csv&lt;/a&gt;'.</msg>
<arg>${output_file}</arg>
<arg>${min},${max},${average}\n</arg>
<doc>Appends the given content to the specified file.</doc>
<status status="PASS" start="2026-07-27T02:11:45.154548" elapsed="0.000540"/>
</kw>
<kw name="Should Be True" owner="BuiltIn">
<arg>${average} &gt; ${threshold}</arg>
<arg>${average} flow_mods per/sec did not exceed threshold of ${threshold}</arg>
<doc>Fails if the given condition is not true.</doc>
<status status="PASS" start="2026-07-27T02:11:45.155238" elapsed="0.000469"/>
</kw>
<arg>${min}</arg>
<arg>${max}</arg>
<arg>${average}</arg>
<arg>${average_threshold}</arg>
<arg>${output_filename}</arg>
<status status="PASS" start="2026-07-27T02:11:45.154012" elapsed="0.001761"/>
</kw>
<arg>-m ${duration_in_ms} -M ${num_of_unique_macs} -S ${switch_count} -l ${loops} -D ${start_delay} -p ${of_port}</arg>
<arg>${latency_threshold}</arg>
<arg>bug.csv</arg>
<status status="PASS" start="2026-07-27T02:01:38.472886" elapsed="606.682945"/>
</kw>
<kw name="Sleep" owner="BuiltIn">
<msg time="2026-07-27T02:11:45.156305" level="INFO">Slept 0 seconds.</msg>
<arg>${test_delay}</arg>
<doc>Pauses the test executed for the given time.</doc>
<status status="PASS" start="2026-07-27T02:11:45.155979" elapsed="0.000385"/>
</kw>
<kw name="Report Failure Due To Bug" owner="Utils" type="TEARDOWN">
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-07-27T02:11:45.157557" level="INFO">${test_skipped} = False</msg>
<var>${test_skipped}</var>
<arg>len(re.findall('SKIPPED', """${TEST_MESSAGE}""")) &gt; 0</arg>
<arg>modules=re</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-07-27T02:11:45.157064" elapsed="0.000520"/>
</kw>
<if>
<branch type="IF" condition="('${TEST_STATUS}' != 'FAIL') or ${test_skipped}">
<return>
<status status="PASS" start="2026-07-27T02:11:45.157830" elapsed="0.000069"/>
</return>
<status status="PASS" start="2026-07-27T02:11:45.157659" elapsed="0.000275"/>
</branch>
<status status="PASS" start="2026-07-27T02:11:45.157640" elapsed="0.000320"/>
</if>
<kw name="Comment" owner="BuiltIn">
<arg>Jira tickets are {PROJECT}-{NUMBER} while Bugzilla tickets are {NUMBER}</arg>
<doc>Displays the given messages in the log file as keyword arguments.</doc>
<status status="NOT RUN" start="2026-07-27T02:11:45.158103" elapsed="0.000021"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<var>${match}</var>
<arg>Should Contain</arg>
<arg>${number}</arg>
<arg>-</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="NOT RUN" start="2026-07-27T02:11:45.158277" elapsed="0.000022"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${bug_url}</var>
<arg>${match}</arg>
<arg>https://jira.opendaylight.org/browse/${number}</arg>
<arg>https://bugs.opendaylight.org/show_bug.cgi?id=${number}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-07-27T02:11:45.158438" elapsed="0.000019"/>
</kw>
<kw name="Set Variable" owner="BuiltIn">
<var>${msg}</var>
<arg>This test fails due to ${bug_url}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-07-27T02:11:45.158628" elapsed="0.000020"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${newline}</var>
<arg>chr(10)</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-07-27T02:11:45.158775" elapsed="0.000020"/>
</kw>
<kw name="Set Test Message" owner="BuiltIn">
<arg>${msg}${newline}${newline}${TEST_MESSAGE}</arg>
<doc>Sets message for the current test case.</doc>
<status status="NOT RUN" start="2026-07-27T02:11:45.158919" elapsed="0.000020"/>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-07-27T02:11:45.159065" elapsed="0.000020"/>
</kw>
<if>
<branch type="IF" condition="&quot;${include_bug_in_tags}&quot;==&quot;True&quot;">
<kw name="Set Tags" owner="BuiltIn">
<arg>${bug_url}</arg>
<doc>Adds given ``tags`` for the current test or all tests in a suite.</doc>
<status status="NOT RUN" start="2026-07-27T02:11:45.159298" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-07-27T02:11:45.159146" elapsed="0.000205"/>
</branch>
<status status="NOT RUN" start="2026-07-27T02:11:45.159130" elapsed="0.000244"/>
</if>
<arg>6176</arg>
<doc>Report that a test failed due to a known Bugzilla bug whose
number is provided as an argument.
Not FAILED (incl. SKIPPED) test are not reported.
This keyword must be used in the [Teardown] setting of the affected test
or as the first line of the test if FastFail module is not being
used. It reports the URL of the bug on console and also puts it
into the Robot log file.</doc>
<status status="PASS" start="2026-07-27T02:11:45.156729" elapsed="0.002696"/>
</kw>
<doc>cbench executed in latency mode to see if controller is healthy</doc>
<tag>cbench</tag>
<tag>latency</tag>
<timeout value="15 minutes"/>
<status status="PASS" start="2026-07-27T02:01:38.471504" elapsed="606.687967"/>
</test>
<doc>Cbench Latency and Throughput tests can be run from an external
cbench.
If cbench is run with a medium number of switches or higher (e.g. 32+)
the normal openflow operations seem to break.
BUG: https://bugs.opendaylight.org/show_bug.cgi?id=2897</doc>
<status status="FAIL" start="2026-07-27T01:45:17.496941" elapsed="1587.662966"/>
</suite>
<statistics>
<total>
<stat pass="2" fail="1" skip="0">All Tests</stat>
</total>
<tag>
<stat pass="2" fail="1" skip="0">cbench</stat>
<stat pass="2" fail="0" skip="0">latency</stat>
<stat pass="0" fail="1" skip="0">throughput</stat>
</tag>
<suite>
<stat name="openflowplugin-cbench.txt" id="s1" pass="2" fail="1" skip="0">openflowplugin-cbench.txt</stat>
</suite>
</statistics>
<errors>
</errors>
</robot>
