ansible-collections / azure

Development area for Azure Collections
https://galaxy.ansible.com/azure/azcollection
GNU General Public License v3.0
238 stars 317 forks source link

Update azure-cli-core to 2.61.0 #1593

Closed ssbarnea closed 2 weeks ago

ssbarnea commented 3 weeks ago
SUMMARY

In particular, this change unpins packaging version in newer versions as the azure-cli-core==2.34.0 does has a ceiling that prevents used of modern versions. Versions after 2.61.0 have removed this bug. Note that listing packaging as a direct dependency without any constraints does not help in any way, as resolver will still attempt to downgrade packaging if old version of azure-cli-core is requested.

Fixes: #1474

ISSUE TYPE
COMPONENT NAME

dependencies

ADDITIONAL INFORMATION

See: https://github.com/Azure/azure-cli/commit/97effd78072b03b6f7f49e651e4972616133519e See: https://github.com/Azure/azure-cli/issues/18548 See: https://issues.redhat.com/browse/AAP-19993 See: https://issues.redhat.com/browse/ACA-1651

Fred-sun commented 3 weeks ago

@ssbarnea Why is it necessary to remove these dependency packages and specify the currently used version, thank you!

tima commented 3 weeks ago

@Fred-sun: @ssbarnea found that we cannot update black for ansible-lint because it requires a newer version of the packaging. The azure collection does not allow use of newer one due to its own pinning of an outdated version of azure-cli-core. So when we create build where both are present, the two come into conflict.

ssbarnea commented 3 weeks ago

@Fred-sun I updated only azure-cli-core to 2.61.0 but I am not sure if this file is valid because:

Looking in the log files, it seems that uamqp comes from:

Collecting uamqp<2.0.0,>=1.2.14 (from azure-iot-hub==2.6.1->-r requirements.txt (line 47))
  Downloading uamqp-1.6.9.tar.gz (4.5 MB)

Apperently this issue is caused by another known bug https://github.com/ansible-collections/azure/issues/1505 <- https://issues.redhat.com/browse/ACA-1652

p3ck commented 2 weeks ago

I updated my dev environment to 2.61.0 and ran a few of the integation tests with no issues. I can do additional testing if needed.

xuzhang3 commented 2 weeks ago

LGTM

p3ck commented 2 weeks ago

Ok , so when I tested this I used an already deployed instance and just upgraded the azure-cli-core and I didn't get any errors.

But I have since done a new deployment and I get the following errors...

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
azure-cli 2.61.0 requires azure-mgmt-apimanagement==4.0.0, but you have azure-mgmt-apimanagement 3.0.0 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-authorization~=4.0.0, but you have azure-mgmt-authorization 2.0.0 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-batch~=17.3.0, but you have azure-mgmt-batch 16.2.0 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-cdn==12.0.0, but you have azure-mgmt-cdn 11.0.0 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-compute~=31.0.0, but you have azure-mgmt-compute 30.6.0 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-containerinstance==10.1.0, but you have azure-mgmt-containerinstance 9.0.0 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-containerregistry==10.3.0, but you have azure-mgmt-containerregistry 9.1.0 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-containerservice~=30.0.0, but you have azure-mgmt-containerservice 20.0.0 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-cosmosdb==9.4.0, but you have azure-mgmt-cosmosdb 6.4.0 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-devtestlabs~=4.0, but you have azure-mgmt-devtestlabs 9.0.0 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-iothub==3.0.0, but you have azure-mgmt-iothub 2.2.0 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-keyvault==10.3.0, but you have azure-mgmt-keyvault 10.0.0 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-loganalytics==13.0.0b4, but you have azure-mgmt-loganalytics 12.0.0 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-managedservices~=1.0, but you have azure-mgmt-managedservices 6.0.0 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-monitor~=5.0.0, but you have azure-mgmt-monitor 3.0.0 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-rdbms~=10.2.0b16, but you have azure-mgmt-rdbms 10.2.0b12 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-recoveryservices~=3.0.0, but you have azure-mgmt-recoveryservices 2.0.0 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-recoveryservicesbackup~=9.1.0, but you have azure-mgmt-recoveryservicesbackup 3.0.0 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-redis~=14.3.0, but you have azure-mgmt-redis 13.0.0 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-resource==23.1.1, but you have azure-mgmt-resource 21.1.0 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-search~=9.0, but you have azure-mgmt-search 8.0.0 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-servicebus~=8.2.0, but you have azure-mgmt-servicebus 7.1.0 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-sql==4.0.0b16, but you have azure-mgmt-sql 3.0.1 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-storage==21.1.0, but you have azure-mgmt-storage 19.0.0 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-trafficmanager~=1.0.0, but you have azure-mgmt-trafficmanager 1.0.0b1 which is incompatible.
azure-cli 2.61.0 requires azure-mgmt-web==7.2.0, but you have azure-mgmt-web 6.1.0 which is incompatible.
azure-mgmt-datalake-nspkg 3.0.1 requires azure-mgmt-nspkg>=3.0.0, but you have azure-mgmt-nspkg 2.0.0 which is incompatible.

I think this needs to be reverted until we verify all these versions.