nodepool/releasenotes/notes/azure-key-253ed608e29b56d9.yaml
James E. Blair 91804a5e16 Azure: switch to Azul
The Azure SDK for Python uses threads to manage async operations.
Every time a virtual machine is created, a new thread is spawned
to wait for it to finish (whether we actually end up polling it or
not).  This will cause the Azure driver to have significant
scalability limits compared to other drivers, possibly limiting
the number of simultaneous nodes to 50% compared to others.

To address this, switch to using a very simple requests-based
REST client I'm calling Azul.  The consistency of the Azure API
makes this simple.  As a bonus, we can use the excellent Azure
REST API documentation directly, rather that mapping attribute
names through the Python SDK (which has subtle differences).

A new fake Azure test fixture is also created in order to make
the current unit test a more thorough exercise of the code.

Finally, the "zuul-private-key" attribute is misnamed since we
have a policy of a one-way dependency from Zuul -> Nodepool.  It's
name is updated to match the GCE driver ("key") and moved to the
cloud-image section so that different images may be given different
keys.

Change-Id: I87bfa65733b2a71b294ebe2cf0d3404d0e4333c5
2021-03-08 14:58:31 -08:00

8 lines
237 B
YAML

---
upgrade:
- |
The ``zuul-public-key`` configuration attribute in the
``providers`` Azure driver has been moved and renamed. Please
move this setting to its new location at
:attr:`providers.[azure].cloud-images.key`