17813: Refactor singularity image loading / caching / conversion
[arvados.git] / lib / crunchrun / docker.go
index 4d3f7caf9a75f4eb5b614f91e1fbc2e9899a7979..10a2dd38e8109182d1f41e9f1364a54e8b11d67a 100644 (file)
@@ -46,12 +46,16 @@ func newDockerExecutor(containerUUID string, logf func(string, ...interface{}),
        }, err
 }
 
-func (e *dockerExecutor) ImageLoaded(imageID string) bool {
+func (e *dockerExecutor) LoadImage(imageID string, container arvados.Container, arvMountPoint string,
+       containerClient *arvados.Client, keepClient IKeepClient) error {
        _, _, err := e.dockerclient.ImageInspectWithRaw(context.TODO(), imageID)
-       return err == nil
-}
+       if err == nil {
+               // already loaded
+               return nil
+       }
+
+       filename := arvMountPoint + "/by_id/" + container.ContainerImage + "/" + imageID + ".tar"
 
-func (e *dockerExecutor) LoadImage(filename string) error {
        f, err := os.Open(filename)
        if err != nil {
                return err
@@ -253,6 +257,3 @@ func (e *dockerExecutor) handleStdoutStderr(stdout, stderr io.Writer, reader io.
 func (e *dockerExecutor) Close() {
        e.dockerclient.ContainerRemove(context.TODO(), e.containerID, dockertypes.ContainerRemoveOptions{Force: true})
 }
-
-func (e *dockerExecutor) SetArvadoClient(containerClient *arvados.Client, keepClient IKeepClient, container arvados.Container, keepMount string) {
-}