Analysis of Robot reports from OSM Jenkins¶

Date and time of the report: 2026-08-15 08:45:04.627805

Analysed period: 2026-07-25 to 2026-08-15.

1. Retrieval of all currrent data for aggregate analytics¶

Database update:

Retrieving new jobs...
Getting new builds from: osm-stage_3-merge/master, osm-stage_3-merge/v19.0, osm-stage_3-merge/v18.0, osm-stage_3-merge/v17.0, osm-stage_3-merge/v16.0, osm-stage_3-merge/v14.0
Retrieving build 172 from "osm-stage_3-merge/v19.0"...	Build: FAILURE	Report unavailable
Retrieving build 173 from "osm-stage_3-merge/v19.0"...	Build: FAILURE	Report unavailable
Retrieving build 174 from "osm-stage_3-merge/v19.0"...	Build: FAILURE	Report unavailable
Retrieving build 175 from "osm-stage_3-merge/v19.0"...	Build: FAILURE	Report unavailable
Retrieving build 176 from "osm-stage_3-merge/v19.0"...	Build: FAILURE	Report unavailable
Retrieving build 177 from "osm-stage_3-merge/v19.0"...	Build: FAILURE	Report unavailable
Retrieving build 178 from "osm-stage_3-merge/v19.0"...	Build: FAILURE	Report unavailable
Retrieving build 179 from "osm-stage_3-merge/v19.0"...	Build: FAILURE	Report unavailable
Retrieving build 180 from "osm-stage_3-merge/v19.0"...	Build: FAILURE	Report unavailable
Retrieving build 181 from "osm-stage_3-merge/v19.0"...	Build: FAILURE	Report unavailable
Retrieving build 182 from "osm-stage_3-merge/v19.0"...	Build: FAILURE	Report unavailable
Retrieving build 183 from "osm-stage_3-merge/v19.0"...	Build: FAILURE	Traceback (most recent call last):
  File "/opt/conda/lib/python3.13/site-packages/urllib3/connectionpool.py", line 787, in urlopen
    response = self._make_request(
        conn,
    ...<10 lines>...
        **response_kw,
    )
  File "/opt/conda/lib/python3.13/site-packages/urllib3/connectionpool.py", line 534, in _make_request
    response = conn.getresponse()
  File "/opt/conda/lib/python3.13/site-packages/urllib3/connection.py", line 516, in getresponse
    httplib_response = super().getresponse()
  File "/opt/conda/lib/python3.13/http/client.py", line 1430, in getresponse
    response.begin()
    ~~~~~~~~~~~~~~^^
  File "/opt/conda/lib/python3.13/http/client.py", line 331, in begin
    version, status, reason = self._read_status()
                              ~~~~~~~~~~~~~~~~~^^
  File "/opt/conda/lib/python3.13/http/client.py", line 300, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
                             " response")
http.client.RemoteDisconnected: Remote end closed connection without response

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/conda/lib/python3.13/site-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
        method=request.method,
    ...<9 lines>...
        chunked=chunked,
    )
  File "/opt/conda/lib/python3.13/site-packages/urllib3/connectionpool.py", line 841, in urlopen
    retries = retries.increment(
        method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]
    )
  File "/opt/conda/lib/python3.13/site-packages/urllib3/util/retry.py", line 474, in increment
    raise reraise(type(error), error, _stacktrace)
          ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/lib/python3.13/site-packages/urllib3/util/util.py", line 38, in reraise
    raise value.with_traceback(tb)
  File "/opt/conda/lib/python3.13/site-packages/urllib3/connectionpool.py", line 787, in urlopen
    response = self._make_request(
        conn,
    ...<10 lines>...
        **response_kw,
    )
  File "/opt/conda/lib/python3.13/site-packages/urllib3/connectionpool.py", line 534, in _make_request
    response = conn.getresponse()
  File "/opt/conda/lib/python3.13/site-packages/urllib3/connection.py", line 516, in getresponse
    httplib_response = super().getresponse()
  File "/opt/conda/lib/python3.13/http/client.py", line 1430, in getresponse
    response.begin()
    ~~~~~~~~~~~~~~^^
  File "/opt/conda/lib/python3.13/http/client.py", line 331, in begin
    version, status, reason = self._read_status()
                              ~~~~~~~~~~~~~~~~~^^
  File "/opt/conda/lib/python3.13/http/client.py", line 300, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
                             " response")
urllib3.exceptions.ProtocolError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/osm-analytics/Jenkins/./00-script-jenkins_and_robot_etl.py", line 98, in <module>
    ingest_update_all_jenkins_job(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        jenkins_server=server,
        ^^^^^^^^^^^^^^^^^^^^^^
    ...<8 lines>...
        table_robot_reports_extended=table_robot_reports_extended
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/osm-analytics/Jenkins/jenkins_robot_etl.py", line 77, in ingest_update_all_jenkins_job
    robot_report_contents = get_robot_report(jenkins_server, job_name, build_number)
  File "/osm-analytics/Jenkins/jenkins_lib.py", line 103, in get_robot_report
    robot_results_url = get_build_summary(server, job_name, build_number)['url'] + 'robot/report/output.xml'
                        ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/osm-analytics/Jenkins/jenkins_lib.py", line 90, in get_build_summary
    build_info = server.get_build_info(job_name, build_number)
  File "/opt/conda/lib/python3.13/site-packages/jenkins/__init__.py", line 669, in get_build_info
    response = self.jenkins_open(requests.Request(
        'GET', self._build_url(BUILD_INFO, locals())
    ))
  File "/opt/conda/lib/python3.13/site-packages/jenkins/__init__.py", line 570, in jenkins_open
    return self.jenkins_request(req, add_crumb, resolve_auth).text
           ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/lib/python3.13/site-packages/jenkins/__init__.py", line 597, in jenkins_request
    self._request(req, stream))
    ~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/opt/conda/lib/python3.13/site-packages/jenkins/__init__.py", line 563, in _request
    return self._session.send(r, **_settings)
           ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/opt/conda/lib/python3.13/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
  File "/opt/conda/lib/python3.13/site-packages/requests/adapters.py", line 682, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
Retrieving from database...	
DONE

2. Aggregated analysis of stability¶

2.1 Restricts data to time window for analysis¶

2.2 Finding sequences of successful builds and Robot reports¶

Two values retrieved from the build are key to determine the state of the jubs and test suites at a given moment:

  • build_result is the outcome of the build, reported by Jenkins. It can be: SUCCESS, FAILURE, UNSTABLE or ABORTED.
  • test_result is the summary of the concerned Robot tests. It can be: FAIL, UNAVAILABLE or PASS.

Based on these two states, 3 types of temporal sequences of success/failure are identified per builds and test suites:

  1. Successful builds/failed builds in a row: grp_build_result.
  2. Successful test reports vs. test reports with fails in a row: grp_test_result.
  3. Clean builds and tests vs. failures (of any kind) in a row: grp_success_fail.

For the identification of these sequences, the following mapping applies:

Type of sequence Relevant state OK sequence contains NOK sequence contains Ignore
grp_build_result build_result SUCCESS or UNSTABLE FAILURE ABORTED
grp_test_result test_result PASS FAIL UNAVAILABLE
grp_success_fail test_result PASS FAIL or UNAVAILABLE N/A

The different groupings of segments are detected and a label is added to each sample...

DONE

Then, the duration of each of the sequences of success/failure is determined and a specific dataframe is built summarizing such sequences, to ease their representation and analysis...

DONE

2.3 Finding sequences of pass/fails per test suite¶

DONE

3. Reports¶

3.1 Aggregated success rate per test step¶

Empty dataframe. Skipping.
Empty dataframe. Skipping.
Empty dataframe. Skipping.
Empty dataframe. Skipping.
Empty dataframe. Skipping.
Empty dataframe. Skipping.

3.2 Overall success of Jenkins builds and Robot tests¶

No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image

3.3 Sequences of pass/fails per test suites¶

Empty dataframe. Skipping.
Empty dataframe. Skipping.
Empty dataframe. Skipping.
Empty dataframe. Skipping.
Empty dataframe. Skipping.
Empty dataframe. Skipping.

3.4 Failing days per test suite¶

No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
Out[58]:
job Master branch Release EIGHTEEN Release FOURTEEN ... Release NINETEEN Release SEVENTEEN Release SIXTEEN
days_failing days_passing days_run error_rate days_failing days_passing days_run error_rate days_failing days_passing ... days_run error_rate days_failing days_passing days_run error_rate days_failing days_passing days_run error_rate
suites
Basic 01-Crud Operations On Vim Targets 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
Basic 05-Instantiation Parameters In Cloud Init 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
Basic 06-Vnf With Charm 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
Basic 07-Secure Key Management 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
Basic 08-Disable Port Security Network Level 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
Sa 08-Vnf With Vnf Indicators Snmp 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
Slice 01-Network Slicing 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
Slice 02-Shared Network Slicing 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
Sol003 01-Vnf-Lifecycle-Management 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
Sol003 02-Dualstack Ip Vnfm 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

62 rows × 24 columns

4. Information about the latest builds of relevant jobs¶

Latest build of each job¶

auto_id job build timestamp duration build_result test_result pass_count fail_count
0 9680 osm-stage_3-merge/master 3742 2026-05-04 23:06:08 15008 FAILURE UNAVAILABLE NaN NaN
1 10039 osm-stage_3-merge/v19.0 171 2026-07-21 13:11:06 14867 FAILURE UNAVAILABLE NaN NaN
2 10045 osm-stage_3-merge/v18.0 334 2026-07-21 21:12:09 278455 FAILURE UNAVAILABLE NaN NaN
3 10051 osm-stage_3-merge/v17.0 559 2026-07-21 16:49:07 23319 FAILURE UNAVAILABLE NaN NaN
4 10057 osm-stage_3-merge/v16.0 668 2026-07-22 01:41:06 36768 FAILURE UNAVAILABLE NaN NaN
5 10063 osm-stage_3-merge/v14.0 1086 2026-07-21 18:08:08 295190 FAILURE UNAVAILABLE NaN NaN

Click to see the details of build 3742 of osm-stage_3-merge/master

Click to see the details of build 171 of osm-stage_3-merge/v19.0

Click to see the details of build 334 of osm-stage_3-merge/v18.0

Click to see the details of build 559 of osm-stage_3-merge/v17.0

Click to see the details of build 668 of osm-stage_3-merge/v16.0

Click to see the details of build 1086 of osm-stage_3-merge/v14.0

Failed test suites per job (if any):¶

osm-stage_3-merge/master: (full report)

auto_id name status starttime endtime pass fail failed_test_name failed_keyword

osm-stage_3-merge/v19.0: (full report)

auto_id name status starttime endtime pass fail failed_test_name failed_keyword

osm-stage_3-merge/v18.0: (full report)

auto_id name status starttime endtime pass fail failed_test_name failed_keyword

osm-stage_3-merge/v17.0: (full report)

auto_id name status starttime endtime pass fail failed_test_name failed_keyword

osm-stage_3-merge/v16.0: (full report)

auto_id name status starttime endtime pass fail failed_test_name failed_keyword

osm-stage_3-merge/v14.0: (full report)

auto_id name status starttime endtime pass fail failed_test_name failed_keyword

Details of failed tests into failing test suites (if any):¶

osm-stage_3-merge/master: (full report)

auto_id suite_name test_name keyword_name status starttime endtime

osm-stage_3-merge/v19.0: (full report)

auto_id suite_name test_name keyword_name status starttime endtime

osm-stage_3-merge/v18.0: (full report)

auto_id suite_name test_name keyword_name status starttime endtime

osm-stage_3-merge/v17.0: (full report)

auto_id suite_name test_name keyword_name status starttime endtime

osm-stage_3-merge/v16.0: (full report)

auto_id suite_name test_name keyword_name status starttime endtime

osm-stage_3-merge/v14.0: (full report)

auto_id suite_name test_name keyword_name status starttime endtime



Powered by osm-analytics