[stable/2023.1] feat: add nova failure domain filters (#1625)
Reviewed-by: Mohammed Naser mnaser@vexxhost.com
diff --git a/images/nova/Dockerfile b/images/nova/Dockerfile
index 4faecb7..bd5641c 100644
--- a/images/nova/Dockerfile
+++ b/images/nova/Dockerfile
@@ -7,10 +7,14 @@
ARG NOVA_GIT_REF=f732f8476851e6272d8ad9937f54b918795844e8
ADD --keep-git-dir=true https://opendev.org/openstack/nova.git#${NOVA_GIT_REF} /src/nova
RUN git -C /src/nova fetch --unshallow
+ARG SCHEDULER_FILTERS_GIT_REF=eb17f39c68606cca7ec68bf3e40d58e0954326ee
+ADD --keep-git-dir=true https://github.com/vexxhost/nova-scheduler-filters.git#${SCHEDULER_FILTERS_GIT_REF} /src/nova-scheduler-filters
+RUN git -C /src/nova-scheduler-filters fetch --unshallow
RUN --mount=type=cache,mode=0755,target=/root/.cache/pip,sharing=private <<EOF bash -xe
pip3 install \
--constraint /upper-constraints.txt \
/src/nova \
+ /src/nova-scheduler-filters \
python-ironicclient \
storpool \
storpool.spopenstack
diff --git a/roles/nova/vars/main.yml b/roles/nova/vars/main.yml
index 3d86292..6145c6d 100644
--- a/roles/nova/vars/main.yml
+++ b/roles/nova/vars/main.yml
@@ -76,6 +76,11 @@
connection_recycle_time: 10
max_pool_size: 1
filter_scheduler:
+ available_filters:
+ type: multistring
+ values:
+ - nova.scheduler.filters.all_filters
+ - nova_scheduler_filters.failure_domain_filter.FailureDomainFilter
enabled_filters:
ComputeFilter,
AggregateTypeAffinityFilter,
@@ -83,7 +88,8 @@
PciPassthroughFilter,
ImagePropertiesFilter,
ServerGroupAntiAffinityFilter,
- ServerGroupAffinityFilter
+ ServerGroupAffinityFilter,
+ FailureDomainFilter
image_properties_default_architecture: x86_64
max_instances_per_host: 200
glance: