Closed Bug 1281459 Opened 8 years ago Closed 7 years ago

stop eating exceptions

Categories

(Release Engineering Graveyard :: Applications: Balrog (backend), defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: bhearsum, Assigned: in.live.in, Mentored)

References

Details

(Whiteboard: [lang=python][good first bug])

We currently have an error handler in Balrog that eats all exceptions that bubble up and turns them into a 200 response that looks the same as a "no updates" response. This can end up hiding errors or making them more difficult to debug, because it's hard to match up the error logged on the server with the client request.

Robert, we talked about this a little bit in London and if I remember correctly, you thought it would be okay for the client to receive 500s?
Flags: needinfo?(robert.strong.bugs)
Ben, I'd like to verify that the client doesn't do anything bad when getting these error codes before this bug moves forward. Have you by chance checked? Would you still send the following for no updates?

<?xml version="1.0"?>
<updates>
</updates>
Flags: needinfo?(robert.strong.bugs) → needinfo?(bhearsum)
(In reply to Robert Strong [:rstrong] (use needinfo to contact me) from comment #1)
> Ben, I'd like to verify that the client doesn't do anything bad when getting
> these error codes before this bug moves forward. Have you by chance checked?

I tried just now against a locale server configured to always server 500s. Here's what I got in the console on the latest Beta:
*** AUS:SVC UpdateManager:_loadXMLFileIntoArray: XML file does not exist
*** AUS:SVC Creating UpdateService
*** AUS:SVC Checker: checkForUpdates, force: true
*** AUS:SVC Checker:getUpdateURL - update URL: http://localhost:9090/update/6/Firefox/48.0/20160706215822/Linux_x86_64-gcc3/en-US/beta/Linux%204.2.0-41-generic%20(GTK%203.16.7%2Clibpulse%206.0.0)/NA/default/default/update.xml?force=1
*** AUS:SVC gCanCheckForUpdates - able to check for updates
*** AUS:SVC Checker:checkForUpdates - sending request to: http://localhost:9090/update/6/Firefox/48.0/20160706215822/Linux_x86_64-gcc3/en-US/beta/Linux%204.2.0-41-generic%20(GTK%203.16.7%2Clibpulse%206.0.0)/NA/default/default/update.xml?force=1
*** AUS:SVC Checker:onLoad - request completed downloading document
*** AUS:SVC Checker:_updates get - unexpected node name!
*** AUS:SVC Checker:onLoad - there was a problem checking for updates. Exception: Error: Unexpected node name, expected: updates, got: parsererror
*** AUS:SVC Checker:onLoad - request.status: 500
*** AUS:SVC getStatusTextFromCode - transfer error: Internal server error (500), code: 500
*** AUS:SVC UpdateService:removeDownloadListener - no downloader!

And after the server started returning 200s again:
*** AUS:SVC Checker:getUpdateURL - update URL: http://localhost:9090/update/6/Firefox/48.0/20160706215822/Linux_x86_64-gcc3/en-US/beta/Linux%204.2.0-41-generic%20(GTK%203.16.7%2Clibpulse%206.0.0)/NA/default/default/update.xml?force=1
*** AUS:SVC Checker:checkForUpdates - sending request to: http://localhost:9090/update/6/Firefox/48.0/20160706215822/Linux_x86_64-gcc3/en-US/beta/Linux%204.2.0-41-generic%20(GTK%203.16.7%2Clibpulse%206.0.0)/NA/default/default/update.xml?force=1
*** AUS:SVC Checker:onLoad - request completed downloading document
*** AUS:SVC Checker:onLoad - number of updates available: 0


> Would you still send the following for no updates?
> 
> <?xml version="1.0"?>
> <updates>
> </updates>

Yeah, this would still be the response for null updates. 500s would only be returned if the server hits an internal error (eg: failed to connect to the db, some edge case is discovered that causes an exception).
Flags: needinfo?(bhearsum)
Mentor: bhearsum
I've investigated this a bit and from what I can tell this should be ok to do.
(In reply to Robert Strong [:rstrong] (use needinfo to contact me) from comment #3)
> I've investigated this a bit and from what I can tell this should be ok to
> do.

Thanks Robert, I appreciate the follow-up.
Summary: consider not eating exceptions → stop eating exceptions
Whiteboard: [lang=python][good first bug]
(In reply to Ben Hearsum (:bhearsum) from comment #4)
> (In reply to Robert Strong [:rstrong] (use needinfo to contact me) from
> comment #3)
> > I've investigated this a bit and from what I can tell this should be ok to
> > do.
> 
> Thanks Robert, I appreciate the follow-up.

Hi Ben. I'm new. I'd like to try fixing this, but I don't know where to get the codebase. Is there a link to the repo somewhere? Sorry, I'm still a total newb.
Flags: needinfo?(bhearsum)
(In reply to Minnaar-Colin Fullard [:mcfullard] from comment #5)
> (In reply to Ben Hearsum (:bhearsum) from comment #4)
> > (In reply to Robert Strong [:rstrong] (use needinfo to contact me) from
> > comment #3)
> > > I've investigated this a bit and from what I can tell this should be ok to
> > > do.
> > 
> > Thanks Robert, I appreciate the follow-up.
> 
> Hi Ben. I'm new. I'd like to try fixing this, but I don't know where to get
> the codebase. Is there a link to the repo somewhere? Sorry, I'm still a
> total newb.

Ben is on PTO this week. So most probably he won't be able to reply anytime soon. 
I will try my best to answer your questions. 

You can take  look at 

https://wiki.mozilla.org/Balrog#Hacking

for getting the codebase. 
Make sure you install docker and docker-compose first. 
Is you have a problem setting up Balrog feel free to ask at #balrog or comment here.
(In reply to Ninad Bhat[:ninad101] from comment #6)
> (In reply to Minnaar-Colin Fullard [:mcfullard] from comment #5)
> > (In reply to Ben Hearsum (:bhearsum) from comment #4)
> > > (In reply to Robert Strong [:rstrong] (use needinfo to contact me) from
> > > comment #3)
> > > > I've investigated this a bit and from what I can tell this should be ok to
> > > > do.
> > > 
> > > Thanks Robert, I appreciate the follow-up.
> > 
> > Hi Ben. I'm new. I'd like to try fixing this, but I don't know where to get
> > the codebase. Is there a link to the repo somewhere? Sorry, I'm still a
> > total newb.
> 
> Ben is on PTO this week. So most probably he won't be able to reply anytime
> soon. 
> I will try my best to answer your questions. 
> 
> You can take  look at 
> 
> https://wiki.mozilla.org/Balrog#Hacking
> 
> for getting the codebase. 
> Make sure you install docker and docker-compose first. 
> Is you have a problem setting up Balrog feel free to ask at #balrog or
> comment here.

Awesome. Thanks: I found it and got docker to work. I'll definitely ask when I get stuck.
Flags: needinfo?(bhearsum)
Hi, i am attending an open source module at university, and i would like to fix this bug.
Hi, i am attending an open source module at university, and i would like to assigned to this bug.
(In reply to Ganiyat Adebayo from comment #9)
> Hi, i am attending an open source module at university, and i would like to
> assigned to this bug.

Hi Ganiyat, thanks for your interest. Ninad provided some good first steps in comment #6. Once you've got Balrog up and running locally, I suggest adjusting the tests stop requiring 500s to be eaten. These are:
https://github.com/mozilla/balrog/blob/0d2341b0ce9de6c58ee6ce5cd79944105c8dd4e5/auslib/test/web/test_client.py#L908
https://github.com/mozilla/balrog/blob/0d2341b0ce9de6c58ee6ce5cd79944105c8dd4e5/auslib/test/web/test_client.py#L918
https://github.com/mozilla/balrog/blob/0d2341b0ce9de6c58ee6ce5cd79944105c8dd4e5/auslib/test/web/test_client.py#L924
https://github.com/mozilla/balrog/blob/0d2341b0ce9de6c58ee6ce5cd79944105c8dd4e5/auslib/test/web/test_client.py#L931

Once you adjust those to expect errors instead of empty responses, make sure the tests fail, then adjust the code to get the tests passing. That will most likely happen in https://github.com/mozilla/balrog/blob/master/auslib/web/base.py.

Let me know if you have any questions, and feel free to join us in irc://irc.mozilla.org/#balrog!
Hi, how do i set up balrog. Having issues with that.
(In reply to Ganiyat Adebayo from comment #11)
> Hi, how do i set up balrog. Having issues with that.

Have a look at http://mozilla-balrog.readthedocs.io/en/latest/contribute.html .
If you still have a problem comment here or ask at #balrog at  irc://irc.mozilla.org.
Hi, still having problems with the balrog set up.
Can you give me some details on what problems you are facing?
I tried installing docker, but it says hyper v isn't available on home edition. So, i installed docker tools. And i tried running this command but, it says can't find a suitable configuration file. Also, i tried clonng the fork on git bash. But it says, it already exists.
Which OS are you using?
Can you post the log using https://pastebin.mozilla.org/ 
It would be nice if you joined #balrog I will be there for a few hours from now.
64 bit OS running windows 10
Hello @Nina(In reply to Ninad Bhat[:ninad101] from comment #18)
> https://msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/
> quick_start/walkthrough_install
> Maybe of some help. After this try installing docker again.

(In reply to Ninad Bhat[:ninad101] from comment #6)
> (In reply to Minnaar-Colin Fullard [:mcfullard] from comment #5)
> > (In reply to Ben Hearsum (:bhearsum) from comment #4)
> > > (In reply to Robert Strong [:rstrong] (use needinfo to contact me) from
> > > comment #3)
> > > > I've investigated this a bit and from what I can tell this should be ok to
> > > > do.
> > > 
> > > Thanks Robert, I appreciate the follow-up.
> > 
> > Hi Ben. I'm new. I'd like to try fixing this, but I don't know where to get
> > the codebase. Is there a link to the repo somewhere? Sorry, I'm still a
> > total newb.
> 
> Ben is on PTO this week. So most probably he won't be able to reply anytime
> soon. 
> I will try my best to answer your questions. 
> 
> You can take  look at 
> 
> https://wiki.mozilla.org/Balrog#Hacking
> 
> for getting the codebase. 
> Make sure you install docker and docker-compose first. 
> Is you have a problem setting up Balrog feel free to ask at #balrog or
> comment here.

Hello Ninad and #balrog community,
I would like to contribute to Mozilla. I wish to fix this bug but I'm totally new to Balrog.

Regarding the problem, on trying to build docker container for Balrog, I see the following exception. This is after the image build. I noticed that, in the docker file, under the 'balrogadmin' section, port 7070 is exposed. So, can it be that balrogadmin is not up?

balrogagent_1  | 2016-12-20 05:47:26,108 - DEBUG - root.run_agent#17: Looking for active scheduled changes...
balrogagent_1  | 2016-12-20 05:47:26,109 - DEBUG - root.request#31: Sending GET request to http://balrogadmin:7070/api/scheduled_changes/rules
balrogagent_1  | 2016-12-20 05:47:29,110 - ERROR - root.run_agent#49: Encountered exception:
balrogagent_1  | Traceback (most recent call last):
balrogagent_1  |   File "/usr/local/lib/python3.5/site-packages/aiohttp/connector.py", line 607, in _create_connection
balrogagent_1  |     local_addr=self._local_addr)
balrogagent_1  |   File "/usr/local/lib/python3.5/asyncio/base_events.py", line 695, in create_connection
balrogagent_1  |     raise exceptions[0]
balrogagent_1  |   File "/usr/local/lib/python3.5/asyncio/base_events.py", line 682, in create_connection
balrogagent_1  |     yield from self.sock_connect(sock, address)
balrogagent_1  |   File "/usr/local/lib/python3.5/asyncio/futures.py", line 361, in __iter__
balrogagent_1  |     yield self  # This tells Task to wait for completion.
balrogagent_1  |   File "/usr/local/lib/python3.5/asyncio/tasks.py", line 296, in _wakeup
balrogagent_1  |     future.result()
balrogagent_1  |   File "/usr/local/lib/python3.5/asyncio/futures.py", line 274, in result
balrogagent_1  |     raise self._exception
balrogagent_1  |   File "/usr/local/lib/python3.5/asyncio/selector_events.py", line 439, in _sock_connect_cb
balrogagent_1  |     raise OSError(err, 'Connect call failed %s' % (address,))
balrogagent_1  | OSError: [Errno 113] Connect call failed ('172.17.0.3', 7070)
balrogagent_1  | 
balrogagent_1  | The above exception was the direct cause of the following exception:
balrogagent_1  | 
balrogagent_1  | Traceback (most recent call last):
balrogagent_1  |   File "/usr/local/lib/python3.5/site-packages/aiohttp/connector.py", line 321, in connect
balrogagent_1  |     yield from self._create_connection(req)
balrogagent_1  |   File "/usr/local/lib/python3.5/site-packages/aiohttp/connector.py", line 630, in _create_connection
balrogagent_1  |     (req.host, req.port, exc.strerror)) from exc
balrogagent_1  | aiohttp.errors.ClientOSError: [Errno 113] Can not connect to balrogadmin:7070 [Connect call failed ('172.17.0.3', 7070)]
(In reply to in.live.in from comment #19)
> Hello @Nina(In reply to Ninad Bhat[:ninad101] from comment #18)
> > https://msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/
> > quick_start/walkthrough_install
> > Maybe of some help. After this try installing docker again.
> 
> (In reply to Ninad Bhat[:ninad101] from comment #6)
> > (In reply to Minnaar-Colin Fullard [:mcfullard] from comment #5)
> > > (In reply to Ben Hearsum (:bhearsum) from comment #4)
> > > > (In reply to Robert Strong [:rstrong] (use needinfo to contact me) from
> > > > comment #3)
> > > > > I've investigated this a bit and from what I can tell this should be ok to
> > > > > do.
> > > > 
> > > > Thanks Robert, I appreciate the follow-up.
> > > 
> > > Hi Ben. I'm new. I'd like to try fixing this, but I don't know where to get
> > > the codebase. Is there a link to the repo somewhere? Sorry, I'm still a
> > > total newb.
> > 
> > Ben is on PTO this week. So most probably he won't be able to reply anytime
> > soon. 
> > I will try my best to answer your questions. 
> > 
> > You can take  look at 
> > 
> > https://wiki.mozilla.org/Balrog#Hacking
> > 
> > for getting the codebase. 
> > Make sure you install docker and docker-compose first. 
> > Is you have a problem setting up Balrog feel free to ask at #balrog or
> > comment here.
> 
> Hello Ninad and #balrog community,
> I would like to contribute to Mozilla. I wish to fix this bug but I'm
> totally new to Balrog.
> 
> Regarding the problem, on trying to build docker container for Balrog, I see
> the following exception. This is after the image build. I noticed that, in
> the docker file, under the 'balrogadmin' section, port 7070 is exposed. So,
> can it be that balrogadmin is not up?
> 
> balrogagent_1  | 2016-12-20 05:47:26,108 - DEBUG - root.run_agent#17:
> Looking for active scheduled changes...
> balrogagent_1  | 2016-12-20 05:47:26,109 - DEBUG - root.request#31: Sending
> GET request to http://balrogadmin:7070/api/scheduled_changes/rules
> balrogagent_1  | 2016-12-20 05:47:29,110 - ERROR - root.run_agent#49:
> Encountered exception:
> balrogagent_1  | Traceback (most recent call last):
> balrogagent_1  |   File
> "/usr/local/lib/python3.5/site-packages/aiohttp/connector.py", line 607, in
> _create_connection
> balrogagent_1  |     local_addr=self._local_addr)
> balrogagent_1  |   File "/usr/local/lib/python3.5/asyncio/base_events.py",
> line 695, in create_connection
> balrogagent_1  |     raise exceptions[0]
> balrogagent_1  |   File "/usr/local/lib/python3.5/asyncio/base_events.py",
> line 682, in create_connection
> balrogagent_1  |     yield from self.sock_connect(sock, address)
> balrogagent_1  |   File "/usr/local/lib/python3.5/asyncio/futures.py", line
> 361, in __iter__
> balrogagent_1  |     yield self  # This tells Task to wait for completion.
> balrogagent_1  |   File "/usr/local/lib/python3.5/asyncio/tasks.py", line
> 296, in _wakeup
> balrogagent_1  |     future.result()
> balrogagent_1  |   File "/usr/local/lib/python3.5/asyncio/futures.py", line
> 274, in result
> balrogagent_1  |     raise self._exception
> balrogagent_1  |   File
> "/usr/local/lib/python3.5/asyncio/selector_events.py", line 439, in
> _sock_connect_cb
> balrogagent_1  |     raise OSError(err, 'Connect call failed %s' %
> (address,))
> balrogagent_1  | OSError: [Errno 113] Connect call failed ('172.17.0.3',
> 7070)
> balrogagent_1  | 
> balrogagent_1  | The above exception was the direct cause of the following
> exception:
> balrogagent_1  | 
> balrogagent_1  | Traceback (most recent call last):
> balrogagent_1  |   File
> "/usr/local/lib/python3.5/site-packages/aiohttp/connector.py", line 321, in
> connect
> balrogagent_1  |     yield from self._create_connection(req)
> balrogagent_1  |   File
> "/usr/local/lib/python3.5/site-packages/aiohttp/connector.py", line 630, in
> _create_connection
> balrogagent_1  |     (req.host, req.port, exc.strerror)) from exc
> balrogagent_1  | aiohttp.errors.ClientOSError: [Errno 113] Can not connect
> to balrogadmin:7070 [Connect call failed ('172.17.0.3', 7070)]

Forgot to add that, port 7070 is not exposed for the 'balrogagent' as I can see from the Dockerfile.
(In reply to in.live.in from comment #20)
> (In reply to in.live.in from comment #19)
> > Hello @Nina(In reply to Ninad Bhat[:ninad101] from comment #18)
> > > https://msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/
> > > quick_start/walkthrough_install
> > > Maybe of some help. After this try installing docker again.
> > 
> > (In reply to Ninad Bhat[:ninad101] from comment #6)
> > > (In reply to Minnaar-Colin Fullard [:mcfullard] from comment #5)
> > > > (In reply to Ben Hearsum (:bhearsum) from comment #4)
> > > > > (In reply to Robert Strong [:rstrong] (use needinfo to contact me) from
> > > > > comment #3)
> > > > > > I've investigated this a bit and from what I can tell this should be ok to
> > > > > > do.
> > > > > 
> > > > > Thanks Robert, I appreciate the follow-up.
> > > > 
> > > > Hi Ben. I'm new. I'd like to try fixing this, but I don't know where to get
> > > > the codebase. Is there a link to the repo somewhere? Sorry, I'm still a
> > > > total newb.
> > > 
> > > Ben is on PTO this week. So most probably he won't be able to reply anytime
> > > soon. 
> > > I will try my best to answer your questions. 
> > > 
> > > You can take  look at 
> > > 
> > > https://wiki.mozilla.org/Balrog#Hacking
> > > 
> > > for getting the codebase. 
> > > Make sure you install docker and docker-compose first. 
> > > Is you have a problem setting up Balrog feel free to ask at #balrog or
> > > comment here.
> > 
> > Hello Ninad and #balrog community,
> > I would like to contribute to Mozilla. I wish to fix this bug but I'm
> > totally new to Balrog.
> > 
> > Regarding the problem, on trying to build docker container for Balrog, I see
> > the following exception. This is after the image build. I noticed that, in
> > the docker file, under the 'balrogadmin' section, port 7070 is exposed. So,
> > can it be that balrogadmin is not up?
> > 
> > balrogagent_1  | 2016-12-20 05:47:26,108 - DEBUG - root.run_agent#17:
> > Looking for active scheduled changes...
> > balrogagent_1  | 2016-12-20 05:47:26,109 - DEBUG - root.request#31: Sending
> > GET request to http://balrogadmin:7070/api/scheduled_changes/rules
> > balrogagent_1  | 2016-12-20 05:47:29,110 - ERROR - root.run_agent#49:
> > Encountered exception:
> > balrogagent_1  | Traceback (most recent call last):
> > balrogagent_1  |   File
> > "/usr/local/lib/python3.5/site-packages/aiohttp/connector.py", line 607, in
> > _create_connection
> > balrogagent_1  |     local_addr=self._local_addr)
> > balrogagent_1  |   File "/usr/local/lib/python3.5/asyncio/base_events.py",
> > line 695, in create_connection
> > balrogagent_1  |     raise exceptions[0]
> > balrogagent_1  |   File "/usr/local/lib/python3.5/asyncio/base_events.py",
> > line 682, in create_connection
> > balrogagent_1  |     yield from self.sock_connect(sock, address)
> > balrogagent_1  |   File "/usr/local/lib/python3.5/asyncio/futures.py", line
> > 361, in __iter__
> > balrogagent_1  |     yield self  # This tells Task to wait for completion.
> > balrogagent_1  |   File "/usr/local/lib/python3.5/asyncio/tasks.py", line
> > 296, in _wakeup
> > balrogagent_1  |     future.result()
> > balrogagent_1  |   File "/usr/local/lib/python3.5/asyncio/futures.py", line
> > 274, in result
> > balrogagent_1  |     raise self._exception
> > balrogagent_1  |   File
> > "/usr/local/lib/python3.5/asyncio/selector_events.py", line 439, in
> > _sock_connect_cb
> > balrogagent_1  |     raise OSError(err, 'Connect call failed %s' %
> > (address,))
> > balrogagent_1  | OSError: [Errno 113] Connect call failed ('172.17.0.3',
> > 7070)
> > balrogagent_1  | 
> > balrogagent_1  | The above exception was the direct cause of the following
> > exception:
> > balrogagent_1  | 
> > balrogagent_1  | Traceback (most recent call last):
> > balrogagent_1  |   File
> > "/usr/local/lib/python3.5/site-packages/aiohttp/connector.py", line 321, in
> > connect
> > balrogagent_1  |     yield from self._create_connection(req)
> > balrogagent_1  |   File
> > "/usr/local/lib/python3.5/site-packages/aiohttp/connector.py", line 630, in
> > _create_connection
> > balrogagent_1  |     (req.host, req.port, exc.strerror)) from exc
> > balrogagent_1  | aiohttp.errors.ClientOSError: [Errno 113] Can not connect
> > to balrogadmin:7070 [Connect call failed ('172.17.0.3', 7070)]
> 
> Forgot to add that, port 7070 is not exposed for the 'balrogagent' as I can
> see from the Dockerfile.

Ninad,

The above issue was because the admin container was not up. Reran the docker-compose up and services were up soon after. 
To start with, I modified (https://github.com/mozilla/balrog/blob/0d2341b0ce9de6c58ee6ce5cd79944105c8dd4e5/auslib/test/web/test_client.py#L908) in such a way that it raises the given custom exception.

To raise an exception from server side, is it that we have to raise an exception here in (https://github.com/mozilla/balrog/blob/master/auslib/web/base.py#L58) with the reason so that it will be propagated to the client side? Kindly guide me in the right direction. :) 
PS: I have not spent much time in understanding the code flow of balrog.
Hi,

Thanks for your interest.

> The above issue was because the admin container was not up. Reran the docker-compose up and services
> were up soon after. 
> To start with, I modified (https://github.com/mozilla/balrog
> /blob/0d2341b0ce9de6c58ee6ce5cd79944105c8dd4e5/auslib/test/web/test_client.py#L908) in such a way 
> that it raises the given custom exception.

You will also have to change.
https://github.com/mozilla/balrog/blob/0d2341b0ce9de6c58ee6ce5cd79944105c8dd4e5/auslib/test/web/test_client.py#L918
https://github.com/mozilla/balrog/blob/0d2341b0ce9de6c58ee6ce5cd79944105c8dd4e5/auslib/test/web/test_client.py#L924
https://github.com/mozilla/balrog/blob/0d2341b0ce9de6c58ee6ce5cd79944105c8dd4e5/auslib/test/web/test_client.py#L931

> To raise an exception from server side, is it that we have to raise an exception here in 
> (https://github.com/mozilla/balrog/blob/master/auslib/web/base.py#L58) with the reason so that it 
> will be propagated to the client side? Kindly guide me in the right direction. :) 

 Ben will be able guide you here. I will need info him.
Flags: needinfo?(bhearsum)
(In reply to Ninad Bhat[:ninad101] from comment #22)
> Hi,
> 
> Thanks for your interest.
> 
> > The above issue was because the admin container was not up. Reran the docker-compose up and services
> > were up soon after. 
> > To start with, I modified (https://github.com/mozilla/balrog
> > /blob/0d2341b0ce9de6c58ee6ce5cd79944105c8dd4e5/auslib/test/web/test_client.py#L908) in such a way 
> > that it raises the given custom exception.
> 
> You will also have to change.
> https://github.com/mozilla/balrog/blob/
> 0d2341b0ce9de6c58ee6ce5cd79944105c8dd4e5/auslib/test/web/test_client.py#L918
> https://github.com/mozilla/balrog/blob/
> 0d2341b0ce9de6c58ee6ce5cd79944105c8dd4e5/auslib/test/web/test_client.py#L924
> https://github.com/mozilla/balrog/blob/
> 0d2341b0ce9de6c58ee6ce5cd79944105c8dd4e5/auslib/test/web/test_client.py#L931
> 
> > To raise an exception from server side, is it that we have to raise an exception here in 
> > (https://github.com/mozilla/balrog/blob/master/auslib/web/base.py#L58) with the reason so that it 
> > will be propagated to the client side? Kindly guide me in the right direction. :) 
> 
>  Ben will be able guide you here. I will need info him.

Ninad,

I made the relevant changes in all the 4 test cases of test_client.py file and base.py file for raising an exception with response. With the changes, run_tests script passes. Shall I raise a PR on my forked balrog repo for review?
Yes, kindly do that.
(In reply to Ninad Bhat[:ninad101] from comment #24)
> Yes, kindly do that.

Hi Ninad,

Kindly review https://github.com/mozilla/balrog/pull/194/files

Should I raise it against my forked repo's master?
Hi Ninad,

Please ignore the above comment. I accidentally raised it against Mozilla repo. I closed it.

New PR: https://github.com/dpaks/balrog/pull/1
Please raise the PR against Mozilla repo. It has the extra benefit of taskcluster running all the tests.
(In reply to Ninad Bhat[:ninad101] from comment #27)
> Please raise the PR against Mozilla repo. It has the extra benefit of
> taskcluster running all the tests.

Raised it despite TaskClusterRobot complaining that 'TaskCluster: @dpaks does not have permission to trigger tasks.' Please find the link at https://github.com/mozilla/balrog/pull/194
(In reply to dpaks from comment #28)
> (In reply to Ninad Bhat[:ninad101] from comment #27)
> > Please raise the PR against Mozilla repo. It has the extra benefit of
> > taskcluster running all the tests.
> 
> Raised it despite TaskClusterRobot complaining that 'TaskCluster: @dpaks
> does not have permission to trigger tasks.' Please find the link at
> https://github.com/mozilla/balrog/pull/194

Yeah, unfortunately you need to be granted some sort of access to the repo in order to run tests. I granted you read-only access just now, so future pushes should work fine. In the meantime, I'll just run the tests locally while I'm reviewing it.
Flags: needinfo?(bhearsum)
(In reply to Ben Hearsum (:bhearsum) from comment #29)
> (In reply to dpaks from comment #28)
> > (In reply to Ninad Bhat[:ninad101] from comment #27)
> > > Please raise the PR against Mozilla repo. It has the extra benefit of
> > > taskcluster running all the tests.
> > 
> > Raised it despite TaskClusterRobot complaining that 'TaskCluster: @dpaks
> > does not have permission to trigger tasks.' Please find the link at
> > https://github.com/mozilla/balrog/pull/194
> 
> Yeah, unfortunately you need to be granted some sort of access to the repo
> in order to run tests. I granted you read-only access just now, so future
> pushes should work fine. In the meantime, I'll just run the tests locally
> while I'm reviewing it.

Thanks Ninad and Ben. Should I re-raise the PR in order to trigger the TaskClusterRobot?
(In reply to dpaks from comment #30)
> (In reply to Ben Hearsum (:bhearsum) from comment #29)
> > (In reply to dpaks from comment #28)
> > > (In reply to Ninad Bhat[:ninad101] from comment #27)
> > > > Please raise the PR against Mozilla repo. It has the extra benefit of
> > > > taskcluster running all the tests.
> > > 
> > > Raised it despite TaskClusterRobot complaining that 'TaskCluster: @dpaks
> > > does not have permission to trigger tasks.' Please find the link at
> > > https://github.com/mozilla/balrog/pull/194
> > 
> > Yeah, unfortunately you need to be granted some sort of access to the repo
> > in order to run tests. I granted you read-only access just now, so future
> > pushes should work fine. In the meantime, I'll just run the tests locally
> > while I'm reviewing it.
> 
> Thanks Ninad and Ben. Should I re-raise the PR in order to trigger the
> TaskClusterRobot?

No problem! Now that you've accepted the collaboration invite, it should happen automatically when you push to address my review comments.
Assignee: nobody → in.live.in
Depends on: 1326056
This is in production, thanks dpaks!
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Product: Release Engineering → Release Engineering Graveyard
You need to log in before you can comment on or make changes to this bug.