Skip to content

Commit 74d7dde

Browse files
committed
Allow resource group name to be configurable for amcp template
1 parent 392f7d6 commit 74d7dde

6 files changed

+35
-27
lines changed

api/v1beta1/azuremanagedcontrolplane_types.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -139,10 +139,6 @@ const (
139139
type AzureManagedControlPlaneSpec struct {
140140
AzureManagedControlPlaneClassSpec `json:",inline"`
141141

142-
// ResourceGroupName is the name of the Azure resource group for this AKS Cluster.
143-
// Immutable.
144-
ResourceGroupName string `json:"resourceGroupName"`
145-
146142
// NodeResourceGroupName is the name of the resource group
147143
// containing cluster IaaS resources. Will be populated to default
148144
// in webhook.

api/v1beta1/azuremanagedcontrolplane_webhook_test.go

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -55,18 +55,18 @@ func TestDefaultingWebhook(t *testing.T) {
5555
},
5656
},
5757
},
58-
ResourceGroupName: "fooRg",
59-
SSHPublicKey: ptr.To(""),
58+
SSHPublicKey: ptr.To(""),
6059
},
6160
}
6261
mcpw := &azureManagedControlPlaneWebhook{}
6362
err := mcpw.Default(context.Background(), amcp)
6463
g.Expect(err).NotTo(HaveOccurred())
64+
g.Expect(amcp.Spec.ResourceGroupName).To(Equal("fooCluster"))
6565
g.Expect(amcp.Spec.NetworkPlugin).To(Equal(ptr.To(AzureNetworkPluginName)))
6666
g.Expect(amcp.Spec.LoadBalancerSKU).To(Equal(ptr.To("Standard")))
6767
g.Expect(amcp.Spec.Version).To(Equal("v1.17.5"))
6868
g.Expect(*amcp.Spec.SSHPublicKey).NotTo(BeEmpty())
69-
g.Expect(amcp.Spec.NodeResourceGroupName).To(Equal("MC_fooRg_fooName_fooLocation"))
69+
g.Expect(amcp.Spec.NodeResourceGroupName).To(Equal("MC_fooCluster_fooName_fooLocation"))
7070
g.Expect(amcp.Spec.VirtualNetwork.Name).To(Equal("fooName"))
7171
g.Expect(amcp.Spec.VirtualNetwork.CIDRBlock).To(Equal(defaultAKSVnetCIDR))
7272
g.Expect(amcp.Spec.VirtualNetwork.Subnet.Name).To(Equal("fooName"))
@@ -87,6 +87,7 @@ func TestDefaultingWebhook(t *testing.T) {
8787
amcp.Spec.NetworkPolicy = &netPol
8888
amcp.Spec.Version = "9.99.99"
8989
amcp.Spec.SSHPublicKey = nil
90+
amcp.Spec.ResourceGroupName = "fooRg"
9091
amcp.Spec.NodeResourceGroupName = "fooNodeRg"
9192
amcp.Spec.VirtualNetwork.Name = "fooVnetName"
9293
amcp.Spec.VirtualNetwork.Subnet.Name = "fooSubnetName"
@@ -116,6 +117,7 @@ func TestDefaultingWebhook(t *testing.T) {
116117
g.Expect(*amcp.Spec.NetworkPolicy).To(Equal(netPol))
117118
g.Expect(amcp.Spec.Version).To(Equal("v9.99.99"))
118119
g.Expect(amcp.Spec.SSHPublicKey).To(BeNil())
120+
g.Expect(amcp.Spec.ResourceGroupName).To(Equal("fooRg"))
119121
g.Expect(amcp.Spec.NodeResourceGroupName).To(Equal("fooNodeRg"))
120122
g.Expect(amcp.Spec.VirtualNetwork.Name).To(Equal("fooVnetName"))
121123
g.Expect(amcp.Spec.VirtualNetwork.Subnet.Name).To(Equal("fooSubnetName"))
@@ -142,6 +144,7 @@ func TestDefaultingWebhook(t *testing.T) {
142144
},
143145
Spec: AzureManagedControlPlaneSpec{
144146
AzureManagedControlPlaneClassSpec: AzureManagedControlPlaneClassSpec{
147+
ResourceGroupName: "fooRg",
145148
Location: "fooLocation",
146149
Version: "1.17.5",
147150
NetworkPluginMode: ptr.To(NetworkPluginModeOverlay),
@@ -160,8 +163,7 @@ func TestDefaultingWebhook(t *testing.T) {
160163
},
161164
},
162165
},
163-
ResourceGroupName: "fooRg",
164-
SSHPublicKey: ptr.To(""),
166+
SSHPublicKey: ptr.To(""),
165167
},
166168
}
167169
err = mcpw.Default(context.Background(), amcp)
@@ -1991,19 +1993,19 @@ func TestAzureManagedControlPlane_ValidateUpdate(t *testing.T) {
19911993
oldAMCP: &AzureManagedControlPlane{
19921994
Spec: AzureManagedControlPlaneSpec{
19931995
AzureManagedControlPlaneClassSpec: AzureManagedControlPlaneClassSpec{
1994-
DNSServiceIP: ptr.To("192.168.0.10"),
1995-
Version: "v1.18.0",
1996+
DNSServiceIP: ptr.To("192.168.0.10"),
1997+
Version: "v1.18.0",
1998+
ResourceGroupName: "hello-1",
19961999
},
1997-
ResourceGroupName: "hello-1",
19982000
},
19992001
},
20002002
amcp: &AzureManagedControlPlane{
20012003
Spec: AzureManagedControlPlaneSpec{
20022004
AzureManagedControlPlaneClassSpec: AzureManagedControlPlaneClassSpec{
2003-
DNSServiceIP: ptr.To("192.168.0.10"),
2004-
Version: "v1.18.0",
2005+
DNSServiceIP: ptr.To("192.168.0.10"),
2006+
Version: "v1.18.0",
2007+
ResourceGroupName: "hello-2",
20052008
},
2006-
ResourceGroupName: "hello-2",
20072009
},
20082010
},
20092011
wantErr: true,
@@ -4054,8 +4056,8 @@ func TestValidateAMCPVirtualNetwork(t *testing.T) {
40544056
},
40554057
},
40564058
Spec: AzureManagedControlPlaneSpec{
4057-
ResourceGroupName: "rg1",
40584059
AzureManagedControlPlaneClassSpec: AzureManagedControlPlaneClassSpec{
4060+
ResourceGroupName: "rg1",
40594061
VirtualNetwork: ManagedControlPlaneVirtualNetwork{
40604062
ResourceGroup: "rg1",
40614063
Name: "vnet1",
@@ -4082,8 +4084,8 @@ func TestValidateAMCPVirtualNetwork(t *testing.T) {
40824084
},
40834085
},
40844086
Spec: AzureManagedControlPlaneSpec{
4085-
ResourceGroupName: "rg1",
40864087
AzureManagedControlPlaneClassSpec: AzureManagedControlPlaneClassSpec{
4088+
ResourceGroupName: "rg1",
40874089
VirtualNetwork: ManagedControlPlaneVirtualNetwork{
40884090
ResourceGroup: "rg2",
40894091
Name: "vnet1",
@@ -4110,8 +4112,8 @@ func TestValidateAMCPVirtualNetwork(t *testing.T) {
41104112
},
41114113
},
41124114
Spec: AzureManagedControlPlaneSpec{
4113-
ResourceGroupName: "rg1",
41144115
AzureManagedControlPlaneClassSpec: AzureManagedControlPlaneClassSpec{
4116+
ResourceGroupName: "rg1",
41154117
VirtualNetwork: ManagedControlPlaneVirtualNetwork{
41164118
ResourceGroup: "rg2",
41174119
Name: "vnet1",
@@ -4138,8 +4140,8 @@ func TestValidateAMCPVirtualNetwork(t *testing.T) {
41384140
},
41394141
},
41404142
Spec: AzureManagedControlPlaneSpec{
4141-
ResourceGroupName: "rg1",
41424143
AzureManagedControlPlaneClassSpec: AzureManagedControlPlaneClassSpec{
4144+
ResourceGroupName: "rg1",
41434145
VirtualNetwork: ManagedControlPlaneVirtualNetwork{
41444146
ResourceGroup: "rg2",
41454147
Name: "vnet1",
@@ -4165,8 +4167,8 @@ func TestValidateAMCPVirtualNetwork(t *testing.T) {
41654167
},
41664168
},
41674169
Spec: AzureManagedControlPlaneSpec{
4168-
ResourceGroupName: "rg1",
41694170
AzureManagedControlPlaneClassSpec: AzureManagedControlPlaneClassSpec{
4171+
ResourceGroupName: "rg1",
41704172
VirtualNetwork: ManagedControlPlaneVirtualNetwork{
41714173
ResourceGroup: "rg2",
41724174
Name: "vnet1",
@@ -4192,8 +4194,8 @@ func TestValidateAMCPVirtualNetwork(t *testing.T) {
41924194
},
41934195
},
41944196
Spec: AzureManagedControlPlaneSpec{
4195-
ResourceGroupName: "rg1",
41964197
AzureManagedControlPlaneClassSpec: AzureManagedControlPlaneClassSpec{
4198+
ResourceGroupName: "rg1",
41974199
VirtualNetwork: ManagedControlPlaneVirtualNetwork{
41984200
ResourceGroup: "rg2",
41994201
Name: "vnet1",
@@ -4220,8 +4222,8 @@ func TestValidateAMCPVirtualNetwork(t *testing.T) {
42204222
},
42214223
},
42224224
Spec: AzureManagedControlPlaneSpec{
4223-
ResourceGroupName: "rg1",
42244225
AzureManagedControlPlaneClassSpec: AzureManagedControlPlaneClassSpec{
4226+
ResourceGroupName: "rg1",
42254227
VirtualNetwork: ManagedControlPlaneVirtualNetwork{
42264228
ResourceGroup: "rg2",
42274229
Name: "vnet1",

api/v1beta1/types_class.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,10 @@ type AzureManagedControlPlaneClassSpec struct {
8888
// +optional
8989
MachineTemplate *AzureManagedControlPlaneTemplateMachineTemplate `json:"machineTemplate,omitempty"`
9090

91+
// ResourceGroupName is the name of the Azure resource group for this AKS Cluster.
92+
// Immutable.
93+
ResourceGroupName string `json:"resourceGroupName"`
94+
9195
// Version defines the desired Kubernetes version.
9296
// +kubebuilder:validation:MinLength:=2
9397
Version string `json:"version"`

azure/scope/managedcontrolplane_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1638,8 +1638,8 @@ func TestManagedControlPlaneScope_GroupSpecs(t *testing.T) {
16381638
},
16391639
ControlPlane: &infrav1.AzureManagedControlPlane{
16401640
Spec: infrav1.AzureManagedControlPlaneSpec{
1641-
ResourceGroupName: "dummy-rg",
16421641
AzureManagedControlPlaneClassSpec: infrav1.AzureManagedControlPlaneClassSpec{
1642+
ResourceGroupName: "dummy-rg",
16431643
VirtualNetwork: infrav1.ManagedControlPlaneVirtualNetwork{
16441644
ResourceGroup: "different-rg",
16451645
},
@@ -1674,8 +1674,8 @@ func TestManagedControlPlaneScope_GroupSpecs(t *testing.T) {
16741674
},
16751675
ControlPlane: &infrav1.AzureManagedControlPlane{
16761676
Spec: infrav1.AzureManagedControlPlaneSpec{
1677-
ResourceGroupName: "dummy-rg",
16781677
AzureManagedControlPlaneClassSpec: infrav1.AzureManagedControlPlaneClassSpec{
1678+
ResourceGroupName: "dummy-rg",
16791679
VirtualNetwork: infrav1.ManagedControlPlaneVirtualNetwork{
16801680
ResourceGroup: "dummy-rg",
16811681
},
@@ -1704,8 +1704,8 @@ func TestManagedControlPlaneScope_GroupSpecs(t *testing.T) {
17041704
},
17051705
ControlPlane: &infrav1.AzureManagedControlPlane{
17061706
Spec: infrav1.AzureManagedControlPlaneSpec{
1707-
ResourceGroupName: "dummy-rg",
17081707
AzureManagedControlPlaneClassSpec: infrav1.AzureManagedControlPlaneClassSpec{
1708+
ResourceGroupName: "dummy-rg",
17091709
VirtualNetwork: infrav1.ManagedControlPlaneVirtualNetwork{
17101710
Name: "vnet1",
17111711
},
@@ -1734,8 +1734,8 @@ func TestManagedControlPlaneScope_GroupSpecs(t *testing.T) {
17341734
},
17351735
ControlPlane: &infrav1.AzureManagedControlPlane{
17361736
Spec: infrav1.AzureManagedControlPlaneSpec{
1737-
ResourceGroupName: "dummy-rg",
17381737
AzureManagedControlPlaneClassSpec: infrav1.AzureManagedControlPlaneClassSpec{
1738+
ResourceGroupName: "dummy-rg",
17391739
VirtualNetwork: infrav1.ManagedControlPlaneVirtualNetwork{
17401740
ResourceGroup: "my_custom_rg",
17411741
Name: "vnet1",

config/crd/bases/infrastructure.cluster.x-k8s.io_azuremanagedcontrolplanetemplates.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -615,6 +615,11 @@ spec:
615615
- userAssignedNATGateway
616616
- userDefinedRouting
617617
type: string
618+
resourceGroupName:
619+
description: |-
620+
ResourceGroupName is the name of the Azure resource group for this AKS Cluster.
621+
Immutable.
622+
type: string
618623
securityProfile:
619624
description: SecurityProfile defines the security profile
620625
for cluster.
@@ -860,6 +865,7 @@ spec:
860865
required:
861866
- identityRef
862867
- location
868+
- resourceGroupName
863869
- version
864870
type: object
865871
required:

controllers/azuremanagedcontrolplane_controller_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,8 +199,8 @@ func TestAzureManagedControlPlaneReconcilePaused(t *testing.T) {
199199
Namespace: "default",
200200
Kind: "AzureClusterIdentity",
201201
},
202+
ResourceGroupName: name,
202203
},
203-
ResourceGroupName: name,
204204
},
205205
}
206206
g.Expect(c.Create(ctx, instance)).To(Succeed())

0 commit comments

Comments
 (0)