Re: Another Rust MirrorManager experiment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jul 02, 2020 at 09:44:10AM +0200, Pierre-Yves Chibon wrote:
> On Wed, Jul 01, 2020 at 06:25:47PM +0200, Adrian Reber wrote:
> > On Wed, Jul 01, 2020 at 09:16:05AM -0700, Kevin Fenzi wrote:
> > > On Tue, Jun 30, 2020 at 02:17:30PM +0200, Adrian Reber wrote:
> > > > On Mon, Jun 15, 2020 at 03:36:23PM -0700, Kevin Fenzi wrote:
> > > > > On Wed, Jun 10, 2020 at 11:09:49AM +0200, Adrian Reber wrote:
> > > > > > 
> > > > > > Then I just have to wait a bit. No problem.
> > > > > > 
> > > > > > > > Having the possibility to generate the mirrorlist input data in about a
> > > > > > > > minute would significantly reduce the load on the database server and
> > > > > > > > enable us to react much faster if broken protobuf data has been synced
> > > > > > > > to the mirrorlist servers on the proxies.
> > > > > > > 
> > > > > > > Yeah, and I wonder if it would let us revisit the entire sequence from
> > > > > > > 'update push finished' to updated mirrorlist server. 
> > > > > 
> > > > > This would help us with the case of: 
> > > > > - updates push/rawhide finishes, master mirror is updated. 
> > > > > - openqa/other internal thing tries to get images or updates in that
> > > > >   change and gets a metalink with the old checksum so it can't get the
> > > > >   new stuff.
> > > > > - mm-backend01 generates and pushes out a new protobuf.
> > > > > > 
> > > > > > Probably. As the new code will not run on the current RHEL 7 based
> > > > > > mm-backend01 would it make sense to run a short running service like
> > > > > > this on Fedora's OpenShift? We could also create a new read-only (SELECT
> > > > > > only) database account for this.
> > > > > 
> > > > > We could, or as smooge suggests make a mm-backend02? 
> > > > > 
> > > > > But I guess now mm-backend02 just generates new proobuf files and copies
> > > > > them to mirrorlists? If thats all it's doing, perhaps we could indeed
> > > > > replace it with an openshift project. 
> > > > 
> > > > We need a system to run the tool and copy the data to all proxies.
> > > > 
> > > > I would like to see a new MirrorManager database user who can only do
> > > > selects as that is all we need.
> > > > 
> > > > Currently we copy the files via SSH to the proxies, if we continue doing
> > > > it that way, then we would also need the existing SSH key to copy the
> > > > data to the proxies.
> > > > 
> > > > Easiest would probably be a small Fedora 32 based VM with 2GB of memory.
> > > 
> > > I'm not sure f32 will work with 2gb memory anymore. I dont think it
> > > installs at any rate. 
> > > 
> > > I do like the idea of just making it an openshift pod. Perhaps this
> > > could even fit with pingous 'toddlers' setup. ie: 
> > > 
> > > * listen for message saying a repo has updated
> > > * update the db
> > > * create the protobuf
> > > * push out to proxies
> > > 
> > > The only weird part of putting it in openshift is that we would need to
> > > have fedora_ftp (ro) there available as a volume, but that is doable... 
> > 
> > No, this part only needs to talk read-only to the database. This is not
> > touching anything on the disk besides writing the output. I guess you
> > were thinking about the umdl (update-master-directory-listing) part.
> > That would need ro access to the file-system.
> > 
> > The part I am talking about just reads the database and creates a
> > protobuf snapshot of the database which is then used by the mirrorlist
> > servers on the proxies.
> > 
> > Currently it runs once every hour. Which works pretty good so far.
> > Triggering it on a message makes only limited sense as it depends on the
> > results of the crawler. We could run it twice an hour to have newer
> > database snapshots on the proxies.
> > 
> > How can I prepare it for running in openshift. Can I use the
> > configuration for toddlers? Where can I find that?
> 
> Toddlers has recently gained the possibility to trigger at certain time. Well
> we're actually sort of abusing it, we've added a script (playtime) that will
> send a fedora-messaging message and that should be called from a cron job. That
> message should then trigger the corresponding toddler.
> 
> This (playtime) is not yet deployed in production so I can't point you to an
> example, but the project itself is at:
> https://pagure.io/fedora-infra/toddlers
> and the openshift config is at:
> https://pagure.io/fedora-infra/ansible/blob/master/f/playbooks/openshift-apps/toddlers.yml

Thanks for the pointer. I had a look at it, but I do not think I
understand it. So many sections where I have no idea what they do

I would need some help setting this up.

		Adrian
_______________________________________________
infrastructure mailing list -- infrastructure@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to infrastructure-leave@xxxxxxxxxxxxxxxxxxxxxxx
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@xxxxxxxxxxxxxxxxxxxxxxx




[Index of Archives]     [Fedora Development]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]

  Powered by Linux