pop-os / tensorman

Utility for easy management of Tensorflow containers
GNU General Public License v3.0
206 stars 16 forks source link

Experimental Podman support #23

Closed ids1024 closed 4 years ago

ids1024 commented 4 years ago

This adds an undocumented flag for using podman. It's not currently quite working; it seems there's some incompatibility between the Docker-compatible API podman exposes and what the bollard crate expects...

This is meant to work towards addressing https://github.com/pop-os/tensorman/issues/21. If we can get Podman to work well, we can avoid the need for root-equivalent privileges.

mmstick commented 4 years ago

We can replace bollard. For the most part, it's just providing data that's easily fetched with the command line.

ids1024 commented 4 years ago

Good point, it maybe simpler to just remove bollard and rely purely on the command like.

I'm not sure if the bug in question is really in bollard; probably more in podman:

caused by: Failed to deserialize JSON: invalid type: string "2020-07-28T15:14:05.15878981Z", expected i64 at line 1 column 169

The docker-compatible IPC interface in Podman is somewhat new and may have some compatibility issues with docker. The command like should be more stable.

ids1024 commented 4 years ago

I see docker/podman supports a --format argument, so it should be fairly easy and reliable to parse command line output. So that seems like a good solution. For the fairly basic purposes tensorman requires, that's perhaps easier regardless of podman.

Edit: In particular, docker images --format "{{json .}}" and docker container ls --format "{{json .}}" should do.

ids1024 commented 4 years ago

Superseded by https://github.com/pop-os/tensorman/pull/24.