mirror of
				https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
				synced 2025-10-31 16:44:13 +00:00 
			
		
		
		
	Repair requests without testpkg-version
We're supposed to synthesise an "unknown" version for these, but a bug in the worker meant we didn't do that in some cases and these leaked into swift. Let's repair it client-side.
This commit is contained in:
		
							parent
							
								
									37ba086adf
								
							
						
					
					
						commit
						06e8f598ba
					
				| @ -852,7 +852,19 @@ class AutopkgtestPolicy(BasePolicy): | |||||||
|         try: |         try: | ||||||
|             with tarfile.open(None, 'r', tar_bytes) as tar: |             with tarfile.open(None, 'r', tar_bytes) as tar: | ||||||
|                 exitcode = int(tar.extractfile('exitcode').read().strip()) |                 exitcode = int(tar.extractfile('exitcode').read().strip()) | ||||||
|  |                 try: | ||||||
|                     srcver = tar.extractfile('testpkg-version').read().decode().strip() |                     srcver = tar.extractfile('testpkg-version').read().decode().strip() | ||||||
|  |                 except KeyError as e: | ||||||
|  |                     # We have some buggy results in Ubuntu's swift that break a | ||||||
|  |                     # full reimport. Sometimes we fake up the exit code (when | ||||||
|  |                     # we want to convert tmpfails to permanent fails), but an | ||||||
|  |                     # early bug meant we sometimes didn't include a | ||||||
|  |                     # testpkg-version. | ||||||
|  |                     if exitcode in (4, 12, 20): | ||||||
|  |                         # repair it | ||||||
|  |                         srcver = "%s unknown" % (src) | ||||||
|  |                     else: | ||||||
|  |                         raise | ||||||
|                 (ressrc, ver) = srcver.split() |                 (ressrc, ver) = srcver.split() | ||||||
|                 testinfo = json.loads(tar.extractfile('testinfo.json').read().decode()) |                 testinfo = json.loads(tar.extractfile('testinfo.json').read().decode()) | ||||||
|         except (KeyError, ValueError, tarfile.TarError) as e: |         except (KeyError, ValueError, tarfile.TarError) as e: | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user