Merge "Enable multiple console proxies where requried in deployments"
This commit is contained in:
commit
bf6aaf7ab0
@ -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 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 ironic console
|
||||
# Set the console type. Presently the only options are ["serialconsole", "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_dir: "/etc/nova/ssl"
|
||||
nova_console_ssl_cert: "{{ nova_console_ssl_dir }}/nova-console.pem"
|
||||
@ -488,7 +494,7 @@ nova_services:
|
||||
group: nova_console
|
||||
service_name: nova-novncproxy
|
||||
init_config_overrides: "{{ nova_novncproxy_init_overrides }}"
|
||||
condition: "{{ nova_console_type == 'novnc' }}"
|
||||
condition: "{{ 'novnc' in nova_console_proxy_types }}"
|
||||
start_order: 5
|
||||
execstarts: "{{ nova_bin }}/nova-novncproxy {{ nova_backend_ssl | ternary('--ssl_only --cert ' ~ nova_ssl_cert ~ ' --key ' ~ nova_ssl_key, '') }}"
|
||||
nova-scheduler:
|
||||
@ -502,21 +508,21 @@ nova_services:
|
||||
group: nova_console
|
||||
service_name: nova-spicehtml5proxy
|
||||
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
|
||||
execstarts: "{{ nova_bin }}/nova-spicehtml5proxy {{ nova_backend_ssl | ternary('--ssl_only --cert ' ~ nova_ssl_cert ~ ' --key ' ~ nova_ssl_key, '') }}"
|
||||
nova-serialconsole-proxy:
|
||||
group: nova_console
|
||||
service_name: nova-serialproxy
|
||||
init_config_overrides: "{{ nova_serialproxy_init_overrides }}"
|
||||
condition: "{{ nova_console_type == 'serialconsole' }}"
|
||||
condition: "{{ 'serialconsole' in nova_console_proxy_types }}"
|
||||
start_order: 5
|
||||
execstarts: "{{ nova_bin }}/nova-serialproxy {{ nova_backend_ssl | ternary('--ssl_only --cert ' ~ nova_ssl_cert ~ ' --key ' ~ nova_ssl_key, '') }}"
|
||||
nova_ironic_sericalconsole-proxy:
|
||||
group: ironic_console
|
||||
service_name: nova-serialproxy
|
||||
init_config_overrides: "{{ nova_serialproxy_init_overrides }}"
|
||||
condition: "{{ nova_ironic_console_type == 'serialconsole' }}"
|
||||
condition: "{{ 'serialconsole' in nova_console_proxy_types }}"
|
||||
start_order: 5
|
||||
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
|
||||
extended_key_usage:
|
||||
- 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
|
||||
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-spicehtml5proxy']['group'] in group_names or
|
||||
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:
|
||||
apply:
|
||||
tags:
|
||||
@ -126,7 +127,7 @@
|
||||
name: "{{ item.service }}"
|
||||
enabled: no
|
||||
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:
|
||||
- service: "nova-novncproxy.service"
|
||||
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 }}
|
||||
auth_section = keystone_authtoken
|
||||
|
||||
{% if nova_console_type == 'spice' %}
|
||||
[spice]
|
||||
agent_enabled = {{ nova_spice_console_agent_enabled }}
|
||||
enabled = True
|
||||
# Console Url and binds
|
||||
enabled = {{ (nova_console_type == 'spice') | ternary(True, False) }}
|
||||
{% if 'spice' in nova_console_proxy_types %}
|
||||
html5proxy_base_url = {{ nova_spice_html5proxy_base_url }}
|
||||
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_proxyclient_address = {% if nova_management_address == 'localhost' %}127.0.0.1{% else %}{{ nova_management_address }}{% endif %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
[vnc]
|
||||
enabled = False
|
||||
|
||||
{% elif nova_console_type == 'novnc' %}
|
||||
[vnc]
|
||||
enabled = True
|
||||
enabled = {{ (nova_console_type == 'novnc') | ternary(True, False) }}
|
||||
{% if 'novnc' in nova_console_proxy_types %}
|
||||
novncproxy_base_url = {{ nova_novncproxy_base_url }}
|
||||
novncproxy_host = {{ nova_novncproxy_host }}
|
||||
novncproxy_port = {{ nova_novncproxy_port }}
|
||||
@ -111,28 +105,18 @@ vencrypt_client_key={{ nova_vencrypt_client_key }}
|
||||
vencrypt_client_cert={{ nova_vencrypt_client_cert }}
|
||||
vencrypt_ca_certs={{ nova_vencrypt_ca_certs }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% elif nova_console_type == 'serialconsole' %}
|
||||
[serial_console]
|
||||
enabled = True
|
||||
# Console Url and binds
|
||||
enabled = {{ (nova_console_type == 'serialconsole') | ternary(True, False) }}
|
||||
{% if 'serialconsole' in nova_console_proxy_types %}
|
||||
base_url= {{ nova_serialconsoleproxy_base_url }}
|
||||
proxyclient_address = {% if nova_management_address == 'localhost' +%}127.0.0.1{% else +%}{{ nova_management_address }}{% endif +%}
|
||||
port_range = {{ nova_serialconsoleproxy_port_range }}
|
||||
{% if nova_services['nova-serialconsole-proxy']['group'] %}
|
||||
serialproxy_host= {{ nova_serialconsoleproxy_serialconsole_proxyserver_proxyclient_address }}
|
||||
serialproxy_port= {{ nova_serialconsoleproxy_port }}
|
||||
{% endif %}
|
||||
|
||||
[vnc]
|
||||
enabled = False
|
||||
|
||||
{% elif nova_console_type == 'disabled' %}
|
||||
[vnc]
|
||||
enabled = False
|
||||
|
||||
{% endif %}
|
||||
|
||||
# Glance
|
||||
[glance]
|
||||
region_name = {{ nova_service_region }}
|
||||
|
@ -23,13 +23,13 @@ nova_package_list: |-
|
||||
{% if nova_services['nova-novncproxy']['group'] in group_names or
|
||||
nova_services['nova-spicehtml5proxy']['group'] in group_names or
|
||||
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']) %}
|
||||
{% endif %}
|
||||
{% if nova_console_type == 'spice' %}
|
||||
{% if 'spice' in nova_console_proxy_types %}
|
||||
{% set _ = packages.extend(nova_service_extra_distro_packages['spice']) %}
|
||||
{% endif %}
|
||||
{% if nova_console_type == 'serialconsole' %}
|
||||
{% if 'serialconsole' in nova_console_proxy_types %}
|
||||
{% set _ = packages.extend(nova_service_extra_distro_packages['serialconsole']) %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
@ -24,7 +24,7 @@ nova_venv_packages: |-
|
||||
{%- if nova_oslomsg_amqp1_enabled | bool %}
|
||||
{%- set _ = pkg_list.extend(nova_optional_oslomsg_amqp1_pip_packages) %}
|
||||
{%- endif %}
|
||||
{%- if (nova_console_type == 'novnc') %}
|
||||
{%- if ('novnc' in nova_console_proxy_types) %}
|
||||
{%- set _ = pkg_list.extend(nova_novnc_pip_packages) %}
|
||||
{%- endif %}
|
||||
{%- if (nova_services['nova-compute']['group'] in group_names) %}
|
||||
|
Loading…
x
Reference in New Issue
Block a user