91804a5e16
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
11 lines
140 B
Plaintext
11 lines
140 B
Plaintext
flake8
|
|
coverage
|
|
fixtures>=0.3.12
|
|
mock>=1.0
|
|
python-subunit
|
|
stestr>=1.0.0 # Apache-2.0
|
|
testscenarios
|
|
testtools>=0.9.27
|
|
moto
|
|
responses>=0.12.1
|