apache / apache/libcloud

Inconsistent uuid generation in azure_arm

Open
#1,420 3 comments 0 reactions 0 assignees View on GitHub
api: compute drivers: azure stale
Dominant language
Python
Stars
2.1k
Forks
931
Avg merge
1d 2h
Merged PRs (30d)
4

Description

## Summary

Azure returns inconsistent casing of the resource groups name in the id string, resulting in different uuid's for the same node (depending on what calls you make).

## Detailed Information

When a node is created, the resource groups name in the id string is lower case. In subsequent calls, like in list_nodes(), for some reason Azure returns the resource groups name in upper case. This results in a different uuid from when create_node() is called. This also breaks wait_until_running(). Forcing the id string to lower case in _to_node() seems to resolve this issue.

I made the change here: https://github.com/foospidy/libcloud/commit/2682d1229466fa577d4360ababd650d777ea49f3

I'd be happy to submit a PR.

Contributor guide

Open the contributing guide

Research direction

Start by locating the Azure ARM provider's _to_node() method and compare how IDs are produced by create_node() and list_nodes(). Verify that resource-group casing no longer changes a node's UUID and that wait_until_running() works consistently; use the referenced commit as context and add or update focused tests if the provider's test structure identifies a suitable location.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, python
Domain
cloud
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.