Skip to content

Commit 500b80e

Browse files
authored
Merge pull request #93 from canonical/KU-519/wait-apiserver
wait for apiserver instead of Ready nodes
2 parents 22f9dc6 + 2628f40 commit 500b80e

13 files changed

+37
-15
lines changed

controllers/cloudinit/controlplane_init.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ func NewInitControlPlane(input *ControlPlaneInitInput) (*CloudConfig, error) {
144144
fmt.Sprintf("%s %q", scriptPath(installMicroK8sScript), installArgs),
145145
fmt.Sprintf("%s %q %q %q", scriptPath(configureContainerdProxyScript), input.ContainerdHTTPProxy, input.ContainerdHTTPSProxy, input.ContainerdNoProxy),
146146
scriptPath(configureKubeletScript),
147-
"microk8s status --wait-ready",
147+
scriptPath(waitAPIServerScript),
148148
"microk8s refresh-certs /var/tmp",
149149
fmt.Sprintf("%s %v", scriptPath(configureCalicoIPIPScript), input.IPinIP),
150150
fmt.Sprintf("%s %q", scriptPath(configureClusterAgentPortScript), input.ClusterAgentPort),

controllers/cloudinit/controlplane_init_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func TestControlPlaneInit(t *testing.T) {
5050
`/capi-scripts/00-install-microk8s.sh "--channel 1.25 --classic"`,
5151
`/capi-scripts/10-configure-containerd-proxy.sh "" "" ""`,
5252
`/capi-scripts/10-configure-kubelet.sh`,
53-
`microk8s status --wait-ready`,
53+
`/capi-scripts/50-wait-apiserver.sh`,
5454
`microk8s refresh-certs /var/tmp`,
5555
`/capi-scripts/10-configure-calico-ipip.sh true`,
5656
`/capi-scripts/10-configure-cluster-agent-port.sh "30000"`,

controllers/cloudinit/controlplane_join.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,11 +126,11 @@ func NewJoinControlPlane(input *ControlPlaneJoinInput) (*CloudConfig, error) {
126126
fmt.Sprintf("%s %q", scriptPath(installMicroK8sScript), installArgs),
127127
fmt.Sprintf("%s %q %q %q", scriptPath(configureContainerdProxyScript), input.ContainerdHTTPProxy, input.ContainerdHTTPSProxy, input.ContainerdNoProxy),
128128
scriptPath(configureKubeletScript),
129-
"microk8s status --wait-ready",
129+
scriptPath(waitAPIServerScript),
130130
fmt.Sprintf("%s %v", scriptPath(configureCalicoIPIPScript), input.IPinIP),
131131
fmt.Sprintf("%s %q", scriptPath(configureClusterAgentPortScript), input.ClusterAgentPort),
132132
fmt.Sprintf("%s %q", scriptPath(configureDqlitePortScript), input.DqlitePort),
133-
"microk8s status --wait-ready",
133+
scriptPath(waitAPIServerScript),
134134
fmt.Sprintf("%s %q %q", scriptPath(configureCertLB), endpointType, input.ControlPlaneEndpoint),
135135
fmt.Sprintf("%s no %s", scriptPath(microk8sJoinScript), strings.Join(joinURLs, " ")),
136136
scriptPath(configureAPIServerScript),

controllers/cloudinit/controlplane_join_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,11 @@ func TestControlPlaneJoin(t *testing.T) {
4848
`/capi-scripts/00-install-microk8s.sh "--channel 1.25 --classic"`,
4949
`/capi-scripts/10-configure-containerd-proxy.sh "" "" ""`,
5050
`/capi-scripts/10-configure-kubelet.sh`,
51-
`microk8s status --wait-ready`,
51+
`/capi-scripts/50-wait-apiserver.sh`,
5252
`/capi-scripts/10-configure-calico-ipip.sh true`,
5353
`/capi-scripts/10-configure-cluster-agent-port.sh "30000"`,
5454
`/capi-scripts/10-configure-dqlite-port.sh "2379"`,
55-
`microk8s status --wait-ready`,
55+
`/capi-scripts/50-wait-apiserver.sh`,
5656
`/capi-scripts/10-configure-cert-for-lb.sh "DNS" "k8s.my-domain.com"`,
5757
`/capi-scripts/20-microk8s-join.sh no "10.0.3.39:30000/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "10.0.3.40:30000/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "10.0.3.41:30000/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"`,
5858
`/capi-scripts/10-configure-apiserver.sh`,

controllers/cloudinit/embed.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@ const (
7575

7676
// configureTraefikScript configures the control plane endpoint in the traefik provider configuration.
7777
configureTraefikScript script = "30-configure-traefik.sh"
78+
79+
// waitAPIServerScript waits for the kube-apiserver to be ready.
80+
waitAPIServerScript script = "50-wait-apiserver.sh"
7881
)
7982

8083
var allScripts = []script{
@@ -92,6 +95,7 @@ var allScripts = []script{
9295
configureKubeletScript,
9396
microk8sEnableScript,
9497
microk8sJoinScript,
98+
waitAPIServerScript,
9599
}
96100

97101
func mustGetScript(scriptName script) string {

controllers/cloudinit/scripts/10-configure-apiserver.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ while ! snap restart microk8s.daemon-kubelite; do
3737
done
3838

3939
# delete kubernetes service to make sure port is updated
40-
microk8s status --wait-ready
40+
/capi-scripts/50-wait-apiserver.sh
4141
microk8s kubectl delete svc kubernetes
4242

4343
# redirect port 16443 to 6443

controllers/cloudinit/scripts/10-configure-calico-ipip.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,13 @@ fi
1515

1616
CNI_YAML="/var/snap/microk8s/current/args/cni-network/cni.yaml"
1717

18+
if [ ! -f "${CNI_YAML}" ]; then
19+
echo "Will not configure Calico, missing cni.yaml"
20+
exit 0
21+
fi
22+
23+
/capi-scripts/50-wait-apiserver.sh
24+
1825
# Stop calico-node and delete ippools to ensure no vxlan pools are left around
1926
microk8s kubectl delete daemonset/calico-node -n kube-system || true
2027
microk8s kubectl delete ippools --all || true

controllers/cloudinit/scripts/10-configure-cert-for-lb.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,5 @@ sleep 10
2222
while ! snap restart microk8s.daemon-kubelite; do
2323
sleep 5
2424
done
25-
microk8s status --wait-ready
25+
26+
/capi-scripts/50-wait-apiserver.sh

controllers/cloudinit/scripts/20-microk8s-enable.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@ microk8s enable community || true
1212

1313
while [[ "$@" != "" ]]; do
1414
microk8s enable "$1"
15-
microk8s status --wait-ready
15+
/capi-scripts/50-wait-apiserver.sh
1616
shift
1717
done

controllers/cloudinit/scripts/20-microk8s-join.sh

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,5 @@ done
5555
sleep 10
5656

5757
if [ ${1} == "no" ]; then
58-
while ! microk8s status --wait-ready; do
59-
echo "Waiting for the cluster to come up"
60-
sleep 5
61-
done
58+
/capi-scripts/50-wait-apiserver.sh
6259
fi

0 commit comments

Comments
 (0)