Analysis of Robot reports from OSM Jenkins¶
Date and time of the report: 2026-05-28 08:45:04.634266
Analysed period: 2026-05-07 to 2026-05-28.
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/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 741, in connect sock_and_verified = _ssl_wrap_socket_and_match_hostname( sock=sock, ...<14 lines>... assert_fingerprint=self.assert_fingerprint, ) File "/opt/conda/lib/python3.13/site-packages/urllib3/connection.py", line 920, in _ssl_wrap_socket_and_match_hostname ssl_sock = ssl_wrap_socket( sock=sock, ...<8 lines>... tls_in_tls=tls_in_tls, ) File "/opt/conda/lib/python3.13/site-packages/urllib3/util/ssl_.py", line 460, in ssl_wrap_socket ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname) File "/opt/conda/lib/python3.13/site-packages/urllib3/util/ssl_.py", line 504, in _ssl_wrap_socket_impl return ssl_context.wrap_socket(sock, server_hostname=server_hostname) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/conda/lib/python3.13/ssl.py", line 455, in wrap_socket return self.sslsocket_class._create( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ sock=sock, ^^^^^^^^^^ ...<5 lines>... session=session ^^^^^^^^^^^^^^^ ) ^ File "/opt/conda/lib/python3.13/ssl.py", line 1076, in _create self.do_handshake() ~~~~~~~~~~~~~~~~~^^ File "/opt/conda/lib/python3.13/ssl.py", line 1372, in do_handshake self._sslobj.do_handshake() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1028) During handling of the above exception, another exception occurred: 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 urllib3.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1028) 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 SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1028)'))) 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 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 698, in send raise SSLError(e, request=request) requests.exceptions.SSLError: HTTPSConnectionPool(host='osm.etsi.org', port=443): Max retries exceeded with url: /jenkins/crumbIssuer/api/json (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1028)')))
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¶
Empty dataframe. Skipping.
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 | 9680 | osm-stage_3-merge/master | 3742 | 2026-05-04 23:06:08 | 15008 | FAILURE | UNAVAILABLE | NaN | NaN |
| 1 | 9781 | osm-stage_3-merge/v19.0 | 115 | 2026-05-26 13:11:09 | 612197 | FAILURE | UNAVAILABLE | NaN | NaN |
| 2 | 9782 | osm-stage_3-merge/v18.0 | 279 | 2026-05-26 21:12:07 | 60763 | FAILURE | UNAVAILABLE | NaN | NaN |
| 3 | 9783 | osm-stage_3-merge/v17.0 | 503 | 2026-05-26 16:49:11 | 23956 | FAILURE | UNAVAILABLE | NaN | NaN |
| 4 | 9779 | osm-stage_3-merge/v16.0 | 612 | 2026-05-26 01:41:09 | 36842 | FAILURE | UNAVAILABLE | NaN | NaN |
| 5 | 9784 | osm-stage_3-merge/v14.0 | 1030 | 2026-05-26 18:08:06 | 283168 | 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