Automated sync from private repo (2026-04-15)#655
Merged
Conversation
) * Add OpenAPI tool and A2A connector tests for VNet-private resources Extend the 19-hybrid-private-resources-agent-setup test suite to validate OpenAPI tools and A2A (Agent-to-Agent) connectors through the Data Proxy when services run behind a private VNet. New files: - openapi-server/: Minimal FastAPI calculator service (Dockerfile + app) - tests/calculator_openapi.json: OpenAPI spec for the calculator service - tests/test_openapi_tool_agents_v2.py: Focused OpenAPI tool tests (connectivity + public/private agent tests with --retry support) - tests/test_a2a_connector_agents_v2.py: Focused A2A connector tests using A2APreviewTool from azure.ai.projects.models Updated files: - tests/test_agents_v2.py: Added Tests 6 (OpenAPI) and 7 (A2A) to full suite - tests/TESTING-GUIDE.md: Added Steps 5-6 for OpenAPI/A2A deployment + test commands - README.md: Added OpenAPI and A2A to feature list No Bicep infrastructure changes required — the existing networkInjections with scenario: 'agent' routes all tool types through the VNet universally. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix OpenAPI/A2A tests and add A2A server - Fix OpenApiTool constructor: use OpenApiFunctionDefinition wrapper - Fix deprecated 'agent' property: use 'agent_reference' in extra_body - Add A2A protocol server (FastAPI) for testing RemoteA2AConnector - Serves agent card at /.well-known/agent-card.json - Handles JSON-RPC 2.0 message/send with kind discriminator - Dynamic absolute URL in agent card from request headers - Simple calculator logic for testing - All fixes applied across test_agents_v2, test_openapi_tool_agents_v2, test_ai_search_tool_agents_v2, and test_mcp_tools_agents_v2 Test results (WestUS2): OpenAPI public: PASS (connectivity + agent tool call) OpenAPI private: FAIL (Data Proxy can't reach internal Container App) A2A public: PASS (agent card + message/send + response) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add Azure Function behind VNet example with three-scenario docs - New azure-function-server/ with calculator API that stores results in private blob storage, proving VNet Integration works (storage.stored field) - Three scenarios documented: (1) no VNet baseline, (2) VNet Integration only (DataProxy-compatible), (3) full lockdown with PE (customer code only) - Key finding: publicNetworkAccess must be Enabled for DataProxy — Disabled causes 403 Ip Forbidden because DataProxy resolves DNS at Foundry level - Storage requires three PEs: Blob + Queue + File (File often forgotten) - deploy-function.bicep with full VNet deployment including all three storage PEs - Dedicated test script with expect_storage validation - TESTING-GUIDE.md rewritten with scenario matrix, deployment order, and updated test results for MCP/OpenAPI/A2A/Function (all passing) - Added Fabric Data Agent test script (test_fabric_data_agent_v2.py) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Update infrastructure/infrastructure-setup-bicep/19-hybrid-private-resources-agent-setup/README.md Co-authored-by: Meera Kurup <meerakurup@microsoft.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Meera Kurup <meerakurup@microsoft.com>
…zuredeploy.json (#142) Align azuredeploy.json with the serialization already present in ai-project-identity.bicep. Connections now deploy sequentially: 1. CosmosDB - depends on project resource 2. Azure Storage - depends on CosmosDB connection 3. Azure Search - depends on Azure Storage connection Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
glecaros
approved these changes
Apr 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was automatically generated by the repo sync workflow.
Review carefully before merging. Verify no internal content was included.
Triggered by:
scheduleRun: https://github.com/microsoft-foundry/foundry-samples-pr/actions/runs/24440274059