Date: Thu, 4 Jan 2024 08:41:05 +0000 Subject: [PATCH] Add Blazar support --- defaults/main.yml | 9 +++++++++ templates/nova.conf.j2 | 4 ++++ vars/main.yml | 6 ++++++ 3 files changed, 19 insertions(+) diff --git a/defaults/main.yml b/defaults/main.yml index bde5e6f..198935e 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -22,6 +22,12 @@ nova_designate_enabled: "{{ (groups['designate_all'] is defined) and (groups['de nova_notifications_designate: notifications_designate # Enable/Disable ceilometer configurations nova_ceilometer_enabled: "{{ (groups['ceilometer_all'] is defined) and (groups['ceilometer_all'] | length > 0) }}" +# Enable/Disable blazar configurations +nova_blazar_enabled: "{{ (groups['blazar_all'] is defined) and (groups['blazar_all'] | length > 0) }}" +# nova_blazar_enabled: false +# Scheduler filters for blazar. +nova_blazar_scheduler_filters: + - BlazarFilter # Enable/Disable nova versioned notification nova_versioned_notification_enabled: False @@ -515,6 +521,9 @@ nova_services: nova_novnc_pip_packages: - websockify +nova_blazar_pip_packages: + - blazar-nova + nova_compute_ironic_pip_packages: - python-ironicclient diff --git a/templates/nova.conf.j2 b/templates/nova.conf.j2 index db1ade7..45db53a 100644 --- a/templates/nova.conf.j2 +++ b/templates/nova.conf.j2 @@ -331,6 +331,10 @@ discover_hosts_in_cells_interval = {{ nova_discover_hosts_in_cells_interval }} [filter_scheduler] max_io_ops_per_host = {{ nova_max_io_ops_per_host }} ram_weight_multiplier = {{ nova_ram_weight_multiplier }} +available_filters = nova.scheduler.filters.all_filters +{% if nova_blazar_enabled %} +available_filters = blazarnova.scheduler.filters.blazar_filter.BlazarFilter +{% endif %} enabled_filters = {{ _nova_scheduler_filters | join(',') }} host_subset_size = {{ nova_scheduler_host_subset_size }} track_instance_changes = {{ nova_scheduler_tracks_instance_changes }} diff --git a/vars/main.yml b/vars/main.yml index e2110be..c32ce21 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -32,6 +32,9 @@ nova_venv_packages: |- {%- if (nova_console_type == 'novnc') %} {%- set _ = pkg_list.extend(nova_novnc_pip_packages) %} {%- endif %} + {%- if nova_blazar_enabled | bool %} + {%- set _ = pkg_list.extend(nova_blazar_pip_packages) %} + {%- endif %} {%- if (nova_services['nova-compute']['group'] in group_names) %} {%- if nova_virt_type == 'ironic' %} {%- set _ = pkg_list.extend(nova_compute_ironic_pip_packages) %} @@ -119,6 +122,9 @@ _nova_scheduler_filters: |- {% else %} {% set filters = default_filters %} {% endif %} + {% if nova_blazar_enabled | bool %} + {% set _ = filters.extend(nova_blazar_scheduler_filters) %} + {% endif %} {{ filters + nova_scheduler_extra_filters }} _qemu_default_conf_dict: |- -- 2.25.1