Improve Blazar integration with Nova
As of today we do not have any means of Blazar integration with Nova, while we do provide roles for Blazar installation for a while now. This patch aims to bring in more native integration and remove necessity of overrides for such deployment. Related-Bug: #2048048 Co-Authored-By: Alexey Rusetsky <fenuks@fenuks.ru> Change-Id: Ica50a5504de1b1604f72123751cbb3f45c85ab46
This commit is contained in:
parent
20e83153bb
commit
5a533aae23
|
@ -16,6 +16,8 @@
|
||||||
|
|
||||||
# Enable/Disable barbican configurations
|
# Enable/Disable barbican configurations
|
||||||
nova_barbican_enabled: "{{ (groups['barbican_all'] is defined) and (groups['barbican_all'] | length > 0) }}"
|
nova_barbican_enabled: "{{ (groups['barbican_all'] is defined) and (groups['barbican_all'] | length > 0) }}"
|
||||||
|
# Enable/Disable blazar configurations
|
||||||
|
nova_blazar_enabled: "{{ (groups['blazar_all'] is defined) and (groups['blazar_all'] | length > 0) }}"
|
||||||
# Enable/Disable designate configurations
|
# Enable/Disable designate configurations
|
||||||
nova_designate_enabled: "{{ (groups['designate_all'] is defined) and (groups['designate_all'] | length > 0) }}"
|
nova_designate_enabled: "{{ (groups['designate_all'] is defined) and (groups['designate_all'] | length > 0) }}"
|
||||||
# Notification topics for designate.
|
# Notification topics for designate.
|
||||||
|
@ -358,6 +360,9 @@ nova_scheduler_default_filters:
|
||||||
- ServerGroupAffinityFilter
|
- ServerGroupAffinityFilter
|
||||||
- NUMATopologyFilter
|
- NUMATopologyFilter
|
||||||
|
|
||||||
|
nova_blazar_scheduler_filters:
|
||||||
|
- BlazarFilter
|
||||||
|
|
||||||
nova_scheduler_extra_filters: []
|
nova_scheduler_extra_filters: []
|
||||||
|
|
||||||
# This should be tuned depending on the number of compute hosts present in the
|
# This should be tuned depending on the number of compute hosts present in the
|
||||||
|
@ -538,6 +543,9 @@ nova_services:
|
||||||
start_order: 5
|
start_order: 5
|
||||||
execstarts: "{{ nova_bin }}/nova-serialproxy {{ nova_backend_ssl | ternary('--ssl_only --cert ' ~ nova_ssl_cert ~ ' --key ' ~ nova_ssl_key, '') }}"
|
execstarts: "{{ nova_bin }}/nova-serialproxy {{ nova_backend_ssl | ternary('--ssl_only --cert ' ~ nova_ssl_cert ~ ' --key ' ~ nova_ssl_key, '') }}"
|
||||||
|
|
||||||
|
nova_blazar_pip_packages:
|
||||||
|
- blazar-nova
|
||||||
|
|
||||||
nova_novnc_pip_packages:
|
nova_novnc_pip_packages:
|
||||||
- websockify
|
- websockify
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
Added extra variables to allow control Blazar integration with Nova:
|
||||||
|
|
||||||
|
* ``nova_blazar_enabled`` (bool) - Control if Blazar integration should
|
||||||
|
be configured
|
||||||
|
* ``nova_blazar_scheduler_filters`` (list) - Extra filters that will be
|
||||||
|
enabled in Nova scheduler
|
||||||
|
* ``nova_blazar_pip_packages`` (list) - Extra Python packages that will
|
||||||
|
be installed on Nova scheduler hosts
|
|
@ -317,6 +317,10 @@ discover_hosts_in_cells_interval = {{ nova_discover_hosts_in_cells_interval }}
|
||||||
|
|
||||||
[filter_scheduler]
|
[filter_scheduler]
|
||||||
max_io_ops_per_host = {{ nova_max_io_ops_per_host }}
|
max_io_ops_per_host = {{ nova_max_io_ops_per_host }}
|
||||||
|
{% if nova_blazar_enabled and nova_blazar_scheduler_filters %}
|
||||||
|
available_filters = nova.scheduler.filters.all_filters
|
||||||
|
available_filters = blazarnova.scheduler.filters.blazar_filter.BlazarFilter
|
||||||
|
{% endif %}
|
||||||
enabled_filters = {{ _nova_scheduler_filters | join(',') }}
|
enabled_filters = {{ _nova_scheduler_filters | join(',') }}
|
||||||
host_subset_size = {{ nova_scheduler_host_subset_size }}
|
host_subset_size = {{ nova_scheduler_host_subset_size }}
|
||||||
track_instance_changes = {{ nova_scheduler_tracks_instance_changes }}
|
track_instance_changes = {{ nova_scheduler_tracks_instance_changes }}
|
||||||
|
|
|
@ -47,6 +47,11 @@ nova_venv_packages: |-
|
||||||
{%- if nova_oslomsg_amqp1_enabled | bool %}
|
{%- if nova_oslomsg_amqp1_enabled | bool %}
|
||||||
{%- set _ = pkg_list.extend(nova_optional_oslomsg_amqp1_pip_packages) %}
|
{%- set _ = pkg_list.extend(nova_optional_oslomsg_amqp1_pip_packages) %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
{%- if nova_blazar_enabled | bool %}
|
||||||
|
{%- if (nova_services['nova-scheduler']['group'] in group_names) %}
|
||||||
|
{%- set _ = pkg_list.extend(nova_blazar_pip_packages) %}
|
||||||
|
{%- endif %}
|
||||||
|
{%- endif %}
|
||||||
{%- if ('novnc' in nova_console_proxy_types) %}
|
{%- if ('novnc' in nova_console_proxy_types) %}
|
||||||
{%- set _ = pkg_list.extend(nova_novnc_pip_packages) %}
|
{%- set _ = pkg_list.extend(nova_novnc_pip_packages) %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
@ -137,6 +142,9 @@ _nova_scheduler_filters: |-
|
||||||
{% else %}
|
{% else %}
|
||||||
{% set filters = default_filters %}
|
{% set filters = default_filters %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% if nova_blazar_enabled | bool %}
|
||||||
|
{% set _ = filters.extend(nova_blazar_scheduler_filters) %}
|
||||||
|
{% endif %}
|
||||||
{{ filters + nova_scheduler_extra_filters }}
|
{{ filters + nova_scheduler_extra_filters }}
|
||||||
|
|
||||||
_qemu_default_conf_dict: |-
|
_qemu_default_conf_dict: |-
|
||||||
|
|
Loading…
Reference in New Issue