@@ -166,12 +166,12 @@ func (r *MetalStackClusterReconciler) SetupWithManager(mgr ctrl.Manager) error {
166166}
167167
168168func (r * clusterReconciler ) reconcile () error {
169- nodeCIDR , err := r .ensureNodeNetwork ()
169+ nodeNetworkID , err := r .ensureNodeNetwork ()
170170 if err != nil {
171171 return fmt .Errorf ("unable to ensure node network: %w" , err )
172172 }
173173
174- r .log .Info ("reconciled node network" , "cidr " , nodeCIDR )
174+ r .log .Info ("reconciled node network" , "network-id " , nodeNetworkID )
175175
176176 ip , err := r .ensureControlPlaneIP ()
177177 if err != nil {
@@ -197,7 +197,7 @@ func (r *clusterReconciler) reconcile() error {
197197 return fmt .Errorf ("failed to update infra cluster control plane endpoint: %w" , err )
198198 }
199199
200- fwdeploy , err := r .ensureFirewallDeployment (nodeCIDR )
200+ fwdeploy , err := r .ensureFirewallDeployment (nodeNetworkID )
201201 if err != nil {
202202 return fmt .Errorf ("unable to ensure firewall deployment: %w" , err )
203203 }
@@ -259,15 +259,15 @@ func (r *clusterReconciler) ensureNodeNetwork() (string, error) {
259259 return "" , fmt .Errorf ("error creating node network: %w" , err )
260260 }
261261
262- return resp .Payload .Prefixes [ 0 ] , nil
262+ return * resp .Payload .ID , nil
263263 case 1 :
264264 nw := nws [0 ]
265265
266266 if len (nw .Prefixes ) == 0 {
267267 return "" , errors .New ("node network exists but the prefix is gone" )
268268 }
269269
270- return nw .Prefixes [ 0 ] , nil
270+ return * nw .ID , nil
271271 default :
272272 return "" , fmt .Errorf ("more than a single node network exists for this cluster, operator investigation is required" )
273273 }
@@ -399,7 +399,7 @@ func (r *clusterReconciler) findControlPlaneIP() ([]*models.V1IPResponse, error)
399399 return resp .Payload , nil
400400}
401401
402- func (r * clusterReconciler ) ensureFirewallDeployment (nodeCIDR string ) (* fcmv2.FirewallDeployment , error ) {
402+ func (r * clusterReconciler ) ensureFirewallDeployment (nodeNetworkID string ) (* fcmv2.FirewallDeployment , error ) {
403403 deploy := & fcmv2.FirewallDeployment {
404404 ObjectMeta : metav1.ObjectMeta {
405405 Name : r .infraCluster .Name ,
@@ -440,7 +440,7 @@ func (r *clusterReconciler) ensureFirewallDeployment(nodeCIDR string) (*fcmv2.Fi
440440
441441 deploy .Spec .Template .Spec .Size = r .infraCluster .Spec .Firewall .Size
442442 deploy .Spec .Template .Spec .Image = r .infraCluster .Spec .Firewall .Image
443- deploy .Spec .Template .Spec .Networks = append (r .infraCluster .Spec .Firewall .AdditionalNetworks , nodeCIDR )
443+ deploy .Spec .Template .Spec .Networks = append (r .infraCluster .Spec .Firewall .AdditionalNetworks , nodeNetworkID )
444444 deploy .Spec .Template .Spec .RateLimits = r .infraCluster .Spec .Firewall .RateLimits
445445 deploy .Spec .Template .Spec .EgressRules = r .infraCluster .Spec .Firewall .EgressRules
446446 deploy .Spec .Template .Spec .LogAcceptedConnections = ptr .Deref (r .infraCluster .Spec .Firewall .LogAcceptedConnections , false )
@@ -452,6 +452,10 @@ func (r *clusterReconciler) ensureFirewallDeployment(nodeCIDR string) (*fcmv2.Fi
452452 deploy .Spec .Template .Spec .NftablesExporterVersion = ""
453453 deploy .Spec .Template .Spec .NftablesExporterURL = ""
454454
455+ // TODO: we need to allow internet connection for the nodes before the firewall-controller can connect to the control-plane
456+ // the FCM currently does not support this
457+ deploy .Spec .Template .Spec .Userdata = ""
458+
455459 // TODO: do we need to generate ssh keys for the machines and the firewall in this controller?
456460 deploy .Spec .Template .Spec .SSHPublicKeys = nil
457461
0 commit comments