Twice a day, taskotron projects sends out statistics email like this:
libtaskotron results ==================== Generated on: taskotron-stg01.qa.fedoraproject.org From: 2014-08-21T13:00:01.921591 To: 2014-08-22T01:00:01.921591 Passed: 10700 Failed: 1287 Passed checks: -------------- rpmlint: 10700 Failed checks: -------------- rpmlint: 1287 Links to failed checks: ----------------------- rpmlint: http://resultsdb-stg01.qa.fedoraproject.org/results/12420 http://resultsdb-stg01.qa.fedoraproject.org/results/12418 http://resultsdb-stg01.qa.fedoraproject.org/results/12414 http://resultsdb-stg01.qa.fedoraproject.org/results/12413 http://resultsdb-stg01.qa.fedoraproject.org/results/12412 http://resultsdb-stg01.qa.fedoraproject.org/results/12409
But the URLs are inaccessible, I assume those are the internal hostnames, not external ones. Is it possible to change them to publicly accessible URLs?
To confirm @kparal's suspicion - this is an issue with the different internal and external hostnames. @jsedlak and I talked about it the other day.
For stg, the external link for http://resultsdb-stg01.qa.fedoraproject.org/results/12420 is https://taskotron.stg.fedoraproject.org/resultsdb/results/12420
http://resultsdb-stg01.qa.fedoraproject.org/results/12420
https://taskotron.stg.fedoraproject.org/resultsdb/results/12420
I'm not sure if I remember it correctly, but this isn't really a bug in fetch_activity.py script - it uses provided argument for generating URLs (-f should be public address of resultsdb_frontend). So running this script with python fetch_activity.py -u http://resultsdb_url/api/v1.0 -f https://taskotron.stg.fedoraproject.org/resultsdb -t 12 should do.
-f
python fetch_activity.py -u http://resultsdb_url/api/v1.0 -f https://taskotron.stg.fedoraproject.org/resultsdb -t 12
I think we need to use the internal URL for querying, because it's running inside the Fedora infrastructure. But we need to use the external URL for generating links. So there would need to be a translation table included in the script. @tflink or @mkrizek can confirm, but they are away this week. If you prepare a new version, I can try to run it on the dev machine just to test it. We will wait for proper deployment for one of them.
I think that it isn't a problem. Script has two arguments: -u is url of /internal/ resultsdb instance and it is only URL that is being queried. Then it has -f argument that is being used only for generating links - it isn't being queried at all. Only usage of frontend_url is in:
-u
frontend_url
test_url = urljoin(frontend_url, "results/%d" % result["id"])
So from what I think, script doesn't need to know internal URL of resultsdb_frontend. It uses internal resultsdb URL for querying and it uses whatever URL you provide for generating links. As long as result's ID is the same, you can provide whatever URL of resultsdb_frontend you want - it doesn't query it.
Oh, I haven't done my homework! :-) Thanks for the explanation. I have tested this on dev and really it's just needed to update the command argument, in case of dev like -f https://taskotron-dev.fedoraproject.org/resultsdb/.
-f https://taskotron-dev.fedoraproject.org/resultsdb/
@tflink or @mkrizek, please update the ansible scripts and deploy it, thanks.
Fix deployed on dev, once verified it works, I'll deploy on stg as well.
The fix is incorrect, I just received an email and the links look like this: https://taskotron-dev.fedoraproject.org/resultsdb_api/results/47199 when they should look like this: https://taskotron-dev.fedoraproject.org/resultsdb/results/47199
Fixed on dev and stg. Closing.
Metadata Update from @kparal: - Issue tagged with: infrastructure
Login to comment on this ticket.