OCI: issue when uploading multiarch images to DockerHub
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
Critical
|
Thiago F. Pappacena |
Bug Description
Hi,
I have noticed some weird behavior where images are built fine by LP in all architectures (some needed a retry) but when you go check on DockerHub there are tags missing for some of the architectures.
For instance, the Server team's Redis image is built from this OCI recipe:
https:/
as you can see it was built fine in amd64, arm64, ppc64el and s390x. If you check its DockerHub page s390x is missing:
https:/
Another instance of this problem can be identified in our Grafana image which is built from this OCI recipe:
https:/
There are some old failures but the latest build in all architectures succeeded, but in its DockerHub page ppc64el and s390x are missing:
https:/
I faced a similar issue with Prometheus (it was a missing a tag for amd64), but then I triggered builds for all the architectures and then all of them were correctly uploaded. This bug was mentioned in LP #1904376. I am not sure what is happening.
Related branches
- Colin Watson (community): Approve
-
Diff: 345 lines (+257/-21)2 files modifiedlib/lp/oci/model/ociregistryclient.py (+68/-16)
lib/lp/oci/tests/test_ociregistryclient.py (+189/-5)
Changed in launchpad: | |
status: | Incomplete → Triaged |
assignee: | nobody → Thiago F. Pappacena (pappacena) |
importance: | Undecided → Critical |
Changed in launchpad: | |
status: | Triaged → In Progress |
Changed in launchpad: | |
status: | In Progress → Fix Committed |
Changed in launchpad: | |
status: | Fix Committed → Fix Released |
The image on DockerHub was just replaced, but I managed to get the manifest details a bit before that. It should be helpful to debug what happened:
$ docker manifest inspect squeakywheel/ redis:edge vnd.docker. distribution. manifest. list.v2+ json",
"mediaType" : "application/ vnd.docker. distribution. manifest. v2+json" , ebb25a3d1f55cc3 32ebe54af58f40b 437696a766ca22a 9c86b39b2fcc2e9 39f0",
"platform" : {
"architect ure": "arm64",
"mediaType" : "application/ vnd.docker. distribution. manifest. v2+json" , f067b83f44dbc3d b1a63165af0b20b 59f594658fc7ae8 343a4b4a8e28391 a2c0",
"platform" : {
"architect ure": "amd64",
"mediaType" : "application/ vnd.docker. distribution. manifest. v2+json" , 4f13c671b4e2f0b daf4596d1b8cfff 04c25a120e149fa 8d1e2abc721b42a cff6",
"platform" : {
"architect ure": "ppc64el",
{
"schemaVersion": 2,
"mediaType": "application/
"manifests": [
{
"size": 1453,
"digest": "sha256:
"os": "linux"
}
},
{
"size": 1453,
"digest": "sha256:
"os": "linux"
}
},
{
"size": 1454,
"digest": "sha256:
"os": "linux"
}
}
]
}