CI / test (push) Successful in 10m15s
Found on the PoC: InstallPackages reported 'installing munge, slurm-client, slurmd' under no engine and never cleared it, so the node's page kept saying so (infiniband-diags and perftest did the same). slurmd started before the leader has written its node into slurm.conf is refused; the drop-in now has systemd try it again every 15 s. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
37 lines
1.2 KiB
Go
37 lines
1.2 KiB
Go
package provision
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"gitea.mynodes.xyz/ilker/llmgw/internal/agent/discovery"
|
|
)
|
|
|
|
// A package install that is no engine's says it is done, so its progress
|
|
// does not stay on the node's page (found on the PoC installing Slurm).
|
|
func TestInstallPackagesClearsItsProgress(t *testing.T) {
|
|
var got []Status
|
|
in := &Installer{Host: discovery.Host{OSID: "ubuntu"}, OnStatus: func(s Status) { got = append(got, s) },
|
|
Run: func(_ context.Context, _ []string, name string, _ ...string) ([]byte, error) {
|
|
if name == "sh" { // the query: not installed
|
|
return nil, context.Canceled
|
|
}
|
|
return nil, nil
|
|
}}
|
|
if err := in.InstallPackages(context.Background(), map[string][]string{"deb": {"munge"}}); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if len(got) < 2 || got[0].State != Installing || got[len(got)-1] != (Status{}) {
|
|
t.Fatalf("statuses %+v", got)
|
|
}
|
|
|
|
got = nil
|
|
in.Run = func(context.Context, []string, string, ...string) ([]byte, error) { return nil, nil }
|
|
if err := in.InstallPackages(context.Background(), map[string][]string{"deb": {"munge"}}); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if len(got) != 0 {
|
|
t.Fatalf("installed already, yet said %+v", got)
|
|
}
|
|
}
|