Skip to content

Commit 81c7282

Browse files
committed
Move GetDNSIP to a "higher level" pkg.
1 parent 41281b7 commit 81c7282

File tree

4 files changed

+24
-25
lines changed

4 files changed

+24
-25
lines changed

cmd/kubeadm/app/apis/kubeadm/v1alpha1/defaults.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import (
2323
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2424
"k8s.io/apimachinery/pkg/runtime"
2525
"k8s.io/kubernetes/cmd/kubeadm/app/constants"
26-
"k8s.io/kubernetes/cmd/kubeadm/app/phases/addons/dns"
2726
kubeletconfigv1alpha1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1"
2827
utilpointer "k8s.io/kubernetes/pkg/util/pointer"
2928
)
@@ -163,7 +162,7 @@ func SetDefaults_KubeletConfiguration(obj *MasterConfiguration) {
163162
obj.KubeletConfiguration.BaseConfig.AllowPrivileged = utilpointer.BoolPtr(true)
164163
}
165164
if obj.KubeletConfiguration.BaseConfig.ClusterDNS == nil {
166-
dnsIP, err := dns.GetDNSIP(obj.Networking.ServiceSubnet)
165+
dnsIP, err := constants.GetDNSIP(obj.Networking.ServiceSubnet)
167166
if err != nil {
168167
obj.KubeletConfiguration.BaseConfig.ClusterDNS = []string{DefaultClusterDNSIP}
169168
} else {

cmd/kubeadm/app/constants/constants.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,13 @@ package constants
1919
import (
2020
"fmt"
2121
"io/ioutil"
22+
"net"
2223
"os"
2324
"path/filepath"
2425
"time"
2526

2627
"k8s.io/api/core/v1"
28+
"k8s.io/kubernetes/pkg/registry/core/service/ipallocator"
2729
"k8s.io/kubernetes/pkg/util/version"
2830
)
2931

@@ -256,3 +258,20 @@ func CreateTempDirForKubeadm(dirName string) (string, error) {
256258
}
257259
return tempDir, nil
258260
}
261+
262+
// GetDNSIP returns a dnsIP, which is 10th IP in svcSubnet CIDR range
263+
func GetDNSIP(svcSubnet string) (net.IP, error) {
264+
// Get the service subnet CIDR
265+
_, svcSubnetCIDR, err := net.ParseCIDR(svcSubnet)
266+
if err != nil {
267+
return nil, fmt.Errorf("couldn't parse service subnet CIDR %q: %v", svcSubnet, err)
268+
}
269+
270+
// Selects the 10th IP in service subnet CIDR range as dnsIP
271+
dnsIP, err := ipallocator.GetIndexedIP(svcSubnetCIDR, 10)
272+
if err != nil {
273+
return nil, fmt.Errorf("unable to get tenth IP address from service subnet CIDR %s: %v", svcSubnetCIDR.String(), err)
274+
}
275+
276+
return dnsIP, nil
277+
}

cmd/kubeadm/app/phases/addons/dns/dns.go

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ package dns
1818

1919
import (
2020
"fmt"
21-
"net"
2221
"runtime"
2322

2423
apps "k8s.io/api/apps/v1beta2"
@@ -34,7 +33,6 @@ import (
3433
kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util"
3534
"k8s.io/kubernetes/cmd/kubeadm/app/util/apiclient"
3635
"k8s.io/kubernetes/pkg/api/legacyscheme"
37-
"k8s.io/kubernetes/pkg/registry/core/service/ipallocator"
3836
"k8s.io/kubernetes/pkg/util/version"
3937
)
4038

@@ -60,7 +58,7 @@ func kubeDNSAddon(cfg *kubeadmapi.MasterConfiguration, client clientset.Interfac
6058
return err
6159
}
6260

63-
dnsip, err := GetDNSIP(cfg.Networking.ServiceSubnet)
61+
dnsip, err := kubeadmconstants.GetDNSIP(cfg.Networking.ServiceSubnet)
6462
if err != nil {
6563
return err
6664
}
@@ -149,7 +147,7 @@ func coreDNSAddon(cfg *kubeadmapi.MasterConfiguration, client clientset.Interfac
149147
return fmt.Errorf("error when parsing CoreDNS configMap template: %v", err)
150148
}
151149

152-
dnsip, err := GetDNSIP(cfg.Networking.ServiceSubnet)
150+
dnsip, err := kubeadmconstants.GetDNSIP(cfg.Networking.ServiceSubnet)
153151
if err != nil {
154152
return err
155153
}
@@ -244,21 +242,3 @@ func createDNSService(dnsService *v1.Service, serviceBytes []byte, client client
244242
}
245243
return nil
246244
}
247-
248-
// GetDNSIP returns a dnsIP, which is 10th IP in svcSubnet CIDR range
249-
func GetDNSIP(svcSubnet string) (net.IP, error) {
250-
251-
// Get the service subnet CIDR
252-
_, svcSubnetCIDR, err := net.ParseCIDR(svcSubnet)
253-
if err != nil {
254-
return nil, fmt.Errorf("couldn't parse service subnet CIDR %q: %v", svcSubnet, err)
255-
}
256-
257-
// Selects the 10th IP in service subnet CIDR range as dnsIP
258-
dnsIP, err := ipallocator.GetIndexedIP(svcSubnetCIDR, 10)
259-
if err != nil {
260-
return nil, fmt.Errorf("unable to get tenth IP address from service subnet CIDR %s: %v", svcSubnetCIDR.String(), err)
261-
}
262-
263-
return dnsIP, nil
264-
}

cmd/kubeadm/app/phases/addons/dns/dns_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"k8s.io/apimachinery/pkg/runtime"
2424
clientsetfake "k8s.io/client-go/kubernetes/fake"
2525
core "k8s.io/client-go/testing"
26+
kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants"
2627
kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util"
2728
api "k8s.io/kubernetes/pkg/apis/core"
2829
)
@@ -159,7 +160,7 @@ func TestGetDNSIP(t *testing.T) {
159160
},
160161
}
161162
for _, rt := range tests {
162-
dnsIP, err := GetDNSIP(rt.svcSubnet)
163+
dnsIP, err := kubeadmconstants.GetDNSIP(rt.svcSubnet)
163164
if err != nil {
164165
t.Fatalf("couldn't get dnsIP : %v", err)
165166
}

0 commit comments

Comments
 (0)