[CentOS-devel] Setting up fedmsg for centos

Mon Jun 1 13:25:50 UTC 2015
Jan Chaloupka <jchaloup at redhat.com>

Hi,

CentOS does not have any equivalent to fedmsg bus [1] at the moment. 
What is it used for? Services (koji, pkgdb, ...) can send messages about 
their state and result of tasks they run into the bus to notify other 
service which can react accordingly. Thus creating a modular 
infrastructure. E.g. koji send a message about finished build. Agent 
read the message, trigger a jenkins job and run additional tests on the 
build. Daily statistics about number of finished /failed builds can be 
collected. Other application can have their own use cases. Example of 
bus topology [4]. [5] is another source of some info about fedora 
infrastructure.

What needs to be done to set up the bus? Basic demo and setup of fedmsg, 
fedmsg-relay is at [3]. First would be great to setup the bus for koji. 
Koji runs on CentOS 6. fedpkg package is in epel6 repository [2]. We 
will be needing fedmsg-hub, fedmsg-relay, koji-hub and koji-plugin parts 
in the topology at the moment [4]. CentOS koji and Fedora koji are not 
exacly the same but both APIs are compatible. So maybe take an 
inspiration from Fedora's koji plugin. In order to set up bus and 
clients, endpoints has to be set. Setting of endpoints is discussed at 
[6]. Context of endpoints is described at [3]. Configuration files are 
shared and must be the same on all machines using the bus. Bus messages 
can be saved into database [7].

What we can start with?
1) create an instance of centos/fedora for fedmsg to run
2) create/reuse koji plugin (where it can be found?)
3) set/implement koji plugin to send messages for fedmsg

What other application do you have in centos that could use fedmsg?

Once there is a running msg bus, instances set, etc., it will be easier 
to debug and test.

Ralph, Pierre, what would be the optimal distribution of instances for 
fedmsg? Is one instance of centos enough? What would be the best first 
step to set up fedmsg? Where can I found koji-plugin, resp. its 
implementation?

This is only a discussion at the moment. Any other ideas are 
appreciated. Other issues and problems will arise while configuring the 
bus and koji.

[1] https://github.com/fedora-infra/fedmsg/
[2] http://koji.fedoraproject.org/koji/buildinfo?buildID=630367
[3] http://fedmsg.readthedocs.org/en/latest/deployment/
[4] http://fedmsg.readthedocs.org/en/latest/topology/
[5] https://fedoraproject.org/wiki/Messaging_SIG
[6] http://fedmsg.readthedocs.org/en/latest/config/#term-endpoints
[7] http://fedmsg.readthedocs.org/en/latest/deployment/#store-all-messages

Kind Regards
Jan