59 lines
1.6 KiB
Go
59 lines
1.6 KiB
Go
|
|
package testing_test
|
||
|
|
|
||
|
|
import (
|
||
|
|
"testing"
|
||
|
|
|
||
|
|
"metis/pkg/config"
|
||
|
|
"metis/pkg/inventory"
|
||
|
|
)
|
||
|
|
|
||
|
|
func TestConfigBuildLabelsAndTaints(t *testing.T) {
|
||
|
|
inv := inventory.Inventory{
|
||
|
|
Classes: []inventory.NodeClass{{
|
||
|
|
Name: "c1",
|
||
|
|
Arch: "arm64",
|
||
|
|
OS: "linux",
|
||
|
|
Image: "file:///tmp/base.img",
|
||
|
|
DefaultLabels: map[string]string{"a": "1"},
|
||
|
|
DefaultTaints: []string{"t1"},
|
||
|
|
}},
|
||
|
|
Nodes: []inventory.NodeSpec{{
|
||
|
|
Name: "n1",
|
||
|
|
Class: "c1",
|
||
|
|
Hostname: "n1",
|
||
|
|
IP: "1.1.1.1",
|
||
|
|
K3sRole: "agent",
|
||
|
|
Labels: map[string]string{"b": "2"},
|
||
|
|
Taints: []string{"t2"},
|
||
|
|
LonghornDisks: []inventory.LonghornDisk{{Mountpoint: "/mnt/d1", UUID: "uuid-1", FS: "ext4"}},
|
||
|
|
SSHUser: "ubuntu",
|
||
|
|
SSHAuthorized: []string{"key"},
|
||
|
|
}},
|
||
|
|
}
|
||
|
|
cfg, err := config.Build(&inv, "n1")
|
||
|
|
if err != nil {
|
||
|
|
t.Fatalf("Build: %v", err)
|
||
|
|
}
|
||
|
|
if got, want := cfg.Labels["a"], "1"; got != want {
|
||
|
|
t.Fatalf("label a = %q, want %q", got, want)
|
||
|
|
}
|
||
|
|
if got, want := cfg.Labels["b"], "2"; got != want {
|
||
|
|
t.Fatalf("label b = %q, want %q", got, want)
|
||
|
|
}
|
||
|
|
if len(cfg.Taints) != 2 || cfg.Taints[0] != "t1" || cfg.Taints[1] != "t2" {
|
||
|
|
t.Fatalf("taints = %#v", cfg.Taints)
|
||
|
|
}
|
||
|
|
if len(cfg.Fstab) != 1 {
|
||
|
|
t.Fatalf("fstab entries = %d, want 1", len(cfg.Fstab))
|
||
|
|
}
|
||
|
|
if got, want := cfg.Fstab[0].Mountpoint, "/mnt/d1"; got != want {
|
||
|
|
t.Fatalf("fstab mountpoint = %q, want %q", got, want)
|
||
|
|
}
|
||
|
|
if got, want := cfg.Fstab[0].UUID, "uuid-1"; got != want {
|
||
|
|
t.Fatalf("fstab uuid = %q, want %q", got, want)
|
||
|
|
}
|
||
|
|
if got, want := cfg.K3s.Role, "agent"; got != want {
|
||
|
|
t.Fatalf("k3s role = %q, want %q", got, want)
|
||
|
|
}
|
||
|
|
}
|