Error “(NoRegisteredProviderFound) No registered resource provider found for location ‘global’ and API version ‘2023-07-01-preview’ for type ‘dnszones’. “

La semana pasada me encontré con el siguiente error al intentar ejecutar el upload de un DNS Zone file en una Azure DNS Zone a través del Módulo Az. Esto sucedió tanto en Cloud Shell como en PowerShell:

Code: NoRegisteredProviderFound
Message: No registered resource provider found for location {location}
and API version {api-version} for type {resource-type}.

En primera instancia, debemos asegurarnos que el provider que estamos utilizando este registrado. En este caso para dnszones, el provider es Network.

  • az provider list –output table
  • az provider show –namespace Microsoft.network –output table
  • az provider show –namespace Microsoft.Network –query “resourceTypes[?resourceType==’dnszones’]”

Buscando en la web, pude encontrar varios Issues registrados a MS:

Segun se informa en los issues, la problematica se encuentra en Backend de MS.

Workaround

Por ahora no hay una solución definitiva al issue. El workaround propuesto es hacer un downgrade de la versión de Azure CLI.

En este caso instalé la versión en una máquina virtual y pude ejecutar el cambio.

Invoke-WebRequest -Uri https://azurecliprod.blob.core.windows.net/msi/azure-cli-2.30.0.msi -OutFile .\AzureCLI.msi; Start-Process msiexec.exe -Wait -ArgumentList ‘/I AzureCLI.msi /quiet’; rm .\AzureCLI.msi

Al realizar esto pude ejecutar la operación que había fallado previamente.

En este caso, se trató de un escenario bastante simple, pueden darse ciertas complejidades en escenarios a mayor escala en Azure DevOps o GitHub Actions.

Estos son ejemplos para la modificación en Azure DevOps y GitHub Actions añadidos por colaboradores en los casos de GitHub:

- task: PowerShell@2
  displayName: 'Revert to az cli version 2.49.0'
  inputs:
    targetType: 'inline'
    pwsh: true
    script: |
      pip install -Iv azure-cli==2.49.0 --extra-index-url https://azurecliprod.blob.core.windows.net/edge
  - name: Install Azure cli
    run: |
      sudo apt-get install ca-certificates curl apt-transport-https lsb-release gnupg
      curl -sL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/microsoft.gpg > /dev/null
      AZ_REPO=$(lsb_release -cs)
      echo "deb [arch=`dpkg --print-architecture` signed-by=/etc/apt/trusted.gpg.d/microsoft.gpg] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main" | sudo tee /etc/apt/sources.list.d/azure-cli.list
      sudo apt-get update
      sudo apt-get install --allow-downgrades azure-cli=2.49.0-1~jammy

Posted

in

,

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.