Skip to content

[BUG] DevOpsInfrastructure Pools API returns parallelism as 0 instead of dynamically computed value when omitted #40986

@QixiaLu

Description

@QixiaLu

API Spec link

https://github.com/Azure/azure-rest-api-specs/tree/main/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure

API Spec version

2025-01-21

Describe the bug

The Organization.parallelism property is documented as optional in the API spec. According to the service team, when parallelism is omitted from the request, the backend should compute a value dynamically. However, the API consistently returns parallelism: 0 in the response instead of a computed value.

This occurs for both:

  • Pools with multiple organizations where parallelism is omitted
  • Pools with a single organization where parallelism is omitted

Expected behavior

When parallelism is omitted from the PUT request body, the API response should return a dynamically computed parallelism value (e.g., maximumConcurrency divided evenly across organizations, or some other computed default), reflecting the actual concurrency allocated to each organization.

Actual behavior

When parallelism is omitted from the PUT request, the API response always returns "parallelism": 0 for each organization, regardless of the maximumConcurrency value.

Example PUT request body (parallelism omitted):

{
  "properties": {
    "maximumConcurrency": 2,
    "organizationProfile": {
      "kind": "AzureDevOps",
      "organizations": [
        {"projects": [], "url": "https://dev.azure.com/org-1"},
        {"projects": [], "url": "https://dev.azure.com/org-2"}
      ]
    }
  }
}

API responses:

"organizations": [
  {"url": "https://dev.azure.com/org-1", "projects": [], "parallelism": 0, "openAccess": false},
  {"url": "https://dev.azure.com/org-2", "projects": [], "parallelism": 0, "openAccess": false}
]

Reproduction Steps

  • Create a Managed DevOps Pool via PUT /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.DevOpsInfrastructure/pools/{poolName}?api-version=2025-01-21
  • In the request body, include one or more organizations under organizationProfile.organizations without the parallelism field
  • Set maximumConcurrency to a value > 0 (e.g., 2)
  • Observe the response: parallelism is 0 for all organizations instead of a dynamically computed value
  • Perform a subsequent GET on the same pool — parallelism remains 0

Environment

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugThis issue requires a change to an existing behavior in the product in order to be resolved.customer-reportedIssues that are reported by GitHub users external to the Azure organization.questionThe issue doesn't require a change to the product in order to be resolved. Most issues start as that

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions