Skip to content

Conversation

@sivakami-projects
Copy link
Contributor

@sivakami-projects sivakami-projects commented Oct 23, 2025

test:
This PR introduces a new Azure DevOps pipeline for running long-term tests on AKS Swift v2 clusters.
The pipeline automates the creation of AKS clusters and the necessary networking infrastructure.
Pipeline link

Create 2 AKS clusters and attaches node pool with 2 nodes with 8 NICs on each node. All are AKS managed Linux nodes.
Creates 4 VNets and subnets.
Peers three of the four VNets.
Creates 2 storage accounts with private endpoints.
Adds NSG rules to prevent network connectivity between pods on two subnets in the same Vnet.
Initial PR - #4092

Creates a parameterized pipeline template that orchestrates AKS cluster creation and networking setup
Implements bash scripts to provision two AKS clusters, virtual networks, network peerings, storage accounts, and network security groups
Configures parallel execution for AKS cluster creation to optimize deployment time

@sivakami-projects sivakami-projects requested a review from a team as a code owner October 23, 2025 19:39
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a new Azure DevOps pipeline infrastructure for long-running tests on AKS Swift v2 clusters. The pipeline automates the provisioning of dual AKS clusters with custom networking configurations including VNet peering, private endpoints, and network security groups.

Key changes:

  • Parameterized pipeline template with sequential job dependencies for infrastructure provisioning
  • Six bash scripts for creating resource groups, AKS clusters, VNets, peerings, storage accounts, NSGs, and private endpoints
  • Parallel AKS cluster creation to optimize deployment time

Reviewed Changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
.pipelines/swiftv2-long-running/template/long-running-pipeline-template.yaml Defines the pipeline template with three jobs: resource group creation, parallel AKS cluster provisioning, and networking/storage setup
.pipelines/swiftv2-long-running/scripts/create_vnets.sh Creates four VNets with multiple subnets using predefined CIDR ranges
.pipelines/swiftv2-long-running/scripts/create_storage.sh Provisions two storage accounts with security configurations and exports their names as pipeline variables
.pipelines/swiftv2-long-running/scripts/create_peerings.sh Establishes bidirectional VNet peerings between three of the four VNets
.pipelines/swiftv2-long-running/scripts/create_pe.sh Creates private DNS zone, links it to VNets, and provisions private endpoint for storage account
.pipelines/swiftv2-long-running/scripts/create_nsg.sh Creates NSG with bidirectional deny rules between two subnets in the same VNet
.pipelines/swiftv2-long-running/scripts/create_aks.sh Creates two AKS clusters in parallel, each with a default node pool and a high-NIC node pool
.pipelines/swiftv2-long-running/pipeline.yaml Main pipeline configuration with parameters for subscription, location, resource group, and VM SKUs

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@sivakami-projects
Copy link
Contributor Author

/azp run Azure Container Networking PR

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@sivakami-projects
Copy link
Contributor Author

/azp run Azure Container Networking PR

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Contributor

@pjohnst5 pjohnst5 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🚀

@paulyufan2
Copy link
Contributor

/azp run Azure Container Networking PR

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@sivakami-projects sivakami-projects added this pull request to the merge queue Oct 31, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Nov 1, 2025
@sivakami-projects sivakami-projects added this pull request to the merge queue Nov 2, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Nov 2, 2025
@paulyufan2 paulyufan2 added this pull request to the merge queue Nov 2, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Nov 3, 2025
@paulyufan2 paulyufan2 added this pull request to the merge queue Nov 3, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Nov 4, 2025
@paulyufan2 paulyufan2 added this pull request to the merge queue Nov 4, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Nov 4, 2025
@sivakami-projects sivakami-projects added this pull request to the merge queue Nov 4, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Nov 4, 2025
@sivakami-projects
Copy link
Contributor Author

/azp run Azure Container Networking PR

@sivakami-projects sivakami-projects added this pull request to the merge queue Nov 5, 2025
@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

github-merge-queue bot pushed a commit that referenced this pull request Nov 5, 2025
* init swiftv2 pipeline for persistent tests on aks clusters.

* Set default params.

* Update pipeline.yaml for Azure Pipelines

* long running pipeline infra setup.

* Set depedencies for pipeline jobs.

* template for long running cluster.

* set template.

* set dependency for jobs.

* Change job name.

* Set job scripts.

* set pipeline scripts with permissions.

* set script path.

* set template params.

* Set pipeline template for long running clusters.

* test change.

* set params.

* set params in pipeline scripts.

* set cx vnet name.

* Create clusters parallely

* create NSG.

* Change dependency for creating nsg.

* Update .pipelines/swiftv2-long-running/scripts/create_peerings.sh

Co-authored-by: Copilot <[email protected]>
Signed-off-by: sivakami-projects <[email protected]>

* Update .pipelines/swiftv2-long-running/scripts/create_nsg.sh

Co-authored-by: Copilot <[email protected]>
Signed-off-by: sivakami-projects <[email protected]>

* Add success/error message for each resource creation.

* Remove unused argument from template.

* Rename subnets. Changed NSG rules to prevent network connectivity between vnet 1 subnet 1 and vnet 1 subnet2.

* Private endpoints.

* Change pipeline template.

* Set output variables.

* private endpoint.

* update private endpoint.

* create storage account.

* disallow shared key access.

* change pipeline template.

* Removed unused param.

* Link private endpoint dns to vnet a2 and vnet a3.

* attach nsg rule to subnets.

* Link nsg with subnet.

* Private endpoint fix - long running pipeline.

* Verify each resource creation - long running cluster test pipeline.

* verify storage account creation.

* use make tragets to create aks clusters.

* misc.

* set aks custom headers.

* Use aks common field in swiftv2-podsubnet-cluster creation.

---------

Signed-off-by: sivakami-projects <[email protected]>
Co-authored-by: sivakami <[email protected]>
Co-authored-by: Copilot <[email protected]>
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Nov 5, 2025
@sivakami-projects sivakami-projects added this pull request to the merge queue Nov 5, 2025
Merged via the queue into master with commit 2aa70b3 Nov 5, 2025
12 of 13 checks passed
@sivakami-projects sivakami-projects deleted the swiftv2-pipeline-branch branch November 5, 2025 22:43
sivakami-projects added a commit that referenced this pull request Nov 9, 2025
* init swiftv2 pipeline for persistent tests on aks clusters.

* Set default params.

* Update pipeline.yaml for Azure Pipelines

* long running pipeline infra setup.

* Set depedencies for pipeline jobs.

* template for long running cluster.

* set template.

* set dependency for jobs.

* Change job name.

* Set job scripts.

* set pipeline scripts with permissions.

* set script path.

* set template params.

* Set pipeline template for long running clusters.

* test change.

* set params.

* set params in pipeline scripts.

* set cx vnet name.

* Create clusters parallely

* create NSG.

* Change dependency for creating nsg.

* Update .pipelines/swiftv2-long-running/scripts/create_peerings.sh

Co-authored-by: Copilot <[email protected]>
Signed-off-by: sivakami-projects <[email protected]>

* Update .pipelines/swiftv2-long-running/scripts/create_nsg.sh

Co-authored-by: Copilot <[email protected]>
Signed-off-by: sivakami-projects <[email protected]>

* Add success/error message for each resource creation.

* Remove unused argument from template.

* Rename subnets. Changed NSG rules to prevent network connectivity between vnet 1 subnet 1 and vnet 1 subnet2.

* Private endpoints.

* Change pipeline template.

* Set output variables.

* private endpoint.

* update private endpoint.

* create storage account.

* disallow shared key access.

* change pipeline template.

* Removed unused param.

* Link private endpoint dns to vnet a2 and vnet a3.

* attach nsg rule to subnets.

* Link nsg with subnet.

* Private endpoint fix - long running pipeline.

* Verify each resource creation - long running cluster test pipeline.

* verify storage account creation.

* use make tragets to create aks clusters.

* misc.

* set aks custom headers.

* Use aks common field in swiftv2-podsubnet-cluster creation.

---------

Signed-off-by: sivakami-projects <[email protected]>
Co-authored-by: sivakami <[email protected]>
Co-authored-by: Copilot <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants