On Wed, Jun 4, 2025 at 6:47 AM Casey Bodley <
cbodley@redhat.com> wrote:
>
> Ceph is a large and complex distributed system, so requires extensive
> test coverage against many different configurations. teuthology, "The
> Ceph integration test framework", was built for this and remains an
> integral part of our qa process: every major/minor release goes
> through several teuthology suites for validation, and most pull
> requests go through at least one suite before merging
>
> given this use of teuthology, i'd like to question the role of our
> github checks (make check, ceph api tests, etc) in the qa process.
> over the years, we've continued to increase the amount of test
> coverage in these checks. and while more test coverage is a good
> thing, i don't think this approach is sustainable. checks often take
> several hours before completing, so no longer give timely feedback on
> changes. and because of failure rates, that feedback is often not
> accurate and may require several reruns. this is a waste of machine
> and developer time
>
> almost all of our github checks are "Required", which prevents pull
> requests from being merged unless everything is green. required checks
> are meant to prevent the merging of disruptive changes - for example,
> breaking the build is extremely disruptive to the whole project.
> however, the checks themselves can also be disruptive when they fail
> randomly. because of this, i think we should have a high bar for
> adding new required checks or extending existing ones
>
> it's my opinion that we're just doing way too much in github checks
> that could be moved to the relevant teuthology suites instead. as long
> as pull requests end up going through teuthology, we don't need github
> checks to provide extensive test coverage. i would far prefer we
> optimize these checks to minimize disruption
>
> if we're going to make improvements here, i think we as a group need
> to agree on:
> * what role should github checks play in the qa process?
> * what criteria should we use when deciding what belongs in github
> checks vs teuthology?
>
> please share your opinions here! what follows is my own:
>
> i would propose that we move all integration tests (especially
> anything that needs a ceph cluster) and "long-running" unit tests to
> teuthology instead. if the tests run in teuthology, we don't need to
> run/rerun them every time the pull request is updated. this policy
> could get our checks down to 30-45 minutes and significantly reduce
> the load on our jenkins machines - all without sacrificing our ability
> to ensure the quality of our releases