On Thu, May 28, 2020 at 02:18:38PM +0200, Pierre-Yves Chibon wrote:
Good Morning Everyone,
I know this question has already been raised a few times, but I think we should
raise it once more: what do we see as future for loopabull?
It is currently triggered on 4 topics (3 from prod and 1 from stg) to do basically
- Flag commit successfully built in koji, in other words it adds these flags
- Flag when the Fedora CI start testing a PR
- Flag when the Fedora CI finished testing a PR (and thus reports Pass/Fail)
Upstream released yesterday a 0.0.7 release which brings supports for
fedora-messaging (contributed by your servitor).
Looking at the code, it should be python3 compatible, but it doesn't say
specifically in the setup.py and I honestly don't remember if I've tested that
The package has been orphaned in Fedora for over 10 months and has thus been
I've had a chat with upstream yesterday and they are still interested in the
project but more as a pet project and their time is just like the rest of us,
limited for pet projects these days.
That being said the code base is really quite small and involves technologies
we're already using in other places (python-pika, celery, rabbitmq, ansible...)
so there isn't really anything new there.
One of its limitation currently is with secrets, how to pass/specify them.
This is something we could circumvent via ansible-vault or so, but it needs a
I basically see three ways forward with this:
- We continue with loopabull and we need to check its python3 support, how to
deal with secrets, if we can get it to run in openshift & so on.
- We look for something else, similar. The requirements being:
- Run a task when seeing a message in our message bus
- Handle secrets
- Scalable up/down
- Runnable in openshift is a bonus
- Preferably in a language we can debug (python++, potentially rust)
- We write something that fits our needs and requirements
Would you know something that fits our requirements and that we could just run?
If not, do you have a preferred way between options #1 and #3?
So I took a few hours and started poking at this. I've ended up with:
(a bunch of small programs running
around: toddlers :))
It's basically, one fedora-messaging consumer and plugins.
Some of its advantages:
- We can run it in openshift easily and we should be able to scale it
up/down as needed
- Managing secrets is just like managing secrets for all our apps in openshift.
- Relies on our main rabbitmq server and thus has monitoring (while loopabull
ran its own, which granted we could monitor but that's something we've not
done while we have this in place for our main cluster and easily
configurable via ansible).
I would still like to add some unit-tests for this but from empirical testing
(ie: running it locally) it is doing what it should be doing and the two/three
tasks loopabull have already been ported.
Let me know what you think of it! :)