Commit 6004002
Automated sync from private repo (2026-04-15) (#655)
* Add OpenAPI tool and A2A connector tests for VNet-private resources (#94)
* 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>
* Serialize project connections in 18-managed-virtual-network-preview azuredeploy.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>
* Update sync state to e448696a5a61
---------
Co-authored-by: djetchev <dimitar.jetchev@iohk.io>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Meera Kurup <meerakurup@microsoft.com>
Co-authored-by: Dchillakuru <167816084+Dchillakuru@users.noreply.github.com>
Co-authored-by: foundry-samples-repo-sync[bot] <foundry-samples-repo-sync[bot]@users.noreply.github.com>1 parent ac7b9a3 commit 6004002
File tree
25 files changed
+4108
-27
lines changed- .github
- infrastructure/infrastructure-setup-bicep
- 18-managed-virtual-network-preview
- 19-hybrid-private-resources-agent-setup
- a2a-server
- azure-function-server
- openapi-server
- tests
25 files changed
+4108
-27
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2094 | 2094 | | |
2095 | 2095 | | |
2096 | 2096 | | |
2097 | | - | |
| 2097 | + | |
2098 | 2098 | | |
2099 | 2099 | | |
2100 | 2100 | | |
| |||
2112 | 2112 | | |
2113 | 2113 | | |
2114 | 2114 | | |
2115 | | - | |
| 2115 | + | |
2116 | 2116 | | |
2117 | 2117 | | |
2118 | 2118 | | |
| |||
Lines changed: 3 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
88 | 91 | | |
89 | 92 | | |
90 | 93 | | |
| |||
Lines changed: 12 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
Lines changed: 230 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
0 commit comments