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_resultis the outcome of the build, reported by Jenkins. It can be:SUCCESS,FAILURE,UNSTABLEorABORTED.test_resultis the summary of the concerned Robot tests. It can be:FAIL,UNAVAILABLEorPASS.
Based on these two states, 3 types of temporal sequences of success/failure are identified per builds and test suites:
- Successful builds/failed builds in a row:
grp_build_result. - Successful test reports vs. test reports with fails in a row:
grp_test_result. - 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¶
3.2 Overall success of Jenkins builds and Robot tests¶
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¶
| 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 |
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