Skip to content

Conversation

@Kanchan-Microsoft
Copy link
Contributor

Purpose

This pull request introduces significant improvements and refactoring to the Azure infrastructure deployment, focusing on modularizing networking resources, updating resource references, and enhancing documentation and workflow configuration. The most impactful changes include replacing the monolithic network module with granular modules for virtual network, Bastion host, and Jumpbox VM, updating all dependent resource references, and adding a comprehensive post-deployment guide.

Infrastructure Refactoring and Modularization:

  • Replaced the single network module in infra/main.bicep with dedicated modules for virtualNetwork, bastionHost, and jumpboxVM, improving clarity and maintainability of private networking components. All dependent modules now reference outputs from virtualNetwork instead of the old network module.

  • Updated resource group tagging to include inherited tags and deployment name, ensuring better traceability and compliance.

  • Changed the output from exposing the client ID of the managed identity to exposing the Azure Subscription ID, likely for improved post-deployment automation or documentation.

Documentation Improvements:

  • Added a new docs/AVMPostDeploymentGuide.md file providing step-by-step instructions for post-deployment actions, including cloning the repo, importing sample data, configuring authentication, and cleaning up resources.

Workflow and Script Updates:

  • Modified the Azure DevOps workflow (.github/workflows/azure-dev.yml) to only trigger on manual dispatch, not on every push to main, and added support for telemetry collection via a new environment variable.

  • Updated provisioning hooks in azure.yaml to pass the resource group name as an argument to the sample data processing script, improving automation and clarity for users.

Does this introduce a breaking change?

  • Yes
  • No

Golden Path Validation

  • I have tested the primary workflows (the "golden path") to ensure they function correctly without errors.

Deployment Validation

  • I have validated the deployment process successfully and all services are running as expected with this change.

What to Check

Verify that the following are valid

  • ...

Other Information

NirajC-Microsoft and others added 14 commits October 1, 2025 09:04
fix: Fix process_sample_data.sh
…#717)

* build: bump the backend-deps group in /src/App with 18 updates

---
updated-dependencies:
- dependency-name: azure-identity
  dependency-version: 1.23.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
- dependency-name: openai
  dependency-version: 1.98.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
- dependency-name: azure-storage-blob
  dependency-version: 12.26.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
- dependency-name: python-dotenv
  dependency-version: 1.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
- dependency-name: uvicorn
  dependency-version: 0.35.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
- dependency-name: aiohttp
  dependency-version: 3.12.15
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
- dependency-name: pymssql
  dependency-version: 2.3.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: backend-deps
- dependency-name: flake8
  dependency-version: 7.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
- dependency-name: isort
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: backend-deps
- dependency-name: pytest-asyncio
  dependency-version: 1.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: backend-deps
- dependency-name: pytest-cov
  dependency-version: 6.2.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: backend-deps
- dependency-name: azure-search-documents
  dependency-version: 11.6.0b12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: backend-deps
- dependency-name: azure-ai-projects
  dependency-version: 1.0.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: backend-deps
- dependency-name: opentelemetry-sdk
  dependency-version: 1.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
- dependency-name: opentelemetry-api
  dependency-version: 1.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
- dependency-name: opentelemetry-semantic-conventions
  dependency-version: 0.57b0
  dependency-type: direct:production
  dependency-group: backend-deps
- dependency-name: opentelemetry-instrumentation
  dependency-version: 0.57b0
  dependency-type: direct:production
  dependency-group: backend-deps
- dependency-name: azure-monitor-opentelemetry
  dependency-version: 1.6.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: backend-deps
...

Signed-off-by: dependabot[bot] <[email protected]>

* build: bump msal

Bumps the backend-deps group in /infra/scripts/fabric_scripts with 1 update: [msal](https://github.com/AzureAD/microsoft-authentication-library-for-python).


Updates `msal` from 1.31.1 to 1.33.0
- [Release notes](https://github.com/AzureAD/microsoft-authentication-library-for-python/releases)
- [Changelog](https://github.com/AzureAD/microsoft-authentication-library-for-python/blob/dev/RELEASES.md)
- [Commits](AzureAD/microsoft-authentication-library-for-python@1.31.1...1.33.0)

---
updated-dependencies:
- dependency-name: msal
  dependency-version: 1.33.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
...

Signed-off-by: dependabot[bot] <[email protected]>

* build: bump openai in /src/App in the backend-deps group

Bumps the backend-deps group in /src/App with 1 update: [openai](https://github.com/openai/openai-python).


Updates `openai` from 1.98.0 to 1.99.1
- [Release notes](https://github.com/openai/openai-python/releases)
- [Changelog](https://github.com/openai/openai-python/blob/main/CHANGELOG.md)
- [Commits](openai/openai-python@v1.98.0...v1.99.1)

---
updated-dependencies:
- dependency-name: openai
  dependency-version: 1.99.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
...

Signed-off-by: dependabot[bot] <[email protected]>

* build: bump the backend-deps group

Bumps the backend-deps group in /infra/scripts/index_scripts with 2 updates: [msal[broker]](https://github.com/AzureAD/microsoft-authentication-library-for-python) and [azure-search-documents](https://github.com/Azure/azure-sdk-for-python).


Updates `msal[broker]` from 1.31.1 to 1.33.0
- [Release notes](https://github.com/AzureAD/microsoft-authentication-library-for-python/releases)
- [Changelog](https://github.com/AzureAD/microsoft-authentication-library-for-python/blob/dev/RELEASES.md)
- [Commits](AzureAD/microsoft-authentication-library-for-python@1.31.1...1.33.0)

Updates `azure-search-documents` from 11.6.0b9 to 11.6.0b12
- [Release notes](https://github.com/Azure/azure-sdk-for-python/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/search/azure-search-documents/CHANGELOG.md)
- [Commits](Azure/azure-sdk-for-python@azure-search-documents_11.6.0b9...azure-search-documents_11.6.0b12)

---
updated-dependencies:
- dependency-name: msal[broker]
  dependency-version: 1.33.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
- dependency-name: azure-search-documents
  dependency-version: 11.6.0b12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: backend-deps
...

Signed-off-by: dependabot[bot] <[email protected]>

* build: bump the backend-deps group in /src/App with 3 updates

Bumps the backend-deps group in /src/App with 3 updates: [azure-identity](https://github.com/Azure/azure-sdk-for-python), [openai](https://github.com/openai/openai-python) and [azure-monitor-opentelemetry](https://github.com/Azure/azure-sdk-for-python).


Updates `azure-identity` from 1.23.1 to 1.24.0
- [Release notes](https://github.com/Azure/azure-sdk-for-python/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-python/blob/main/doc/esrp_release.md)
- [Commits](Azure/azure-sdk-for-python@azure-identity_1.23.1...azure-identity_1.24.0)

Updates `openai` from 1.99.1 to 1.102.0
- [Release notes](https://github.com/openai/openai-python/releases)
- [Changelog](https://github.com/openai/openai-python/blob/main/CHANGELOG.md)
- [Commits](openai/openai-python@v1.99.1...v1.102.0)

Updates `azure-monitor-opentelemetry` from 1.6.13 to 1.7.0
- [Release notes](https://github.com/Azure/azure-sdk-for-python/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-python/blob/main/doc/esrp_release.md)
- [Commits](Azure/azure-sdk-for-python@azure-monitor-opentelemetry_1.6.13...azure-monitor-opentelemetry_1.7.0)

---
updated-dependencies:
- dependency-name: azure-identity
  dependency-version: 1.24.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
- dependency-name: openai
  dependency-version: 1.102.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
- dependency-name: azure-monitor-opentelemetry
  dependency-version: 1.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
...

Signed-off-by: dependabot[bot] <[email protected]>

* build: bump the backend-deps group in /src/App with 13 updates

Bumps the backend-deps group in /src/App with 13 updates:

| Package | From | To |
| --- | --- | --- |
| [azure-identity](https://github.com/Azure/azure-sdk-for-python) | `1.24.0` | `1.25.0` |
| [openai](https://github.com/openai/openai-python) | `1.102.0` | `2.0.1` |
| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.37.0` |
| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |
| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `6.1.0` |
| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.1.0` | `1.2.0` |
| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.2.1` | `7.0.0` |
| [azure-search-documents](https://github.com/Azure/azure-sdk-for-python) | `11.6.0b12` | `11.7.0b1` |
| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.36.0` | `1.37.0` |
| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.36.0` | `1.37.0` |
| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.57b0` | `0.58b0` |
| [opentelemetry-instrumentation](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.57b0` | `0.58b0` |
| [azure-monitor-opentelemetry](https://github.com/Azure/azure-sdk-for-python) | `1.7.0` | `1.8.1` |


Updates `azure-identity` from 1.24.0 to 1.25.0
- [Release notes](https://github.com/Azure/azure-sdk-for-python/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-python/blob/main/doc/esrp_release.md)
- [Commits](Azure/azure-sdk-for-python@azure-identity_1.24.0...azure-identity_1.25.0)

Updates `openai` from 1.102.0 to 2.0.1
- [Release notes](https://github.com/openai/openai-python/releases)
- [Changelog](https://github.com/openai/openai-python/blob/main/CHANGELOG.md)
- [Commits](openai/openai-python@v1.102.0...v2.0.1)

Updates `uvicorn` from 0.35.0 to 0.37.0
- [Release notes](https://github.com/Kludex/uvicorn/releases)
- [Changelog](https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md)
- [Commits](Kludex/uvicorn@0.35.0...0.37.0)

Updates `black` from 25.1.0 to 25.9.0
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](psf/black@25.1.0...25.9.0)

Updates `isort` from 6.0.1 to 6.1.0
- [Release notes](https://github.com/PyCQA/isort/releases)
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md)
- [Commits](PyCQA/isort@6.0.1...6.1.0)

Updates `pytest-asyncio` from 1.1.0 to 1.2.0
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](pytest-dev/pytest-asyncio@v1.1.0...v1.2.0)

Updates `pytest-cov` from 6.2.1 to 7.0.0
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
- [Commits](pytest-dev/pytest-cov@v6.2.1...v7.0.0)

Updates `azure-search-documents` from 11.6.0b12 to 11.7.0b1
- [Release notes](https://github.com/Azure/azure-sdk-for-python/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/search/azure-search-documents/CHANGELOG.md)
- [Commits](Azure/azure-sdk-for-python@azure-search-documents_11.6.0b12...azure-search-documents_11.7.0b1)

Updates `opentelemetry-sdk` from 1.36.0 to 1.37.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-python@v1.36.0...v1.37.0)

Updates `opentelemetry-api` from 1.36.0 to 1.37.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-python@v1.36.0...v1.37.0)

Updates `opentelemetry-semantic-conventions` from 0.57b0 to 0.58b0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-python/commits)

Updates `opentelemetry-instrumentation` from 0.57b0 to 0.58b0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-python-contrib/commits)

Updates `azure-monitor-opentelemetry` from 1.7.0 to 1.8.1
- [Release notes](https://github.com/Azure/azure-sdk-for-python/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-python/blob/main/doc/esrp_release.md)
- [Commits](Azure/azure-sdk-for-python@azure-monitor-opentelemetry_1.7.0...azure-monitor-opentelemetry_1.8.1)

---
updated-dependencies:
- dependency-name: azure-identity
  dependency-version: 1.25.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
- dependency-name: openai
  dependency-version: 2.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: backend-deps
- dependency-name: uvicorn
  dependency-version: 0.37.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
- dependency-name: black
  dependency-version: 25.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
- dependency-name: isort
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
- dependency-name: pytest-asyncio
  dependency-version: 1.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
- dependency-name: pytest-cov
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: backend-deps
- dependency-name: azure-search-documents
  dependency-version: 11.7.0b1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
- dependency-name: opentelemetry-sdk
  dependency-version: 1.37.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
- dependency-name: opentelemetry-api
  dependency-version: 1.37.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
- dependency-name: opentelemetry-semantic-conventions
  dependency-version: 0.58b0
  dependency-type: direct:production
  dependency-group: backend-deps
- dependency-name: opentelemetry-instrumentation
  dependency-version: 0.58b0
  dependency-type: direct:production
  dependency-group: backend-deps
- dependency-name: azure-monitor-opentelemetry
  dependency-version: 1.8.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
...

Signed-off-by: dependabot[bot] <[email protected]>

* build: bump msal

Bumps the backend-deps group in /infra/scripts/fabric_scripts with 1 update: [msal](https://github.com/AzureAD/microsoft-authentication-library-for-python).


Updates `msal` from 1.33.0 to 1.34.0
- [Release notes](https://github.com/AzureAD/microsoft-authentication-library-for-python/releases)
- [Changelog](https://github.com/AzureAD/microsoft-authentication-library-for-python/blob/dev/RELEASES.md)
- [Commits](AzureAD/microsoft-authentication-library-for-python@1.33.0...1.34.0)

---
updated-dependencies:
- dependency-name: msal
  dependency-version: 1.34.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
...

Signed-off-by: dependabot[bot] <[email protected]>

* build: bump the backend-deps group

Bumps the backend-deps group in /infra/scripts/index_scripts with 2 updates: [msal[broker]](https://github.com/AzureAD/microsoft-authentication-library-for-python) and [azure-search-documents](https://github.com/Azure/azure-sdk-for-python).


Updates `msal[broker]` from 1.33.0 to 1.34.0
- [Release notes](https://github.com/AzureAD/microsoft-authentication-library-for-python/releases)
- [Changelog](https://github.com/AzureAD/microsoft-authentication-library-for-python/blob/dev/RELEASES.md)
- [Commits](AzureAD/microsoft-authentication-library-for-python@1.33.0...1.34.0)

Updates `azure-search-documents` from 11.6.0b12 to 11.7.0b1
- [Release notes](https://github.com/Azure/azure-sdk-for-python/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/search/azure-search-documents/CHANGELOG.md)
- [Commits](Azure/azure-sdk-for-python@azure-search-documents_11.6.0b12...azure-search-documents_11.7.0b1)

---
updated-dependencies:
- dependency-name: msal[broker]
  dependency-version: 1.34.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
- dependency-name: azure-search-documents
  dependency-version: 11.7.0b1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-deps
...

Signed-off-by: dependabot[bot] <[email protected]>

* updated requirement file and chat with data plugin file

* Fix body structure in create_or_update method

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
fix: Prevent removal of existing RG tags when deploying GSA
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 pull request merges changes from the dev branch to main, focusing on dependency updates, infrastructure refactoring, and improved post-deployment workflows. The changes modularize the Azure networking infrastructure by replacing a monolithic network module with separate components for virtual networks, Bastion hosts, and Jumpbox VMs, while also updating Python dependencies across multiple requirements files.

Key changes include:

  • Upgrading Python dependencies across application and script requirements files
  • Refactoring infrastructure from a single network module to separate virtualNetwork, bastionHost, and jumpboxVM modules
  • Updating the sample data processing script to fetch deployment parameters from Azure instead of command-line arguments

Reviewed Changes

Copilot reviewed 17 out of 18 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/App/requirements.txt Updates core application dependencies to newer versions
src/App/requirements-dev.txt Updates development dependencies to match main requirements
src/App/backend/plugins/chat_with_data_plugin.py Changes API parameter name from 'body' to 'index'
infra/scripts/process_sample_data.sh Refactors to fetch deployment outputs from Azure instead of using command-line arguments
infra/scripts/index_scripts/requirements.txt Updates msal and azure-search-documents versions
infra/scripts/fabric_scripts/requirements.txt Updates msal package version
infra/scripts/checkquota.sh Adds flag to track insufficient quota warnings
infra/modules/virtualNetwork.bicep New modular virtual network module with embedded subnet configurations
infra/modules/network/virtualNetwork.bicep Removed - replaced by top-level virtualNetwork module
infra/modules/network/network-resources.bicep Removed - functionality split into separate modules
infra/modules/network/jumpbox.bicep Removed - functionality moved to main.bicep
infra/modules/network/bastionHost.bicep Removed - functionality moved to main.bicep
infra/modules/network.bicep Removed - replaced by modular approach
infra/main.bicep Replaces network module with separate virtualNetwork, bastionHost, and jumpboxVM modules
docs/AVMPostDeploymentGuide.md New post-deployment guide with setup instructions
azure.yaml Updates provisioning hooks to pass resource group name to sample data script
.github/workflows/azure-dev.yml Changes workflow to manual dispatch only and adds telemetry configuration
Comments suppressed due to low confidence (1)

infra/modules/virtualNetwork.bicep:1

  • The parameter name is incorrectly indented and appears to be starting on line 397, but the formatting suggests this line should be part of the params block starting at line 396. This will cause a Bicep syntax error.
/****************************************************************************************************************************/

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

}
service: 'searchService'
subnetResourceId: network!.outputs.subnetPrivateEndpointsResourceId
subnetResourceId: virtualNetwork!.outputs.pepsSubnetResourceId
Copy link

Copilot AI Oct 28, 2025

Choose a reason for hiding this comment

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

Inconsistent indentation compared to surrounding lines. The line should be aligned with the 'service' property on line 1235.

Suggested change
subnetResourceId: virtualNetwork!.outputs.pepsSubnetResourceId
subnetResourceId: virtualNetwork!.outputs.pepsSubnetResourceId

Copilot uses AI. Check for mistakes.
Kanchan-Microsoft and others added 3 commits October 28, 2025 17:57
…mpatibility error using bash command (#720)

* version upgrade for while uploading sample data using bash getting error

* removing broker for msal version
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.

6 participants