Analysis of Robot reports from OSM Jenkins¶

Date and time of the report: 2026-04-18 08:47:17.496663

Analysed period: 2026-03-28 to 2026-04-18.

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
Traceback (most recent call last):
  File "/opt/conda/lib/python3.13/site-packages/urllib3/connection.py", line 198, in _new_conn
    sock = connection.create_connection(
        (self._dns_host, self.port),
    ...<2 lines>...
        socket_options=self.socket_options,
    )
  File "/opt/conda/lib/python3.13/site-packages/urllib3/util/connection.py", line 85, in create_connection
    raise err
  File "/opt/conda/lib/python3.13/site-packages/urllib3/util/connection.py", line 73, in create_connection
    sock.connect(sa)
    ~~~~~~~~~~~~^^^^
TimeoutError: [Errno 110] Connection timed out

The above exception was the direct cause of the following exception:

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 488, in _make_request
    raise new_e
  File "/opt/conda/lib/python3.13/site-packages/urllib3/connectionpool.py", line 464, in _make_request
    self._validate_conn(conn)
    ~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/opt/conda/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1093, in _validate_conn
    conn.connect()
    ~~~~~~~~~~~~^^
  File "/opt/conda/lib/python3.13/site-packages/urllib3/connection.py", line 704, in connect
    self.sock = sock = self._new_conn()
                       ~~~~~~~~~~~~~~^^
  File "/opt/conda/lib/python3.13/site-packages/urllib3/connection.py", line 207, in _new_conn
    raise ConnectTimeoutError(
    ...<2 lines>...
    ) from e
urllib3.exceptions.ConnectTimeoutError: (<urllib3.connection.HTTPSConnection object at 0x73e14d01a510>, 'Connection to osm.etsi.org timed out. (connect timeout=None)')

The above exception was the direct cause of the following exception:

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 519, in increment
    raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='osm.etsi.org', port=443): Max retries exceeded with url: /jenkins/crumbIssuer/api/json (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x73e14d01a510>, 'Connection to osm.etsi.org timed out. (connect timeout=None)'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  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 688, in send
    raise ConnectTimeout(e, request=request)
requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='osm.etsi.org', port=443): Max retries exceeded with url: /jenkins/crumbIssuer/api/json (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x73e14d01a510>, 'Connection to osm.etsi.org timed out. (connect timeout=None)'))

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 32, in ingest_update_all_jenkins_job
    df_builds_of_job = get_all_job_builds(jenkins_server, job_name)
  File "/osm-analytics/Jenkins/jenkins_lib.py", line 79, in get_all_job_builds
    my_job = server.get_job_info(job_name, 0, True)
  File "/opt/conda/lib/python3.13/site-packages/jenkins/__init__.py", line 478, in get_job_info
    response = self.jenkins_open(requests.Request(
        'GET', self._build_url(JOB_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 594, in jenkins_request
    self.maybe_add_crumb(req)
    ~~~~~~~~~~~~~~~~~~~~^^^^^
  File "/opt/conda/lib/python3.13/site-packages/jenkins/__init__.py", line 383, in maybe_add_crumb
    response = self.jenkins_open(requests.Request(
        'GET', self._build_url(CRUMB_URL)), add_crumb=False)
  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 614, in jenkins_request
    raise TimeoutException('Error in request: %s' % (e))
jenkins.TimeoutException: Error in request: HTTPSConnectionPool(host='osm.etsi.org', port=443): Max retries exceeded with url: /jenkins/crumbIssuer/api/json (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x73e14d01a510>, 'Connection to osm.etsi.org timed out. (connect timeout=None)'))
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¶

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.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 9567 osm-stage_3-merge/master 3715 2026-04-16 23:06:08 130574 FAILURE UNAVAILABLE NaN NaN
1 9568 osm-stage_3-merge/v19.0 77 2026-04-16 13:11:08 259669 FAILURE UNAVAILABLE NaN NaN
2 9569 osm-stage_3-merge/v18.0 243 2026-04-16 21:12:07 137238 FAILURE UNAVAILABLE NaN NaN
3 9570 osm-stage_3-merge/v17.0 466 2026-04-16 16:49:10 169506 FAILURE UNAVAILABLE NaN NaN
4 9571 osm-stage_3-merge/v16.0 575 2026-04-17 01:41:09 289412 FAILURE UNAVAILABLE NaN NaN
5 9572 osm-stage_3-merge/v14.0 993 2026-04-16 18:08:10 0 FAILURE UNAVAILABLE NaN NaN

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

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

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

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

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

Click to see the details of build 993 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