Hi,
I am considering making a proposal for an alternative buildroot (similar to ELN) in Fedora, and I want to try to understand what Fedora resources might be available for this.
My requirements are:
+ A koji server and builders for doing 'shadow' builds of ~2000 Fedora packages. 'shadow' builds means that every time a build is made in the official Fedora koji then one would be done for this alternative buildroot.
+ Builders for all architectures supported by Fedora.
+ Developer access to the koji server using Fedora kerberos credentials.
+ Permissions to create and modify tags on the koji server for at least 3 people.
+ A DNF repo generated from these package builds that is updated once per day.
+ Jenkins server that can host a CI job that listens for Fedora builds and submits builds to this alternative buildroot.
My questions are:
Do we have enough machine resources and people time to implement something like this, and if not, how much additional resources would be required?
How and where to implement this, e.g. can we use the staging koji server or something else?
Can we build something that is generic enough, so that other people who want to make similar proposals would be able to easily set up their own alternative buildroot?
Thanks, Tom
On Thu, 14. Jan 17:44, Tom Stellard wrote:
Hello infrastructure team,
if i can help to build the system then please send me quick info.
Hi,
I am considering making a proposal for an alternative buildroot (similar to ELN) in Fedora, and I want to try to understand what Fedora resources might be available for this.
My requirements are:
- A koji server and builders for doing 'shadow' builds of ~2000 Fedora
packages. 'shadow' builds means that every time a build is made in the official Fedora koji then one would be done for this alternative buildroot.
Builders for all architectures supported by Fedora.
Developer access to the koji server using Fedora kerberos credentials.
Permissions to create and modify tags on the koji server for at least 3
people.
- A DNF repo generated from these package builds that is updated once per
day.
- Jenkins server that can host a CI job that listens for Fedora builds and
submits builds to this alternative buildroot.
My questions are:
Do we have enough machine resources and people time to implement something like this, and if not, how much additional resources would be required?
How and where to implement this, e.g. can we use the staging koji server or something else?
Can we build something that is generic enough, so that other people who want to make similar proposals would be able to easily set up their own alternative buildroot?
Thanks, Tom _______________________________________________ infrastructure mailing list -- infrastructure@lists.fedoraproject.org To unsubscribe send an email to infrastructure-leave@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedorapro...
Hi all,
This may be slightly tangential to the question, but I've previously floated the idea of running a distributed build service over IPFS
Those of us with spare CPU cycles may be able to contribute CPU cycles to pick up SRPM packages off IPFS, build them and publish the binary RPMs back into IPFS.
Regards,
Daniel
On 15/01/2021 17:35, Damian Tometzki wrote:
On Thu, 14. Jan 17:44, Tom Stellard wrote:
Hello infrastructure team,
if i can help to build the system then please send me quick info.
Hi,
I am considering making a proposal for an alternative buildroot (similar to ELN) in Fedora, and I want to try to understand what Fedora resources might be available for this.
My requirements are:
- A koji server and builders for doing 'shadow' builds of ~2000 Fedora
packages. 'shadow' builds means that every time a build is made in the official Fedora koji then one would be done for this alternative buildroot.
Builders for all architectures supported by Fedora.
Developer access to the koji server using Fedora kerberos credentials.
Permissions to create and modify tags on the koji server for at least 3
people.
- A DNF repo generated from these package builds that is updated once per
day.
- Jenkins server that can host a CI job that listens for Fedora builds and
submits builds to this alternative buildroot.
My questions are:
Do we have enough machine resources and people time to implement something like this, and if not, how much additional resources would be required?
How and where to implement this, e.g. can we use the staging koji server or something else?
Can we build something that is generic enough, so that other people who want to make similar proposals would be able to easily set up their own alternative buildroot?
Thanks, Tom _______________________________________________ infrastructure mailing list -- infrastructure@lists.fedoraproject.org To unsubscribe send an email to infrastructure-leave@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedorapro...
infrastructure mailing list -- infrastructure@lists.fedoraproject.org To unsubscribe send an email to infrastructure-leave@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedorapro...
On Thu, Jan 14, 2021 at 05:44:56PM -0800, Tom Stellard wrote:
Hi,
I am considering making a proposal for an alternative buildroot (similar to ELN) in Fedora, and I want to try to understand what Fedora resources might be available for this.
I think you may be conflating 2 different things below...
A alternate buildroot (like eln) exists in the current koji and uses it's builders and other resources.
My requirements are:
- A koji server and builders for doing 'shadow' builds of ~2000 Fedora
packages. 'shadow' builds means that every time a build is made in the official Fedora koji then one would be done for this alternative buildroot.
This is... a secondary koji setup, not an alternative buildroot. :)
Note that back when we had secondary koji's, the shadowing scripts were very fragile and basically took at least a few people full time to make sure they kept building/working. It's not a 'run script and walk away'. It's very labor instensive by someone who understands packages. :(
It's also been about 3+years since anyone (that I am aware of) ran one. So, very likely old scripts would be horribly broken. ;(
- Builders for all architectures supported by Fedora.
We don't have bunches of idle builders.
Developer access to the koji server using Fedora kerberos credentials.
Permissions to create and modify tags on the koji server for at least 3
people.
- A DNF repo generated from these package builds that is updated once per
day.
ELN does this with odcs composes.
- Jenkins server that can host a CI job that listens for Fedora builds and
submits builds to this alternative buildroot.
We currently run 0 jenkins servers. :) We don't really want to get into that business, IMHO.
My questions are:
Do we have enough machine resources and people time to implement something like this, and if not, how much additional resources would be required?
I don't think we (fedora infrastructure/cpe) wants to deploy and build out a secondary koji hub and builders. Thats going to be a ton of work.
If you mean to do this like ELN (a seperate buildroot in the existing koji) we need to discuss things more I think. That means we don't have to run a seperate hub and builders, but it means the new buildroot takes up a ton of cpu time, builder time, and disk space.
How and where to implement this, e.g. can we use the staging koji server or something else?
The staging koji is to be as similar as possible to the primary one so we can test things. If we deployed something there and it diverged or we needed to reinstall it and destroy this it would make everyone sad.
Can we build something that is generic enough, so that other people who want to make similar proposals would be able to easily set up their own alternative buildroot?
I don't personally want to make this easy... it uses way too much resources. :(
There is another alternative however:
https://mbbox-operator.readthedocs.io/en/latest/
mbbox is a openshift operater that deploys koji, db, and mbs. You still need builders I think, but otherwise it does a lot of the heavy lifting. This could be run in a cloud instance/cluster? That wouldn't help the shadowing problem... but perhaps the ELN folks could share how they are doing things?
Does that answer some questions/provide more info?
kevin
On 1/15/21 9:46 AM, Kevin Fenzi wrote:
On Thu, Jan 14, 2021 at 05:44:56PM -0800, Tom Stellard wrote:
Hi,
I am considering making a proposal for an alternative buildroot (similar to ELN) in Fedora, and I want to try to understand what Fedora resources might be available for this.
I think you may be conflating 2 different things below...
A alternate buildroot (like eln) exists in the current koji and uses it's builders and other resources.
My requirements are:
- A koji server and builders for doing 'shadow' builds of ~2000 Fedora
packages. 'shadow' builds means that every time a build is made in the official Fedora koji then one would be done for this alternative buildroot.
This is... a secondary koji setup, not an alternative buildroot. :)
OK, makes sense.
Note that back when we had secondary koji's, the shadowing scripts were very fragile and basically took at least a few people full time to make sure they kept building/working. It's not a 'run script and walk away'. It's very labor instensive by someone who understands packages. :(
I have a working prototype for this that listens to Fedora and kicks off builds on another koji server. I think what I'm doing is much easier than a true shadow instance, because my buildroots use the main Fedora repos as external repos.
The builds I am doing are meant to be layered on top of the Fedora repos and are not meant to be a complete working compose on their own.
It's also been about 3+years since anyone (that I am aware of) ran one. So, very likely old scripts would be horribly broken. ;(
- Builders for all architectures supported by Fedora.
We don't have bunches of idle builders.
Developer access to the koji server using Fedora kerberos credentials.
Permissions to create and modify tags on the koji server for at least 3
people.
- A DNF repo generated from these package builds that is updated once per
day.
ELN does this with odcs composes.
- Jenkins server that can host a CI job that listens for Fedora builds and
submits builds to this alternative buildroot.
We currently run 0 jenkins servers. :) We don't really want to get into that business, IMHO.
My questions are:
Do we have enough machine resources and people time to implement something like this, and if not, how much additional resources would be required?
I don't think we (fedora infrastructure/cpe) wants to deploy and build out a secondary koji hub and builders. Thats going to be a ton of work.
If you mean to do this like ELN (a seperate buildroot in the existing koji) we need to discuss things more I think. That means we don't have to run a seperate hub and builders, but it means the new buildroot takes up a ton of cpu time, builder time, and disk space.
Running in the main koji instance is certainly an option, I didn't originally suggest this, because I thought it might interfere too much with normal Fedora work.
How and where to implement this, e.g. can we use the staging koji server or something else?
The staging koji is to be as similar as possible to the primary one so we can test things. If we deployed something there and it diverged or we needed to reinstall it and destroy this it would make everyone sad.
Can we build something that is generic enough, so that other people who want to make similar proposals would be able to easily set up their own alternative buildroot?
I don't personally want to make this easy... it uses way too much resources. :(
There is another alternative however:
https://mbbox-operator.readthedocs.io/en/latest/
mbbox is a openshift operater that deploys koji, db, and mbs. You still need builders I think, but otherwise it does a lot of the heavy lifting. This could be run in a cloud instance/cluster? That wouldn't help the shadowing problem... but perhaps the ELN folks could share how they are doing things?
This sounds great, I will take a look at it.
Does that answer some questions/provide more info?
Yes, thanks.
-Tom
kevin
infrastructure mailing list -- infrastructure@lists.fedoraproject.org To unsubscribe send an email to infrastructure-leave@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedorapro...
Hi, Tom,
On Fri, Jan 15, 2021 at 2:45 AM Tom Stellard tstellar@redhat.com wrote:
Hi,
I am considering making a proposal for an alternative buildroot (similar to ELN) in Fedora, and I want to try to understand what Fedora resources might be available for this.
My requirements are:
- A koji server and builders for doing 'shadow' builds of ~2000 Fedora
packages. 'shadow' builds means that every time a build is made in the official Fedora koji then one would be done for this alternative buildroot.
Builders for all architectures supported by Fedora.
Developer access to the koji server using Fedora kerberos credentials.
Permissions to create and modify tags on the koji server for at least
3 people.
- A DNF repo generated from these package builds that is updated once
per day.
- Jenkins server that can host a CI job that listens for Fedora builds
and submits builds to this alternative buildroot.
My questions are:
Do we have enough machine resources and people time to implement something like this, and if not, how much additional resources would be required?
I can not help with the Koji, but on the topic of Jenkins setup, I'd like to mention that Fedora CI maintains two Jenkins instances, and hosts various pipelines on them, including Rawhide Gating and ELN. And we(as Fedora CI SIG) welcome community members to setup more pipelines on those Jenkins instances if they help develop Fedora.
Every pipeline we run is a separate GitHub repository under the Fedora CI org: https://github.com/fedora-ci Which allows us to have a shared ownership, code-review and test process and so on.
Thus you don't have to setup and maintain your own Jenkins system for your project.
How and where to implement this, e.g. can we use the staging koji server or something else?
Can we build something that is generic enough, so that other people who want to make similar proposals would be able to easily set up their own alternative buildroot?
This is one of the declared goals of the ELN project - to not just build the RHEL-like environment, but also to develop some tooling which would allow anyone to build their own alternative buildroot. So I would be interested in discussing this further.
At Devconf.cz 2021 there will be the ELN Meetup https://devconfcz2021.sched.com/event/gmYF/fedora-eln-meetup where we are going to brainstorm our next steps. And building the "alternative buildroot toolbox" could be one of them.
Thanks, Tom _______________________________________________ infrastructure mailing list -- infrastructure@lists.fedoraproject.org To unsubscribe send an email to infrastructure-leave@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedorapro...
On 1/16/21 4:42 AM, Aleksandra Fedorova wrote:
Hi, Tom,
On Fri, Jan 15, 2021 at 2:45 AM Tom Stellard tstellar@redhat.com wrote:
Hi,
I am considering making a proposal for an alternative buildroot (similar to ELN) in Fedora, and I want to try to understand what Fedora resources might be available for this.
My requirements are:
- A koji server and builders for doing 'shadow' builds of ~2000 Fedora
packages. 'shadow' builds means that every time a build is made in the official Fedora koji then one would be done for this alternative buildroot.
Builders for all architectures supported by Fedora.
Developer access to the koji server using Fedora kerberos credentials.
Permissions to create and modify tags on the koji server for at least
3 people.
- A DNF repo generated from these package builds that is updated once
per day.
- Jenkins server that can host a CI job that listens for Fedora builds
and submits builds to this alternative buildroot.
My questions are:
Do we have enough machine resources and people time to implement something like this, and if not, how much additional resources would be required?
I can not help with the Koji, but on the topic of Jenkins setup, I'd like to mention that Fedora CI maintains two Jenkins instances, and hosts various pipelines on them, including Rawhide Gating and ELN. And we(as Fedora CI SIG) welcome community members to setup more pipelines on those Jenkins instances if they help develop Fedora.
Every pipeline we run is a separate GitHub repository under the Fedora CI org: https://github.com/fedora-ci Which allows us to have a shared ownership, code-review and test process and so on.
Thus you don't have to setup and maintain your own Jenkins system for your project.
Ok, great.
How and where to implement this, e.g. can we use the staging koji server or something else?
Can we build something that is generic enough, so that other people who want to make similar proposals would be able to easily set up their own alternative buildroot?
This is one of the declared goals of the ELN project - to not just build the RHEL-like environment, but also to develop some tooling which would allow anyone to build their own alternative buildroot. So I would be interested in discussing this further.
At Devconf.cz 2021 there will be the ELN Meetup https://devconfcz2021.sched.com/event/gmYF/fedora-eln-meetup where we are going to brainstorm our next steps. And building the "alternative buildroot toolbox" could be one of them.
Yes, I would be interested in discussing this further. I have in mind several potential use cases for alternative buildroots, and having some tooling around this would be useful.
-Tom
Thanks, Tom _______________________________________________ infrastructure mailing list -- infrastructure@lists.fedoraproject.org To unsubscribe send an email to infrastructure-leave@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedorapro...
On Thu, Jan 14, 2021 at 05:44:56PM -0800, Tom Stellard wrote:
Hi,
I am considering making a proposal for an alternative buildroot (similar to ELN) in Fedora,
The resource question has already been addressed elsewhere in this thread. What makes me the most curious though is the question: why? What do you have in mind? What would you like to use these resources (that we don't really have) for?
Pierre
On 1/18/21 2:26 AM, Pierre-Yves Chibon wrote:
On Thu, Jan 14, 2021 at 05:44:56PM -0800, Tom Stellard wrote:
Hi,
I am considering making a proposal for an alternative buildroot (similar to ELN) in Fedora,
The resource question has already been addressed elsewhere in this thread. What makes me the most curious though is the question: why? What do you have in mind? What would you like to use these resources (that we don't really have) for?
I would like to do a rebuild of Fedora with clang as the system compiler.
-Tom
Pierre _______________________________________________ infrastructure mailing list -- infrastructure@lists.fedoraproject.org To unsubscribe send an email to infrastructure-leave@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedorapro...
infrastructure@lists.fedoraproject.org