autoupdate.py: Pass missing ResponseProperties to nebraska
This CL passes all the incoming query strings in update/ API to nebraska
to make sure all responses have what we requested.
BUG=chromium:1004487
TEST=autoupdate_unittest.py
TEST=devserver_integration_test.py
Change-Id: Iab83a264ec4a0ceb2c16af9cad3c61a75edd902e
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/dev-util/+/2055463
Tested-by: Amin Hassani <ahassani@chromium.org>
Commit-Queue: Amin Hassani <ahassani@chromium.org>
Reviewed-by: David Haddock <dhaddock@chromium.org>
diff --git a/autoupdate.py b/autoupdate.py
index 5e76467..6f9e83a 100644
--- a/autoupdate.py
+++ b/autoupdate.py
@@ -437,8 +437,8 @@
_Log(err_msg)
_Log('A non-update event notification received. Returning an ack.')
- nebraska_obj = nebraska.Nebraska()
- return nebraska_obj.GetResponseToRequest(request)
+ return nebraska.Nebraska().GetResponseToRequest(
+ request, response_props=nebraska.ResponseProperties(**kwargs))
# Make sure that we did not already exceed the max number of allowed update
# responses. Note that the counter is only decremented when the client
@@ -450,10 +450,10 @@
if self.max_updates == 0 or max_updates == 0:
_Log('Request received but max number of updates already served.')
- nebraska_obj = nebraska.Nebraska()
- response_props = nebraska.ResponseProperties(no_update=True)
- return nebraska_obj.GetResponseToRequest(request,
- response_props=response_props)
+ kwargs['no_update'] = True
+ # Override the noupdate to make sure the response is noupdate.
+ return nebraska.Nebraska().GetResponseToRequest(
+ request, response_props=nebraska.ResponseProperties(**kwargs))
_Log('Update Check Received.')
@@ -474,9 +474,8 @@
update_payloads_address=base_url,
update_metadata_dir=local_payload_dir)
nebraska_obj = nebraska.Nebraska(nebraska_props=nebraska_props)
- response_props = nebraska.ResponseProperties(**kwargs)
- return nebraska_obj.GetResponseToRequest(request,
- response_props=response_props)
+ return nebraska_obj.GetResponseToRequest(
+ request, response_props=nebraska.ResponseProperties(**kwargs))
def HandleHostInfoPing(self, ip):
"""Returns host info dictionary for the given IP in JSON format."""