[Rpm-maint] [rpm-software-management/rpm] RFC: add support for message queues to rpmbuild (#509)

Jeff Johnson notifications at github.com
Mon Aug 13 20:53:11 UTC 2018


This RFC provides details of a suggested usage case related to email on fedora-devel@ hinting that Fedora infrastructure is switching to AMQP instead of ZeroMQ.

rpmbuild is used at the bottom component of very large distributed build systems these days. Fedora has been using message queues to reliably track the status of builds within large build farms.

rpmbuild internal state and progress is not easily exposed to other elements within a build system.

While stdout/stderr can be redirected and filtered in order to track rpmbuild progress and status, screen scraping is rather an act of last resort desperation rather than a reliable production implementation. The extraction patterns are tricky to write and often have false positives and negatives. rpmbuild errors also lack sufficient structure for simple pattern filters to work reliably.

Progress tracking of the scripts executed by rpmbuild has never been attempted to the best of my knowledge, nor has there been any attempt to capture time and rss needed by the scripts run by rpmbuild.

Assigning a package build a status of FTBFS is insufficiently specific, and wastes developer time examining saved logs to determine how/where rpmbuild failed.

Adding message queues (in this case AMQP) as a client to collect specific state and progress of package builds is one approach to the issues I have mentioned. Sending messages to an AMQP broker when requested need not be more intrusive than, say, using syslog(3) for logging, with the added benefit(s) of reliable transport, specific queue targeting through publish/subscribe, and the ability to have multiple receivers that message queues like AMQP are designed for.

Pointers to code on request, and perhaps a straw man implementation if there is any interest in adding message queues to rpmbuild (and rpm, but that is not this RFC).

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/509
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20180813/a5539953/attachment.html>


More information about the Rpm-maint mailing list