Handle multi-arch docker manifests in promote
A multi-arch manifist is a manifest list which has a different content-type than a regular manifest. In order to re-tag the image correctly, tell docker hub that we can accept both kinds of manifests, and re-upload the one that it gives us. This will be a manifest list if it exists, or a regular manifest if it doesn't. Change-Id: I7863b0c824c0b3cb20f94ba67399e823a216092b
This commit is contained in:
parent
06e35b2125
commit
b2b5ba1f27
@ -4,7 +4,7 @@
|
|||||||
url: "https://registry.hub.docker.com/v2/{{ zj_image.repository }}/manifests/change_{{ zuul.change }}_{{ zj_image_tag }}"
|
url: "https://registry.hub.docker.com/v2/{{ zj_image.repository }}/manifests/change_{{ zuul.change }}_{{ zj_image_tag }}"
|
||||||
status_code: 200
|
status_code: 200
|
||||||
headers:
|
headers:
|
||||||
Accept: "application/vnd.docker.distribution.manifest.v2+json"
|
Accept: "application/vnd.docker.distribution.manifest.list.v2+json, application/vnd.docker.distribution.manifest.v2+json"
|
||||||
Authorization: "Bearer {{ token.json.token }}"
|
Authorization: "Bearer {{ token.json.token }}"
|
||||||
return_content: true
|
return_content: true
|
||||||
register: manifest
|
register: manifest
|
||||||
@ -16,7 +16,7 @@
|
|||||||
status_code: 201
|
status_code: 201
|
||||||
body: "{{ manifest.content | string }}"
|
body: "{{ manifest.content | string }}"
|
||||||
headers:
|
headers:
|
||||||
Content-Type: "application/vnd.docker.distribution.manifest.v2+json"
|
Content-Type: "{{ manifest.content_type }}"
|
||||||
Authorization: "Bearer {{ token.json.token }}"
|
Authorization: "Bearer {{ token.json.token }}"
|
||||||
- name: Delete the current change tag
|
- name: Delete the current change tag
|
||||||
no_log: true
|
no_log: true
|
||||||
|
Loading…
Reference in New Issue
Block a user