Submind YouTube summaries
Thumbnail for Flock 2026 What's Cooking in COPR, Testing Farm, TMT, Packit And Log Detective

Flock 2026 What's Cooking in COPR, Testing Farm, TMT, Packit And Log Detective

Watch on YouTube

Video summary

The presentation introduces Packaging and Testing Experience (PT), an initiative within Red Hat designed to unify the complex flow of code from upstream projects through Fedora and CentOS Stream toward RHEL. The primary goal is to create a consistent experience for building and testing software by integrating various services into cohesive workflows. A key component of this effort is the consolidation of teams, where projects like Packit, Log Detective, and Email are now managed by a unified group to streamline operations. This structural change aims to reduce fragmentation and ensure that developers can reuse tests and maintain consistent behavior across different environments, effectively gluing together disparate pieces into a more organized ecosystem. Significant updates have been made to the infrastructure supporting these workflows, particularly within COPR and the Mock build system. The COPR team has successfully migrated repositories to Pulp, a robust platform capable of hosting massive collections of RPMs without performance issues, thanks to extensive preparation by the Pulp team. Additionally, Mock has received new plugins for analyzing unused build requirements and monitoring resource usage like CPU and storage. Security enhancements are also underway, specifically focusing on protecting build artifacts from modification by test scripts, with plans to implement a short-circuit check that allows builds to proceed safely before running verification phases later. The Packit team has expanded its role as the default Continuous Integration provider for Fedora's Dist-Git, replacing previous Zulu and Jenkins-based systems with improved tools that run comprehensive tests like RPM lint and RPM inspect by default. To support future migrations to 4G disk repositories, Packit is adapting its tooling accordingly. Furthermore, Packit now supports multiple release streams, allowing users to configure updates for specific major versions rather than just the highest one. The team is also developing AI-assisted tools for automating package maintenance tasks such as rebasing and backporting, with current efforts focused on CentOS Stream but with potential future applications for Fedora. Log Detective has evolved into a semi-agentic system that intelligently analyzes failed builds by deciding which artifacts to investigate, resulting in better responses while actually reducing token usage. The Testing Management Tool (TMT) has introduced policies for dynamically modifying test metadata and recipes that allow for rerunning only failed tests to save time. New features include unified artifact installation methods for local laptops and CI environments, as well as improved handling of conflicting packages. Meanwhile, the Testing Farm service now offers AWS bare metal instances, AI analysis for failed requests, and enhanced CLI commands for managing multi-host pipelines, marking a significant step toward unifying single and multi-host testing infrastructures.
Read the full video transcript
Uh, welcome, uh, to the PT presentation, descriptive name. And, uh, actually there there you might be confused that there was only my name in the in the invite, but, uh, actually there will be bunch of people who will show, and that's exactly for the reason that there are real humans under these projects and all the initiatives, and I would like to, uh, let you know these people that did the hard work. So, what's ahead of us, uh, what actually is the PT thing, and mainly what we are working on, and what you can expect for future. So, for the start, uh, PT stands for Packaging and Testing Experience. It sounds awesome, but it's basically a group of projects and teams, uh, in Red Hat, and, uh, with describing, uh, what we are, I'll start with how I see that the code flows from upstream through Fedora, CentOS Stream towards RHEL. There are various pieces together. And this is actually how our projects relate to this. Yes, it's a little bit of mess, but, uh, I would like to show it because, yeah, we are all over the place. That's that's the point. Uh, uh, and I am uh our aim is basically, uh, to unify stuff around all this space. So, provide same beha- behavior and same experience when you test, uh, when you build, ideally you reuse tests, etc. So, that's that's one part of it. And the second thing is we are trying to provide workflows. That's the experience part, so we are trying to glue things together, so it's some unified workflows, maybe integrating various services together. Uh, just a quick thing, uh, you might be won- wondering, uh, there will be also mentions about Log Detective, and, uh, I just want to mention that look detective didn't disappear. Actually, it was it just got closer to the Packit team. So, that that's just a what what to mention. So, there is like a Packit team covering multiple projects. There is Packit project itself as you know it, then there is also look detective project and email project by the same group of people working on all of this. And now finally to the important stuff and I'll pass my word to Pavel. >> Hello. Ahoy. I'm Pavel Raiskup from the Copper team. Anyone knows what the Copper is or should I give you some intro? Everyone knows. Okay, cool. So, uh >> [clears throat] >> What is what has been happening in Copper for past few months or maybe it's all already a year is that we were adding a support for hosting the stuff that we built in Pulp. Uh Pulp is a kind of generic great beefy machine that is able to host various stuff including RPMs and that's actually what we provide. So, um Right now, we have everything implemented or most of the stuff and we are moving and actually I'm not sure if you know, but you've been moved to Pulp in the meantime and we actually tried to hide this fact from you by by not interrupting you your work, but sometimes may happen something. So, sorry for that. It's almost done at this moment. And I mean, I wanted to thank to the Pulp team that is I mean, that there is a great synergy between the teams and they are always very helpful to help us and actually I mean, the preparations were very very long. We are like we were anticipating that these extremely large repositories like the RubyGems that have hundreds of thousands of RPMs could cause some troubles to Pulp and the team the Pulp team was great and they they prepared in advance and actually they scale very well very well now. Um Our team has the privilege to maintain Mock. That's that's the tool that's behind Copper and Koji and also Conflux uh uh these days uh and uh Mock has two new plugins these days. Uh one is for analyzing unused build requirements. It's called Unbreak. Please take a look if you care about minimizing stuff. The other one is for system monitoring stuff. I I don't recall the name of the plugin, but it actually allows us to track the amount of CPU and uh storage and stuff like that um while you are building and maybe uh mm analy- analyze the s- overall situation situation and give you more um more this or that. And yeah, what's uh and we actually I mean thanks to RPM or I mean the idea uh behind how how do we protect against attacks like the XZ one when the artifacts uh or the the provided artifacts in the build system are actually modified by the test suite uh scripts uh there was the idea like how do we how do we exclude uh the test suite from the ability to modify the build artifacts. And uh since RPM 6 .1, I'm not sure if it's out right now. It used to be better, like 2 weeks ago. Uh we have the ability to short-circuit check, uh meaning that you can run the build without running the check phase, and maybe preferably yes, run the checks check section later on after the after the artifacts are safely copied out copied out of the build system. So, this is the thing thing that we are working on right now. >> [clears throat] >> And yeah, let's hand it to Laura. >> Okay, so hello. My name is Laura, and I'm from the Packit team. I believe most of you probably do know Packit, seeing the familiar faces, but just very shortly, Packit is for a few years providing CI/CD automation for Fedora, so like upstream CI, and then I really sinking in Fedora, bringing the upstream releases, Koji builds, Bodhi updates. But the one big new thing in Packit for the past year was that Packit is currently also the default Fedora Dist-Git CI. So, we are very happy that we can cover this part of the Fedora as well. The switch happened in February, and actually it's probably good if you haven't seen too much of troubles with that. Previously, there was a Zulu based CI, and there was also the Jenkins based CI, but now everything on the PRs in Dist-Git is covered by Packit. And probably what you might have noticed is that the checks on the Dist-Git pull requests look a little bit different. So, as you can see in the screenshots, but we've also added some functionalities. Hopefully, the user experience is a bit better, and we've added some more tests, test plans. By default, we running the RPM length, RPM inspect, uh, and we have definitely, uh, more plans how to extend this. And, um, as you have, uh, probably listened to in the other talks, like there is happening the, uh, work on the 4G uh, and the migration of the disk is repositories, so, uh, obviously Packit needs to accommodate to that as well. So, uh, currently the work on our side is to accommodate our tooling for this switch as well. So, once the disk is repositories are moved to 4G, everything will work as it has been working, uh, in Pagure. Regarding the release, uh, syncing to Fedora, uh, we have a one new, uh, nice feature, and that's, uh, Packit, uh, supports multiple release streams. So, previously, uh, as we are reacting to upstream release monitoring, we've been always reacting only to the highest release stream, uh, but nowadays, you can configure and consume, uh, multiple release streams. So, for example, for Rawhide, uh, you want to get the updates for the major version three and higher, and for the stable Fedora, so you need to actually, uh, stay on the, on the two dot uh, major release. And, uh, in the space of the Fedora CI, uh, we are planning, or it's already in progress, uh, to provide one repository with shared tests. Uh, so it will be all transparent to you, uh, easy to contribute, uh, we can discuss on the pull requests the changes, um, and, um, the plan is also to make the test infra independent. And the last thing from us, uh, that, uh, was one of our heavy focuses, uh, from the Packit team, uh, was actually something that's currently not uh, covering the Fedora, but uh, real and sent to stream. Uh, so we are providing um, AI assisted tooling to automate the package maintenance. And here we are covering rebasing, rebuilding, and backporting. And as an external person, you can see this in the CentOS stream MRs. You can see some contribution made by EmirBot. We've been hearing a lot of talk also about the CVEs. So, with Emir, we are trying to help with the situation. And even though currently we are not covering Fedora in the URL you see, you can at least see the code. You can maybe get inspired. And for future, maybe we can figure out also something for Fedora. And now I will hand it over to Jirka. >> Hi everyone. I'm Jirka. I work on the Log Detective. Yes, Log Detective is now part of Packit team at least. And it's actually hooked up to Packit right now. What you see over there is the output of Log Detective on one of the failed builds we had like relatively recently. Previously, we have already been serving and analyzing failed builds in Copper for some time now. There was this little ask AI button now there next to each and every one. There was also the teach AI button, but that didn't get much use unfortunately. That being said, one of the reasons we could finally do this for Packit is that we moved from the original architecture which was almost 90% deterministic, well, more than 90% to a semi-agentic architecture where the agent basically decides which artifacts to look at, gets some additional information about what was actually happening, what was the expected result, which allows us to basically get much better responses. And amusingly enough, despite the fact that it's kind of an agent now, we're actually saving on tokens, like substantially. Um so, it's a win-win on all accounts. And the original interface on the www.logdetective.com is still on, so you can try it yourself. We have recently actually introduced an integration with OBS. Yes. So, there's also that you can analyze your OBS builds, not just your copper, koji, and such builds. And um now I will hand it off. >> Uh hello. Uh I'm Peter Splichal, and I'm coming to uh bring a couple of news from the TMT area. So, TMT, uh which stands for test management tool, uh we during the last year uh we are glad to announce a couple of tangible steps towards simplifying and unifying things. Uh so, one of them is TMT policies. They were introduced about a year ago. At that time, they were just available for for tests. Now, quite recently, there was added support for plans as well. On the right side, you can see an an example. It's uh it shows like um it's basically a way how to dynamically uh modify uh test metadata and plan metadata. And it's designed in the way to make it uh enough flexible, but that complex stuff will not be something that user will be face facing. Basically, the idea behind the policy is that uh for example, when testing things on rail, uh there is a defined way how the guest should be prepared, the defined way how the test checks should be enabled, and do this in a consistent way. And then like the policy would be just like the single thing which user, or for example, testing farm, or the CI would provide uh as an information, and the farm would apply these settings. So, for example, on the right side we can see like that the ABC check to be like a mandatory check for all tests to be enabled when RLCIS is testing. >> [snorts] >> So, uh this is what is what is being done on the right side. And for example, the new feature for the guest profiles or environment setup profiles would be another thing that like a specific prepare stuff would be inserted into into the plan, which would enable the guest profile, and the and the guest would be set up in that in that in that in that way. So, um these are the policies. Second thing, TMT recipes, uh quite fresh thing. Uh when the TMT run is completed, there is a recipe animal file which contains a reproducible information about about about the run. And it can be used to rerun the same thing once again without any changes or with some changes like the example below shows. >> [snorts] >> That it's possible to take the run, take the recipe, filter for example just the failed test, and rerun again only the failed test to like speed up speed up the execution if there was some infrastructure problem or something similar. So, uh those were the recipes. And TMT artifact install, another step towards unifying the way how things are done locally on your laptop and in the CI and testing farm. So, the new TMT artifact install plugin will allow will allow like provide in the same way the same way how uh for example, Koji a fresh Koji build would be installed on the guest. Uh so, uh two examples how to do this locally using TMT run or using testing farm request. Uh you provide a Koji build, and uh the very same way uh of installing the artifacts would be used uh on on the laptop and in the CI as well. The one one significant change which applies here for for the users is that we want to provide a simple way how to how to install packages which are conflicting when there is a single build and there are conflicting conflicting packages. So like now everything which is needed for the test should be like explicitly included in the requires. So that's about the artifact install. And a couple more things but I saw the sign that 5 minutes so maybe just a few seconds and the new cleanup step which is a dedicated step which allows the finishing tasks to run separately. Some improvements in the image mode area and also now it's possible to expose devices from the test runner to the guest. Improvements in the hardware specification and sole script which can be useful when running things uh when you need to do some common common setup before test. And finally per test adjustments in the discover step or adjusting plans when importing them from remote repositories can can also like give some more flexibility. So that would be news about TMT. Quite a few things from these are new and we would like like to invite you for for like experiment them try try them and provide us feedback and of course everything is open. So for contributions that would be nice. And that would be it from TMT. >> Hello. I'm Yevgeny. I brought some news from testing farm but I need to speed run it I guess. So first one AWS bare metals instances in testing farm we offer it now and user can request them by setting hardware requirements like in these examples and we increased instances variety in AWS so the provision should be more robust. Um testing farm includes air AI analysis for all failed and error test requests. Uh it is available within several minutes after uh test request finishes. Uh but note that it is in prototype stage and we are still actively fine-tuning outputs. Uh big change to token management. Um now all API tokens have an expiration date limiting their life to a maximum of of 1 year, uh but we provide a grace period option uh that allows user to choose how long the previous API uh token remain valid after a generation to allow a smooth transition without any interruptions. Uh there are several results viewer improvements. Now we show TMT warnings TMT warnings per plan and uh we improved error reporting per plans. Um yeah, testing farm in uh supports image mode aka boot C testing and um uh yeah, you can run tests there. Uh you can install any artifact there and uh we provide uh image mode composers for all Fedora sends at those stream we support. And uh yeah, architectures are arch or Intel platforms. Uh CLI improvements uh the skip guest setup option allows you to skip all default guest setup tasks. Uh most time-consuming one uh which can increase uh uh speedy speed up system provisioning. And uh we added a composers command uh which lists all available composers in testing farm and we added a list command which uh shows all your uh test requests and reservations. And uh the multi-host pipeline now supports artifact installation uh via TMT prepare how uh like Peter showed. And uh previously, it was available only for single host pipelines, but now this limitation has been lifted. And uh you can you can install uh copper builds, culture builds, brew builds, and other artifacts of your choice into multi-host pipelines. And uh the next steps uh in the next vlog, I I hope we'll bring single host and multi-host pipeline uh unification. And uh by default, there will be no TMT or TF profiles used, uh but uh we will provide specific policies for Fedora CI, CentOS Stream CI, uh Packet, etc. And of course, we will improve AI provided test results analysis. >> Back to Frank. >> Yeah. As you can see, there's a lot of going on. Uh Yeah. And just uh two things from DevConf, if you happen to be there. And that's basically it. Uh And we can move to the Q&A. I But just before that, I would like to thank all these roughly 20 people working on all of this. So, huge thanks for all the work. >> [applause] >> Questions? >> If there are no questions, I have a few things that I forgot about. Or or I mean, I I I wanted to save some time before, you know. Uh Uh of course, uh AI stuff in copper, uh we became addicted on Gemini reviews, because I mean, in our team, we very appreciate any reviewer. Reviewer is the topmost important person. And everyone should learn from us this, because I mean, producing the code is not that difficult today. It's really complicated to get it reviewed. And we don't know what to replace the Gemini reviews with right now. So, if you have suggestions, please let us know uh >> [clears throat] >> because Gemini is being stopped by Google, I think. AI again, Jirka Kyovsky is working on tool RPM meta, which is going to like uh estimate how long the RPM build is going to take and perhaps assign to the build a B fear machine to speed up things. Uh Uh architectures uh we are going to have a problem with Z architecture. If you can help us with that in the future, please let us know. As you may know, it is back again in copper natively, but within I think it's a year till IBM Cloud is going to shut the the S390 down. We need to find a replacement. Similarly, it would be nice if you knew about Power 10 architecture because Fedora ELN is uh is only I mean it requires Power 10 architecture. We currently have hypervisors that are Power 9. And a little advertisement, I am working on a uh Okay. on a project that is called No RPM. I care about security and the tool is able to parse or I mean expand values of RPM macros safely without let's say dangerous side effects like running bash scripts and stuff like that. I know I was integrating this into RPM build pipeline in Conflux and also in copper. >> So, as you can see, we can speak like all day. We should next time have a separate separate We should next time have a separate a separate room.