Fix ACI conversion and add a registry test for it
This commit is contained in:
parent
a4f1475de4
commit
3bd1b21ca9
4 changed files with 74 additions and 7 deletions
|
@ -21,7 +21,8 @@ class AppCImageFormatter(TarImageFormatter):
|
|||
def stream_generator(self, tag, manifest, synthetic_image_id, layer_iterator,
|
||||
tar_stream_getter_iterator, reporter=None):
|
||||
image_mtime = 0
|
||||
created = manifest.get_parsed_manifest().created_datetime
|
||||
parsed_manifest = manifest.get_parsed_manifest()
|
||||
created = parsed_manifest.created_datetime
|
||||
if created is not None:
|
||||
image_mtime = calendar.timegm(created.utctimetuple())
|
||||
|
||||
|
@ -32,7 +33,7 @@ class AppCImageFormatter(TarImageFormatter):
|
|||
# Yield the manifest.
|
||||
aci_manifest = json.dumps(DockerV1ToACIManifestTranslator.build_manifest(
|
||||
tag,
|
||||
manifest,
|
||||
parsed_manifest,
|
||||
synthetic_image_id
|
||||
))
|
||||
yield self.tar_file('manifest', aci_manifest, mtime=image_mtime)
|
||||
|
@ -172,7 +173,7 @@ class DockerV1ToACIManifestTranslator(object):
|
|||
@staticmethod
|
||||
def build_manifest(tag, manifest, synthetic_image_id):
|
||||
""" Builds an ACI manifest of an existing repository image. """
|
||||
docker_layer_data = JSONPathDict(manifest.leaf_layer.v1_metadata)
|
||||
docker_layer_data = JSONPathDict(json.loads(manifest.leaf_layer.raw_v1_metadata))
|
||||
config = docker_layer_data['config'] or JSONPathDict({})
|
||||
|
||||
namespace = tag.repository.namespace_name
|
||||
|
@ -209,7 +210,7 @@ class DockerV1ToACIManifestTranslator(object):
|
|||
"labels": [
|
||||
{
|
||||
"name": "version",
|
||||
"value": tag,
|
||||
"value": tag.name,
|
||||
},
|
||||
{
|
||||
"name": "arch",
|
||||
|
|
Reference in a new issue