-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Send notification to core team if postrun.sh fails #297
Comments
I don't think I am familiar with the second scenario where |
This is to cover the scenario where there's no build products for a node listed in But let's focus on the 1st scenario which is by far the most common. |
BTW the reason we usually don't see the 2nd scenario is because all our build nodes send back stuff that we propagate so |
I'm just reopening for the second scenario. |
The most frequent cause of
postrun.sh
failures is when a build node didn't finish in time. This will typically:BBS-make-PROPAGATION_STATUS_DB.py
to fail if the node's products (i.e. package source tarballs or package binaries) need to be propagated,BBS-report.py
to fail if the node's products don't need to be propagated.One way to go is to modify these 2 Python scripts to send a notification email to an address of our choice (e.g.
[email protected]
) when they fail. The advantage of doing this at the Python level -- and not at the shell level (e.g. inpostrun.sh
) or at the R level (e.g. inBBS/utils/makePropagationStatusDb.R
) -- is that we can usebbs.notify.sendtextmail()
which already "knows" what SMTP server/user/password to use. Note thatbbs.notify.sendtextmail()
is whatBBS-notify.py
uses to send build/check failure notifications to package maintainers.So we need to identify the function call in
BBS-make-PROPAGATION_STATUS_DB.py
andBBS-report.py
that fails when a node didn't finish in time:BBS-make-PROPAGATION_STATUS_DB.py
, which is basically a Python wrapper aroundBBS/utils/makePropagationStatusDb.R
, it's the call tomake_PROPAGATION_STATUS_DB()
(this is the only function defined and called in the file).BBS-report.py
, this would need some further assement but I suspect that it's the call toBBSreportutils.set_NODES()
, but please don't take my word for it.Then I guess it would just be a matter of wrapping these calls in a
try
statement, catch the exception, and send the notification.What do you think?
Let me know if you have questions.
The text was updated successfully, but these errors were encountered: