New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 793434 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
OOO
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Trying to stage artifacts 'delta_payloads' throws DevServerException

Project Member Reported by dhadd...@chromium.org, Dec 8 2017

Issue description

'delta_payloads' is a valid artifact type:
https://cs.corp.google.com/chromeos_public/src/platform/dev/artifact_info.py?sq=package:%5Echromeos_(internal%7Cpublic)$&dr&l=19

However when I try to use it to stage delta payloads for a test I am writing I get a devserver crash everytime.

Code snippet:
url, build = tools.get_devserver_build_from_package_url(job_repo_url)
ds = dev_server.ImageServer(url)
ds.stage_artifacts(build, ['delta_payloads'])

It crashes with this error:

14:37:46 INFO | autoserv| UnhandledTestFail: Unhandled DevServerException:
14:37:46 INFO | autoserv| 
14:37:46 INFO | autoserv| 
14:37:46 INFO | autoserv| 
14:37:46 INFO | autoserv| 500 Internal Server Error
14:37:46 INFO | autoserv| 
14:37:46 INFO | autoserv| #powered_by {
14:37:46 INFO | autoserv| margin-top: 20px;
14:37:46 INFO | autoserv| border-top: 2px solid black;
14:37:46 INFO | autoserv| font-style: italic;
14:37:46 INFO | autoserv| }
14:37:46 INFO | autoserv| 
14:37:46 INFO | autoserv| #traceback {
14:37:46 INFO | autoserv| color: red;
14:37:46 INFO | autoserv| }
14:37:46 INFO | autoserv| 
14:37:46 INFO | autoserv| 
14:37:46 INFO | autoserv| 
14:37:46 INFO | autoserv| 500 Internal Server Error
14:37:46 INFO | autoserv| The server encountered an unexpected condition which prevented it from fulfilling the request.
14:37:46 INFO | autoserv| Traceback (most recent call last):
14:37:46 INFO | autoserv| File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 656, in respond
14:37:46 INFO | autoserv| response.body = self.handler()
14:37:46 INFO | autoserv| File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 188, in __call__
14:37:46 INFO | autoserv| self.body = self.oldhandler(*args, **kwargs)
14:37:46 INFO | autoserv| File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 34, in __call__
14:37:46 INFO | autoserv| return self.callable(*self.args, **self.kwargs)
14:37:46 INFO | autoserv| File "/home/chromeos-test/chromiumos/src/platform/dev/devserver.py", line 796, in is_staged
14:37:46 INFO | autoserv| response = str(dl.IsStaged(factory))
14:37:46 INFO | autoserv| File "/home/chromeos-test/chromiumos/src/platform/dev/downloader.py", line 216, in IsStaged
14:37:46 INFO | autoserv| raise DownloaderException(exceptions)
14:37:46 INFO | autoserv| DownloaderException: Could not find chromeos_(?!R65\-10192\.0\.0).*_delta_.* in Google Storage at gs://chromeos-image-archive/samus-release/R65-10192.0.0
14:37:46 INFO | autoserv| Traceback (most recent call last):
14:37:46 INFO | autoserv| File "/home/chromeos-test/chromiumos/src/platform/dev/build_artifact.py", line 338, in Process
14:37:46 INFO | autoserv| self.name, self.is_regex_name, timeout)
14:37:46 INFO | autoserv| File "/home/chromeos-test/chromiumos/src/platform/dev/downloader.py", line 336, in Wait
14:37:46 INFO | autoserv| (name, self._archive_url))
14:37:46 INFO | autoserv| ArtifactDownloadError: Could not find chromeos_(?!R65\-10192\.0\.0).*_delta_.* in Google Storage at gs://chromeos-image-archive/samus-release/R65-10192.0.0
 
Description: Show this description
Looks like the reason is because there are no M to N delta payloads defined within any build folder in gs://chromeos-image-archive 

There is only N to N.

E.g https://pantheon.corp.google.com/storage/browser/chromeos-image-archive/samus-release/R65-10192.0.0
Interesting. That should have been an error, but not a devserver crash.
Summary: Trying to stage artifacts 'delta_payloads' throws DevServerException (was: Trying to stage artifacts 'delta_payloads' crashes devserver )
Cc: jrbarnette@chromium.org pho...@chromium.org
Owner: dgarr...@chromium.org
+updated infra deputies 
Also, why are you expecting M to N to exist in gs://chromeos-image-archive/?

They are normally generated for signed release builds (and matching test images) in gs://chromeos-releases/, this is per release channel, because the deltas that we you in public are per-channel.
I am not expecting M to N. 

I want to easily get and stage the N-to-N delta payload. Staging the "delta_payloads" artifact always looks for M to N too though.

Did that code ever work? 
I have no idea. I do know that the API is... fuzzy about exactly which artifacts to fetch or where to get them from.
Cc: davidri...@chromium.org
Owner: xixuan@chromium.org
Redirecting to someone with more expertise.
Status: Started (was: Untriaged)
Cc: -pho...@chromium.org gu...@chromium.org
Owner: ----
Status: Untriaged (was: Started)
Not sure whether there's a clear TODO here or it's still expected. Just in case, + guocb who is working on devserver work.

Comment 12 by gu...@chromium.org, Apr 20 2018

Owner: gu...@chromium.org
Status: Assigned (was: Untriaged)

Sign in to add a comment