On Mon, Jun 01, 2015 at 03:25:50PM +0200, Jan Chaloupka wrote:
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?
- create an instance of centos/fedora for fedmsg to run
For now, you may want to create one host on which to run various helper services. Having an instance of the fedmsg-relay daemon is nice for debugging and having an instance of the fedmsg-irc daemon is nice to have some idea of what is happening on the bus before you start eventually doing useful things with the data. See the #fedora-fedmsg channel on freenode for an example of this.
There are more helper services to stand up later if this proves useful: 'datanommer' for storing the history, 'fedmsg-gateway' for broadcasting events to end users, and others.
- create/reuse koji plugin (where it can be found?)
You can take it from Fedora Infrastructure's ansible repo. There are other useful config bits that can be found in there. http://infrastructure.fedoraproject.org/infra/ansible/roles/koji_hub/files/f...
- 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.
I'd be glad to help work on setting this up if it is desirable. Is there an irc channel where centos admins lurk?