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_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. 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¶
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 | 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 |
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