Skip to content

Commit c5581b8

Browse files
committed
[main] Added logic to attach vnetsubnetid to nodepool
Signed-off-by: swastik959 <[email protected]>
1 parent 0eda446 commit c5581b8

File tree

3 files changed

+18
-5
lines changed

3 files changed

+18
-5
lines changed

controller/aks-cluster-config-handler.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -982,7 +982,7 @@ func (h *Handler) updateUpstreamClusterState(ctx context.Context, config *aksv1.
982982
if config.Status.Phase != aksConfigUpdatingPhase {
983983
return h.enqueueUpdate(config)
984984
}
985-
err = aks.CreateOrUpdateAgentPool(ctx, h.azureClients.agentPoolsClient, &config.Spec, np)
985+
err = aks.CreateOrUpdateAgentPool(ctx, &h.azureClients.credentials, h.azureClients.agentPoolsClient, &config.Spec, np)
986986
if err != nil {
987987
return config, fmt.Errorf("failed to update cluster [%s (id: %s)]: %v", config.Spec.ClusterName, config.Name, err)
988988
}

pkg/aks/create.go

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ func createManagedCluster(ctx context.Context, cred *Credentials, workplacesClie
308308

309309
// CreateOrUpdateAgentPool creates a new pool(s) in AKS. If one already exists it updates the upstream node pool with
310310
// any provided updates.
311-
func CreateOrUpdateAgentPool(ctx context.Context, agentPoolClient services.AgentPoolsClientInterface, spec *aksv1.AKSClusterConfigSpec, np *aksv1.AKSNodePool) error {
311+
func CreateOrUpdateAgentPool(ctx context.Context, cred *Credentials, agentPoolClient services.AgentPoolsClientInterface, spec *aksv1.AKSClusterConfigSpec, np *aksv1.AKSNodePool) error {
312312
if np.AvailabilityZones != nil && len(*np.AvailabilityZones) > 0 && !CheckAvailabilityZonesSupport(spec.ResourceLocation) {
313313
return fmt.Errorf("availability zones are not supported in region %s", spec.ResourceLocation)
314314
}
@@ -330,6 +330,19 @@ func CreateOrUpdateAgentPool(ctx context.Context, agentPoolClient services.Agent
330330
NodeLabels: np.NodeLabels,
331331
NodeTaints: utils.ConvertToSliceOfPointers(np.NodeTaints),
332332
}
333+
if hasCustomVirtualNetwork(spec) {
334+
virtualNetworkResourceGroup := spec.ResourceGroup
335+
if String(spec.VirtualNetworkResourceGroup) != "" {
336+
virtualNetworkResourceGroup = String(spec.VirtualNetworkResourceGroup)
337+
}
338+
agentProfile.VnetSubnetID = to.Ptr(fmt.Sprintf(
339+
"/subscriptions/%s/resourceGroups/%s/providers/Microsoft.Network/virtualNetworks/%s/subnets/%s",
340+
cred.SubscriptionID,
341+
virtualNetworkResourceGroup,
342+
String(spec.VirtualNetwork),
343+
String(spec.Subnet),
344+
))
345+
}
333346

334347
if np.MaxSurge != nil {
335348
agentProfile.UpgradeSettings = &armcontainerservice.AgentPoolUpgradeSettings{

pkg/aks/create_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -542,20 +542,20 @@ var _ = Describe("CreateOrUpdateAgentPool", func() {
542542
},
543543
},
544544
}).Return(&runtime.Poller[armcontainerservice.AgentPoolsClientCreateOrUpdateResponse]{}, nil)
545-
Expect(CreateOrUpdateAgentPool(ctx, agentPoolClientMock, clusterSpec, nodePoolSpec)).To(Succeed())
545+
Expect(CreateOrUpdateAgentPool(ctx, &Credentials{}, agentPoolClientMock, clusterSpec, nodePoolSpec)).To(Succeed())
546546
})
547547

548548
It("should fail if agentPoolClient.CreateOrUpdate returns error", func() {
549549
agentPoolClientMock.EXPECT().BeginCreateOrUpdate(
550550
ctx, clusterSpec.ResourceGroup, clusterSpec.ClusterName, String(nodePoolSpec.Name), gomock.Any()).
551551
Return(&runtime.Poller[armcontainerservice.AgentPoolsClientCreateOrUpdateResponse]{}, errors.New("test-error"))
552552

553-
Expect(CreateOrUpdateAgentPool(ctx, agentPoolClientMock, clusterSpec, nodePoolSpec)).ToNot(Succeed())
553+
Expect(CreateOrUpdateAgentPool(ctx, &Credentials{}, agentPoolClientMock, clusterSpec, nodePoolSpec)).ToNot(Succeed())
554554
})
555555

556556
It("should fail for region without avaibility zones", func() {
557557
clusterSpec.ResourceLocation = "westus"
558-
Expect(CreateOrUpdateAgentPool(ctx, agentPoolClientMock, clusterSpec, nodePoolSpec)).ToNot(Succeed())
558+
Expect(CreateOrUpdateAgentPool(ctx, &Credentials{}, agentPoolClientMock, clusterSpec, nodePoolSpec)).ToNot(Succeed())
559559
})
560560
})
561561

0 commit comments

Comments
 (0)