Skip to content

Commit 61a1e78

Browse files
lentzi90tormath1
andcommitted
Templates: Set provider ID directly via kubelet
This commit sets the provider ID in the flatcar templates. To avoid issues with potential mismatches between node names and openstack servers we can configure the kubelet to set the provider ID. Otherwise, the cloud controller will try to match nodes and servers based on just the name. The names can differ because of special characters, like dots. When this happens, the cloud controller will be unable to match them and thus believe that the node has no underlying server. Co-authored-by: Mathieu Tortuyaux <[email protected]>
1 parent 6b00ecc commit 61a1e78

File tree

6 files changed

+30
-36
lines changed

6 files changed

+30
-36
lines changed

kustomize/v1alpha7/flatcar-sysext/patch-flatcar.yaml

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,12 @@ spec:
1818
nodeRegistration:
1919
name: $${COREOS_OPENSTACK_HOSTNAME}
2020
kubeletExtraArgs:
21-
provider-id: null
21+
provider-id: openstack:///$${COREOS_OPENSTACK_INSTANCE_UUID}
2222
initConfiguration:
2323
nodeRegistration:
2424
name: $${COREOS_OPENSTACK_HOSTNAME}
2525
kubeletExtraArgs:
26-
# Fixme(lentzi90): This is here just to override the value set in the default
27-
# kustomization. It will be replaced with a value that works for flatcar in
28-
# https://github.com/kubernetes-sigs/cluster-api-provider-openstack/pull/1564
29-
provider-id: null
26+
provider-id: openstack:///$${COREOS_OPENSTACK_INSTANCE_UUID}
3027
format: ignition
3128
ignition:
3229
containerLinuxConfig:
@@ -86,6 +83,7 @@ spec:
8683
EnvironmentFile=/run/metadata/flatcar
8784
preKubeadmCommands:
8885
- export COREOS_OPENSTACK_HOSTNAME=$${COREOS_OPENSTACK_HOSTNAME%.*}
86+
- export COREOS_OPENSTACK_INSTANCE_UUID=$${COREOS_OPENSTACK_INSTANCE_UUID}
8987
- envsubst < /etc/kubeadm.yml > /etc/kubeadm.yml.tmp
9088
- mv /etc/kubeadm.yml.tmp /etc/kubeadm.yml
9189
---
@@ -100,12 +98,10 @@ spec:
10098
nodeRegistration:
10199
name: $${COREOS_OPENSTACK_HOSTNAME}
102100
kubeletExtraArgs:
103-
# Fixme(lentzi90): This is here just to override the value set in the default
104-
# kustomization. It will be replaced with a value that works for flatcar in
105-
# https://github.com/kubernetes-sigs/cluster-api-provider-openstack/pull/1564
106-
provider-id: null
101+
provider-id: openstack:///$${COREOS_OPENSTACK_INSTANCE_UUID}
107102
preKubeadmCommands:
108103
- export COREOS_OPENSTACK_HOSTNAME=$${COREOS_OPENSTACK_HOSTNAME%.*}
104+
- export COREOS_OPENSTACK_INSTANCE_UUID=$${COREOS_OPENSTACK_INSTANCE_UUID}
109105
- envsubst < /etc/kubeadm.yml > /etc/kubeadm.yml.tmp
110106
- mv /etc/kubeadm.yml.tmp /etc/kubeadm.yml
111107
format: ignition

kustomize/v1alpha7/flatcar/patch-flatcar.yaml

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,12 @@ spec:
1818
nodeRegistration:
1919
name: $${COREOS_OPENSTACK_HOSTNAME}
2020
kubeletExtraArgs:
21-
provider-id: null
21+
provider-id: openstack:///$${COREOS_OPENSTACK_INSTANCE_UUID}
2222
initConfiguration:
2323
nodeRegistration:
2424
name: $${COREOS_OPENSTACK_HOSTNAME}
2525
kubeletExtraArgs:
26-
# Fixme(lentzi90): This is here just to override the value set in the default
27-
# kustomization. It will be replaced with a value that works for flatcar in
28-
# https://github.com/kubernetes-sigs/cluster-api-provider-openstack/pull/1564
29-
provider-id: null
26+
provider-id: openstack:///$${COREOS_OPENSTACK_INSTANCE_UUID}
3027
format: ignition
3128
ignition:
3229
containerLinuxConfig:
@@ -48,6 +45,7 @@ spec:
4845
EnvironmentFile=/run/metadata/flatcar
4946
preKubeadmCommands:
5047
- export COREOS_OPENSTACK_HOSTNAME=$${COREOS_OPENSTACK_HOSTNAME%.*}
48+
- export COREOS_OPENSTACK_INSTANCE_UUID=$${COREOS_OPENSTACK_INSTANCE_UUID}
5149
- envsubst < /etc/kubeadm.yml > /etc/kubeadm.yml.tmp
5250
- mv /etc/kubeadm.yml.tmp /etc/kubeadm.yml
5351
---
@@ -62,12 +60,10 @@ spec:
6260
nodeRegistration:
6361
name: $${COREOS_OPENSTACK_HOSTNAME}
6462
kubeletExtraArgs:
65-
# Fixme(lentzi90): This is here just to override the value set in the default
66-
# kustomization. It will be replaced with a value that works for flatcar in
67-
# https://github.com/kubernetes-sigs/cluster-api-provider-openstack/pull/1564
68-
provider-id: null
63+
provider-id: openstack:///$${COREOS_OPENSTACK_INSTANCE_UUID}
6964
preKubeadmCommands:
7065
- export COREOS_OPENSTACK_HOSTNAME=$${COREOS_OPENSTACK_HOSTNAME%.*}
66+
- export COREOS_OPENSTACK_INSTANCE_UUID=$${COREOS_OPENSTACK_INSTANCE_UUID}
7167
- envsubst < /etc/kubeadm.yml > /etc/kubeadm.yml.tmp
7268
- mv /etc/kubeadm.yml.tmp /etc/kubeadm.yml
7369
format: ignition

kustomize/v1beta1/flatcar-sysext/patch-flatcar.yaml

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,12 @@ spec:
1818
nodeRegistration:
1919
name: $${COREOS_OPENSTACK_HOSTNAME}
2020
kubeletExtraArgs:
21-
provider-id: null
21+
provider-id: openstack:///$${COREOS_OPENSTACK_INSTANCE_UUID}
2222
initConfiguration:
2323
nodeRegistration:
2424
name: $${COREOS_OPENSTACK_HOSTNAME}
2525
kubeletExtraArgs:
26-
# Fixme(lentzi90): This is here just to override the value set in the default
27-
# kustomization. It will be replaced with a value that works for flatcar in
28-
# https://github.com/kubernetes-sigs/cluster-api-provider-openstack/pull/1564
29-
provider-id: null
26+
provider-id: openstack:///$${COREOS_OPENSTACK_INSTANCE_UUID}
3027
format: ignition
3128
ignition:
3229
containerLinuxConfig:
@@ -86,6 +83,7 @@ spec:
8683
EnvironmentFile=/run/metadata/flatcar
8784
preKubeadmCommands:
8885
- export COREOS_OPENSTACK_HOSTNAME=$${COREOS_OPENSTACK_HOSTNAME%.*}
86+
- export COREOS_OPENSTACK_INSTANCE_UUID=$${COREOS_OPENSTACK_INSTANCE_UUID}
8987
- envsubst < /etc/kubeadm.yml > /etc/kubeadm.yml.tmp
9088
- mv /etc/kubeadm.yml.tmp /etc/kubeadm.yml
9189
---
@@ -100,12 +98,10 @@ spec:
10098
nodeRegistration:
10199
name: $${COREOS_OPENSTACK_HOSTNAME}
102100
kubeletExtraArgs:
103-
# Fixme(lentzi90): This is here just to override the value set in the default
104-
# kustomization. It will be replaced with a value that works for flatcar in
105-
# https://github.com/kubernetes-sigs/cluster-api-provider-openstack/pull/1564
106-
provider-id: null
101+
provider-id: openstack:///$${COREOS_OPENSTACK_INSTANCE_UUID}
107102
preKubeadmCommands:
108103
- export COREOS_OPENSTACK_HOSTNAME=$${COREOS_OPENSTACK_HOSTNAME%.*}
104+
- export COREOS_OPENSTACK_INSTANCE_UUID=$${COREOS_OPENSTACK_INSTANCE_UUID}
109105
- envsubst < /etc/kubeadm.yml > /etc/kubeadm.yml.tmp
110106
- mv /etc/kubeadm.yml.tmp /etc/kubeadm.yml
111107
format: ignition

kustomize/v1beta1/flatcar/patch-flatcar.yaml

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,12 @@ spec:
1818
nodeRegistration:
1919
name: $${COREOS_OPENSTACK_HOSTNAME}
2020
kubeletExtraArgs:
21-
provider-id: null
21+
provider-id: openstack:///$${COREOS_OPENSTACK_INSTANCE_UUID}
2222
initConfiguration:
2323
nodeRegistration:
2424
name: $${COREOS_OPENSTACK_HOSTNAME}
2525
kubeletExtraArgs:
26-
# Fixme(lentzi90): This is here just to override the value set in the default
27-
# kustomization. It will be replaced with a value that works for flatcar in
28-
# https://github.com/kubernetes-sigs/cluster-api-provider-openstack/pull/1564
29-
provider-id: null
26+
provider-id: openstack:///$${COREOS_OPENSTACK_INSTANCE_UUID}
3027
format: ignition
3128
ignition:
3229
containerLinuxConfig:
@@ -48,6 +45,7 @@ spec:
4845
EnvironmentFile=/run/metadata/flatcar
4946
preKubeadmCommands:
5047
- export COREOS_OPENSTACK_HOSTNAME=$${COREOS_OPENSTACK_HOSTNAME%.*}
48+
- export COREOS_OPENSTACK_INSTANCE_UUID=$${COREOS_OPENSTACK_INSTANCE_UUID}
5149
- envsubst < /etc/kubeadm.yml > /etc/kubeadm.yml.tmp
5250
- mv /etc/kubeadm.yml.tmp /etc/kubeadm.yml
5351
---
@@ -62,12 +60,10 @@ spec:
6260
nodeRegistration:
6361
name: $${COREOS_OPENSTACK_HOSTNAME}
6462
kubeletExtraArgs:
65-
# Fixme(lentzi90): This is here just to override the value set in the default
66-
# kustomization. It will be replaced with a value that works for flatcar in
67-
# https://github.com/kubernetes-sigs/cluster-api-provider-openstack/pull/1564
68-
provider-id: null
63+
provider-id: openstack:///$${COREOS_OPENSTACK_INSTANCE_UUID}
6964
preKubeadmCommands:
7065
- export COREOS_OPENSTACK_HOSTNAME=$${COREOS_OPENSTACK_HOSTNAME%.*}
66+
- export COREOS_OPENSTACK_INSTANCE_UUID=$${COREOS_OPENSTACK_INSTANCE_UUID}
7167
- envsubst < /etc/kubeadm.yml > /etc/kubeadm.yml.tmp
7268
- mv /etc/kubeadm.yml.tmp /etc/kubeadm.yml
7369
format: ignition

templates/cluster-template-flatcar-sysext.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,11 @@ spec:
7777
nodeRegistration:
7878
kubeletExtraArgs:
7979
cloud-provider: external
80+
provider-id: openstack:///$${COREOS_OPENSTACK_INSTANCE_UUID}
8081
name: $${COREOS_OPENSTACK_HOSTNAME}
8182
preKubeadmCommands:
8283
- export COREOS_OPENSTACK_HOSTNAME=$${COREOS_OPENSTACK_HOSTNAME%.*}
84+
- export COREOS_OPENSTACK_INSTANCE_UUID=$${COREOS_OPENSTACK_INSTANCE_UUID}
8385
- envsubst < /etc/kubeadm.yml > /etc/kubeadm.yml.tmp
8486
- mv /etc/kubeadm.yml.tmp /etc/kubeadm.yml
8587
---
@@ -201,14 +203,17 @@ spec:
201203
nodeRegistration:
202204
kubeletExtraArgs:
203205
cloud-provider: external
206+
provider-id: openstack:///$${COREOS_OPENSTACK_INSTANCE_UUID}
204207
name: $${COREOS_OPENSTACK_HOSTNAME}
205208
joinConfiguration:
206209
nodeRegistration:
207210
kubeletExtraArgs:
208211
cloud-provider: external
212+
provider-id: openstack:///$${COREOS_OPENSTACK_INSTANCE_UUID}
209213
name: $${COREOS_OPENSTACK_HOSTNAME}
210214
preKubeadmCommands:
211215
- export COREOS_OPENSTACK_HOSTNAME=$${COREOS_OPENSTACK_HOSTNAME%.*}
216+
- export COREOS_OPENSTACK_INSTANCE_UUID=$${COREOS_OPENSTACK_INSTANCE_UUID}
212217
- envsubst < /etc/kubeadm.yml > /etc/kubeadm.yml.tmp
213218
- mv /etc/kubeadm.yml.tmp /etc/kubeadm.yml
214219
machineTemplate:

templates/cluster-template-flatcar.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,11 @@ spec:
3939
nodeRegistration:
4040
kubeletExtraArgs:
4141
cloud-provider: external
42+
provider-id: openstack:///$${COREOS_OPENSTACK_INSTANCE_UUID}
4243
name: $${COREOS_OPENSTACK_HOSTNAME}
4344
preKubeadmCommands:
4445
- export COREOS_OPENSTACK_HOSTNAME=$${COREOS_OPENSTACK_HOSTNAME%.*}
46+
- export COREOS_OPENSTACK_INSTANCE_UUID=$${COREOS_OPENSTACK_INSTANCE_UUID}
4547
- envsubst < /etc/kubeadm.yml > /etc/kubeadm.yml.tmp
4648
- mv /etc/kubeadm.yml.tmp /etc/kubeadm.yml
4749
---
@@ -125,14 +127,17 @@ spec:
125127
nodeRegistration:
126128
kubeletExtraArgs:
127129
cloud-provider: external
130+
provider-id: openstack:///$${COREOS_OPENSTACK_INSTANCE_UUID}
128131
name: $${COREOS_OPENSTACK_HOSTNAME}
129132
joinConfiguration:
130133
nodeRegistration:
131134
kubeletExtraArgs:
132135
cloud-provider: external
136+
provider-id: openstack:///$${COREOS_OPENSTACK_INSTANCE_UUID}
133137
name: $${COREOS_OPENSTACK_HOSTNAME}
134138
preKubeadmCommands:
135139
- export COREOS_OPENSTACK_HOSTNAME=$${COREOS_OPENSTACK_HOSTNAME%.*}
140+
- export COREOS_OPENSTACK_INSTANCE_UUID=$${COREOS_OPENSTACK_INSTANCE_UUID}
136141
- envsubst < /etc/kubeadm.yml > /etc/kubeadm.yml.tmp
137142
- mv /etc/kubeadm.yml.tmp /etc/kubeadm.yml
138143
machineTemplate:

0 commit comments

Comments
 (0)