Idea #9428
Updated by Brett Smith over 8 years ago
Currently arv-keepdocker works by subprocessing the @docker@ CLI tool and parsing the output. Port it to stop doing that, and instead use the docker-py module to talk to the Docker daemon directly over the REST API and get objects back. Reasons to do this: * The CLI has changed interfaces before in ways that break arv-keepdocker. (e.g., #4196) This would be more resilient. * The client can specify which version of the API it wants to talk, making it even more resilient as Docker itself gets upgraded (which is often). * IPC is always rickety. This would be more resilient to different user environments and enable better error reporting. * docker-py is maintained by the Docker team, and we already use it with no major isseus in dockercleaner, so it's a pretty safe dependency. The Possible reasons not to do this: * We want to rewrite it in Go instead. If we decide to go ahead, the branch should only rewire arv-keepdocker internally. You'll also need to declare the dependency in @setup.py@ and @run-build-packages.sh@. No UI changes should be needed.