On Thu, Jun 18, 2020 at 2:39 PM Ken Dreyer <ktdreyer(a)ktdreyer.com> wrote:
On Thu, Jun 18, 2020 at 10:31 AM Josh Boyer <jwboyer(a)redhat.com> wrote:
> Personally, I have long wanted burst-to-cloud or the ability for
> others to donate hosts to the Fedora build system without having to
> physically ship hardware. Koji is somewhat limited in that regard.
> Maybe developing a shim layer and some security best practices to
> allow that would help.
I'm interested in this because I think it would make Koji more
flexible, and there are some challenges. I think we would need a
separate Koji daemon to watch the task queues on the hub and bring
additional builders up or down as needed. Maybe an OpenShift operator
could do this. Non-x86_64 arches are complicated as well, because not
all cloud providers have s390x (for example). A service needs to
inspect the Koji buildArch task parameters to determine what arches to
bring up, and that's just for RPMs - we'd need code to do it for the
VM image tasks, containers, etc.
I *really* don't want to see Koji tied to Kubernetes. That adds a
whole bigger burden to actually deploying the thing, which I don't
think most folks deploying Koji are equipped to deal with.
Do you have specific vendors lined up who would donate build hosts?
In
the Ceph project, we have something like what you're describing with
libcloud and Jenkins. Our CI build hosts' costs were wildly expensive
compared to our bare metal hosts, and the performance can be
variable/worse. At a certain point, there is a constant baseline load
in the buildsystem, and it makes sense to run as much of that on our
own hosts as we can.
Why does it have to be specific vendors? This is the biggest problem
we have with the mindset around our infrastructure. Why is it that
individuals can't contribute?
Aside from that, vendors, in general, will *not* want to give stuff to
Fedora because Fedora is legally not separate from Red Hat. That makes
things very complicated, especially when trying to extract promises of
equipment being used only for Fedora and not for Red Hat commercial
purposes. I know that if I was in charge of a donation, I wouldn't
donate equipment unless I was _dead certain_ it wouldn't get used for
anything except Fedora stuff.
And finally, cloud infrastructure costs for CI massively exceed the
costs of having fixed infrastructure and scaling that. Burstiness is
overrated, because eventually all traffic rises to fill with the newly
available capacity. Unless you have a *really* good way to control
costs (which wow, you'd be in a realm beyond everyone else), CI
infrastructure in the cloud at Fedora scale would cost a ton more than
just adding hypervisors to the datacenter.
--
真実はいつも一つ!/ Always, there's only one truth!