X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/bcab6c50f54f155f14d1dd635becd85a5e91289d..a9b9c6ff05e0268570b829bd62a6f683cf9f1d19:/lib/crunchrun/crunchrun.go diff --git a/lib/crunchrun/crunchrun.go b/lib/crunchrun/crunchrun.go index 5638e81e4d..3c9c381619 100644 --- a/lib/crunchrun/crunchrun.go +++ b/lib/crunchrun/crunchrun.go @@ -60,6 +60,7 @@ type IKeepClient interface { ManifestFileReader(m manifest.Manifest, filename string) (arvados.File, error) LocalLocator(locator string) (string, error) ClearBlockCache() + SetStorageClasses(sc []string) } // NewLogWriter is a factory function to create a new log writer. @@ -395,6 +396,7 @@ func (runner *ContainerRunner) SetupMounts() (map[string]bindmount, error) { "--foreground", "--allow-other", "--read-write", + "--storage-classes", strings.Join(runner.Container.OutputStorageClasses, ","), fmt.Sprintf("--crunchstat-interval=%v", runner.statInterval.Seconds())} if runner.Container.RuntimeConstraints.KeepCacheRAM > 0 { @@ -1519,6 +1521,9 @@ func (runner *ContainerRunner) fetchContainerRecord() error { return fmt.Errorf("error creating container API client: %v", err) } + runner.ContainerKeepClient.SetStorageClasses(runner.Container.OutputStorageClasses) + runner.DispatcherKeepClient.SetStorageClasses(runner.Container.OutputStorageClasses) + err = runner.ContainerArvClient.Call("GET", "containers", runner.Container.UUID, "secret_mounts", nil, &sm) if err != nil { if apierr, ok := err.(arvadosclient.APIServerError); !ok || apierr.HttpStatusCode != 404 {