<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body><p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Hi,</p>
<br /><p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">During the last PTG and after it, in the TC we were discussing about CI resources usage and about "rechecks" of the CI jobs (I know, it's again the same topic).</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">One of the things we would like to limit, or even avoid is to do "no reason rechecks" which means writing quick comment "recheck" without checking what really was wrong in the previous run.</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">We know that putting some hard rules that only comments with "recheck" with given reason will trigger new CI jobs run will not work fine as people may simply start writing any random things there. But we want to encourage all teams to at least to investigate failures and do as many rechecks with explanation as possible.</p>
<br /><p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">For now I prepared simple script [1] which counts how much of all rechecks are "bare rechecks". It can be checked by project (like openstack/neutron) or give summary for all projects or teams (like Quality Assurance for example). I prepared some stats for all teams listed in the <a href="https://opendev.org/openstack/governance/src/branch/master/reference/projects.yaml">https://opendev.org/openstack/governance/src/branch/master/reference/projects.yaml</a> from last 30 days:</p>
<br /><p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;"><span style="font-family:Noto Sans Mono;">+-------------------+---------------+--------------+-------------------+</span></p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| Team              | Bare rechecks | All Rechecks | Bare rechecks [%] |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">+-------------------+---------------+--------------+-------------------+</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| skyline           | 20            | 20           | 100.0             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| magnum            | 2             | 2            | 100.0             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| zun               | 1             | 1            | 100.0             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| mistral           | 9             | 9            | 100.0             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| ec2-api           | 1             | 1            | 100.0             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| barbican          | 15            | 15           | 100.0             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| venus             | 2             | 2            | 100.0             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| solum             | 1             | 1            | 100.0             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| tacker            | 30            | 30           | 100.0             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| trove             | 4             | 4            | 100.0             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| rally             | 2             | 2            | 100.0             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| storlets          | 5             | 5            | 100.0             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| winstackers       | 3             | 3            | 100.0             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| OpenStack Charms  | 32            | 33           | 96.97             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| sahara            | 27            | 28           | 96.43             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| keystone          | 24            | 25           | 96.0              |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| kuryr             | 120           | 126          | 95.24             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| kolla             | 134           | 142          | 94.37             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| Puppet OpenStack  | 94            | 103          | 91.26             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| cloudkitty        | 10            | 11           | 90.91             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| OpenStack-Helm    | 29            | 32           | 90.62             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| blazar            | 8             | 9            | 88.89             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| tripleo           | 563           | 646          | 87.15             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| requirements      | 20            | 23           | 86.96             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| Telemetry         | 30            | 35           | 85.71             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| horizon           | 55            | 67           | 82.09             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| ironic            | 131           | 164          | 79.88             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| oslo              | 11            | 14           | 78.57             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| heat              | 25            | 33           | 75.76             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| cinder            | 221           | 294          | 75.17             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| cyborg            | 6             | 8            | 75.0              |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| murano            | 3             | 4            | 75.0              |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| glance            | 20            | 27           | 74.07             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| OpenStackSDK      | 47            | 64           | 73.44             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| manila            | 108           | 160          | 67.5              |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| neutron           | 149           | 221          | 67.42             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| senlin            | 2             | 3            | 66.67             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| swift             | 16            | 25           | 64.0              |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| Quality Assurance | 106           | 167          | 63.47             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| nova              | 41            | 71           | 57.75             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| octavia           | 32            | 60           | 53.33             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| designate         | 19            | 39           | 48.72             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">| OpenStackAnsible  | 41            | 226          | 18.14             |</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">+-------------------+---------------+--------------+-------------------+</p>
<br /><p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">As You can see from that list above, there is much to improve there.</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">I hope that if teams will be checking more reasons of the CI failures, and reporting bugs found there, we may make our CI more stable and as a result have less rechecks which will save our infra resources :)</p>
<br /><p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">[1] <a href="https://github.com/slawqo/rechecks-stats/blob/main/rechecks_stats/bare_rechecks.py">https://github.com/slawqo/rechecks-stats/blob/main/rechecks_stats/bare_rechecks.py</a></p>
<br /><br /><p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">-- </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Slawek Kaplonski</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Principal Software Engineer</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Red Hat</p>
</body>
</html>