Open nwallace83 opened 10 months ago
@mheon @Luap99 This is something we looked at before. Is it time with 5.0 to match Docker functionality?
We can discuss at the cabal tomorrow, but I don't see a strong reason not to. We're making similar changes for Docker compat as part of 5.0.
No objection for a 5.0 but if we do this then we need to identify all places where this is relevant as it must be done consistently for all the commands/APIs.
Digging in further here - at least for Podman, that's not a SHA256. We're printing image ID, not image digest. From the fact that our output otherwise matches Docker as well, perhaps it's the same for them and the sha256 was mistakenly added? I need to confirm with a Docker install to see what's going on.
(The data we are talking about is not a layer ID, but an image ID, AFAICS.)
Image IDs happen to be SHA256 values as well. So, in that sense, whether or not to include the sha256:
value is basically cosmetic.
One thing to think about when designing things is that the algorithm, in principle, might not be SHA-256 forever (but pragmatically, switching would be very hard). That impacts both what the output format should be, and how matching can happen.
Also consider https://github.com/containers/image/pull/1980: the image ID in c/storage may be different for “the same” image depending on how it was pulled, precisely because the different pull methods provide security guarantees about different kinds of data, so we must maintain the two separately.
All in all, image IDs can be used to prove image equality but not image inequality.
A friendly reminder that this issue had no activity for 30 days.
Any workaround to get this to work - other than running podman via bash in the Azure pipeline ?
I'm running into this issue all of a sudden in a pipeline that has been working non-stop for months. Is there a workaround?
Same issue here with running Podman (through docker alias) in an OpenShist container (as an Azure DevOps Agent), in Azure DevOps YAML Pipelines.
Error: no names or ids specified
##[debug]Exit code 125 received from tool '/usr/bin/docker'
##[debug]STDIO streams have closed for tool '/usr/bin/docker'
##[error]Error: no names or ids specified
##[debug]Processed: ##vso[task.issue type=error;source=TaskInternal;correlationId=6f38dde4-97d1-495d-a1e1-226e2fcd0faa;]Error: no names or ids specified
##[debug]task result: Failed
##[error]Unhandled: The process '/usr/bin/docker' failed with exit code 125
##[debug]Processed: ##vso[task.issue type=error;source=TaskInternal;correlationId=6f38dde4-97d1-495d-a1e1-226e2fcd0faa;]Unhandled: The process '/usr/bin/docker' failed with exit code 125
##[debug]Processed: ##vso[task.complete result=Failed;]Unhandled: The process '/usr/bin/docker' failed with exit code 125
##[error]Error: The process '/usr/bin/docker' failed with exit code 125
createdAt:Error: template: history:1:23: executing "history" at <.CreatedAt>: can't evaluate field CreatedAt in type images.historyReporter
##[error]Error: template: history:1:23: executing "history" at <.CreatedAt>: can't evaluate field CreatedAt in type images.historyReporter
##[error]Unhandled: The process '/usr/bin/docker' failed with exit code 125
##[error]Error: The process '/usr/bin/docker' failed with exit code 125
The later is an know issue with Podman on Ubuntu 22.04 and the ADO Docker@2 Task which was remediated in Podman version 4.x.x, that is why I tried to build a container with the ubuntu:24.04 image.
Can someone look into this please? Podman installed both in ubuntu:22.04 and ubuntu:24.04 has issues, using in relation to Docker in ADO Docker@2 Task.
Different issues but still issues which cause the Azure DevOps Pipeline to fail if running from Docker@2 Pipeline Task. I don't think this is an issue with ADO. I think this is an issue with Podman in relation to Docker.
Please let me know if you need more information for remediation of these issues.
Most of our users are pulling, building, tagging, and pushing images using the ADO Docker@2 Task, so it would be really disruptive id I ask them to start performing this tasks from Bash commands in ADO Bash Tasks.
EDIT 07/31/2024 8.18PM EST: The Azure DevOps Organization Sprint is 241 (2024 July 25) The Azure DevOps Pipeline Docker@2 Task version is 2.243.0. Task on GitHub Repo
We also have started to see this on one of our projects in Azure DevOps today.
Issue Description
We are seeing the below error when using podman in Azure DevOps with the built-in Docker@2 task. The docker command is alias'd to podman.
After investing the issue we found that the task is getting the image ID from docker history but it expects the ID to include
sha256:
as part of the ID. Podman is not using the same ID format as docker (see below)Steps to reproduce the issue
Steps to reproduce the issue
Describe the results you received
podman and docker have different ID formats. The difference in the format causes Azure DevOps to use a blank image ID, resulting in errors.
Describe the results you expected
expected: podman to be consistent with docker image ID formats.
podman info output
Podman in a container
Yes
Privileged Or Rootless
Rootless
Upstream Latest Release
Yes
Additional environment details
No response
Additional information
No response