azure-cli: Budgets: az resource create - deployment error message and cannot see budgets

Describe the bug I’m trying to create budgets with az resource create and encounter two problems:

  • command execution results in error message: Deployment failed. Correlation ID: <id>. Request is missing a certificate. According to the --debug output, the following things happen internally: ** GET request to Microsoft.Consumption provider --> succeeds (status 200) ** GET request to the resource group --> succeeds (status 200) ** PUT request to create budget --> succeeds (status 201, containing the budget data in the body) ** GET request to the new budget --> fails (status 401 and Request is missing a certificate error)
  • In Azure Portal and via az consumption budget list, I do not see the new budget. But if I try to create the same budget again, I get a There are changes made to Budget <name>... error message. And I receive correct email notifications from such a budget, if I add an e-mail notification. Seems like I am creating zombies…

To Reproduce az resource create -g testgroup -n "testbudget2" --resource-type "Microsoft.Consumption/Budgets" --properties "{\"amount\" : 1000, \"category\" : \"Cost\", \"timeGrain\" : \"Monthly\", \"name\" : \"testbudget2\", \"timePeriod\" : {\"startDate\" : \"2019-07-01T00:00:00Z\", \"endDate\" : \"2019-12-31T00:00:00Z\"}}"

Expected behavior

  • budget creation succeeds without error message
  • budget is visible in Azure portal and via az consumption budget list

Environment summary

azure-cli                         2.0.69

command-modules-nspkg               2.0.3
core                              2.0.69
nspkg                              3.0.4
telemetry                          1.0.3

Extensions:
azure-cli-iot-ext                  0.7.1

Python (Linux) 3.6.5 (default, Jul 11 2019, 08:41:35) 
[GCC 7.4.0]

Ubuntu 18.04

Additional context I think, there is something happening in the background. On Monday this week, the behavior of the az resource create command changed. Until then, things were like this:

  • I saw the missing certificate error
  • I saw the Budgets after creating them
  • No e-mail notifications were thrown, when budget limits were exceeded

Another weird thing is that if I first create a budget this way, then delete the whole resource group with this budget inside, then create a new resource group with the same name as the old one and create the same budget inside again, I also get the There are changes made to Budget <name>... error. So obviously, the zombies don’t get killed properly when destroying their resource group.

If it helps, I can also provide some debug output. Thanks for your help!

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 23 (6 by maintainers)

Most upvoted comments

@JaikishanRupani Thank you for your notice. I have verified it and this issue has been solved

Hi @zhoxing-ms , please find the responses to your questions

  1. The issue where the Location Header was returning you a 401 has been fixed. We will be rolling this out in the coming weeks after holidays.
  2. Budgets are sticky to the resource groups, so recreating the resource group will bring back the budget. Also, budgets do not get deleted automatically on resource group deletion. This is expected.
  3. The behavior in the portal is expected because last write wins.