@@ -58,9 +58,16 @@ func (c *AzureCluster) setNetworkSpecDefaults() {
5858 c .setBastionDefaults ()
5959 c .setSubnetDefaults ()
6060 c .setVnetPeeringDefaults ()
61- c .setAPIServerLBDefaults ()
61+ if c .Spec .ControlPlaneEnabled {
62+ c .setAPIServerLBDefaults ()
63+ }
6264 c .SetNodeOutboundLBDefaults ()
63- c .SetControlPlaneOutboundLBDefaults ()
65+ if c .Spec .ControlPlaneEnabled {
66+ c .SetControlPlaneOutboundLBDefaults ()
67+ }
68+ if ! c .Spec .ControlPlaneEnabled {
69+ c .Spec .NetworkSpec .APIServerLB = nil
70+ }
6471}
6572
6673func (c * AzureCluster ) setResourceGroupDefault () {
@@ -93,16 +100,18 @@ func (c *AzureCluster) setSubnetDefaults() {
93100 c .Spec .NetworkSpec .UpdateSubnet (clusterSubnet , SubnetCluster )
94101 }
95102
96- /* if there is a cp subnet set defaults
97- if no cp subnet and cluster subnet create a default cp subnet */
98- cpSubnet , errcp := c .Spec .NetworkSpec .GetSubnet (SubnetControlPlane )
99- if errcp == nil {
100- cpSubnet .setControlPlaneSubnetDefaults (c .ObjectMeta .Name )
101- c .Spec .NetworkSpec .UpdateSubnet (cpSubnet , SubnetControlPlane )
102- } else if ! clusterSubnetExists {
103- cpSubnet = SubnetSpec {SubnetClassSpec : SubnetClassSpec {Role : SubnetControlPlane }}
104- cpSubnet .setControlPlaneSubnetDefaults (c .ObjectMeta .Name )
105- c .Spec .NetworkSpec .Subnets = append (c .Spec .NetworkSpec .Subnets , cpSubnet )
103+ if c .Spec .ControlPlaneEnabled {
104+ /* if there is a cp subnet set defaults
105+ if no cp subnet and cluster subnet create a default cp subnet */
106+ cpSubnet , errcp := c .Spec .NetworkSpec .GetSubnet (SubnetControlPlane )
107+ if errcp == nil {
108+ cpSubnet .setControlPlaneSubnetDefaults (c .ObjectMeta .Name )
109+ c .Spec .NetworkSpec .UpdateSubnet (cpSubnet , SubnetControlPlane )
110+ } else if ! clusterSubnetExists {
111+ cpSubnet = SubnetSpec {SubnetClassSpec : SubnetClassSpec {Role : SubnetControlPlane }}
112+ cpSubnet .setControlPlaneSubnetDefaults (c .ObjectMeta .Name )
113+ c .Spec .NetworkSpec .Subnets = append (c .Spec .NetworkSpec .Subnets , cpSubnet )
114+ }
106115 }
107116
108117 var nodeSubnetFound bool
@@ -210,7 +219,15 @@ func (c *AzureCluster) setVnetPeeringDefaults() {
210219}
211220
212221func (c * AzureCluster ) setAPIServerLBDefaults () {
213- lb := & c .Spec .NetworkSpec .APIServerLB
222+ if c .Spec .NetworkSpec .APIServerLB == nil {
223+ lbSpec := LoadBalancerSpec {
224+ LoadBalancerClassSpec : LoadBalancerClassSpec {
225+ Type : "Public" ,
226+ },
227+ }
228+ c .Spec .NetworkSpec .APIServerLB = & lbSpec
229+ }
230+ lb := c .Spec .NetworkSpec .APIServerLB
214231
215232 lb .LoadBalancerClassSpec .setAPIServerLBDefaults ()
216233
@@ -249,7 +266,7 @@ func (c *AzureCluster) setAPIServerLBDefaults() {
249266// SetNodeOutboundLBDefaults sets the default values for the NodeOutboundLB.
250267func (c * AzureCluster ) SetNodeOutboundLBDefaults () {
251268 if c .Spec .NetworkSpec .NodeOutboundLB == nil {
252- if c .Spec .NetworkSpec .APIServerLB .Type == Internal {
269+ if ! c . Spec . ControlPlaneEnabled || c .Spec .NetworkSpec .APIServerLB .Type == Internal {
253270 return
254271 }
255272
@@ -314,7 +331,7 @@ func (c *AzureCluster) SetBackendPoolNameDefault() {
314331
315332// SetAPIServerLBBackendPoolNameDefault defaults the name of the backend pool for apiserver LB.
316333func (c * AzureCluster ) SetAPIServerLBBackendPoolNameDefault () {
317- apiServerLB := & c .Spec .NetworkSpec .APIServerLB
334+ apiServerLB := c .Spec .NetworkSpec .APIServerLB
318335 if apiServerLB .BackendPool .Name == "" {
319336 apiServerLB .BackendPool .Name = generateBackendAddressPoolName (apiServerLB .Name )
320337 }
0 commit comments