File tree Expand file tree Collapse file tree 1 file changed +22
-5
lines changed 
services/director/src/simcore_service_director Expand file tree Collapse file tree 1 file changed +22
-5
lines changed Original file line number Diff line number Diff line change @@ -413,12 +413,29 @@ async def get_image_labels(
413413                    media_type 
414414                    ==  "application/vnd.docker.distribution.manifest.list.v2+json" 
415415                ):
416-                     raise  DockerRegistryUnsupportedManifestSchemaVersionError (
417-                         version = schema_version ,
418-                         service_name = image ,
419-                         service_tag = tag ,
420-                         reason = "Multiple architectures images are currently not supported and need to be implemented" ,
416+                     # default to x86_64 architecture 
417+                     _logger .info (
418+                         "Image %s:%s is a docker image with multiple architectures. " 
419+                         "Currently defaulting to x86_64 architecture" ,
420+                         image ,
421+                         tag ,
421422                    )
423+                     manifests  =  request_result .get ("manifests" , [])
424+                     if  not  manifests :
425+                         raise  DockerRegistryUnsupportedManifestSchemaVersionError (
426+                             version = schema_version ,
427+                             service_name = image ,
428+                             service_tag = tag ,
429+                             reason = "Manifest list is empty" ,
430+                         )
431+                     first_manifest_digest  =  manifests [0 ]["digest" ]
432+                     request_result , _  =  await  registry_request (
433+                         app ,
434+                         path = f"{ image }  /manifests/{ first_manifest_digest }  " ,
435+                         method = "GET" ,
436+                         use_cache = not  update_cache ,
437+                     )
438+ 
422439                config_digest  =  request_result ["config" ]["digest" ]
423440                # Fetch the config blob 
424441                config_result , _  =  await  registry_request (
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments