Preemptible instances run on a configurable host aggregate, using the
freepool by default.
Compared to the proposed spec, the use of a separate aggregate allows to
better control scheduling of preemptibles. For example, we can prevent
preemptible instances from being launched on hosts that are about to be
used by reservations. To be used, this feature will need additional
support in the main Blazar service.
Blueprint: blazar-preemptible-instances
Change-Id: I294c22b22a1d9e3df01c56a518476a33782d1196
BlazarFilter needs to pass a host if the scheduling request is
related to the new instance reservation feature.
This patch adds filtering rules for the new instance reservation
feature.
Partially implements: blueprint new-instance-reservation
Change-Id: Ifb61a3f858f13a84b7a841068d13da7c56fda3af
The new instance reservation filter needs to modify the Blazar scheduler
filter to pass hosts which are in instance reservation aggregates if the
reservation's extra_specs is specified in spec_obj.
This patch refactors BlazarFilter to separate host reservation filtering
and instance reservation filtering.
Partially implements: blueprint new-instance-reservation
Change-Id: I738ba3a4162435d267666f332208d8d2adf80e46
Current default value for the config 'blazar_az_prefix' is 'blazar:'.
However, ':' should not be included in the name of availability zones.
According to the parse_availability_zone() [1] of the API class of Nova,
there is a legacy hack to allow admins to specify hosts via an
availability zone using az:host:node. That means ':' cannot be included
in the name of an availability zone itself. But Nova accepts the
invalid name with ':'. That is reported as a bug [2].
This patch changes the default value for the config blazar_az_prefix
from 'blazar:' to 'blazar_' which does not use ':'.
[1] https://review.openstack.org/gitweb?p=openstack/nova.git;a=blob;f=nova/compute/api.py;h=46ed8e91fcc16f3755fd6a5e2e4a6d54f990cb8b;hb=HEAD#l561
[2] https://bugs.launchpad.net/nova/+bug/1695861
Change-Id: I3ad6f84c783d371d2eca2fc660bd564064df4586
Partial-Bug: #1695862
Depends-On: Iaff0b8e576dbcb56b89384ea236c3f121d4ffad1
A SchedulerHostFilterNotFound error occurs when ClimateFilter is listed
in scheduler_default_filters in nova.conf. This patch defines a
ClimateFilter class for backward compatibility.
Change-Id: I3e2184fd1183c59bae6c25eb9839a47168972530
Closes-Bug: #1668418
The climateclient namespace has been migrated to blazarclient in the
python-blazarclient repo [1]. This patch follows the changes.
[1] https://review.openstack.org/#/c/432953/
Change-Id: I256445789e771b374957fae6d5c07dfcbd46510f
Depends-On: Ibf900f9a8a7a7bfb0b6b213545b9cbf121ce0df7
Partial-Bug: #1663460
The host_passes() method in blazar_filter depends on an old
filter_properties dictionary. However, Nova replaced it by a new
RequestSpec NovaObject. Therefore, the filter is throwing this error:
"TypeError: 'RequestSpec' object has no attribute '__getitem__'."
This commit changes host_passes() to use the new RequestSpec NovaObject.
Change-Id: I0e57f4ee4655a8658419bfaaffad524369ee10b9
Closes-Bug: #1642137
Blazar-Nova uses Nova API plugin frameworks. The V2 API was removed in
Nova commit a31d917af0cc5ecb55424598e7b812e02afbf28c. However, some
lines of V2 dependent code were still included in Blazar-Nova.
This patch updates the V2 dependent code to V2.1.
NOTE: This commit fixes unit tests in order to unblock the gate, but
doesn't restore instance reservation functionality due to major changes
in support for Nova API extensions.
Change-Id: Ie8252a350bd739845ee92e17c85f32385a7ddeb4
Closes-Bug: #1644680
blazarnova (was) an alias package to climatenova, swapping the two so that
climatenova is now the alias package
Change-Id: I25b5d194cdf125c2cc5d4e8c43ceb79e5a80908b
Added blazarnova as an alias package of climatenova package.
With this alias is possible to rename imports in small patches
that address only one or few submodules.
This will help the review process.
Renamed some entries from climate to blazar in setup.cfg.
Change-Id: I41905b41547dfb3fba1307eee9e473be29d9d4ce
Partial-Bug: #1311747