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),
|
||||||
)
|
)
|
||||||
@ -407,8 +407,8 @@ func TestValidateMasterConfiguration(t *testing.T) {
|
|||||||
ServiceSubnet: "10.96.0.1/12",
|
ServiceSubnet: "10.96.0.1/12",
|
||||||
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{
|
||||||
@ -420,8 +420,8 @@ func TestValidateMasterConfiguration(t *testing.T) {
|
|||||||
ServiceSubnet: "2001:db8::1/98",
|
ServiceSubnet: "2001:db8::1/98",
|
||||||
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{
|
||||||
@ -447,9 +447,9 @@ func TestValidateMasterConfiguration(t *testing.T) {
|
|||||||
DNSDomain: "cluster.local",
|
DNSDomain: "cluster.local",
|
||||||
PodSubnet: "10.0.1.15",
|
PodSubnet: "10.0.1.15",
|
||||||
},
|
},
|
||||||
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{
|
||||||
@ -493,9 +493,9 @@ func TestValidateMasterConfiguration(t *testing.T) {
|
|||||||
DNSDomain: "cluster.local",
|
DNSDomain: "cluster.local",
|
||||||
PodSubnet: "10.0.1.15/16",
|
PodSubnet: "10.0.1.15/16",
|
||||||
},
|
},
|
||||||
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{
|
||||||
@ -538,9 +538,9 @@ func TestValidateMasterConfiguration(t *testing.T) {
|
|||||||
ServiceSubnet: "2001:db8::1/98",
|
ServiceSubnet: "2001:db8::1/98",
|
||||||
DNSDomain: "cluster.local",
|
DNSDomain: "cluster.local",
|
||||||
},
|
},
|
||||||
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 {
|
||||||
|
@ -254,9 +254,9 @@ func TestSubCmdCertsCreateFilesWithConfigFile(t *testing.T) {
|
|||||||
certdir := tmpdir
|
certdir := tmpdir
|
||||||
|
|
||||||
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)
|
||||||
|
|
||||||
|
@ -277,9 +277,9 @@ func TestKubeConfigSubCommandsThatCreateFilesWithConfigFile(t *testing.T) {
|
|||||||
|
|
||||||
// Adds a master configuration file
|
// Adds a master configuration file
|
||||||
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: ""
|
||||||
`),
|
`),
|
||||||
|
@ -273,9 +273,9 @@ func TestNewAPIServerCertAndKey(t *testing.T) {
|
|||||||
advertiseAddresses := []string{"1.2.3.4", "1:2:3::4"}
|
advertiseAddresses := []string{"1.2.3.4", "1:2:3::4"}
|
||||||
for _, addr := range advertiseAddresses {
|
for _, addr := range advertiseAddresses {
|
||||||
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 {
|
||||||
@ -357,8 +357,8 @@ func TestNewEtcdPeerCertAndKey(t *testing.T) {
|
|||||||
advertiseAddresses := []string{"1.2.3.4", "1:2:3::4"}
|
advertiseAddresses := []string{"1.2.3.4", "1:2:3::4"}
|
||||||
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{
|
||||||
@ -481,10 +481,10 @@ func TestUsingExternalCA(t *testing.T) {
|
|||||||
defer os.RemoveAll(dir)
|
defer os.RemoveAll(dir)
|
||||||
|
|
||||||
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,
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, f := range test.setupFuncs {
|
for _, f := range test.setupFuncs {
|
||||||
@ -564,10 +564,10 @@ func TestValidateMethods(t *testing.T) {
|
|||||||
test.loc.pkiDir = dir
|
test.loc.pkiDir = dir
|
||||||
|
|
||||||
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,
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Println("Testing", test.name)
|
fmt.Println("Testing", test.name)
|
||||||
@ -696,11 +696,11 @@ func TestCreateCertificateFilesMethods(t *testing.T) {
|
|||||||
defer os.RemoveAll(tmpdir)
|
defer os.RemoveAll(tmpdir)
|
||||||
|
|
||||||
cfg := &kubeadmapi.MasterConfiguration{
|
cfg := &kubeadmapi.MasterConfiguration{
|
||||||
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,
|
||||||
}
|
}
|
||||||
|
|
||||||
if test.externalEtcd {
|
if test.externalEtcd {
|
||||||
|
@ -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"},
|
||||||
@ -561,8 +561,8 @@ func TestGetEtcdPeerAltNames(t *testing.T) {
|
|||||||
proxyIP := "10.10.10.100"
|
proxyIP := "10.10.10.100"
|
||||||
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 {
|
||||||
|
@ -67,29 +67,29 @@ func TestGetKubeConfigSpecs(t *testing.T) {
|
|||||||
// Creates Master Configurations pointing to the pkidir folder
|
// Creates Master Configurations pointing to the pkidir folder
|
||||||
cfgs := []*kubeadmapi.MasterConfiguration{
|
cfgs := []*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"},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
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"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -33,7 +34,8 @@ func TestEnableDynamicConfigForNode(t *testing.T) {
|
|||||||
client.PrependReactor("get", "nodes", func(action core.Action) (bool, runtime.Object, error) {
|
client.PrependReactor("get", "nodes", func(action core.Action) (bool, runtime.Object, error) {
|
||||||
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{
|
||||||
|
@ -40,52 +40,52 @@ func TestMarkMaster(t *testing.T) {
|
|||||||
// will need to change if strategicpatch's behavior changes in the
|
// will need to change if strategicpatch's behavior changes in the
|
||||||
// future.
|
// future.
|
||||||
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)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -131,9 +131,9 @@ func TestRollbackFiles(t *testing.T) {
|
|||||||
|
|
||||||
func TestShouldBackupAPIServerCertAndKey(t *testing.T) {
|
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,19 +24,17 @@ 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"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
node_v1alpha1YAML = "testdata/conversion/node/v1alpha1.yaml"
|
node_v1alpha1YAML = "testdata/conversion/node/v1alpha1.yaml"
|
||||||
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"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestNodeConfigFileAndDefaultsToInternalConfig(t *testing.T) {
|
func TestNodeConfigFileAndDefaultsToInternalConfig(t *testing.T) {
|
||||||
@ -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