#22 consider merging into Koji (or a Koji plugin)
Opened 3 years ago by ktdreyer. Modified 2 years ago

My team and I have experienced integration issues when applying changes to Ursa Major's configuration.

We have several tags and several product versions going on, and the velocity at which we are managing these product versions is increasing. We're seeking a straightforward way to add and remove modules from our tags without manual commands.

Unfortunately we run into some problems, like our ursa-major CI fails for unclear reasons, or there are access problems, etc. It seems to me that many of the conflicts occur because there are (at least) two sources of truth: 1) the Koji hub database for tag inheritance, and 2) the ursa-major-config JSON file, and it is really difficult to keep these two in sync.

We could improve these issues if we built first-class support for modules into Koji (or at least into a Koji Hub plugin).

If modules were first-class objects within Koji, then the hub could immediately update inheritance every time a new module arrived. Koji is great at doing this for RPMs with normal build inheritance. I bet if we talked with @mikem and @tkopecek about this, we could brainstorm some good ideas.


@ktdreyer, there's a proposal going around that would do away with ursa-major completely.

Thanks @lucarval . I read that document and it was not apparent to me that it meant ursa-major would completely go away. I guess this is saying that MBS would set various external-repos on tags?

@ktdreyer, I believe so, but @psabata is the best person to answer that.

I also thought, that getting rid of Ursa is the current plan. But if not, making ursa a koji plugin could be way to go. In such case, ursa will have access to db and API in same place as koji hub. It should solve mentioned problems (I've not ever got through the ursa sources, so not sure how much effort it could take).

@sgallagh would you please update this ticket with the latest information you have here?

It looks like you've referenced some of this in your email about "Ursa Prime". Could you please point us at the source code for Ursa Prime? Will that be built into Koji or a plugin?

(@sgallagh if Ursa Prime will be tightly integrated into Koji, I would like to see if there's any way I can build support for it into koji-ansible also.)

@ktdreyer 'Ursa Prime' is a project code-name for "the stuff that replaces Ursa Major", it's not an actual software package. It is basically just a plan for some extensions to Koji (already landed) and Pungi (already landed) to generate a buildroot from modular content. At this point, the remaining work is:

@sgallagh , can we write a document for "How to transition away from ursa-major"? Like if someone wanted to run what Fedora is using today in their own Koji instead of ursa-major, how would they do that?

Thank you for linking to those three tickets.

@sgallagh , can we write a document for "How to transition away from ursa-major"? Like if someone wanted to run what Fedora is using today in their own Koji instead of ursa-major, how would they do that?
Thank you for linking to those three tickets.

I'm afraid that my workload is pretty heavy at the moment, but I agree such a document would be beneficial. @psabata might be able to help or point out the right person.

The proposal we came with back then, and that, I think, was somehow implemented in Fedora for testing, was this:

https://docs.google.com/document/d/1NxBbTPVJ17Ax4k-NbtorzxYspJ_CsjQ9m3In2wqWqVU/edit

Note I'm not currently involved in these efforts.

Login to comment on this ticket.

Metadata