azure-cli: Azure CLI cannot download "azcopy" (409 Conflict)

Describe the bug

The command az storage blob sync seems to use azcopy under the hood. This binary isn’t included in the Docker image and is downloaded when needed.

Errors: The download fails on a lot of systems with error 409 Conflict. The download location is https://azcopyvnext.azureedge.net/release20211027/azcopy_linux_amd64_10.13.0.tar.gz and it is broken since a few hours.

To Reproduce:

Any az storage blob sync command will generate this error when it’s trying to invoke azcopy.

Expected Behavior

I would expect that the Docker container is self-supporting and would have azcopy already in the /root/bin folder, so it doesn’t need to download it.

Environment Summary

Linux-5.15.68.1-microsoft-standard-WSL2-x86_64-with, Alpine Linux v3.16
Python 3.10.7
Installer: DOCKER

azure-cli 2.41.0

Additional Context

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 21 (1 by maintainers)

Most upvoted comments

We had this issue today. Pipeline in AzureDevops, on MS provided build agent, using AzureCLI@2 task. My workaround that helped was to upgrade to the ubuntu-latest vm image.

The only reason that it worked is that you may have hit another DNS that directed to another CDN edge location. It’s not a sustainable fix. After rebooting, it may break again. MS seems to have an issue with the CDN that serves this binary. Not sure if it’s a global CDN issue (although that would have had higher priority) or someone at MS just screwed up and broke this configuration. But it’s hard to break a CDN only partially…

@zezha-msft It’s definitely not a transient issue and it’s breaking CI/CD pipelines all around the world, so it would be nice to give this issue a higher priority. It’s broken for several days now and it’s critical tooling for most of us.

@Goz3rr thanks for the feedback. It seems that there were some issues with our distribution account. It should be all fixed now. Please kindly retry and let us know. Thanks!

It would be much better to include azcopy in the Docker image, so it doesn’t need to download it. We use Docker images to have isolated build environments, but downloading “arbitrary” stuff inside the image breaks that philosophy. The azcopy version is fixed, so I don’t see any issues to download it. It’s pretty big file, so it would also save a lot of bandwidth too.