Problem
Container Apps is the most common deployment target for ARM failures, and ContainerAppOperationError is a high-volume inner error code with no specific handling in azd. These errors are lumped into the generic service.arm.deployment.failed bucket with no Container Apps-specific guidance, retry logic, or error classification.
Telemetry Data
From Kusto analysis of service.arm.deployment.failed (source: ddazureclients.kusto.windows.net / DevCli / RawEventsAppRequests, March 1-23, 2026):
Container Apps is the #1 service host for ARM failures:
| Service Host |
ARM Failures |
Share of All ARM Failures |
| containerapp (single service) |
3,499 |
31.8% |
| containerapp (multi-service) |
1,071 |
9.7% |
| function |
1,381 |
12.6% |
| appservice |
1,105 |
10.1% |
Combined, Container Apps targets account for 41.5% of all ARM deployment failures.
ContainerAppOperationError is the #3 inner error code:
| Inner Error Code |
Count |
Share |
| InvalidTemplateDeployment |
2,252 |
25.4% |
| BadRequest |
1,716 |
19.4% |
| ContainerAppOperationError |
906 |
10.2% |
| RoleAssignmentExists |
351 |
4.0% |
| InvalidResourceGroupLocation |
350 |
3.9% |
Failure context:
- 906
ContainerAppOperationError failures in March (23 days), projected ~1,200/month
- Average wait before failure: 5.3 minutes across all ARM failures
- Affects Python (21.6%), .NET (16.7%), and JavaScript (11.9%) projects roughly equally
- Failures include revision management, networking configuration, and scaling issues that have different recovery paths than generic ARM errors
Proposed Fix
-
Add ContainerAppOperationError as a recognized error pattern in error_suggestions.yaml with Container Apps-specific guidance (check revision status, validate container image, verify networking config).
-
Consider adding Container Apps-specific sub-classification in MapError() to distinguish between:
- Revision deployment failures (image pull, startup crash)
- Networking/ingress configuration errors
- Scaling configuration errors
- Resource limit/quota errors
-
For the Conflict errors targeting Container Apps (2,453 in March), investigate whether these are caused by concurrent revision updates or stale resource state. If so, a retry with backoff on Container Apps Conflict errors could resolve a significant portion automatically.
Full ARM Error Breakdown
For context, the complete service.arm.deployment.failed picture for March 2026:
- 11,627 total ARM deployment failures across 3,296 machines
- 67.2% are
Conflict errors (7,478)
- 14.4% are
BadRequest errors (1,602)
- Users wait an average of 5.3 min (median 2.4 min, P90 12.2 min, P99 37.1 min)
- Container Apps is the single most affected service, followed by Functions and App Service
Related issues: #7248 (DeploymentActive handling), #7115 (never abort on validation errors), #7119 (location validation)
Related PRs: #7179 (preflight policy check), #7247 (Docker missing suggestion)
Problem
Container Apps is the most common deployment target for ARM failures, and
ContainerAppOperationErroris a high-volume inner error code with no specific handling in azd. These errors are lumped into the genericservice.arm.deployment.failedbucket with no Container Apps-specific guidance, retry logic, or error classification.Telemetry Data
From Kusto analysis of
service.arm.deployment.failed(source:ddazureclients.kusto.windows.net/DevCli/RawEventsAppRequests, March 1-23, 2026):Container Apps is the #1 service host for ARM failures:
Combined, Container Apps targets account for 41.5% of all ARM deployment failures.
ContainerAppOperationErroris the #3 inner error code:Failure context:
ContainerAppOperationErrorfailures in March (23 days), projected ~1,200/monthProposed Fix
Add
ContainerAppOperationErroras a recognized error pattern inerror_suggestions.yamlwith Container Apps-specific guidance (check revision status, validate container image, verify networking config).Consider adding Container Apps-specific sub-classification in
MapError()to distinguish between:For the
Conflicterrors targeting Container Apps (2,453 in March), investigate whether these are caused by concurrent revision updates or stale resource state. If so, a retry with backoff on Container Apps Conflict errors could resolve a significant portion automatically.Full ARM Error Breakdown
For context, the complete
service.arm.deployment.failedpicture for March 2026:Conflicterrors (7,478)BadRequesterrors (1,602)Related issues: #7248 (DeploymentActive handling), #7115 (never abort on validation errors), #7119 (location validation)
Related PRs: #7179 (preflight policy check), #7247 (Docker missing suggestion)