Skip to content

Commit 869ed51

Browse files
committed
simplify impl. of disabledefaultcni
1 parent 21373e2 commit 869ed51

10 files changed

+59
-127
lines changed

controllers/cloudinit/cloudinit_common_test.go

Lines changed: 44 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,9 @@ func TestCloudConfigInput(t *testing.T) {
7878
g.Expect(err).NotTo(HaveOccurred())
7979

8080
if confinement == "classic" {
81-
g.Expect(c.RunCommands).To(ContainElement(fmt.Sprintf(`/capi-scripts/00-install-microk8s.sh "--channel 1.25/%s --classic"`, risk)))
81+
g.Expect(c.RunCommands).To(ContainElement(fmt.Sprintf(`/capi-scripts/00-install-microk8s.sh "--channel 1.25/%s --classic" false`, risk)))
8282
} else {
83-
g.Expect(c.RunCommands).To(ContainElement(fmt.Sprintf(`/capi-scripts/00-install-microk8s.sh "--channel 1.25-strict/%s"`, risk)))
83+
g.Expect(c.RunCommands).To(ContainElement(fmt.Sprintf(`/capi-scripts/00-install-microk8s.sh "--channel 1.25-strict/%s" false`, risk)))
8484
}
8585

8686
_, err = cloudinit.GenerateCloudConfig(c)
@@ -93,6 +93,48 @@ func TestCloudConfigInput(t *testing.T) {
9393
}
9494
})
9595

96+
t.Run("DisableDefaultCNI", func(t *testing.T) {
97+
for _, tc := range []struct {
98+
name string
99+
makeCloudConfig func() (*cloudinit.CloudConfig, error)
100+
}{
101+
{
102+
name: "ControlPlaneJoin",
103+
makeCloudConfig: func() (*cloudinit.CloudConfig, error) {
104+
return cloudinit.NewJoinControlPlane(&cloudinit.ControlPlaneJoinInput{
105+
KubernetesVersion: "v1.25.0",
106+
Confinement: "classic",
107+
Token: strings.Repeat("a", 32),
108+
TokenTTL: 100,
109+
DisableDefaultCNI: true,
110+
})
111+
},
112+
},
113+
{
114+
name: "ControlPlaneInit",
115+
makeCloudConfig: func() (*cloudinit.CloudConfig, error) {
116+
return cloudinit.NewInitControlPlane(&cloudinit.ControlPlaneInitInput{
117+
KubernetesVersion: "v1.25.0",
118+
Confinement: "classic",
119+
Token: strings.Repeat("a", 32),
120+
TokenTTL: 100,
121+
DisableDefaultCNI: true,
122+
})
123+
},
124+
},
125+
} {
126+
t.Run(tc.name, func(t *testing.T) {
127+
g := NewWithT(t)
128+
c, err := tc.makeCloudConfig()
129+
g.Expect(err).NotTo(HaveOccurred())
130+
131+
g.Expect(c.RunCommands).To(ContainElement(`/capi-scripts/00-install-microk8s.sh "--channel 1.25 --classic" true`))
132+
_, err = cloudinit.GenerateCloudConfig(c)
133+
g.Expect(err).NotTo(HaveOccurred())
134+
})
135+
}
136+
})
137+
96138
t.Run("ExtraWriteFiles", func(t *testing.T) {
97139
files := []v1beta1.CloudInitWriteFile{{
98140
Content: "contents",
@@ -382,80 +424,4 @@ func TestCloudConfigInput(t *testing.T) {
382424
})
383425
}
384426
})
385-
386-
t.Run("DisableDefaultCNI", func(t *testing.T) {
387-
for _, tc := range []struct {
388-
name string
389-
makeCloudConfig func() (*cloudinit.CloudConfig, error)
390-
}{
391-
{
392-
name: "ControlPlaneInit",
393-
makeCloudConfig: func() (*cloudinit.CloudConfig, error) {
394-
return cloudinit.NewInitControlPlane(&cloudinit.ControlPlaneInitInput{
395-
DisableDefaultCNI: true,
396-
KubernetesVersion: "v1.25.0",
397-
Token: strings.Repeat("a", 32),
398-
TokenTTL: 100,
399-
})
400-
},
401-
},
402-
{
403-
name: "ControlPlaneJoin",
404-
makeCloudConfig: func() (*cloudinit.CloudConfig, error) {
405-
return cloudinit.NewJoinControlPlane(&cloudinit.ControlPlaneJoinInput{
406-
DisableDefaultCNI: true,
407-
KubernetesVersion: "v1.25.0",
408-
Token: strings.Repeat("a", 32),
409-
TokenTTL: 100,
410-
})
411-
},
412-
},
413-
} {
414-
t.Run(tc.name, func(t *testing.T) {
415-
g := NewWithT(t)
416-
c, err := tc.makeCloudConfig()
417-
g.Expect(err).NotTo(HaveOccurred())
418-
419-
g.Expect(c.RunCommands).To(ContainElement(`/capi-scripts/10-disable-default-cni.sh`))
420-
})
421-
}
422-
})
423-
424-
t.Run("DefaultCNI", func(t *testing.T) {
425-
for _, tc := range []struct {
426-
name string
427-
makeCloudConfig func() (*cloudinit.CloudConfig, error)
428-
}{
429-
{
430-
name: "ControlPlaneInit",
431-
makeCloudConfig: func() (*cloudinit.CloudConfig, error) {
432-
return cloudinit.NewInitControlPlane(&cloudinit.ControlPlaneInitInput{
433-
DisableDefaultCNI: false,
434-
KubernetesVersion: "v1.25.0",
435-
Token: strings.Repeat("a", 32),
436-
TokenTTL: 100,
437-
})
438-
},
439-
},
440-
{
441-
name: "ControlPlaneJoin",
442-
makeCloudConfig: func() (*cloudinit.CloudConfig, error) {
443-
return cloudinit.NewJoinControlPlane(&cloudinit.ControlPlaneJoinInput{
444-
DisableDefaultCNI: false,
445-
KubernetesVersion: "v1.25.0",
446-
Token: strings.Repeat("a", 32),
447-
TokenTTL: 100,
448-
})
449-
},
450-
},
451-
} {
452-
t.Run(tc.name, func(t *testing.T) {
453-
g := NewWithT(t)
454-
c, err := tc.makeCloudConfig()
455-
g.Expect(err).NotTo(HaveOccurred())
456-
457-
g.Expect(c.RunCommands).NotTo(ContainElement(`/capi-scripts/10-disable-default-cni.sh`))
458-
})
459-
}
460-
})
461427
}

controllers/cloudinit/controlplane_init.go

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -143,17 +143,10 @@ func NewInitControlPlane(input *ControlPlaneInitInput) (*CloudConfig, error) {
143143
fmt.Sprintf("%s %q %q", scriptPath(snapstoreHTTPProxyScript), input.SnapstoreHTTPProxy, input.SnapstoreHTTPSProxy),
144144
fmt.Sprintf("%s %q %q", scriptPath(snapstoreProxyScript), input.SnapstoreProxyDomain, input.SnapstoreProxyId),
145145
scriptPath(disableHostServicesScript),
146-
fmt.Sprintf("%s %q", scriptPath(installMicroK8sScript), installArgs),
146+
fmt.Sprintf("%s %q %v", scriptPath(installMicroK8sScript), installArgs, input.DisableDefaultCNI),
147147
fmt.Sprintf("%s %q %q %q", scriptPath(configureContainerdProxyScript), input.ContainerdHTTPProxy, input.ContainerdHTTPSProxy, input.ContainerdNoProxy),
148148
scriptPath(configureKubeletScript),
149149
scriptPath(waitAPIServerScript),
150-
)
151-
152-
if input.DisableDefaultCNI {
153-
cloudConfig.RunCommands = append(cloudConfig.RunCommands, scriptPath(disableDefaultCNIScript))
154-
}
155-
156-
cloudConfig.RunCommands = append(cloudConfig.RunCommands,
157150
"microk8s refresh-certs /var/tmp",
158151
fmt.Sprintf("%s %v", scriptPath(configureCalicoIPIPScript), input.IPinIP),
159152
fmt.Sprintf("%s %q", scriptPath(configureClusterAgentPortScript), input.ClusterAgentPort),

controllers/cloudinit/controlplane_init_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,10 @@ func TestControlPlaneInit(t *testing.T) {
4848
`/capi-scripts/00-configure-snapstore-http-proxy.sh "" ""`,
4949
`/capi-scripts/00-configure-snapstore-proxy.sh "" ""`,
5050
`/capi-scripts/00-disable-host-services.sh`,
51-
`/capi-scripts/00-install-microk8s.sh "--channel 1.25 --classic"`,
51+
`/capi-scripts/00-install-microk8s.sh "--channel 1.25 --classic" true`,
5252
`/capi-scripts/10-configure-containerd-proxy.sh "" "" ""`,
5353
`/capi-scripts/10-configure-kubelet.sh`,
5454
`/capi-scripts/50-wait-apiserver.sh`,
55-
`/capi-scripts/10-disable-default-cni.sh`,
5655
`microk8s refresh-certs /var/tmp`,
5756
`/capi-scripts/10-configure-calico-ipip.sh true`,
5857
`/capi-scripts/10-configure-cluster-agent-port.sh "30000"`,

controllers/cloudinit/controlplane_join.go

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -125,17 +125,10 @@ func NewJoinControlPlane(input *ControlPlaneJoinInput) (*CloudConfig, error) {
125125
fmt.Sprintf("%s %q %q", scriptPath(snapstoreHTTPProxyScript), input.SnapstoreHTTPProxy, input.SnapstoreHTTPSProxy),
126126
fmt.Sprintf("%s %q %q", scriptPath(snapstoreProxyScript), input.SnapstoreProxyDomain, input.SnapstoreProxyId),
127127
scriptPath(disableHostServicesScript),
128-
fmt.Sprintf("%s %q", scriptPath(installMicroK8sScript), installArgs),
128+
fmt.Sprintf("%s %q %v", scriptPath(installMicroK8sScript), installArgs, input.DisableDefaultCNI),
129129
fmt.Sprintf("%s %q %q %q", scriptPath(configureContainerdProxyScript), input.ContainerdHTTPProxy, input.ContainerdHTTPSProxy, input.ContainerdNoProxy),
130130
scriptPath(configureKubeletScript),
131131
scriptPath(waitAPIServerScript),
132-
)
133-
134-
if input.DisableDefaultCNI {
135-
cloudConfig.RunCommands = append(cloudConfig.RunCommands, scriptPath(disableDefaultCNIScript))
136-
}
137-
138-
cloudConfig.RunCommands = append(cloudConfig.RunCommands,
139132
fmt.Sprintf("%s %v", scriptPath(configureCalicoIPIPScript), input.IPinIP),
140133
fmt.Sprintf("%s %q", scriptPath(configureClusterAgentPortScript), input.ClusterAgentPort),
141134
fmt.Sprintf("%s %q", scriptPath(configureDqlitePortScript), input.DqlitePort),

controllers/cloudinit/controlplane_join_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,10 @@ func TestControlPlaneJoin(t *testing.T) {
4646
`/capi-scripts/00-configure-snapstore-http-proxy.sh "" ""`,
4747
`/capi-scripts/00-configure-snapstore-proxy.sh "" ""`,
4848
`/capi-scripts/00-disable-host-services.sh`,
49-
`/capi-scripts/00-install-microk8s.sh "--channel 1.25 --classic"`,
49+
`/capi-scripts/00-install-microk8s.sh "--channel 1.25 --classic" true`,
5050
`/capi-scripts/10-configure-containerd-proxy.sh "" "" ""`,
5151
`/capi-scripts/10-configure-kubelet.sh`,
5252
`/capi-scripts/50-wait-apiserver.sh`,
53-
`/capi-scripts/10-disable-default-cni.sh`,
5453
`/capi-scripts/10-configure-calico-ipip.sh true`,
5554
`/capi-scripts/10-configure-cluster-agent-port.sh "30000"`,
5655
`/capi-scripts/10-configure-dqlite-port.sh "2379"`,

controllers/cloudinit/embed.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,6 @@ const (
4343
// disableHostServicesScript disables services like containerd or kubelet from the host OS image.
4444
disableHostServicesScript script = "00-disable-host-services.sh"
4545

46-
// disableDefaultCNIScript disables the default CNI plugin.
47-
disableDefaultCNIScript script = "10-disable-default-cni.sh"
48-
4946
// installMicroK8sScript installs MicroK8s on the host.
5047
installMicroK8sScript script = "00-install-microk8s.sh"
5148

@@ -88,7 +85,6 @@ var allScripts = []script{
8885
snapstoreHTTPProxyScript,
8986
disableHostServicesScript,
9087
installMicroK8sScript,
91-
disableDefaultCNIScript,
9288
configureCertLB,
9389
configureAPIServerScript,
9490
configureCalicoIPIPScript,

controllers/cloudinit/scripts/00-install-microk8s.sh

100644100755
Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
#!/bin/bash -xe
22

33
# Usage:
4-
# $0 $microk8s_snap_args
4+
# $0 $microk8s_snap_args $disable_default_cni
5+
#
6+
# Arguments:
7+
# $microk8s_snap_args Arguments to pass to snap install.
8+
# $disable_default_cni Boolean flag (true or false) to disable the default CNI.
59
#
610
# Assumptions:
711
# - snapd is installed
@@ -15,3 +19,7 @@ while ! snap install microk8s ${1}; do
1519
echo "Failed to install MicroK8s snap, will retry"
1620
sleep 5
1721
done
22+
23+
if [ "${2}" == "true" ]; then
24+
mv /var/snap/microk8s/current/args/cni-network/cni.yaml /var/snap/microk8s/current/args/cni-network/cni.yaml.old
25+
fi

controllers/cloudinit/scripts/10-disable-default-cni.sh

Lines changed: 0 additions & 22 deletions
This file was deleted.

controllers/cloudinit/worker_join.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ func NewJoinWorker(input *WorkerInput) (*CloudConfig, error) {
112112
fmt.Sprintf("%s %q %q", scriptPath(snapstoreHTTPProxyScript), input.SnapstoreHTTPProxy, input.SnapstoreHTTPSProxy),
113113
fmt.Sprintf("%s %q %q", scriptPath(snapstoreProxyScript), input.SnapstoreProxyDomain, input.SnapstoreProxyId),
114114
scriptPath(disableHostServicesScript),
115-
fmt.Sprintf("%s %q", scriptPath(installMicroK8sScript), installArgs),
115+
fmt.Sprintf("%s %q %v", scriptPath(installMicroK8sScript), installArgs, false),
116116
fmt.Sprintf("%s %q %q %q", scriptPath(configureContainerdProxyScript), input.ContainerdHTTPProxy, input.ContainerdHTTPSProxy, input.ContainerdNoProxy),
117117
scriptPath(configureKubeletScript),
118118
scriptPath(waitAPIServerScript),

controllers/cloudinit/worker_join_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ func TestWorkerJoin(t *testing.T) {
4242
`/capi-scripts/00-configure-snapstore-http-proxy.sh "" ""`,
4343
`/capi-scripts/00-configure-snapstore-proxy.sh "" ""`,
4444
`/capi-scripts/00-disable-host-services.sh`,
45-
`/capi-scripts/00-install-microk8s.sh "--channel 1.24 --classic"`,
45+
`/capi-scripts/00-install-microk8s.sh "--channel 1.24 --classic" false`,
4646
`/capi-scripts/10-configure-containerd-proxy.sh "" "" ""`,
4747
`/capi-scripts/10-configure-kubelet.sh`,
4848
`/capi-scripts/50-wait-apiserver.sh`,

0 commit comments

Comments
 (0)