Azure / azure-cli

Azure Command-Line Interface
MIT License
4.01k stars 2.98k forks source link

Error for rdbms module on alpine docker container #30102

Open hapeka72 opened 1 week ago

hapeka72 commented 1 week ago

Describe the bug

We are using the Azure CLI from inside a Docker container based on Alpine Linux. Since a few days we are getting this error when running certain commands:

Error loading command module 'mysql': cannot import name 'mysql_flexibleservers' from 'azure.mgmt.rdbms' (/usr/local/lib/python3.11/site-packages/azure/mgmt/rdbms/init.py) Error loading command module 'rdbms': No module named 'azure.mgmt.rdbms.mysql_flexibleservers' 'postgres' is misspelled or not recognized by the system.

I am able to reproduce the error using the following steps:

  1. Install azure-cli in a docker container based on python:alpine as described on https://github.com/Azure/azure-cli/issues/19591
  2. Execute this command in the container: az postgres server key list

The error started to appear on October 12, one day earlier it still worked. I suspect that something is wrong with the azure-mgmt-rdbms library (it recevied an update on that day).

Related command

az postgres server key list

Errors

Error loading command module 'mysql': cannot import name 'mysql_flexibleservers' from 'azure.mgmt.rdbms' (/usr/local/lib/python3.11/site-packages/azure/mgmt/rdbms/init.py) Error loading command module 'rdbms': No module named 'azure.mgmt.rdbms.mysql_flexibleservers' 'postgres' is misspelled or not recognized by the system.

Issue script & Debug output

I am able to reproduce the error using the following steps:

  1. Install azure-cli in a docker container based on python:alpine as described on https://github.com/Azure/azure-cli/issues/19591
  2. Execute this command in the container: az postgres server key list

Expected behavior

no error

Environment Summary

azure-cli 2.65.0

core 2.65.0 telemetry 1.1.0

Dependencies: msal 1.31.0 azure-mgmt-resource 23.1.1

Python location '/usr/local/bin/python3.13' Extensions directory '/root/.azure/cliextensions'

Python (Linux) 3.13.0 (main, Oct 8 2024, 00:10:24) [GCC 13.2.1 20240309]

Legal docs and information: aka.ms/AzureCliLegal

Your CLI is up-to-date.

Additional context

No response

yonzhan commented 1 week ago

Thank you for opening this issue, we will look into it.

microsoft-github-policy-service[bot] commented 1 week ago

Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc @sunilagarwal, @sr-msft, @niklarin.

hapeka72 commented 1 week ago

I found out that I can work around the issue if I run pip install --force-reinstall -v "azure-mgmt-rdbms==10.2.0b17" after installing the azure-cli.

randallt commented 4 days ago

pip install --force-reinstall -v "azure-mgmt-rdbms==10.2.0b17"

I verified that this indeed eliminates the ERRORs for me as well.

aymptlt commented 3 days ago

Isn't there a more elegant way to fix this error? I can't find where the initial problem comes from since all versions of this library seem to be fixed in the project.

My installation of the Azure CLI is automated, and I don't really want to add a 'pip force reinstall' in my Dockerfile to work around an error that could be resolved :)

Thanks