mirror of
https://github.com/dogkeeper886/ollama37.git
synced 2025-12-11 08:17:03 +00:00
Optimize container images for startup (#6547)
* Optimize container images for startup This change adjusts how to handle runner payloads to support container builds where we keep them extracted in the filesystem. This makes it easier to optimize the cpu/cuda vs cpu/rocm images for size, and should result in faster startup times for container images. * Refactor payload logic and add buildx support for faster builds * Move payloads around * Review comments * Converge to buildx based helper scripts * Use docker buildx action for release
This commit is contained in:
50
runners/runners_test.go
Normal file
50
runners/runners_test.go
Normal file
@@ -0,0 +1,50 @@
|
||||
package runners
|
||||
|
||||
import (
|
||||
"log/slog"
|
||||
"os"
|
||||
"path"
|
||||
"runtime"
|
||||
"strings"
|
||||
"testing"
|
||||
"testing/fstest"
|
||||
)
|
||||
|
||||
func TestRefreshRunners(t *testing.T) {
|
||||
slog.SetLogLoggerLevel(slog.LevelDebug)
|
||||
|
||||
payloadFS := fstest.MapFS{
|
||||
path.Join(runtime.GOOS, runtime.GOARCH, "foo", "ollama_llama_server"): {Data: []byte("hello, world\n")},
|
||||
}
|
||||
tmpDir, err := os.MkdirTemp("", "testing")
|
||||
if err != nil {
|
||||
t.Fatalf("failed to make tmp dir %s", err)
|
||||
}
|
||||
t.Setenv("OLLAMA_TMPDIR", tmpDir)
|
||||
rDir, err := Refresh(payloadFS)
|
||||
if err != nil {
|
||||
t.Fatalf("failed to extract to %s %s", tmpDir, err)
|
||||
}
|
||||
if !strings.Contains(rDir, tmpDir) {
|
||||
t.Fatalf("runner dir %s was not in tmp dir %s", rDir, tmpDir)
|
||||
}
|
||||
|
||||
// spot check results
|
||||
servers := GetAvailableServers(rDir)
|
||||
if len(servers) < 1 {
|
||||
t.Fatalf("expected at least 1 server")
|
||||
}
|
||||
|
||||
// Refresh contents
|
||||
rDir, err = extractRunners(payloadFS)
|
||||
if err != nil {
|
||||
t.Fatalf("failed to extract to %s %s", tmpDir, err)
|
||||
}
|
||||
if !strings.Contains(rDir, tmpDir) {
|
||||
t.Fatalf("runner dir %s was not in tmp dir %s", rDir, tmpDir)
|
||||
}
|
||||
|
||||
cleanupTmpDirs()
|
||||
|
||||
Cleanup(payloadFS)
|
||||
}
|
||||
Reference in New Issue
Block a user