Merge "Enable multiple console proxies where requried in deployments"
This commit is contained in:
@@ -294,13 +294,19 @@ nova_libvirt_hw_disk_discard: '{{ (nova_libvirt_images_rbd_pool | length > 0) |
|
|||||||
nova_libvirt_live_migration_inbound_addr: '{{ (nova_management_address == "localhost") | ternary("127.0.0.1", nova_management_address) }}'
|
nova_libvirt_live_migration_inbound_addr: '{{ (nova_management_address == "localhost") | ternary("127.0.0.1", nova_management_address) }}'
|
||||||
|
|
||||||
## Nova console
|
## Nova console
|
||||||
# Set the console type. Presently the only options are ["spice", "novnc", "serialconsole", "disabled"].
|
# Set the console type for the compute host. Presently the only options are ["spice", "novnc", "serialconsole", "disabled"].
|
||||||
nova_console_type: "{{ (ansible_facts['architecture'] == 'aarch64') | ternary('serialconsole', 'novnc') }}"
|
nova_console_type: "{{ (ansible_facts['architecture'] == 'aarch64') | ternary('serialconsole', 'novnc') }}"
|
||||||
|
|
||||||
## Nova ironic console
|
## Nova ironic console
|
||||||
# Set the console type. Presently the only options are ["serialconsole", "disabled"].
|
# Set the console type. Presently the only options are ["serialconsole", "disabled"].
|
||||||
nova_ironic_console_type: "disabled"
|
nova_ironic_console_type: "disabled"
|
||||||
|
|
||||||
|
## Nova console proxies
|
||||||
|
# Set the console proxy types.
|
||||||
|
nova_console_proxy_types:
|
||||||
|
- "{{ nova_console_type }}"
|
||||||
|
- "{{ nova_ironic_console_type }}"
|
||||||
|
|
||||||
# Nova console ssl info, presently only used by novnc console type
|
# Nova console ssl info, presently only used by novnc console type
|
||||||
nova_console_ssl_dir: "/etc/nova/ssl"
|
nova_console_ssl_dir: "/etc/nova/ssl"
|
||||||
nova_console_ssl_cert: "{{ nova_console_ssl_dir }}/nova-console.pem"
|
nova_console_ssl_cert: "{{ nova_console_ssl_dir }}/nova-console.pem"
|
||||||
@@ -488,7 +494,7 @@ nova_services:
|
|||||||
group: nova_console
|
group: nova_console
|
||||||
service_name: nova-novncproxy
|
service_name: nova-novncproxy
|
||||||
init_config_overrides: "{{ nova_novncproxy_init_overrides }}"
|
init_config_overrides: "{{ nova_novncproxy_init_overrides }}"
|
||||||
condition: "{{ nova_console_type == 'novnc' }}"
|
condition: "{{ 'novnc' in nova_console_proxy_types }}"
|
||||||
start_order: 5
|
start_order: 5
|
||||||
execstarts: "{{ nova_bin }}/nova-novncproxy {{ nova_backend_ssl | ternary('--ssl_only --cert ' ~ nova_ssl_cert ~ ' --key ' ~ nova_ssl_key, '') }}"
|
execstarts: "{{ nova_bin }}/nova-novncproxy {{ nova_backend_ssl | ternary('--ssl_only --cert ' ~ nova_ssl_cert ~ ' --key ' ~ nova_ssl_key, '') }}"
|
||||||
nova-scheduler:
|
nova-scheduler:
|
||||||
@@ -502,21 +508,21 @@ nova_services:
|
|||||||
group: nova_console
|
group: nova_console
|
||||||
service_name: nova-spicehtml5proxy
|
service_name: nova-spicehtml5proxy
|
||||||
init_config_overrides: "{{ {'Install': {'Alias': 'nova-spiceproxy.service'}} | combine(nova_spicehtml5proxy_init_overrides, recursive=True) }}"
|
init_config_overrides: "{{ {'Install': {'Alias': 'nova-spiceproxy.service'}} | combine(nova_spicehtml5proxy_init_overrides, recursive=True) }}"
|
||||||
condition: "{{ nova_console_type == 'spice' }}"
|
condition: "{{ 'spice' in nova_console_proxy_types }}"
|
||||||
start_order: 5
|
start_order: 5
|
||||||
execstarts: "{{ nova_bin }}/nova-spicehtml5proxy {{ nova_backend_ssl | ternary('--ssl_only --cert ' ~ nova_ssl_cert ~ ' --key ' ~ nova_ssl_key, '') }}"
|
execstarts: "{{ nova_bin }}/nova-spicehtml5proxy {{ nova_backend_ssl | ternary('--ssl_only --cert ' ~ nova_ssl_cert ~ ' --key ' ~ nova_ssl_key, '') }}"
|
||||||
nova-serialconsole-proxy:
|
nova-serialconsole-proxy:
|
||||||
group: nova_console
|
group: nova_console
|
||||||
service_name: nova-serialproxy
|
service_name: nova-serialproxy
|
||||||
init_config_overrides: "{{ nova_serialproxy_init_overrides }}"
|
init_config_overrides: "{{ nova_serialproxy_init_overrides }}"
|
||||||
condition: "{{ nova_console_type == 'serialconsole' }}"
|
condition: "{{ 'serialconsole' in nova_console_proxy_types }}"
|
||||||
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_ironic_sericalconsole-proxy:
|
nova_ironic_sericalconsole-proxy:
|
||||||
group: ironic_console
|
group: ironic_console
|
||||||
service_name: nova-serialproxy
|
service_name: nova-serialproxy
|
||||||
init_config_overrides: "{{ nova_serialproxy_init_overrides }}"
|
init_config_overrides: "{{ nova_serialproxy_init_overrides }}"
|
||||||
condition: "{{ nova_ironic_console_type == 'serialconsole' }}"
|
condition: "{{ 'serialconsole' in nova_console_proxy_types }}"
|
||||||
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, '') }}"
|
||||||
|
|
||||||
@@ -714,7 +720,7 @@ nova_pki_console_certificates:
|
|||||||
- keyEncipherment
|
- keyEncipherment
|
||||||
extended_key_usage:
|
extended_key_usage:
|
||||||
- clientAuth
|
- clientAuth
|
||||||
condition: "{{ nova_qemu_vnc_tls == 1 and nova_console_type == 'novnc' }}"
|
condition: "{{ nova_qemu_vnc_tls == 1 and 'novnc' in nova_console_proxy_types }}"
|
||||||
|
|
||||||
# Installation details for SSL certificates for console hosts
|
# Installation details for SSL certificates for console hosts
|
||||||
nova_pki_console_install_certificates:
|
nova_pki_console_install_certificates:
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
Added ``nova_console_proxy_types`` list variable for use when deployments
|
||||||
|
have a mix of nova console types for different compute nodes.
|
||||||
@@ -81,7 +81,8 @@
|
|||||||
- "nova_services['nova-novncproxy']['group'] in group_names or
|
- "nova_services['nova-novncproxy']['group'] in group_names or
|
||||||
nova_services['nova-spicehtml5proxy']['group'] in group_names or
|
nova_services['nova-spicehtml5proxy']['group'] in group_names or
|
||||||
nova_services['nova-serialconsole-proxy']['group'] in group_names"
|
nova_services['nova-serialconsole-proxy']['group'] in group_names"
|
||||||
- "nova_console_type not in ['serialconsole', 'disabled']"
|
- "'novnc' in nova_console_proxy_types or
|
||||||
|
'spice' in nova_console_proxy_types"
|
||||||
args:
|
args:
|
||||||
apply:
|
apply:
|
||||||
tags:
|
tags:
|
||||||
@@ -126,7 +127,7 @@
|
|||||||
name: "{{ item.service }}"
|
name: "{{ item.service }}"
|
||||||
enabled: no
|
enabled: no
|
||||||
state: stopped
|
state: stopped
|
||||||
when: (item.condition | bool) and item.type != nova_console_type
|
when: (item.condition | bool) and item.type not in nova_console_proxy_types
|
||||||
loop:
|
loop:
|
||||||
- service: "nova-novncproxy.service"
|
- service: "nova-novncproxy.service"
|
||||||
condition: "{{ novnc_proxy_enabled.rc is defined and novnc_proxy_enabled.rc == 0 }}"
|
condition: "{{ novnc_proxy_enabled.rc is defined and novnc_proxy_enabled.rc == 0 }}"
|
||||||
|
|||||||
@@ -80,25 +80,19 @@ catalog_info = volumev3:cinderv3:internalURL
|
|||||||
os_region_name = {{ nova_service_region }}
|
os_region_name = {{ nova_service_region }}
|
||||||
auth_section = keystone_authtoken
|
auth_section = keystone_authtoken
|
||||||
|
|
||||||
{% if nova_console_type == 'spice' %}
|
|
||||||
[spice]
|
[spice]
|
||||||
agent_enabled = {{ nova_spice_console_agent_enabled }}
|
agent_enabled = {{ nova_spice_console_agent_enabled }}
|
||||||
enabled = True
|
enabled = {{ (nova_console_type == 'spice') | ternary(True, False) }}
|
||||||
# Console Url and binds
|
{% if 'spice' in nova_console_proxy_types %}
|
||||||
html5proxy_base_url = {{ nova_spice_html5proxy_base_url }}
|
html5proxy_base_url = {{ nova_spice_html5proxy_base_url }}
|
||||||
html5proxy_host = {% if nova_management_address == 'localhost' %}127.0.0.1{% else %}{{ nova_management_address }}{% endif %}
|
html5proxy_host = {% if nova_management_address == 'localhost' %}127.0.0.1{% else %}{{ nova_management_address }}{% endif %}
|
||||||
|
|
||||||
server_listen = {% if nova_management_address == 'localhost' %}127.0.0.1{% else %}{{ nova_management_address }}{% endif %}
|
server_listen = {% if nova_management_address == 'localhost' %}127.0.0.1{% else %}{{ nova_management_address }}{% endif %}
|
||||||
|
|
||||||
server_proxyclient_address = {% if nova_management_address == 'localhost' %}127.0.0.1{% else %}{{ nova_management_address }}{% endif %}
|
server_proxyclient_address = {% if nova_management_address == 'localhost' %}127.0.0.1{% else %}{{ nova_management_address }}{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
[vnc]
|
[vnc]
|
||||||
enabled = False
|
enabled = {{ (nova_console_type == 'novnc') | ternary(True, False) }}
|
||||||
|
{% if 'novnc' in nova_console_proxy_types %}
|
||||||
{% elif nova_console_type == 'novnc' %}
|
|
||||||
[vnc]
|
|
||||||
enabled = True
|
|
||||||
novncproxy_base_url = {{ nova_novncproxy_base_url }}
|
novncproxy_base_url = {{ nova_novncproxy_base_url }}
|
||||||
novncproxy_host = {{ nova_novncproxy_host }}
|
novncproxy_host = {{ nova_novncproxy_host }}
|
||||||
novncproxy_port = {{ nova_novncproxy_port }}
|
novncproxy_port = {{ nova_novncproxy_port }}
|
||||||
@@ -111,28 +105,18 @@ vencrypt_client_key={{ nova_vencrypt_client_key }}
|
|||||||
vencrypt_client_cert={{ nova_vencrypt_client_cert }}
|
vencrypt_client_cert={{ nova_vencrypt_client_cert }}
|
||||||
vencrypt_ca_certs={{ nova_vencrypt_ca_certs }}
|
vencrypt_ca_certs={{ nova_vencrypt_ca_certs }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% elif nova_console_type == 'serialconsole' %}
|
|
||||||
[serial_console]
|
[serial_console]
|
||||||
enabled = True
|
enabled = {{ (nova_console_type == 'serialconsole') | ternary(True, False) }}
|
||||||
# Console Url and binds
|
{% if 'serialconsole' in nova_console_proxy_types %}
|
||||||
base_url= {{ nova_serialconsoleproxy_base_url }}
|
base_url= {{ nova_serialconsoleproxy_base_url }}
|
||||||
proxyclient_address = {% if nova_management_address == 'localhost' +%}127.0.0.1{% else +%}{{ nova_management_address }}{% endif +%}
|
proxyclient_address = {% if nova_management_address == 'localhost' +%}127.0.0.1{% else +%}{{ nova_management_address }}{% endif +%}
|
||||||
port_range = {{ nova_serialconsoleproxy_port_range }}
|
port_range = {{ nova_serialconsoleproxy_port_range }}
|
||||||
{% if nova_services['nova-serialconsole-proxy']['group'] %}
|
|
||||||
serialproxy_host= {{ nova_serialconsoleproxy_serialconsole_proxyserver_proxyclient_address }}
|
serialproxy_host= {{ nova_serialconsoleproxy_serialconsole_proxyserver_proxyclient_address }}
|
||||||
serialproxy_port= {{ nova_serialconsoleproxy_port }}
|
serialproxy_port= {{ nova_serialconsoleproxy_port }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
[vnc]
|
|
||||||
enabled = False
|
|
||||||
|
|
||||||
{% elif nova_console_type == 'disabled' %}
|
|
||||||
[vnc]
|
|
||||||
enabled = False
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
# Glance
|
# Glance
|
||||||
[glance]
|
[glance]
|
||||||
region_name = {{ nova_service_region }}
|
region_name = {{ nova_service_region }}
|
||||||
|
|||||||
@@ -23,13 +23,13 @@ nova_package_list: |-
|
|||||||
{% if nova_services['nova-novncproxy']['group'] in group_names or
|
{% if nova_services['nova-novncproxy']['group'] in group_names or
|
||||||
nova_services['nova-spicehtml5proxy']['group'] in group_names or
|
nova_services['nova-spicehtml5proxy']['group'] in group_names or
|
||||||
nova_services['nova-serialconsole-proxy']['group'] in group_names %}
|
nova_services['nova-serialconsole-proxy']['group'] in group_names %}
|
||||||
{% if nova_console_type == 'novnc' %}
|
{% if 'novnc' in nova_console_proxy_types %}
|
||||||
{% set _ = packages.extend(nova_service_extra_distro_packages['novnc']) %}
|
{% set _ = packages.extend(nova_service_extra_distro_packages['novnc']) %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if nova_console_type == 'spice' %}
|
{% if 'spice' in nova_console_proxy_types %}
|
||||||
{% set _ = packages.extend(nova_service_extra_distro_packages['spice']) %}
|
{% set _ = packages.extend(nova_service_extra_distro_packages['spice']) %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if nova_console_type == 'serialconsole' %}
|
{% if 'serialconsole' in nova_console_proxy_types %}
|
||||||
{% set _ = packages.extend(nova_service_extra_distro_packages['serialconsole']) %}
|
{% set _ = packages.extend(nova_service_extra_distro_packages['serialconsole']) %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ 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_console_type == 'novnc') %}
|
{%- 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 %}
|
||||||
{%- if (nova_services['nova-compute']['group'] in group_names) %}
|
{%- if (nova_services['nova-compute']['group'] in group_names) %}
|
||||||
|
|||||||
Reference in New Issue
Block a user