action #27847
closed
action #10148: better notification and user feedback
IRC bot with updates about test runs, e.g. if builds are finished
Added by okurz about 7 years ago.
Updated over 4 years ago.
Category:
Feature requests
Description
Motivation¶
We have notifications about jobs and comments by the AMQP plugin already and use it with gh#openSUSE/suse_msg. A common information asked for by users is: "Do we have a new build?" and "Is the build testing done?" which could be answered by use of AMQP events in a processed manner.
Acceptance criteria¶
- AC1: There is a IRC notification about a new build started testing, e.g. after "isos post" has been called, if configured
- AC2: The (first) time all jobs of a build are finished there is IRC notification
FWIW, in Fedora we built a whole system for doing this around fedmsg. There's a thing called fedmsg_meta_fedora_infrastructure which provides all the logic for deriving things like human-readable summaries of what a fedmsg 'means', and then there's FMN which is the actual notification system, that can deliver notifications as emails, IRC messages, or all sorts of other ways. Dunno if SUSE has built something equivalent for its messaging system yet, but maybe those will give you some ideas if not.
What we have is mentioned in the description which is https://github.com/openSUSE/suse_msg but so far there is no message like "new build starts testing now" and "build finished testing, status: …" or similar. I would say the main reason for that is that openQA does not really know when a build starts or finishes. It's more about "all these jobs which share one variable are complete now".
The "testing of build complete" problem is one I sorta-solved in the fedmsg plugin - it's why the fedmsg plugin emits a count of jobs remaining for the same build:
https://github.com/os-autoinst/openQA/blob/master/lib/OpenQA/WebAPI/Plugin/Fedmsg.pm#L77-L81
The idea being, of course, that consumers can look out for a 'job completed' message with a 'remaining' count of 0, and treat that as indicating that testing of the relevant build is now complete. This is how we decide when to send out the email summary of test results for a build, for e.g.
I say 'sorta' solved because there are little issues - like, for instance, if there's a spurious failure and you restart that job, the consumers will then believe that testing for the build has "completed" again once that single restarted job completes. So our email reporting thingy used to send out a new email every time I did that, which got a bit annoying. So I had to make the consumer keep track of builds for which it has already sent out reports, and make it check that and not send duplicate mails when a build 'completes' for a second (or third, or fourth...) time.
- Related to action #27735: [tools][sle][functional][u][hard]Use ttm (totest-manager.py) from http://github.com/openSUSE/osc-plugin-factory/ for SLE added
- Status changed from New to Resolved
- Assignee set to okurz
We have an IRC bot, it works for o3, not many or maybe just me are using it. Also rabbitmq events work good enough. Other people just prefer to poll the webui, can't fix them ;)
Also available in: Atom
PDF