 This talk will be about what's new in the, in the land of Ferris Monitoring.org. I will do a quick description of what it is. My name is Michal Koneczny and I'm software engineer, oh, senior software engineer right now in CP team. Okay. And I'm a high mage of the Ferris Monitoring.org which is the role I assigned it to myself. So it's not something that is really as a title. Okay. So if you want to know how to release Monitoring.org looks, this is how I imagine it when I'm writing my blog post as a wizard. So yeah, it's really nice. Real nice word that is magical. And I'm living in the highest tower you can see here. See there. Okay. So let's look at next. Okay. So let's start with some basics or saying what you can see in this Monitoring.org. So the Terris Monitoring.org is actually made from two components. The one is Anitya. It's the web interface that is accessible on the Release Monitoring.org. It's the part of Release Monitoring.org that the user will have some experience with. And here you can add your projects you want to watch. You can add the mappings for them to the distributions. You can edit the projects that are actually there. We support plenty of different backends which are the pages or the pages you can use to actually check. Okay. So what is Das? It does, it checks the pages or the projects you provide and then found a new version. It adds it to the Anitya and then emits a message to the rest of the Fedora. It does this automatically. Sorry. Okay. Let me just disable the phone. Okay. So, and the second part is the new hotness. New hotness is something that the bill not too much people actually see. It's just some script running or Fedora messaging consumer running in background. It's listening for the messages emitted by Anitya and for the messages emitted by Koji if there is, if the scratch build is needed. It creates or updates Pakzilla tickets with the new version with this is actually a notification for packages in Fedora. You can see that there is new version and it's starting scratch builds if configured. You can configure this on the package repository. There is monitoring option and you can change if you want to monitor. If you want to monitor, we'll get the notification in Pakzilla. If you don't want to monitor, you don't get anything. And if you want to monitor with scratch, it will start a scratch build for you. So, let's look at the next one. Okay. So, let's look more closely at the Anitya. Anitya is a realm of magic. There are plenty of mystical beasts running around, plenty of mystical bugs occurring. So, it's charitable place. Okay. So, some magic numbers because all engineers love numbers. So, I actually created a contribution. I found out the contribution from the last nest and in the parenthesis, you can see the difference between this year and the previous year. So, we had eight releases in Anitya. There was a really big release. I released it 1.00 which was a really big one and it took me 20 of months to actually prepare it. So, then I started to do releases more often. This is why we have eight releases and four was previous year. We have 128 commits from seven different contributors. We have 62 new issues and we closed 85 of them. Current version running is 1.30. It was 0.18.0 on the last nest. So, we are actually released 1.00 which was really big and number of projects that are watched by a release monitoring.org right now. Right now, it will be probably higher but when I created the slides, it was 182,106 which is 70,000 more than the last year. And map to Fedora packages are 20,000 of those projects, almost 20,000 which is 2,000 more than the last year. Okay, let's see what else we have here. Okay, so, I have a few really useful goblins running around that are actually determining the number of projects and goblins running around that are actually determining those things. So, I just paving my magical stuff and they are doing things. So, what they add, what they deliver. Okay, so, we add preview mode which was something that was really wanted by plenty of people. It allows the users of the Anitya to actually try to changes before they save them or add to new projects which is really nice. You can, you just have test check button at the project page. Maybe I will show it later if we will have time. And this is very useful for anything you want to do because in the other hand, you need to actually save the changes and then wait if this will fail or not because it wasn't very useful to, it wasn't really not useful but there wasn't option to actually see it when you save it. Okay, so we are plugging the Parallis versions which is, you can now see the stable and stable versions. There is even field how you can recognize them. The only thing that is not recognizable is there are the even versions if the project takes even versions as not stable. This is not something that Anitya can recognize right now. We have a version filter for incoming version so you can actually create filter for the versions you don't want to get like dev versions or something similar. There is update to the federal messaging that it could actually emit more than one version. Previously only the latest version was announced if there were more version in one check than only one. But right now it's sending multiple versions at all at once and we will probably use this even in the new hotness. Okay, next one is pre-calculation. You can actually archive the projects if there is project that is no longer maintain and upstream or it's not alive or it's not used anymore. You can archive it or admin can, administrator of Anitya can archive it. So we don't lose the information and the versions but the project will no longer be checked and it's no longer editable. There is full right of the documentation. Documentation was written almost from scratch. So there is plenty of use cases, how the user could use it and the guides, how to do it, how to do plenty of things. At the right of the projects menu, the projects were so showing really strange things. So right now it should show what is there. Complete a link to this kit for Fedora packages. No, you can see if there is mapping for Fedora, you can click on it and it will redirect you to the this kit page and same for the PLD Linux which was done by someone from the PLD Linux. Okay, let's look what we have next. Okay, so what is currently happening with Anitya? So the Anitya has a version of wine point four zero. Oh, it's prepared for wine point four zero. We have wine point three zero. What is done in this is the version filter is working in preview mode. It wasn't till now, it wasn't working in preview mode. It was working, it wasn't checked in preview mode. It was just saved. So you didn't see what actually changed. We add Python 3.9 support because this is a pattern that is currently on Fedora 34. We migrated to Zool, previously it was on Travis and I used Travis Spark and it stopped working and we were limited by the number of tests you can actually run by day. So I migrated to Zool. We have a new backend. This is source for the backend that is actually looking at the repository not really on the source page itself. And there is one thing that needs to be actually solved is social out. We are using social out for authentication with Fedora and it doesn't work with Python 3.9. So we need to replace it or do something other with it. So the fix that will fix this issue is already merged in social out but the maintainer who has the rights to actually release new versions doesn't release anything and it looks like he didn't do anything on the project for at least a year. So we need to look at the replacement. Okay. So this was everything for Anitya and let's look at the new hotness. New hotness is actually something that is floating in a real of magic in Anitya. It's something that is actually part of Anitya but not really. It's not connected to Anitya. It doesn't actually, it needs Anitya but Anitya doesn't need it. So yeah, it's actually something that we can just, use. Okay. So some magic numbers from the start. We have three races, same as the previous year. We have 20 commits, which is less than the last year. It's mostly because I was busy with other projects and didn't have that much time to actually work on it. And one of the commits is really big. It's a fuller everite of the new hotness. There were 20 issues created and 13 closed which is less than last year. Current version is 0.13 and 4.4. There were some bug fixes. Okay. There isn't too much new features into new hotness. We only did some bug fixes. There are few things that are actually in master branch but not really introduced to the production because it needs some testing and I still need to do some things before I release the 1.0. And yeah, the current situation. Mystone 1.0 is currently being put on. We are working on it. There are plenty of contribution. We did the full refactoring of source code using clean architecture design. So we know it's much more easier to maintain but it took plenty of time. We, that is done to look hash values when error happens during comparing of sources. This was one of the features that the packages wanted to see because sometimes it just said in the bugsy lot ticket that there was some sources where seem very different identical to the previous version which is not really bad but they didn't know which sources. So nowadays there is the hash and the source name. There is set to the out and set to the error from call process error for bugsy to bugsy lot command. This is when the Koji build fails. So you can see what exactly failed. The stack trace from the Koji build failure is sent to the bugsy lot ticket. There is even link to where to report the issues if this is the new hotness issues. So people don't need to actually look for it. They're just in a quick link. What's left? Okay, so there is still ongoing pull request for filing pull request to disk it directly instead of attaching patches to bugsy lot. This will be more easier for packages to actually see that they have new pull request for the package. So it will be probably easier than looking at the patch file. We will see in the future that the patch file will still be there. It will just be another functionality added above it. I just need to figure out few things with the tokens and API for the Pagor. And I would say that this will be in next nest or frog. This will be in the new hotness. Okay, I want to add the work for with federal messages containing multiple releases. I want to handle temporary errors more gracefully. So the new hotness isn't actually restarted, but it's just sending the message back to the message queue and waiting for some time to consume it again. And I want to use the release as a cache because right now the new hotness is not really scalable. There is issue when we receive the Koji message that the build is done, that it will be re-released in the new hotness. Get to the bad instance of the new hotness that doesn't have the information there is built with this ID. So it happened that we didn't get the info about the build being done. So right now we are running only one instance of the new hotness and in the future there will be two to actually have better load balancing. Okay. Oh, so we are at the end of the presentation. I will probably show you show you the new hotness monitoring itself. Just let me just open it. So for those who didn't see it yet, this is how it actually looks. You can see the output of the last check here. It's up, the check is going very often. So usually when one ends there is only five minute sleep and then starts again. It doesn't check all the projects every time just those that weren't checked in the last hour. And this will be probably configurable in the future. So you can see we checked 44,000 projects last check and most of them were okay. Plenty of them were rate limited. This is because of the GitHub rate limit. It's the reset each hour. So we are trying to address this. I'm not sure if there could be anything done with on the GitHub site. I need to actually contact somebody from the GitHub and ask if this could be changed to higher limit for the RISM monitoring door. And we had few errors, which we can actually check here. And you can see what actually happened and how many checks failed in our row, which is very big number. I should look at some of them. But from the 182,000 projects, only thousand of them failing. So it's really, really not an issue. Okay, we can look at the updated. Oh, the last one was the EPS plus. You can look at the project itself. I see it's something from PyPy and it has 007 as a number. It does as last version. So it looks nice. And let's look what we have here for Fedora. So here is the Fedora. And if I look, let's say for the zero AD, you can see that there is the Fedora mapping for the zero AD. The last version is 0024B. And if you look, if you click at the zero AD, you will be redirected directly to the disk gate. And you can look directly on Fedora on the SRC Fedora project.org. So I don't see any questions actually. So at least not in Q&A. I see one idea. Okay, if we want to add more version check rules. This is definitely interesting idea. I would say it's possible, but right now from the top of my head, I'm not sure what exactly needs to be changed and how much it will actually add. Because right now, one project is one where a lot of this checked. There will be multiple, there will be two, maybe much more checking. So yeah, it depends. Maybe for the custom backend, we could actually allow it. But for the most of the backends, we have your all that is actually Yeah, for your studies actually, I would say that is related to the backend. So if you have GitHub backend, you have GitHub.com URL with the repository. So yeah, and for source forage, we created another backend actually. Yeah, yeah, you can definitely create two projects and one will check for the Firefox and second for Firefox candidates. You can use custom backend, where you can specify the URL that will be checked and the regex that will check it. With preview mode, it's easier to actually try if the regex is working how you want it. So at the end of the presentation, I have some links, okay? And I will probably share the link to the presentation itself. Just let me find it. Oh, if anybody want to look at the presentation itself, could be find here. I see that it's actually messed the link the highlighter, but yeah, it's, you can find the PDF version, which has some graphical glitches, not sure why. I would say that the change of the color in the center was the issue here. And you can find the ODP version. So yeah, ODP are accessible. And thank you everybody for your attention. And if you have any questions later, I would be here so you can ask probably in the chat.