nodepool/nodepool
Simon Westphahl 4f0628c8c2 Don't yield to a provider with unsupported labels
The optimization introduced in Id04f57ff1e4c28357370729b6383f5119cd616dc
can lead to a starvation of certain requests under the following
conditions:

* node request with a requested provider that doesn't support the
  required node types
* another provider that could technically serve the request yields to
  the requested provider
* requested provider is at quota or high inflow of node request
* requested provider postpones rejecting the yielded request as it
  doesn't support the required labels

To avoid starvation of those request, we only yield to the requested
provider if it is capable of serving the request. This is done by
checking the supported labels of the requested provider.

Change-Id: I0ded785a13d1f955a71d519dc40e5e5c0ec35043
2022-03-24 09:46:51 +01:00
..
cmd Merge "Add commands to export/import image data from ZK" 2021-09-15 22:01:46 +00:00
driver Remove unused AWS implementation 2022-03-16 16:12:50 -07:00
releasenotes/notes Filter active images for OpenStack provider 2020-03-17 16:26:50 +01:00
tests Don't yield to a provider with unsupported labels 2022-03-24 09:46:51 +01:00
__init__.py Initial commit 2013-08-15 09:47:23 -07:00
builder.py Add provider image config to statemachine image upload 2022-02-22 13:33:31 -08:00
config.py Add Tenant-Scoped Resource Quota 2021-09-01 09:07:43 +02:00
exceptions.py Remove uneeded shebang and exec bit on some files 2019-12-13 19:30:03 +01:00
launcher.py Don't yield to a provider with unsupported labels 2022-03-24 09:46:51 +01:00
logconfig.py Format multi-line log entries 2021-03-05 13:34:19 -08:00
nodeutils.py First ensure ssh connection is valid before scanning keys 2021-07-19 08:58:56 -04:00
provider_manager.py Improve handling of errors in provider manager startup 2022-01-14 19:07:32 -08:00
stats.py Export current tenant limit stats 2022-01-07 09:27:31 +01:00
status.py Ignore unparsable/empty image build ZNode data 2020-10-06 12:44:18 +02:00
version.py Switch docs theme to versioned RTD 2021-12-16 11:23:30 -08:00
webapp.py Add ready endpoint to webapp 2019-12-21 10:06:55 +00:00
zk.py Retain created_time in node requests 2022-02-28 10:03:03 -08:00