Skip to content

Commit d54979f

Browse files
authored
Merge pull request #4611 from rpahli/external-control-plane
enable the use of an external control plane
2 parents 3e827a3 + 9698685 commit d54979f

15 files changed

+413
-179
lines changed

api/v1beta1/azurecluster_default.go

Lines changed: 32 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -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

6673
func (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

212221
func (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.
250267
func (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.
316333
func (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

Comments
 (0)