-
Notifications
You must be signed in to change notification settings - Fork 157
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(context): add podman support #1142
base: main
Are you sure you want to change the base?
Conversation
Welcome @TaylorHere! It looks like this is your first PR to tensorchord/envd 🎉 |
trying to figure out how to add a podman socket when the CI test, did not use GitHub actions before. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: TaylorHere The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
254841c
to
2561f10
Compare
feat(CI): add setup podman Signed-off-by: taylorhere <[email protected]>
LGTM |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From what I understood here, podman has the same implementation as docker. And we are adding a new context name for podman, right? |
yes, I'm adding a new context name for podman and also adding a buildkit connection string for podman, which does envd work with podman |
I got this error: Cannot connect to the Docker daemon at unix:///run/user/1000/podman/podman.sock. Is the docker daemon running? Did you encounter this before? |
Weird. I restart the podman service then the file is created. Before the restart, there is no file |
After the restart, I got a new error
|
After the config https://unix.stackexchange.com/questions/701784/podman-no-longer-searches-dockerhub-error-short-name-did-not-resolve-to-an , the issue is resolved. |
Got this error when loading the image:
|
I got this error but did not know why, maybe a bug from podman, you can see podman's debug log, which shows the loaded image is an empty file, but the |
=> exporting to oci image format 2.7s
=> => exporting layers 1.5s
=> => exporting manifest sha256:d455a0ef6f205f908117953e36db96d41845bb9cec01bf325ba2babdeb1b8b77 0.0s
=> => exporting config sha256:19009efecb6ec386bc52b0676e581b59144e600c5d8cbd3786ecc0c54a33528c 0.0s
=> => sending tarball 1.1s
error: No such image: envd:dev: image not known while |
@ - - [10/Nov/2022:15:38:16 +0800] "GET /v1.40/images/json?filters=%7B%22label%22%3A%7B%22ai.tensorchord.envd.build.digest%3D931dc819db3e572%22%3Atrue%7D%2C%22reference%22%3A%7B%22envd%3Adev%22%3Atrue%7D%7D HTTP/1.1" 200 3 "" "Go-http-client/1.1"
DEBU[0004] IdleTracker:idle 4m+0h/4t connection(s) X-Reference-Id=0xc000010ff8
DEBU[0004] IdleTracker:new 4m+0h/4t connection(s) X-Reference-Id=0xc000604018
DEBU[0004] IdleTracker:active 4m+0h/5t connection(s) X-Reference-Id=0xc000604018
@ - - [10/Nov/2022:15:38:17 +0800] "HEAD /_ping HTTP/1.1" 200 0 "" "Go-http-client/1.1"
DEBU[0004] IdleTracker:idle 5m+0h/5t connection(s) X-Reference-Id=0xc000604018
DEBU[0004] IdleTracker:active 5m+0h/5t connection(s) X-Reference-Id=0xc000604018
@ - - [10/Nov/2022:15:38:17 +0800] "HEAD /_ping HTTP/1.1" 200 0 "" "Go-http-client/1.1"
DEBU[0004] IdleTracker:idle 5m+0h/5t connection(s) X-Reference-Id=0xc000604018
DEBU[0004] IdleTracker:active 5m+0h/5t connection(s) X-Reference-Id=0xc000604018
DEBU[0027] Loading image from "/var/tmp/api_load.tar4068737496"
DEBU[0027] -> Attempting to load "/var/tmp/api_load.tar4068737496" as an OCI directory
DEBU[0027] parsed reference into "[overlay@/home/taylor/.local/share/containers/storage+/run/user/1000/containers]localhost/var/tmp/api_load.tar4068737496:latest"
DEBU[0027] Copying source image /var/tmp/api_load.tar4068737496: to destination image [overlay@/home/taylor/.local/share/containers/storage+/run/user/1000/containers]localhost/var/tmp/api_load.tar4068737496:latest
DEBU[0027] Error loading /var/tmp/api_load.tar4068737496: initializing source oci:/var/tmp/api_load.tar4068737496:: open /var/tmp/api_load.tar4068737496/index.json: not a directory
DEBU[0027] -> Attempting to load "/var/tmp/api_load.tar4068737496" as an OCI archive
DEBU[0028] Error deleting temporary directory: <nil>
DEBU[0028] parsed reference into "[overlay@/home/taylor/.local/share/containers/storage+/run/user/1000/containers]localhost/dev:latest"
DEBU[0028] Copying source image /var/tmp/api_load.tar4068737496: to destination image [overlay@/home/taylor/.local/share/containers/storage+/run/user/1000/containers]localhost/dev:latest
DEBU[0028] Using blob info cache at /home/taylor/.local/share/containers/cache/blob-info-cache-v1.boltdb
DEBU[0028] IsRunningImageAllowed for image oci-archive:/var/tmp/api_load.tar4068737496
DEBU[0028] Using default policy section
DEBU[0028] Requirement 0: allowed
DEBU[0028] Overall: allowed
Getting image source signatures
DEBU[0028] Manifest has MIME type application/vnd.docker.distribution.manifest.v2+json, ordered candidate list [application/vnd.docker.distribution.manifest.v2+json, application/vnd.docker.distribution.manifest.v1+prettyjws, application/vnd.oci.image.manifest.v1+json, application/vnd.docker.distribution.manifest.v1+json]
DEBU[0028] ... will first try using the original manifest unmodified
DEBU[0028] Skipping blob sha256:c00545c54abe685118a9477bd95d99c1c4f98abd430b1fe8f67bb7a4a4de1d54 (already present):
Copying blob c00545c54abe skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob 7a0805df587b [--------------------------------------] 0.0b / 0.0b
Copying blob c00545c54abe skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob 7a0805df587b skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob 7a0805df587b skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob 7a0805df587b skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob 7a0805df587b skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob 7a0805df587b skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob 7a0805df587b skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob 7a0805df587b skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob 7a0805df587b skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob 7a0805df587b skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob 7a0805df587b skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob 7a0805df587b skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob 7a0805df587b skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob 7a0805df587b skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob 7a0805df587b skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob 7a0805df587b skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob c00545c54abe skipped: already exists
Copying blob 7a0805df587b skipped: already exists
Copying blob 1cdae5e5c7ff [--------------------------------------] 0.0b / 0.0b
Copying blob eaead16dc43b skipped: already exists
Copying blob c83403c23aee skipped: already exists
Copying blob e33b1614b502 skipped: already exists
Copying blob 77de15f6a868 [--------------------------------------] 0.0b / 0.0b
Copying blob f02229881901 [--------------------------------------] 0.0b / 0.0b
Copying blob 63d959beab39 [--------------------------------------] 0.0b / 0.0b
Copying blob d4eeb435307c [--------------------------------------] 0.0b / 0.0b
Copying blob 7f02186baa14 skipped: already exists
Copying blob 9504ef966851 skipped: already exists
Copying blob de49f3d1169c skipped: already exists
Copying blob 7348bb41d6ab [--------------------------------------] 0.0b / 0.0b
Copying blob 24c1dc02675d [--------------------------------------] 0.0b / 0.0b
Copying blob e0752d42ad07 done
Copying blob 4f4fb700ef54 [--------------------------------------] 0.0b / 0.0b
Copying blob 0de0cb551022 [--------------------------------------] 0.0b / 0.0b
Copying blob f245bca5033c skipped: already exists
Copying blob dae5bef954c2 done
Copying blob 287c63037080 done
Copying blob 7192df8f072f done
Copying blob 391fb798110b done
Copying blob e9cec4a5a81e done
Copying blob 4f4fb700ef54 [--------------------------------------] 0.0b / 0.0b
Copying blob 1a65025e6c29 done
Copying blob 9c720a6add6d done
Copying blob 4f4fb700ef54 skipped: already exists
Copying blob 90d05e8f4a9a done
DEBU[0029] No compression detected
DEBU[0029] Using original blob without modification
Copying config b060cf2a73 done
Writing manifest to image destination
Storing signatures
DEBU[0029] setting image creation date to 2022-11-10 07:38:37.635963342 +0000 UTC
DEBU[0029] created new image ID "b060cf2a73ebe1ca7e5151e63c880a1e486e54ad3f7f18c27b44722fc67dfb00"
DEBU[0029] saved image metadata "{\"signatures-sizes\":{\"sha256:a5e9392809164a7f3e184b4260bc24e0d86322713a377c46ad15f569999a91ef\":[]}}"
DEBU[0029] set names of image "b060cf2a73ebe1ca7e5151e63c880a1e486e54ad3f7f18c27b44722fc67dfb00" to [localhost/dev:latest]
DEBU[0030] error deleting tmp dir: <nil>
@ - - [10/Nov/2022:15:38:17 +0800] "POST /v1.40/images/load?quiet=1 HTTP/1.1" 200 50 "" "Go-http-client/1.1"
DEBU[0030] IdleTracker:idle 5m+0h/5t connection(s) X-Reference-Id=0xc000604018
DEBU[0030] IdleTracker:closed 5m+0h/5t connection(s) X-Reference-Id=0xc000604018
DEBU[0030] IdleTracker:new 4m+0h/5t connection(s) X-Reference-Id=0xc0005a8370
DEBU[0030] IdleTracker:active 4m+0h/6t connection(s) X-Reference-Id=0xc0005a8370
@ - - [10/Nov/2022:15:38:42 +0800] "HEAD /_ping HTTP/1.1" 200 0 "" "Go-http-client/1.1"
DEBU[0030] IdleTracker:idle 5m+0h/6t connection(s) X-Reference-Id=0xc0005a8370
DEBU[0030] IdleTracker:active 5m+0h/6t connection(s) X-Reference-Id=0xc0005a8370
INFO[0030] Request Failed(Not Found): no container with name or ID "envd" found: no such container
@ - - [10/Nov/2022:15:38:42 +0800] "GET /v1.40/containers/envd/json HTTP/1.1" 404 120 "" "Go-http-client/1.1"
DEBU[0030] IdleTracker:idle 5m+0h/6t connection(s) X-Reference-Id=0xc0005a8370
DEBU[0030] IdleTracker:active 5m+0h/6t connection(s) X-Reference-Id=0xc0005a8370
DEBU[0030] Looking up image "envd:dev" in local containers storage
DEBU[0030] Trying "envd:dev" ...
DEBU[0030] Loading registries configuration "/etc/containers/registries.conf"
DEBU[0030] Loading registries configuration "/etc/containers/registries.conf.d/shortnames.conf"
DEBU[0030] Trying "localhost/envd:dev" ...
DEBU[0030] Trying "docker.io/library/envd:dev" ...
DEBU[0030] Trying "docker.io/library/envd:dev" ...
INFO[0030] Request Failed(Not Found): No such image: envd:dev: image not known
@ - - [10/Nov/2022:15:38:42 +0800] "POST /v1.40/containers/create?name=envd HTTP/1.1" 404 96 "" "Go-http-client/1.1"
DEBU[0030] IdleTracker:idle 5m+0h/6t connection(s) X-Reference-Id=0xc0005a8370
DEBU[0030] IdleTracker:closed 5m+0h/6t connection(s) X-Reference-Id=0xc000010ff8
DEBU[0030] IdleTracker:closed 4m+0h/6t connection(s) X-Reference-Id=0xc000604040
DEBU[0030] IdleTracker:closed 3m+0h/6t connection(s) X-Reference-Id=0xc000604010
DEBU[0030] IdleTracker:closed 2m+0h/6t connection(s) X-Reference-Id=0xc0005a8370
DEBU[0030] IdleTracker:closed 1m+0h/6t connection(s) X-Reference-Id=0xc000604048 seems like podman treats the image name as |
the {
"schemaVersion": 2,
"manifests": [
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"digest": "sha256:f11ea37a75710ce5de012179bdd931851aef4b3549b6e07f99fa5df0c26803b5",
"size": 6364,
"annotations": {
"io.containerd.image.name": "docker.io/library/envd:dev",
"org.opencontainers.image.created": "2022-11-10T17:59:24Z",
"org.opencontainers.image.ref.name": "dev"
}
}
]
} here are some conversations around this containers/common#793 https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys |
Maybe it is related to the OCI image spec. Docker image spec is slightly different with the OCI image, I think. |
podman fixed image loading issue @containers/common#793 but ubuntu 22 did not ship newer version of podman yet. |
now we can use envd with podman.socket