2c632af426
The quota cache may not be a valid dictionary when invalidateQuotaCache() is called (e.g. when 'ignore-provider-quota' is used in OpenStack). In that case, don't attempt to treat the None as a dictionary as this raises a TypeError exception. This bug was preventing Quota errors from OpenStack from causing nodepool to retry the node request when ignore-provider-quota is True, because the OpenStack handler calles invalidateQuotaCache() before raising the QuotaException. Since invalidateQuotaCache() was raising TypeError, it prevented the QuotaException from being raised and the node allocation was outright failed. A test has been added to verify that nodepool and OpenStack will now retry node allocations as intended. This fixes that bug, but does change the behavior of OpenStack when ignore-provider-quota is True and it returns a Quota error. Change-Id: I1916c56c4f07c6a5d53ce82f4c1bb32bddbd7d63 Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
9 lines
343 B
YAML
9 lines
343 B
YAML
---
|
|
fixes:
|
|
- |
|
|
Fixes an exception that was raised by the OpenStack driver when attempting
|
|
to reset the quota timestamp and `ignore-provider-quota` is `true`. This
|
|
exception prevented nodepool from seeing quota errors from OpenStack,
|
|
causing it to fail the node request instead of retrying as it does for
|
|
other providers.
|