Update unit tests to use the new NodeRegistration object
This commit is contained in:
parent
b48f23b786
commit
fd47f8b20c
@ -119,7 +119,7 @@ func TestValidateNodeName(t *testing.T) {
|
|||||||
actual := ValidateNodeName(rt.s, rt.f)
|
actual := ValidateNodeName(rt.s, rt.f)
|
||||||
if (len(actual) == 0) != rt.expected {
|
if (len(actual) == 0) != rt.expected {
|
||||||
t.Errorf(
|
t.Errorf(
|
||||||
"failed ValidateNodeName:\n\texpected: %t\n\t actual: %t",
|
"failed ValidateNodeRegistration: kubeadm.NodeRegistrationOptions{Name:\n\texpected: %t\n\t actual: %t",
|
||||||
rt.expected,
|
rt.expected,
|
||||||
(len(actual) == 0),
|
(len(actual) == 0),
|
||||||
)
|
)
|
||||||
@ -408,7 +408,7 @@ func TestValidateMasterConfiguration(t *testing.T) {
|
|||||||
DNSDomain: "cluster.local",
|
DNSDomain: "cluster.local",
|
||||||
},
|
},
|
||||||
CertificatesDir: "/some/cert/dir",
|
CertificatesDir: "/some/cert/dir",
|
||||||
NodeName: nodename,
|
NodeRegistration: kubeadm.NodeRegistrationOptions{Name: nodename, CRISocket: "/some/path"},
|
||||||
}, false},
|
}, false},
|
||||||
{"invalid missing token with IPv6 service subnet",
|
{"invalid missing token with IPv6 service subnet",
|
||||||
&kubeadm.MasterConfiguration{
|
&kubeadm.MasterConfiguration{
|
||||||
@ -421,7 +421,7 @@ func TestValidateMasterConfiguration(t *testing.T) {
|
|||||||
DNSDomain: "cluster.local",
|
DNSDomain: "cluster.local",
|
||||||
},
|
},
|
||||||
CertificatesDir: "/some/cert/dir",
|
CertificatesDir: "/some/cert/dir",
|
||||||
NodeName: nodename,
|
NodeRegistration: kubeadm.NodeRegistrationOptions{Name: nodename, CRISocket: "/some/path"},
|
||||||
}, false},
|
}, false},
|
||||||
{"invalid missing node name",
|
{"invalid missing node name",
|
||||||
&kubeadm.MasterConfiguration{
|
&kubeadm.MasterConfiguration{
|
||||||
@ -449,7 +449,7 @@ func TestValidateMasterConfiguration(t *testing.T) {
|
|||||||
},
|
},
|
||||||
CertificatesDir: "/some/other/cert/dir",
|
CertificatesDir: "/some/other/cert/dir",
|
||||||
Token: "abcdef.0123456789abcdef",
|
Token: "abcdef.0123456789abcdef",
|
||||||
NodeName: nodename,
|
NodeRegistration: kubeadm.NodeRegistrationOptions{Name: nodename, CRISocket: "/some/path"},
|
||||||
}, false},
|
}, false},
|
||||||
{"valid master configuration with IPv4 service subnet",
|
{"valid master configuration with IPv4 service subnet",
|
||||||
&kubeadm.MasterConfiguration{
|
&kubeadm.MasterConfiguration{
|
||||||
@ -495,7 +495,7 @@ func TestValidateMasterConfiguration(t *testing.T) {
|
|||||||
},
|
},
|
||||||
CertificatesDir: "/some/other/cert/dir",
|
CertificatesDir: "/some/other/cert/dir",
|
||||||
Token: "abcdef.0123456789abcdef",
|
Token: "abcdef.0123456789abcdef",
|
||||||
NodeName: nodename,
|
NodeRegistration: kubeadm.NodeRegistrationOptions{Name: nodename, CRISocket: "/some/path"},
|
||||||
}, true},
|
}, true},
|
||||||
{"valid master configuration using IPv6 service subnet",
|
{"valid master configuration using IPv6 service subnet",
|
||||||
&kubeadm.MasterConfiguration{
|
&kubeadm.MasterConfiguration{
|
||||||
@ -540,7 +540,7 @@ func TestValidateMasterConfiguration(t *testing.T) {
|
|||||||
},
|
},
|
||||||
CertificatesDir: "/some/other/cert/dir",
|
CertificatesDir: "/some/other/cert/dir",
|
||||||
Token: "abcdef.0123456789abcdef",
|
Token: "abcdef.0123456789abcdef",
|
||||||
NodeName: nodename,
|
NodeRegistration: kubeadm.NodeRegistrationOptions{Name: nodename, CRISocket: "/some/path"},
|
||||||
}, true},
|
}, true},
|
||||||
}
|
}
|
||||||
for _, rt := range tests {
|
for _, rt := range tests {
|
||||||
|
@ -256,7 +256,7 @@ func TestSubCmdCertsCreateFilesWithConfigFile(t *testing.T) {
|
|||||||
cfg := &kubeadmapi.MasterConfiguration{
|
cfg := &kubeadmapi.MasterConfiguration{
|
||||||
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4", BindPort: 1234},
|
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4", BindPort: 1234},
|
||||||
CertificatesDir: certdir,
|
CertificatesDir: certdir,
|
||||||
NodeName: "valid-node-name",
|
NodeRegistration: kubeadmapi.NodeRegistrationOptions{Name: "valid-node-name"},
|
||||||
}
|
}
|
||||||
configPath := testutil.SetupMasterConfigurationFile(t, tmpdir, cfg)
|
configPath := testutil.SetupMasterConfigurationFile(t, tmpdir, cfg)
|
||||||
|
|
||||||
|
@ -279,7 +279,7 @@ func TestKubeConfigSubCommandsThatCreateFilesWithConfigFile(t *testing.T) {
|
|||||||
cfg := &kubeadmapi.MasterConfiguration{
|
cfg := &kubeadmapi.MasterConfiguration{
|
||||||
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4", BindPort: 1234},
|
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4", BindPort: 1234},
|
||||||
CertificatesDir: pkidir,
|
CertificatesDir: pkidir,
|
||||||
NodeName: "valid-node-name",
|
NodeRegistration: kubeadmapi.NodeRegistrationOptions{Name: "valid-node-name"},
|
||||||
}
|
}
|
||||||
cfgPath := testutil.SetupMasterConfigurationFile(t, tmpdir, cfg)
|
cfgPath := testutil.SetupMasterConfigurationFile(t, tmpdir, cfg)
|
||||||
|
|
||||||
|
@ -65,7 +65,9 @@ func TestPrintConfiguration(t *testing.T) {
|
|||||||
dnsDomain: ""
|
dnsDomain: ""
|
||||||
podSubnet: ""
|
podSubnet: ""
|
||||||
serviceSubnet: ""
|
serviceSubnet: ""
|
||||||
nodeName: ""
|
nodeRegistration:
|
||||||
|
criSocket: ""
|
||||||
|
name: ""
|
||||||
token: ""
|
token: ""
|
||||||
unifiedControlPlaneImage: ""
|
unifiedControlPlaneImage: ""
|
||||||
`),
|
`),
|
||||||
@ -108,7 +110,9 @@ func TestPrintConfiguration(t *testing.T) {
|
|||||||
dnsDomain: ""
|
dnsDomain: ""
|
||||||
podSubnet: ""
|
podSubnet: ""
|
||||||
serviceSubnet: 10.96.0.1/12
|
serviceSubnet: 10.96.0.1/12
|
||||||
nodeName: ""
|
nodeRegistration:
|
||||||
|
criSocket: ""
|
||||||
|
name: ""
|
||||||
token: ""
|
token: ""
|
||||||
unifiedControlPlaneImage: ""
|
unifiedControlPlaneImage: ""
|
||||||
`),
|
`),
|
||||||
|
@ -275,7 +275,7 @@ func TestNewAPIServerCertAndKey(t *testing.T) {
|
|||||||
cfg := &kubeadmapi.MasterConfiguration{
|
cfg := &kubeadmapi.MasterConfiguration{
|
||||||
API: kubeadmapi.API{AdvertiseAddress: addr},
|
API: kubeadmapi.API{AdvertiseAddress: addr},
|
||||||
Networking: kubeadmapi.Networking{ServiceSubnet: "10.96.0.0/12", DNSDomain: "cluster.local"},
|
Networking: kubeadmapi.Networking{ServiceSubnet: "10.96.0.0/12", DNSDomain: "cluster.local"},
|
||||||
NodeName: hostname,
|
NodeRegistration: kubeadmapi.NodeRegistrationOptions{Name: hostname},
|
||||||
}
|
}
|
||||||
caCert, caKey, err := NewCACertAndKey()
|
caCert, caKey, err := NewCACertAndKey()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -358,7 +358,7 @@ func TestNewEtcdPeerCertAndKey(t *testing.T) {
|
|||||||
for _, addr := range advertiseAddresses {
|
for _, addr := range advertiseAddresses {
|
||||||
cfg := &kubeadmapi.MasterConfiguration{
|
cfg := &kubeadmapi.MasterConfiguration{
|
||||||
API: kubeadmapi.API{AdvertiseAddress: addr},
|
API: kubeadmapi.API{AdvertiseAddress: addr},
|
||||||
NodeName: hostname,
|
NodeRegistration: kubeadmapi.NodeRegistrationOptions{Name: hostname},
|
||||||
Etcd: kubeadmapi.Etcd{
|
Etcd: kubeadmapi.Etcd{
|
||||||
Local: &kubeadmapi.LocalEtcd{
|
Local: &kubeadmapi.LocalEtcd{
|
||||||
PeerCertSANs: []string{
|
PeerCertSANs: []string{
|
||||||
@ -483,7 +483,7 @@ func TestUsingExternalCA(t *testing.T) {
|
|||||||
cfg := &kubeadmapi.MasterConfiguration{
|
cfg := &kubeadmapi.MasterConfiguration{
|
||||||
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4"},
|
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4"},
|
||||||
Networking: kubeadmapi.Networking{ServiceSubnet: "10.96.0.0/12", DNSDomain: "cluster.local"},
|
Networking: kubeadmapi.Networking{ServiceSubnet: "10.96.0.0/12", DNSDomain: "cluster.local"},
|
||||||
NodeName: "valid-hostname",
|
NodeRegistration: kubeadmapi.NodeRegistrationOptions{Name: "valid-hostname"},
|
||||||
CertificatesDir: dir,
|
CertificatesDir: dir,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -566,7 +566,7 @@ func TestValidateMethods(t *testing.T) {
|
|||||||
cfg := &kubeadmapi.MasterConfiguration{
|
cfg := &kubeadmapi.MasterConfiguration{
|
||||||
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4"},
|
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4"},
|
||||||
Networking: kubeadmapi.Networking{ServiceSubnet: "10.96.0.0/12", DNSDomain: "cluster.local"},
|
Networking: kubeadmapi.Networking{ServiceSubnet: "10.96.0.0/12", DNSDomain: "cluster.local"},
|
||||||
NodeName: "valid-hostname",
|
NodeRegistration: kubeadmapi.NodeRegistrationOptions{Name: "valid-hostname"},
|
||||||
CertificatesDir: dir,
|
CertificatesDir: dir,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -699,7 +699,7 @@ func TestCreateCertificateFilesMethods(t *testing.T) {
|
|||||||
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4"},
|
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4"},
|
||||||
Etcd: kubeadmapi.Etcd{Local: &kubeadmapi.LocalEtcd{}},
|
Etcd: kubeadmapi.Etcd{Local: &kubeadmapi.LocalEtcd{}},
|
||||||
Networking: kubeadmapi.Networking{ServiceSubnet: "10.96.0.0/12", DNSDomain: "cluster.local"},
|
Networking: kubeadmapi.Networking{ServiceSubnet: "10.96.0.0/12", DNSDomain: "cluster.local"},
|
||||||
NodeName: "valid-hostname",
|
NodeRegistration: kubeadmapi.NodeRegistrationOptions{Name: "valid-hostname"},
|
||||||
CertificatesDir: tmpdir,
|
CertificatesDir: tmpdir,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -448,7 +448,7 @@ func TestGetAPIServerAltNames(t *testing.T) {
|
|||||||
cfg: &kubeadmapi.MasterConfiguration{
|
cfg: &kubeadmapi.MasterConfiguration{
|
||||||
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4", ControlPlaneEndpoint: "api.k8s.io:6443"},
|
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4", ControlPlaneEndpoint: "api.k8s.io:6443"},
|
||||||
Networking: kubeadmapi.Networking{ServiceSubnet: "10.96.0.0/12", DNSDomain: "cluster.local"},
|
Networking: kubeadmapi.Networking{ServiceSubnet: "10.96.0.0/12", DNSDomain: "cluster.local"},
|
||||||
NodeName: "valid-hostname",
|
NodeRegistration: kubeadmapi.NodeRegistrationOptions{Name: "valid-hostname"},
|
||||||
APIServerCertSANs: []string{"10.1.245.94", "10.1.245.95", "1.2.3.L", "invalid,commas,in,DNS"},
|
APIServerCertSANs: []string{"10.1.245.94", "10.1.245.95", "1.2.3.L", "invalid,commas,in,DNS"},
|
||||||
},
|
},
|
||||||
expectedDNSNames: []string{"valid-hostname", "kubernetes", "kubernetes.default", "kubernetes.default.svc", "kubernetes.default.svc.cluster.local", "api.k8s.io"},
|
expectedDNSNames: []string{"valid-hostname", "kubernetes", "kubernetes.default", "kubernetes.default.svc", "kubernetes.default.svc.cluster.local", "api.k8s.io"},
|
||||||
@ -459,7 +459,7 @@ func TestGetAPIServerAltNames(t *testing.T) {
|
|||||||
cfg: &kubeadmapi.MasterConfiguration{
|
cfg: &kubeadmapi.MasterConfiguration{
|
||||||
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4", ControlPlaneEndpoint: "4.5.6.7:6443"},
|
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4", ControlPlaneEndpoint: "4.5.6.7:6443"},
|
||||||
Networking: kubeadmapi.Networking{ServiceSubnet: "10.96.0.0/12", DNSDomain: "cluster.local"},
|
Networking: kubeadmapi.Networking{ServiceSubnet: "10.96.0.0/12", DNSDomain: "cluster.local"},
|
||||||
NodeName: "valid-hostname",
|
NodeRegistration: kubeadmapi.NodeRegistrationOptions{Name: "valid-hostname"},
|
||||||
APIServerCertSANs: []string{"10.1.245.94", "10.1.245.95", "1.2.3.L", "invalid,commas,in,DNS"},
|
APIServerCertSANs: []string{"10.1.245.94", "10.1.245.95", "1.2.3.L", "invalid,commas,in,DNS"},
|
||||||
},
|
},
|
||||||
expectedDNSNames: []string{"valid-hostname", "kubernetes", "kubernetes.default", "kubernetes.default.svc", "kubernetes.default.svc.cluster.local"},
|
expectedDNSNames: []string{"valid-hostname", "kubernetes", "kubernetes.default", "kubernetes.default.svc", "kubernetes.default.svc.cluster.local"},
|
||||||
@ -562,7 +562,7 @@ func TestGetEtcdPeerAltNames(t *testing.T) {
|
|||||||
advertiseIP := "1.2.3.4"
|
advertiseIP := "1.2.3.4"
|
||||||
cfg := &kubeadmapi.MasterConfiguration{
|
cfg := &kubeadmapi.MasterConfiguration{
|
||||||
API: kubeadmapi.API{AdvertiseAddress: advertiseIP},
|
API: kubeadmapi.API{AdvertiseAddress: advertiseIP},
|
||||||
NodeName: hostname,
|
NodeRegistration: kubeadmapi.NodeRegistrationOptions{Name: hostname},
|
||||||
Etcd: kubeadmapi.Etcd{
|
Etcd: kubeadmapi.Etcd{
|
||||||
Local: &kubeadmapi.LocalEtcd{
|
Local: &kubeadmapi.LocalEtcd{
|
||||||
PeerCertSANs: []string{
|
PeerCertSANs: []string{
|
||||||
|
@ -838,7 +838,7 @@ func TestGetControllerManagerCommandExternalCA(t *testing.T) {
|
|||||||
KubernetesVersion: "v1.7.0",
|
KubernetesVersion: "v1.7.0",
|
||||||
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4"},
|
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4"},
|
||||||
Networking: kubeadmapi.Networking{ServiceSubnet: "10.96.0.0/12", DNSDomain: "cluster.local"},
|
Networking: kubeadmapi.Networking{ServiceSubnet: "10.96.0.0/12", DNSDomain: "cluster.local"},
|
||||||
NodeName: "valid-hostname",
|
NodeRegistration: kubeadmapi.NodeRegistrationOptions{Name: "valid-hostname"},
|
||||||
},
|
},
|
||||||
caKeyPresent: false,
|
caKeyPresent: false,
|
||||||
expectedArgFunc: func(tmpdir string) []string {
|
expectedArgFunc: func(tmpdir string) []string {
|
||||||
@ -862,7 +862,7 @@ func TestGetControllerManagerCommandExternalCA(t *testing.T) {
|
|||||||
KubernetesVersion: "v1.7.0",
|
KubernetesVersion: "v1.7.0",
|
||||||
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4"},
|
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4"},
|
||||||
Networking: kubeadmapi.Networking{ServiceSubnet: "10.96.0.0/12", DNSDomain: "cluster.local"},
|
Networking: kubeadmapi.Networking{ServiceSubnet: "10.96.0.0/12", DNSDomain: "cluster.local"},
|
||||||
NodeName: "valid-hostname",
|
NodeRegistration: kubeadmapi.NodeRegistrationOptions{Name: "valid-hostname"},
|
||||||
},
|
},
|
||||||
caKeyPresent: true,
|
caKeyPresent: true,
|
||||||
expectedArgFunc: func(tmpdir string) []string {
|
expectedArgFunc: func(tmpdir string) []string {
|
||||||
|
@ -69,27 +69,27 @@ func TestGetKubeConfigSpecs(t *testing.T) {
|
|||||||
{
|
{
|
||||||
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4", BindPort: 1234},
|
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4", BindPort: 1234},
|
||||||
CertificatesDir: pkidir,
|
CertificatesDir: pkidir,
|
||||||
NodeName: "valid-node-name",
|
NodeRegistration: kubeadmapi.NodeRegistrationOptions{Name: "valid-node-name"},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4", ControlPlaneEndpoint: "api.k8s.io", BindPort: 1234},
|
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4", ControlPlaneEndpoint: "api.k8s.io", BindPort: 1234},
|
||||||
CertificatesDir: pkidir,
|
CertificatesDir: pkidir,
|
||||||
NodeName: "valid-node-name",
|
NodeRegistration: kubeadmapi.NodeRegistrationOptions{Name: "valid-node-name"},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4", ControlPlaneEndpoint: "api.k8s.io:4321", BindPort: 1234},
|
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4", ControlPlaneEndpoint: "api.k8s.io:4321", BindPort: 1234},
|
||||||
CertificatesDir: pkidir,
|
CertificatesDir: pkidir,
|
||||||
NodeName: "valid-node-name",
|
NodeRegistration: kubeadmapi.NodeRegistrationOptions{Name: "valid-node-name"},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4", ControlPlaneEndpoint: "api.k8s.io", BindPort: 1234},
|
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4", ControlPlaneEndpoint: "api.k8s.io", BindPort: 1234},
|
||||||
CertificatesDir: pkidir,
|
CertificatesDir: pkidir,
|
||||||
NodeName: "valid-node-name",
|
NodeRegistration: kubeadmapi.NodeRegistrationOptions{Name: "valid-node-name"},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4", ControlPlaneEndpoint: "api.k8s.io:4321", BindPort: 1234},
|
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4", ControlPlaneEndpoint: "api.k8s.io:4321", BindPort: 1234},
|
||||||
CertificatesDir: pkidir,
|
CertificatesDir: pkidir,
|
||||||
NodeName: "valid-node-name",
|
NodeRegistration: kubeadmapi.NodeRegistrationOptions{Name: "valid-node-name"},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -106,7 +106,7 @@ func TestGetKubeConfigSpecs(t *testing.T) {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
kubeConfigFile: kubeadmconstants.KubeletKubeConfigFileName,
|
kubeConfigFile: kubeadmconstants.KubeletKubeConfigFileName,
|
||||||
clientName: fmt.Sprintf("system:node:%s", cfg.NodeName),
|
clientName: fmt.Sprintf("system:node:%s", cfg.NodeRegistration.Name),
|
||||||
organizations: []string{kubeadmconstants.NodesGroup},
|
organizations: []string{kubeadmconstants.NodesGroup},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -33,7 +33,7 @@ func TestCreateConfigMap(t *testing.T) {
|
|||||||
nodeName := "fake-node"
|
nodeName := "fake-node"
|
||||||
client := fake.NewSimpleClientset()
|
client := fake.NewSimpleClientset()
|
||||||
cfg := &kubeadmapi.MasterConfiguration{
|
cfg := &kubeadmapi.MasterConfiguration{
|
||||||
NodeName: nodeName,
|
NodeRegistration: kubeadmapi.NodeRegistrationOptions{Name: nodeName},
|
||||||
KubernetesVersion: "v1.11.0",
|
KubernetesVersion: "v1.11.0",
|
||||||
KubeletConfiguration: kubeadmapi.KubeletConfiguration{
|
KubeletConfiguration: kubeadmapi.KubeletConfiguration{
|
||||||
BaseConfig: &kubeletconfigv1beta1.KubeletConfiguration{},
|
BaseConfig: &kubeletconfigv1beta1.KubeletConfiguration{},
|
||||||
|
@ -24,6 +24,7 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
"k8s.io/client-go/kubernetes/fake"
|
"k8s.io/client-go/kubernetes/fake"
|
||||||
core "k8s.io/client-go/testing"
|
core "k8s.io/client-go/testing"
|
||||||
|
kubeletapis "k8s.io/kubernetes/pkg/kubelet/apis"
|
||||||
"k8s.io/kubernetes/pkg/util/version"
|
"k8s.io/kubernetes/pkg/util/version"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -34,6 +35,7 @@ func TestEnableDynamicConfigForNode(t *testing.T) {
|
|||||||
return true, &v1.Node{
|
return true, &v1.Node{
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
Name: nodeName,
|
Name: nodeName,
|
||||||
|
Labels: map[string]string{kubeletapis.LabelHostname: nodeName},
|
||||||
},
|
},
|
||||||
Spec: v1.NodeSpec{
|
Spec: v1.NodeSpec{
|
||||||
ConfigSource: &v1.NodeConfigSource{
|
ConfigSource: &v1.NodeConfigSource{
|
||||||
|
@ -42,50 +42,50 @@ func TestMarkMaster(t *testing.T) {
|
|||||||
tests := []struct {
|
tests := []struct {
|
||||||
name string
|
name string
|
||||||
existingLabel string
|
existingLabel string
|
||||||
existingTaint *v1.Taint
|
existingTaints []v1.Taint
|
||||||
wantTaint bool
|
newTaints []v1.Taint
|
||||||
expectedPatch string
|
expectedPatch string
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
"master label and taint missing",
|
"master label and taint missing",
|
||||||
"",
|
"",
|
||||||
nil,
|
nil,
|
||||||
true,
|
[]v1.Taint{kubeadmconstants.MasterTaint},
|
||||||
"{\"metadata\":{\"labels\":{\"node-role.kubernetes.io/master\":\"\"}},\"spec\":{\"taints\":[{\"effect\":\"NoSchedule\",\"key\":\"node-role.kubernetes.io/master\"}]}}",
|
"{\"metadata\":{\"labels\":{\"node-role.kubernetes.io/master\":\"\"}},\"spec\":{\"taints\":[{\"effect\":\"NoSchedule\",\"key\":\"node-role.kubernetes.io/master\"}]}}",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"master label and taint missing but taint not wanted",
|
"master label and taint missing but taint not wanted",
|
||||||
"",
|
"",
|
||||||
nil,
|
nil,
|
||||||
false,
|
nil,
|
||||||
"{\"metadata\":{\"labels\":{\"node-role.kubernetes.io/master\":\"\"}}}",
|
"{\"metadata\":{\"labels\":{\"node-role.kubernetes.io/master\":\"\"}}}",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"master label missing",
|
"master label missing",
|
||||||
"",
|
"",
|
||||||
&kubeadmconstants.MasterTaint,
|
[]v1.Taint{kubeadmconstants.MasterTaint},
|
||||||
true,
|
[]v1.Taint{kubeadmconstants.MasterTaint},
|
||||||
"{\"metadata\":{\"labels\":{\"node-role.kubernetes.io/master\":\"\"}}}",
|
"{\"metadata\":{\"labels\":{\"node-role.kubernetes.io/master\":\"\"}}}",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"master taint missing",
|
"master taint missing",
|
||||||
kubeadmconstants.LabelNodeRoleMaster,
|
kubeadmconstants.LabelNodeRoleMaster,
|
||||||
nil,
|
nil,
|
||||||
true,
|
[]v1.Taint{kubeadmconstants.MasterTaint},
|
||||||
"{\"spec\":{\"taints\":[{\"effect\":\"NoSchedule\",\"key\":\"node-role.kubernetes.io/master\"}]}}",
|
"{\"spec\":{\"taints\":[{\"effect\":\"NoSchedule\",\"key\":\"node-role.kubernetes.io/master\"}]}}",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"nothing missing",
|
"nothing missing",
|
||||||
kubeadmconstants.LabelNodeRoleMaster,
|
kubeadmconstants.LabelNodeRoleMaster,
|
||||||
&kubeadmconstants.MasterTaint,
|
[]v1.Taint{kubeadmconstants.MasterTaint},
|
||||||
true,
|
[]v1.Taint{kubeadmconstants.MasterTaint},
|
||||||
"{}",
|
"{}",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"nothing missing but taint unwanted",
|
"nothing missing but taint unwanted",
|
||||||
kubeadmconstants.LabelNodeRoleMaster,
|
kubeadmconstants.LabelNodeRoleMaster,
|
||||||
&kubeadmconstants.MasterTaint,
|
[]v1.Taint{kubeadmconstants.MasterTaint},
|
||||||
false,
|
nil,
|
||||||
"{\"spec\":{\"taints\":null}}",
|
"{\"spec\":{\"taints\":null}}",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@ -105,8 +105,8 @@ func TestMarkMaster(t *testing.T) {
|
|||||||
masterNode.ObjectMeta.Labels[tc.existingLabel] = ""
|
masterNode.ObjectMeta.Labels[tc.existingLabel] = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
if tc.existingTaint != nil {
|
if tc.existingTaints != nil {
|
||||||
masterNode.Spec.Taints = append(masterNode.Spec.Taints, *tc.existingTaint)
|
masterNode.Spec.Taints = tc.existingTaints
|
||||||
}
|
}
|
||||||
|
|
||||||
jsonNode, err := json.Marshal(masterNode)
|
jsonNode, err := json.Marshal(masterNode)
|
||||||
@ -144,8 +144,7 @@ func TestMarkMaster(t *testing.T) {
|
|||||||
t.Fatalf("MarkMaster(%s): unexpected error building clientset: %v", tc.name, err)
|
t.Fatalf("MarkMaster(%s): unexpected error building clientset: %v", tc.name, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = MarkMaster(cs, hostname, tc.wantTaint)
|
if err := MarkMaster(cs, hostname, tc.newTaints); err != nil {
|
||||||
if err != nil {
|
|
||||||
t.Errorf("MarkMaster(%s) returned unexpected error: %v", tc.name, err)
|
t.Errorf("MarkMaster(%s) returned unexpected error: %v", tc.name, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,7 +133,7 @@ func TestShouldBackupAPIServerCertAndKey(t *testing.T) {
|
|||||||
cfg := &kubeadmapi.MasterConfiguration{
|
cfg := &kubeadmapi.MasterConfiguration{
|
||||||
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4"},
|
API: kubeadmapi.API{AdvertiseAddress: "1.2.3.4"},
|
||||||
Networking: kubeadmapi.Networking{ServiceSubnet: "10.96.0.0/12", DNSDomain: "cluster.local"},
|
Networking: kubeadmapi.Networking{ServiceSubnet: "10.96.0.0/12", DNSDomain: "cluster.local"},
|
||||||
NodeName: "test-node",
|
NodeRegistration: kubeadmapi.NodeRegistrationOptions{Name: "test-node"},
|
||||||
}
|
}
|
||||||
|
|
||||||
for desc, test := range map[string]struct {
|
for desc, test := range map[string]struct {
|
||||||
|
@ -66,7 +66,9 @@ networking:
|
|||||||
dnsDomain: cluster.local
|
dnsDomain: cluster.local
|
||||||
podSubnet: ""
|
podSubnet: ""
|
||||||
serviceSubnet: 10.96.0.0/12
|
serviceSubnet: 10.96.0.0/12
|
||||||
nodeName: thegopher
|
nodeRegistration:
|
||||||
|
name: foo
|
||||||
|
criSocket: ""
|
||||||
schedulerExtraArgs: null
|
schedulerExtraArgs: null
|
||||||
token: ce3aa5.5ec8455bb76b379f
|
token: ce3aa5.5ec8455bb76b379f
|
||||||
tokenTTL: 24h
|
tokenTTL: 24h
|
||||||
|
@ -24,7 +24,6 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
||||||
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme"
|
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme"
|
||||||
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1"
|
|
||||||
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha2"
|
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha2"
|
||||||
kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util"
|
kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util"
|
||||||
)
|
)
|
||||||
@ -34,8 +33,7 @@ const (
|
|||||||
node_v1alpha2YAML = "testdata/conversion/node/v1alpha2.yaml"
|
node_v1alpha2YAML = "testdata/conversion/node/v1alpha2.yaml"
|
||||||
node_internalYAML = "testdata/conversion/node/internal.yaml"
|
node_internalYAML = "testdata/conversion/node/internal.yaml"
|
||||||
node_incompleteYAML = "testdata/defaulting/node/incomplete.yaml"
|
node_incompleteYAML = "testdata/defaulting/node/incomplete.yaml"
|
||||||
node_defaultedv1alpha1YAML = "testdata/defaulting/node/defaulted_v1alpha1.yaml"
|
node_defaultedYAML = "testdata/defaulting/node/defaulted.yaml"
|
||||||
node_defaultedv1alpha2YAML = "testdata/defaulting/node/defaulted_v1alpha2.yaml"
|
|
||||||
node_invalidYAML = "testdata/validation/invalid_nodecfg.yaml"
|
node_invalidYAML = "testdata/validation/invalid_nodecfg.yaml"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -67,16 +65,10 @@ func TestNodeConfigFileAndDefaultsToInternalConfig(t *testing.T) {
|
|||||||
},
|
},
|
||||||
// These tests are reading one file that has only a subset of the fields populated, loading it using NodeConfigFileAndDefaultsToInternalConfig,
|
// These tests are reading one file that has only a subset of the fields populated, loading it using NodeConfigFileAndDefaultsToInternalConfig,
|
||||||
// and then marshals the internal object to the expected groupVersion
|
// and then marshals the internal object to the expected groupVersion
|
||||||
{ // v1alpha1 -> default -> validate -> internal -> v1alpha1
|
|
||||||
name: "incompleteYAMLToDefaulted",
|
|
||||||
in: node_incompleteYAML,
|
|
||||||
out: node_defaultedv1alpha1YAML,
|
|
||||||
groupVersion: v1alpha1.SchemeGroupVersion,
|
|
||||||
},
|
|
||||||
{ // v1alpha1 -> default -> validate -> internal -> v1alpha2
|
{ // v1alpha1 -> default -> validate -> internal -> v1alpha2
|
||||||
name: "incompleteYAMLToDefaulted",
|
name: "incompleteYAMLToDefaulted",
|
||||||
in: node_incompleteYAML,
|
in: node_incompleteYAML,
|
||||||
out: node_defaultedv1alpha2YAML,
|
out: node_defaultedYAML,
|
||||||
groupVersion: v1alpha2.SchemeGroupVersion,
|
groupVersion: v1alpha2.SchemeGroupVersion,
|
||||||
},
|
},
|
||||||
{ // v1alpha1 (faulty) -> validation should fail
|
{ // v1alpha1 (faulty) -> validation should fail
|
||||||
|
Loading…
Reference in New Issue
Block a user