#9480 AWS CDN for koji "latest" buildroots?
Closed: Fixed 3 years ago by kevin. Opened 3 years ago by praiskup.

In Copr, people often enable
https://kojipkgs.fedoraproject.org/repos/fXX-build/latest/
in their builds, but it is pretty complicated - so only a limited percent of
users are actually doing this.

I'm curious if there's a desire/need to have the CDN proxy; I don't
propose a mirroring system..., but something similar we have with
download.copr.fedorainfracloud.org.

The question comes from the idea that we could make it a bit easier to
enable the Koji repo in Copr. Would Koji be fine to serve the additional
Copr load?


The system that you are describing will look something like this. (ascii graphics are a bit off but best I can do)

            [dnf/yum]<-+
               |
            [mirrors]<-+               [other clients]
                       |                   |
[copr]  <-> [aws-cdn] <-> [dl.fpo] <-> [NFS-server]
                                           |   
                                  +--------+-------+----------+
                                  |        |       |          |
                             [some builders]   [koji]    [other backend tools]

The pipe that dl.fpo (and other parts) has is a 2 gigabit pipe and we are mostly using it for dnf/yum from users and mirrors. The aws cdn shows up for some of the user traffic but we have been at 100% utilization with mirrors not able to get traffic. The NFS server is on 40GB but the koji shares are a large share with a lot of clients asking stuff from it. The CPU/cache on the server is pretty loaded with this.

The aws cdn could help on this but it would need to balance out what can be done.

So, we actually already do this for ostree... and could for this... but the problem is that the content changes very often, so I am not sure cloudfront is going to help too much.

On the other side, I don't think copr builders could cause that much load. Builds would be staggered I would think right, not generally hitting all at the same time?

So, personally, I would say it would be ok to just use directly and if there's some issue we could try and add cloudfront, but as smooge notes we have had BW problems, so it might be nice to get those solved before enabling ?

So my summary: wait a bit to make this easier until we have more BW, then enable it directly and unless we see a issue we are done, if we do, we look at cloudfront?

Metadata Update from @zlopez:
- Issue priority set to: Waiting on External (was: Needs Review)
- Issue tagged with: aws

3 years ago

@praiskup does that all sound fine to you?

Do you want us to keep this open to let you know when we have more BW? or do you just want to look at enabling it and see how it goes?

While repodata changes quite often, new builds are not added that often, and the actual RPM packages don't ever change. I believe that with cache TTL varying for repodata and RPM package, and with toplink rewrite technique (as described in ticket #7383) the load on Koji servers would be quite limited.

Sure, we could, but it seems like a lot of work for not much gain. I mean we have 191 koji builders right now using those repos...

I think there's fewer copr builders than that * the fraction that have enabled these repos = small number

I don't see it really impacting things much. I could be wrong, but if so, we can always setup a cdn then?

Metadata Update from @smooge:
- Issue tagged with: high-trouble, low-gain, ops

3 years ago

So, gonna close this now. If you see any problems with the repos after you enable them, we can revisit (But I do not think you will :)

Metadata Update from @kevin:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

3 years ago

Login to comment on this ticket.

Metadata
Boards 1
ops Status: Done