Skip to content

Preflight reserved-word warning misfires on Microsoft.Chaos/targets (name is service-mandated) #8239

Description

@torumakabe

Summary

azd preflight emits a false-positive "contains the reserved word MICROSOFT" warning for Microsoft.Chaos/targets. The Azure Chaos Studio AKS Chaos Mesh target type must be named microsoft-azurekubernetesservicechaosmesh — this name is fixed by the service and bound one-to-one with capability URNs (urn:csci:microsoft:azureKubernetesServiceChaosMesh:*Chaos/2.2). Users cannot rename it; doing so breaks experiment execution.

Expected behavior

Add Microsoft.Chaos/targets to azureReservedResourceNameExemptTypes so the preflight warning is suppressed, similar to how Microsoft.Compute/virtualMachines/extensions (publisher-named) and Microsoft.Network/privateDnsZones (FQDN-shaped) are already exempted for the same class of reason: the name is dictated by the service, not user-chosen.

Actual behavior

Every azd up / azd provision prints:

(!) Warning: Resource "microsoft-azurekubernetesservicechaosmesh" (Microsoft.Chaos/targets) contains the reserved word "MICROSOFT"
  Azure does not allow reserved words in resource names. The deployment will fail.

ARM does not enforce the reserved-word rule on Microsoft.Chaos/targets, so deployment actually succeeds. The "The deployment will fail." message is misleading.

Reproduction

Minimal Bicep snippet under any azd-managed deployment:

resource chaosTarget ''Microsoft.Chaos/targets@2025-01-01'' = {
  name: ''microsoft-azurekubernetesservicechaosmesh''
  scope: aksCluster
  properties: {}
}

Run azd up and the warning appears, but the deployment completes successfully and the Chaos experiments work.

Source

cli/azd/pkg/infra/provisioning/bicep/bicep_provider.go:

  • azureReservedResourceNameContainsMatches = []string{"MICROSOFT", "WINDOWS"}
  • azureReservedResourceNameExemptTypes does not include Microsoft.Chaos/targets

References

Environment

  • azd version: 1.25.1 (commit b07e639, stable)
  • OS: Windows 11

Metadata

Metadata

Assignees

Labels

area/bicepBicep-specific provisioningarea/validationInput/config validationbugSomething isn't workingcustomer-reportedidentify a customer issue

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions