podman: podman push to aws manifest failure
Description Podman push to authenticated aws registry fails.
Steps to reproduce the issue:
-
login to aws registery with podman
-
create and tag image
-
docker push <aws register>/image tag:latest
Describe the results you received: podman push foobar.dkr.ecr.us-east-1.amazonaws.com/helloworld:latest Getting image source signatures Copying blob sha256:f972d139738dfcd1519fd2461815651336ee25a8b54c358834c50af094bb262f 199.14 MB / 199.14 MB [==================================================] 1m0s Copying blob sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef 1024 B / 1024 B [==========================================================] 1s Copying config sha256:e83afaabb1f41afb22d7638022ad561cb3cb69f6e014eecafb9664f9e04fb1e5 0 B / 1.21 KB [------------------------------------------------------------] 0s Writing manifest to image destination Error copying image to the remote destination: Error writing manifest: Error uploading manifest latest to foobar.dkr.ecr.us-east-1.amazonaws.com/helloworld: unsupported: Invalid parameter at ‘ImageManifest’ failed to satisfy constraint: ‘Invalid JSON syntax’
Describe the results you expected: Successful upload of image and manifest
Additional information you deem important (e.g. issue happens only occasionally): AWS is expecting a different json format (https://docs.aws.amazon.com/AmazonECR/latest/APIReference/API_PutImage.html) “imageManifest”: “string”,
podman is sending ImageManifest and errors
Output of podman version:
podman version
Version: 0.10.1.3
Go Version: go1.10.4
OS/Arch: linux/amd64
Output of podman info:
podman info
host:
BuildahVersion: 1.5-dev
Conmon:
package: podman-0.10.1.3-1.gitdb08685.fc28.x86_64
path: /usr/libexec/podman/conmon
version: 'conmon version 1.12.0-dev, commit: 4a03e555ee4105308fa4d814d4ce02a059af0b7f-dirty'
Distribution:
distribution: fedora
version: "28"
MemFree: 215162880
MemTotal: 8235417600
OCIRuntime:
package: runc-1.0.0-56.dev.git78ef28e.fc28.x86_64
path: /usr/bin/runc
version: 'runc version spec: 1.0.1-dev'
SwapFree: 3918188544
SwapTotal: 3997167616
arch: amd64
cpus: 4
hostname: mhoffman.localdomain
kernel: 4.18.14-200.fc28.x86_64
os: linux
uptime: 24h 12m 32.99s (Approximately 1.00 days)
insecure registries:
registries: []
registries:
registries:
- docker.io
- registry.fedoraproject.org
- quay.io
- registry.access.redhat.com
- registry.centos.org
store:
ContainerStore:
number: 5
GraphDriverName: vfs
GraphOptions: []
GraphRoot: /home/mhoffman/.local/share/containers/storage
GraphStatus: {}
ImageStore:
number: 2
RunRoot: /run/user/1000/run
Additional environment details (AWS, VirtualBox, physical, etc.): AWS
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Reactions: 2
- Comments: 29 (6 by maintainers)
Thanks for your report.
podmanis not calling that API directly, though it does seem quite possible that the underlying implementation of the registry calls it.As a random guess, can you try this with
podman push --format=v2s2 …, please?If that fails,
mkdir $sometmpdir; podman push foobar.dkr.ecr.us-east-1.amazonaws.com/helloworld:latest dir:$sometmpdirand attach$sometmpdir/manifest.json, please — though it seems extremely unlikely that the JSON is actually syntactically invalid.Either way, the output of
podman --log-level=debug push …could be useful as well.