X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a2dcdbb414a73f4b4d4c395c823a07b929358aae..720bbcb2eda593e7ecb91522de8f5ab27d0bfd8e:/lib/crunchrun/executor.go diff --git a/lib/crunchrun/executor.go b/lib/crunchrun/executor.go index 05e9adefe3..1ed460acd9 100644 --- a/lib/crunchrun/executor.go +++ b/lib/crunchrun/executor.go @@ -16,31 +16,29 @@ type bindmount struct { } type containerSpec struct { - Image string - VCPUs int - RAM int64 - WorkingDir string - Env map[string]string - BindMounts map[string]bindmount - Command []string - EnableNetwork bool - NetworkMode string // docker network mode, normally "default" - CgroupParent string - Stdin io.Reader - Stdout io.Writer - Stderr io.Writer + Image string + VCPUs int + RAM int64 + WorkingDir string + Env map[string]string + BindMounts map[string]bindmount + Command []string + EnableNetwork bool + CUDADeviceCount int + NetworkMode string // docker network mode, normally "default" + CgroupParent string + Stdin io.Reader + Stdout io.Writer + Stderr io.Writer } // containerExecutor is an interface to a container runtime // (docker/singularity). type containerExecutor interface { - // ImageLoaded determines whether the given image is already - // available to use without calling ImageLoad. - ImageLoaded(imageID string) bool - // ImageLoad loads the image from the given tarball such that // it can be used to create/start a container. - LoadImage(filename string) error + LoadImage(imageID string, imageTarballPath string, container arvados.Container, keepMount string, + containerClient *arvados.Client) error // Wait for the container process to finish, and return its // exit code. If applicable, also remove the stopped container @@ -62,6 +60,8 @@ type containerExecutor interface { // Release resources (temp dirs, stopped containers) Close() - // Give the executor access to arvados client & container info - SetArvadoClient(containerClient *arvados.Client, keepClient IKeepClient, container arvados.Container, keepMount string) + // Name and version of runtime engine ("docker 20.10.16", "singularity-ce version 3.9.9") + Runtime() string + + GatewayTarget }