Project

General

Profile

action #27847

action #10148: better notification and user feedback

IRC bot with updates about test runs, e.g. if builds are finished

Added by okurz about 4 years ago. Updated over 1 year ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Feature requests
Target version:
-
Start date:
2017-11-17
Due date:
% Done:

0%

Estimated time:
Difficulty:

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

Related issues

Related to openQA Tests - action #27735: [tools][sle][functional][u][hard]Use ttm (totest-manager.py) from http://github.com/openSUSE/osc-plugin-factory/ for SLEResolved2017-11-142018-07-31

History

#1 Updated by AdamWill almost 4 years ago

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.

#2 Updated by okurz almost 4 years ago

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".

#3 Updated by AdamWill almost 4 years ago

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.

#4 Updated by okurz over 3 years ago

  • 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

#5 Updated by okurz over 1 year ago

  • 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