fix up tests for new config format
parent
8b2a05a565
commit
d7ea60d610
|
@ -54,7 +54,11 @@ func GenerateKubeadmYAML(mc config.MachineConfig, r cruntime.Manager) ([]byte, e
|
|||
}
|
||||
|
||||
// In case of no port assigned, use default
|
||||
nodePort := mc.Nodes[0].Port
|
||||
master, err := config.GetMasterNode(mc)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "getting master node")
|
||||
}
|
||||
nodePort := master.Port
|
||||
if nodePort <= 0 {
|
||||
nodePort = constants.APIServerPort
|
||||
}
|
||||
|
@ -78,11 +82,11 @@ func GenerateKubeadmYAML(mc config.MachineConfig, r cruntime.Manager) ([]byte, e
|
|||
CertDir: vmpath.GuestCertsDir,
|
||||
ServiceCIDR: constants.DefaultServiceCIDR,
|
||||
PodSubnet: k8s.ExtraOptions.Get("pod-network-cidr", Kubeadm),
|
||||
AdvertiseAddress: mc.Nodes[0].IP,
|
||||
AdvertiseAddress: master.IP,
|
||||
APIServerPort: nodePort,
|
||||
KubernetesVersion: k8s.KubernetesVersion,
|
||||
EtcdDataDir: EtcdDataDir(),
|
||||
NodeName: mc.Nodes[0].Name,
|
||||
NodeName: master.Name,
|
||||
CRISocket: r.SocketPath(),
|
||||
ImageRepository: k8s.ImageRepository,
|
||||
ExtraArgs: extraComponentConfig,
|
||||
|
|
|
@ -106,9 +106,9 @@ func TestGenerateKubeadmYAMLDNS(t *testing.T) {
|
|||
name string
|
||||
runtime string
|
||||
shouldErr bool
|
||||
cfg config.KubernetesConfig
|
||||
cfg config.MachineConfig
|
||||
}{
|
||||
{"dns", "docker", false, config.KubernetesConfig{DNSDomain: "1.1.1.1"}},
|
||||
{"dns", "docker", false, config.MachineConfig{KubernetesConfig: config.KubernetesConfig{DNSDomain: "1.1.1.1"}}},
|
||||
}
|
||||
for _, version := range versions {
|
||||
for _, tc := range tests {
|
||||
|
@ -119,9 +119,13 @@ func TestGenerateKubeadmYAMLDNS(t *testing.T) {
|
|||
tname := tc.name + "_" + version
|
||||
t.Run(tname, func(t *testing.T) {
|
||||
cfg := tc.cfg
|
||||
cfg.NodeIP = "1.1.1.1"
|
||||
cfg.NodeName = "mk"
|
||||
cfg.KubernetesVersion = version + ".0"
|
||||
cfg.Nodes = []config.Node{
|
||||
config.Node{
|
||||
IP: "1.1.1.1",
|
||||
Name: "mk",
|
||||
},
|
||||
}
|
||||
cfg.KubernetesConfig.KubernetesVersion = version + ".0"
|
||||
|
||||
got, err := GenerateKubeadmYAML(cfg, runtime)
|
||||
if err != nil && !tc.shouldErr {
|
||||
|
@ -166,17 +170,17 @@ func TestGenerateKubeadmYAML(t *testing.T) {
|
|||
name string
|
||||
runtime string
|
||||
shouldErr bool
|
||||
cfg config.KubernetesConfig
|
||||
cfg config.MachineConfig
|
||||
}{
|
||||
{"default", "docker", false, config.KubernetesConfig{}},
|
||||
{"containerd", "containerd", false, config.KubernetesConfig{}},
|
||||
{"crio", "crio", false, config.KubernetesConfig{}},
|
||||
{"options", "docker", false, config.KubernetesConfig{ExtraOptions: extraOpts}},
|
||||
{"crio-options-gates", "crio", false, config.KubernetesConfig{ExtraOptions: extraOpts, FeatureGates: "a=b"}},
|
||||
{"unknown-component", "docker", true, config.KubernetesConfig{ExtraOptions: config.ExtraOptionSlice{config.ExtraOption{Component: "not-a-real-component", Key: "killswitch", Value: "true"}}}},
|
||||
{"containerd-api-port", "containerd", false, config.KubernetesConfig{NodePort: 12345}},
|
||||
{"containerd-pod-network-cidr", "containerd", false, config.KubernetesConfig{ExtraOptions: extraOptsPodCidr}},
|
||||
{"image-repository", "docker", false, config.KubernetesConfig{ImageRepository: "test/repo"}},
|
||||
{"default", "docker", false, config.MachineConfig{}},
|
||||
{"containerd", "containerd", false, config.MachineConfig{}},
|
||||
{"crio", "crio", false, config.MachineConfig{}},
|
||||
{"options", "docker", false, config.MachineConfig{KubernetesConfig: config.KubernetesConfig{ExtraOptions: extraOpts}}},
|
||||
{"crio-options-gates", "crio", false, config.MachineConfig{KubernetesConfig: config.KubernetesConfig{ExtraOptions: extraOpts, FeatureGates: "a=b"}}},
|
||||
{"unknown-component", "docker", true, config.MachineConfig{KubernetesConfig: config.KubernetesConfig{ExtraOptions: config.ExtraOptionSlice{config.ExtraOption{Component: "not-a-real-component", Key: "killswitch", Value: "true"}}}}},
|
||||
{"containerd-api-port", "containerd", false, config.MachineConfig{Nodes: []config.Node{config.Node{Port: 12345}}}},
|
||||
{"containerd-pod-network-cidr", "containerd", false, config.MachineConfig{KubernetesConfig: config.KubernetesConfig{ExtraOptions: extraOptsPodCidr}}},
|
||||
{"image-repository", "docker", false, config.MachineConfig{KubernetesConfig: config.KubernetesConfig{ImageRepository: "test/repo"}}},
|
||||
}
|
||||
for _, version := range versions {
|
||||
for _, tc := range tests {
|
||||
|
@ -187,9 +191,19 @@ func TestGenerateKubeadmYAML(t *testing.T) {
|
|||
tname := tc.name + "_" + version
|
||||
t.Run(tname, func(t *testing.T) {
|
||||
cfg := tc.cfg
|
||||
cfg.NodeIP = "1.1.1.1"
|
||||
cfg.NodeName = "mk"
|
||||
cfg.KubernetesVersion = version + ".0"
|
||||
|
||||
if len(cfg.Nodes) > 0 {
|
||||
cfg.Nodes[0].IP = "1.1.1.1"
|
||||
cfg.Nodes[0].Name = "mk"
|
||||
} else {
|
||||
cfg.Nodes = []config.Node{
|
||||
config.Node{
|
||||
IP: "1.1.1.1",
|
||||
Name: "mk",
|
||||
},
|
||||
}
|
||||
}
|
||||
cfg.KubernetesConfig.KubernetesVersion = version + ".0"
|
||||
|
||||
got, err := GenerateKubeadmYAML(cfg, runtime)
|
||||
if err != nil && !tc.shouldErr {
|
||||
|
|
|
@ -30,17 +30,23 @@ import (
|
|||
func TestGenerateKubeletConfig(t *testing.T) {
|
||||
tests := []struct {
|
||||
description string
|
||||
cfg config.KubernetesConfig
|
||||
cfg config.MachineConfig
|
||||
expected string
|
||||
shouldErr bool
|
||||
}{
|
||||
{
|
||||
description: "old docker",
|
||||
cfg: config.KubernetesConfig{
|
||||
NodeIP: "192.168.1.100",
|
||||
KubernetesVersion: constants.OldestKubernetesVersion,
|
||||
NodeName: "minikube",
|
||||
ContainerRuntime: "docker",
|
||||
cfg: config.MachineConfig{
|
||||
KubernetesConfig: config.KubernetesConfig{
|
||||
KubernetesVersion: constants.OldestKubernetesVersion,
|
||||
ContainerRuntime: "docker",
|
||||
},
|
||||
Nodes: []config.Node{
|
||||
config.Node{
|
||||
IP: "192.168.1.100",
|
||||
Name: "minikube",
|
||||
},
|
||||
},
|
||||
},
|
||||
expected: `[Unit]
|
||||
Wants=docker.socket
|
||||
|
@ -54,11 +60,17 @@ ExecStart=/var/lib/minikube/binaries/v1.11.10/kubelet --allow-privileged=true --
|
|||
},
|
||||
{
|
||||
description: "newest cri runtime",
|
||||
cfg: config.KubernetesConfig{
|
||||
NodeIP: "192.168.1.100",
|
||||
KubernetesVersion: constants.NewestKubernetesVersion,
|
||||
NodeName: "minikube",
|
||||
ContainerRuntime: "cri-o",
|
||||
cfg: config.MachineConfig{
|
||||
KubernetesConfig: config.KubernetesConfig{
|
||||
KubernetesVersion: constants.NewestKubernetesVersion,
|
||||
ContainerRuntime: "cri-o",
|
||||
},
|
||||
Nodes: []config.Node{
|
||||
config.Node{
|
||||
IP: "192.168.1.100",
|
||||
Name: "minikube",
|
||||
},
|
||||
},
|
||||
},
|
||||
expected: `[Unit]
|
||||
Wants=crio.service
|
||||
|
@ -72,11 +84,17 @@ ExecStart=/var/lib/minikube/binaries/v1.17.0/kubelet --authorization-mode=Webhoo
|
|||
},
|
||||
{
|
||||
description: "default containerd runtime",
|
||||
cfg: config.KubernetesConfig{
|
||||
NodeIP: "192.168.1.100",
|
||||
KubernetesVersion: constants.DefaultKubernetesVersion,
|
||||
NodeName: "minikube",
|
||||
ContainerRuntime: "containerd",
|
||||
cfg: config.MachineConfig{
|
||||
KubernetesConfig: config.KubernetesConfig{
|
||||
KubernetesVersion: constants.DefaultKubernetesVersion,
|
||||
ContainerRuntime: "containerd",
|
||||
},
|
||||
Nodes: []config.Node{
|
||||
config.Node{
|
||||
IP: "192.168.1.100",
|
||||
Name: "minikube",
|
||||
},
|
||||
},
|
||||
},
|
||||
expected: `[Unit]
|
||||
Wants=containerd.service
|
||||
|
@ -90,16 +108,22 @@ ExecStart=/var/lib/minikube/binaries/v1.17.0/kubelet --authorization-mode=Webhoo
|
|||
},
|
||||
{
|
||||
description: "default containerd runtime",
|
||||
cfg: config.KubernetesConfig{
|
||||
NodeIP: "192.168.1.100",
|
||||
KubernetesVersion: constants.DefaultKubernetesVersion,
|
||||
NodeName: "minikube",
|
||||
ContainerRuntime: "containerd",
|
||||
ExtraOptions: config.ExtraOptionSlice{
|
||||
config.ExtraOption{
|
||||
Component: Kubelet,
|
||||
Key: "node-ip",
|
||||
Value: "192.168.1.200",
|
||||
cfg: config.MachineConfig{
|
||||
KubernetesConfig: config.KubernetesConfig{
|
||||
KubernetesVersion: constants.OldestKubernetesVersion,
|
||||
ContainerRuntime: "containerd",
|
||||
ExtraOptions: config.ExtraOptionSlice{
|
||||
config.ExtraOption{
|
||||
Component: Kubelet,
|
||||
Key: "node-ip",
|
||||
Value: "192.168.1.200",
|
||||
},
|
||||
},
|
||||
},
|
||||
Nodes: []config.Node{
|
||||
config.Node{
|
||||
IP: "192.168.1.100",
|
||||
Name: "minikube",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -115,12 +139,18 @@ ExecStart=/var/lib/minikube/binaries/v1.17.0/kubelet --authorization-mode=Webhoo
|
|||
},
|
||||
{
|
||||
description: "docker with custom image repository",
|
||||
cfg: config.KubernetesConfig{
|
||||
NodeIP: "192.168.1.100",
|
||||
KubernetesVersion: constants.DefaultKubernetesVersion,
|
||||
NodeName: "minikube",
|
||||
ContainerRuntime: "docker",
|
||||
ImageRepository: "docker-proxy-image.io/google_containers",
|
||||
cfg: config.MachineConfig{
|
||||
KubernetesConfig: config.KubernetesConfig{
|
||||
KubernetesVersion: constants.DefaultKubernetesVersion,
|
||||
ContainerRuntime: "docker",
|
||||
ImageRepository: "docker-proxy-image.io/google_containers",
|
||||
},
|
||||
Nodes: []config.Node{
|
||||
config.Node{
|
||||
IP: "192.168.1.100",
|
||||
Name: "minikube",
|
||||
},
|
||||
},
|
||||
},
|
||||
expected: `[Unit]
|
||||
Wants=docker.socket
|
||||
|
|
|
@ -272,7 +272,7 @@ func (k *Bootstrapper) WaitForCluster(cfg config.MachineConfig, timeout time.Dur
|
|||
return errors.Wrap(err, "get k8s client")
|
||||
}
|
||||
|
||||
return kverify.SystemPods(c, start, master.IP, master.Port, timeout)
|
||||
return kverify.SystemPods(c, start, timeout)
|
||||
}
|
||||
|
||||
// restartCluster restarts the Kubernetes cluster configured by kubeadm
|
||||
|
@ -327,7 +327,7 @@ func (k *Bootstrapper) restartCluster(cfg config.MachineConfig) error {
|
|||
return errors.Wrap(err, "getting k8s client")
|
||||
}
|
||||
|
||||
if err := kverify.SystemPods(client, time.Now(), n.IP, n.Port, kconst.DefaultControlPlaneTimeout); err != nil {
|
||||
if err := kverify.SystemPods(client, time.Now(), kconst.DefaultControlPlaneTimeout); err != nil {
|
||||
return errors.Wrap(err, "system pods")
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue