On Thu, 23 Apr 2020 at 16:37, Kevin Fenzi <ke...@scrye.com> wrote:

> On Thu, Apr 23, 2020 at 11:46:25AM +0200, Pierre-Yves Chibon wrote:
> > Good Morning Everyone,
> >
> > Kevin and I had a discussion on IRC the other day about mirroring the
> ansible
> > repo.
> > The options we considered are:
> ...snip...
> >
> >   For a first step I went with a third approach: a small python service
> that
> >   runs every 3 minutes (configurable): git fetch && git fsck (to ensure
> the git
> >   is in a correct state). It actually doesn't run every 3 minutes, it
> calls git,
> >   then wait for 3 minutes then calls git again and so on. So if git was
> ever to
> >   takes 4 minutes to run, there is no risk of the program stepping on
> its own
> >   toes.
>
> ok.
>
> I'm wondering if that might be overkill.
>
> Really if pagure.io blows up, we want to be able to look at the repo we
> have on batcave01 and be able to still operate while we recover
> pagure.io. If someone pushed or merged some commits in between the last
> time we synced and blowup, someone should have them in their local repo
> right? so we could just push them to the repo on batcave and be back
> completly in sync, no?
>
> but I guess it doesn't hurt to do every 3minutes, just some BW.
>
> Another option I mentioned the other day when we were talking, but I
> didnt really explain well was that we could wrap ansible-playbook into a
> wrapper that runs a git pull then ansible-playbook... so it would always
> be in sync at first you run it. That could be messy tho if there's
> another process doing pulls, etc. So I guess scrap that idea.
>
>
If we were to do that I would put in a lock logic like we do with our
rsync's and such.

New workflow, everyone uses rbac-playbook and we add some lock code to
check, make a lockfile, do the git pull, run the playbook, remove the
lockfile.
Check to see if a lockfile exists exit unless a --dontcare was put in place
at which point it could do somehting like:
if lockfile is younger than 10 minutes, assume that the plays are fresh
enough and use that.
if lockfile is older than 10 minutes, exit saying "we seem to have a dead
git pull going, please manually check what the problem is"

And I think that wont' work well for our super long ansible runs... I am
beginning to think we have an unsolvable problem here and everything will
suck somewhere.



-- 
Stephen J Smoogen.
_______________________________________________
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@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.fedoraproject.org

Reply via email to