Skip to content

Using podman devpod failed to find container at creation time #292

@pleclech

Description

@pleclech

What happened?
I create a workspace using the example provided but i am using podman instead of docker.
After a while when all is created podman failed with an error:

find container: Error: invalid argument "label=devcontainer.metadata=[{\"id\":\"ghcr.io/devcontainers/features/common-utils:2\"},{\"id\":\"./local-features/apache-config\"},{\"id\":\"ghcr.io/devcontainers/features/node:1\",\"customizations\":{\"vscode\":{\"extensions\":[\"dbaeumer.vscode-eslint\"]}}},{\"id\":\"ghcr.io/devcontainers/features/git:1\"},{\"remoteUser\":\"vscode\",\"customizations\":{\"vscode\":{\"extensions\":[\"xdebug.php-debug\",\"bmewburn.vscode-intelephense-client\",\"mrmlnc.vscode-apache\"],\"settings\":{\"php.validate.executablePath\":\"/usr/local/bin/php\"}}}},{\"customizations\":{\"vscode\":{\"extensions\":[\"streetsidesoftware.code-spell-checker\"],\"settings\":{}}}}]" for "-f, --filter" flag: parse error on line 1, column 31: bare " in non-quoted-field
See 'podman ps --help'

What did you expect to happen instead?
The intallation script to continue normally.

How can we reproduce the bug? (as minimally and precisely as possible)
Just create a workspace using one of the sample provided using podman as an agent
for the time being i use:

podman version
Client:       Podman Engine
Version:      4.5.0
API Version:  4.5.0
Go Version:   go1.20.4
Git Commit:   268511680f4a72b4a0595497a37e4d6a7da0215c
Built:        Thu May 11 11:30:51 2023
OS/Arch:      linux/amd64

Local Environment:

  • DevPod Version: v0.1.2
  • Operating System: windows
  • ARCH of the OS: AMD64

DevPod Provider:

  • Local/remote provider: docker | ssh
  • Custom provider: based on ssh using podman as agent instead of docker

Anything else we need to know?
I think the culprit is here : find after creation
Containers are searched using labels that contains config.DockerIDLabel and metadata.ImageMetadataLabel
Since the ID for config.DockerIDLabel is unique i assume that you use only config.DockerIDLabel for the search.
It's what it use at the start of the function:
init labels
first find container

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions