Greetings Robert,

On 11/7/23 06:56, Robert Varga wrote:
Hello Andy,

On 07/11/2023 15.45, Andrew Grimberg wrote:
This job will vote Verified+/-1 depending on the status on all changes and the vote will come in as the 'ODL Required.GHA' account. Gerrit has been updated to _require_ that that user has voted +1 for a change to be submittable. It also requires that at least one other Verified+1 has happened. That other +1 can come from a committer (as can already happen, though this is not preferred) or from another CI system such as Jenkins or our GHA user for a GHA job validation.

I am reading this as 'committers no longer have the final say on what can and cannot be merged'.

Is my understanding correct?
Yes and no. Yes in that there is now a system level required job that is maintained by LFRE specifically related to INFO.yaml files. No, in that outside of that specific job related to INFO.yaml files committers still have final arbitration of a job having to pass any _other_ CI or no other CI.

The reason for this is very simple. Over the years since we've put the INFO.yaml system in place, we've had numerous projects (not ODL, in general) that have taken to the bad habit of overriding CI even for the simplest of changes.

Our INFO.yaml tooling has been crafted in a way to hard enforce certain types of configuration changes and we have had to regularly fix problems that were caused by committers overriding, or not even waiting for CI to say that changes they were making to the INFO.yaml file were valid. We are making this a hard gate because of the constant fixing that we've had to do because of bad actor committers. This also allowed us to remove some very complex Prolog from the ONAP Gerrit that the TSC had wanted us to develop to do exactly what this job is now doing. Since Prolog rules are now deprecated in current versions of Gerrit, developing this as a job that is now mechanically required by Gerrit (which was not very easy to do prior to Gerrit 3.7) allows us to make this bar easier to maintain.

The job in question has been in use now for over 3+ months on both ONAP and ORAN (not an LFN project) with no issues (outside of when GHA itself is having issues). Having it as a mechanical bar in this way allows us to be assured that all projects are properly handling their INFO.yaml files. This also allows us to remove a job from Jenkins that does this INFO.yaml validation presently for all projects.

If you would like to inspect what is happening this new global requirement is done by way of a new CI management repository in Gerrit. This repository is the `.github` repository (yes, the magic GitHub repo). The workflow in question is available here [0] for inspection. It consumes a reusable workflow which comes from here [1]. Committers to this new repository are the same committer set as have rights against the releng/builder repo which drives Jenkins, this means that you have committer rights on the repo as well.

At this time we have no intention of expanding the required verify workflow. If ODL so desires, it is possible to create additional global required jobs that would be added to the workflow. ONAP does this with making documentation validation jobs global. For instance they use an RTDv3 verify job [2] as a an additional required workflow that is global across their Gerrit instance assuring that any documentation changes by any of their projects are properly vetted to work with RTD.

Finally, if you are concerned about the inclusion of this job in how long it takes to turn around validation of changes. The average run time for the job across both ONAP and ORAN is less than 1 minute. In general, this job will complete before your standard Jenkins jobs even start as those are parallel processes.

-Andy-

[0] https://github.com/opendaylight/.github/blob/main/.github/workflows/gerrit-required-verify.yaml [1] https://github.com/lfit/releng-reusable-workflows/blob/main/.github/workflows/gerrit-compose-required-info-yaml-verify.yaml [2] https://github.com/lfit/releng-reusable-workflows/blob/main/.github/workflows/gerrit-compose-required-rtdv3-verify.yaml

--
Andrew J Grimberg
Senior Manager, Release Engineering
The Linux Foundation

NOTICE: The Linux Foundation supports their employees with flexible work
hours. If you recieve mail from me outside of standard business hours
please be aware that I do not expect a response until the next standard
business day.


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#9025): https://lists.opendaylight.org/g/Discuss/message/9025
Mute This Topic: https://lists.opendaylight.org/mt/102443749/21656
Group Owner: discuss+ow...@lists.opendaylight.org
Unsubscribe: https://lists.opendaylight.org/g/Discuss/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to