Add the support to customize the console access port
For novnc, need to set novncproxy_port in proxy nodes and novncproxy_base_url in nova-compute nodes. For xvpvnc, need to set xvpvncproxy_port in proxy nodes and xvpvncproxy_base_url in nova-compute nodes. For spice, need to set spicehtml5proxy_port in proxy nodes and spicehtml5proxy_base_url in nova-compute nodes. When release >= Mitaka, novncproxy_port and xvpvncproxy_port are moved from [default] section into [vnc] section. spicehtml5proxy_port is renamed to html5proxy_port and moved to [spice] section. So eventually the console access port can be customized by: juju config nova-cloud-controller console-access-protocol=novnc juju config nova-cloud-controller console-access-port=xx If console-access-port is not defined, then default port is 6080 for novpc, 6081 for xvpvnc, 6082 for spice. Change-Id: I4775ad42ba11b0c28163bf7e3718c56d18a2031f Closes-Bug: #1800753 Signed-off-by: Zhang Hua <joshua.zhang@canonical.com>
This commit is contained in:
parent
ba19f921c5
commit
b182ffa7f7
@ -149,6 +149,11 @@ options:
|
||||
description: |
|
||||
Protocol to use when accessing virtual machine console. Supported types
|
||||
are None, spice, xvpvnc, novnc and vnc (for both xvpvnc and novnc).
|
||||
console-access-port:
|
||||
type: int
|
||||
default:
|
||||
description: |
|
||||
Used to customize the console access port.
|
||||
console-proxy-ip:
|
||||
type: string
|
||||
default: local
|
||||
|
@ -73,5 +73,7 @@ def console_attributes(attr, proto=None):
|
||||
else:
|
||||
return None
|
||||
if console_proto in CONSOLE_CONFIG:
|
||||
if attr == 'proxy-port' and hookenv.config('console-access-port'):
|
||||
return hookenv.config('console-access-port')
|
||||
return CONSOLE_CONFIG[console_proto][attr]
|
||||
return None
|
||||
|
@ -377,6 +377,9 @@ class NovaConfigContext(ch_context.WorkerConfigContext):
|
||||
ctxt['quota_server_groups'] = hookenv.config('quota-server-groups')
|
||||
ctxt['quota_server_group_members'] = hookenv.config(
|
||||
'quota-server-group-members')
|
||||
ctxt['console_access_protocol'] = hookenv.config(
|
||||
'console-access-protocol')
|
||||
ctxt['console_access_port'] = hookenv.config('console-access-port')
|
||||
return ctxt
|
||||
|
||||
|
||||
|
@ -28,6 +28,15 @@ metadata_host = {{ bind_host }}
|
||||
s3_listen = {{ bind_host }}
|
||||
ec2_listen = {{ bind_host }}
|
||||
enable_new_services = {{ enable_new_services }}
|
||||
{% if console_access_port and console_access_protocol == 'novnc' -%}
|
||||
novncproxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
{% if console_access_port and console_access_protocol == 'xvpvnc' -%}
|
||||
xvpvncproxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
{% if console_access_port and console_access_protocol == 'spice' -%}
|
||||
spicehtml5proxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
|
||||
osapi_compute_workers = {{ workers }}
|
||||
ec2_workers = {{ workers }}
|
||||
|
@ -28,6 +28,15 @@ metadata_host = {{ bind_host }}
|
||||
s3_listen = {{ bind_host }}
|
||||
ec2_listen = {{ bind_host }}
|
||||
enable_new_services = {{ enable_new_services }}
|
||||
{% if console_access_port and console_access_protocol == 'novnc' -%}
|
||||
novncproxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
{% if console_access_port and console_access_protocol == 'xvpvnc' -%}
|
||||
xvpvncproxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
{% if console_access_port and console_access_protocol == 'spice' -%}
|
||||
spicehtml5proxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
|
||||
osapi_compute_workers = {{ workers }}
|
||||
ec2_workers = {{ workers }}
|
||||
|
@ -27,6 +27,15 @@ metadata_host = {{ bind_host }}
|
||||
s3_listen = {{ bind_host }}
|
||||
ec2_listen = {{ bind_host }}
|
||||
enable_new_services = {{ enable_new_services }}
|
||||
{% if console_access_port and console_access_protocol == 'novnc' -%}
|
||||
novncproxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
{% if console_access_port and console_access_protocol == 'xvpvnc' -%}
|
||||
xvpvncproxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
{% if console_access_port and console_access_protocol == 'spice' -%}
|
||||
spicehtml5proxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
|
||||
osapi_compute_workers = {{ workers }}
|
||||
ec2_workers = {{ workers }}
|
||||
|
@ -27,6 +27,15 @@ metadata_host = {{ bind_host }}
|
||||
s3_listen = {{ bind_host }}
|
||||
ec2_listen = {{ bind_host }}
|
||||
enable_new_services = {{ enable_new_services }}
|
||||
{% if console_access_port and console_access_protocol == 'novnc' -%}
|
||||
novncproxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
{% if console_access_port and console_access_protocol == 'xvpvnc' -%}
|
||||
xvpvncproxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
{% if console_access_port and console_access_protocol == 'spice' -%}
|
||||
spicehtml5proxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
|
||||
osapi_compute_workers = {{ workers }}
|
||||
ec2_workers = {{ workers }}
|
||||
|
@ -197,8 +197,19 @@ workers = {{ workers }}
|
||||
[oslo_concurrency]
|
||||
lock_path=/var/lock/nova
|
||||
|
||||
[vnc]
|
||||
{% if console_access_port and console_access_protocol == 'novnc' -%}
|
||||
novncproxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
{% if console_access_port and console_access_protocol == 'xvpvnc' -%}
|
||||
xvpvncproxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
|
||||
[spice]
|
||||
{% include "parts/spice" %}
|
||||
{% if console_access_port and console_access_protocol == 'spice' -%}
|
||||
html5proxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
|
||||
{% include "parts/section-serial-console" %}
|
||||
|
||||
|
@ -194,8 +194,19 @@ workers = {{ workers }}
|
||||
[oslo_concurrency]
|
||||
lock_path=/var/lock/nova
|
||||
|
||||
[vnc]
|
||||
{% if console_access_port and console_access_protocol == 'novnc' -%}
|
||||
novncproxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
{% if console_access_port and console_access_protocol == 'xvpvnc' -%}
|
||||
xvpvncproxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
|
||||
[spice]
|
||||
{% include "parts/spice" %}
|
||||
{% if console_access_port and console_access_protocol == 'spice' -%}
|
||||
html5proxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
|
||||
{% include "parts/section-serial-console" %}
|
||||
|
||||
|
@ -150,8 +150,19 @@ workers = {{ workers }}
|
||||
[oslo_concurrency]
|
||||
lock_path=/var/lock/nova
|
||||
|
||||
[vnc]
|
||||
{% if console_access_port and console_access_protocol == 'novnc' -%}
|
||||
novncproxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
{% if console_access_port and console_access_protocol == 'xvpvnc' -%}
|
||||
xvpvncproxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
|
||||
[spice]
|
||||
{% include "parts/spice" %}
|
||||
{% if console_access_port and console_access_protocol == 'spice' -%}
|
||||
html5proxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
|
||||
{% include "parts/section-serial-console" %}
|
||||
|
||||
|
@ -157,8 +157,19 @@ notification_format = unversioned
|
||||
[oslo_concurrency]
|
||||
lock_path=/var/lock/nova
|
||||
|
||||
[vnc]
|
||||
{% if console_access_port and console_access_protocol == 'novnc' -%}
|
||||
novncproxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
{% if console_access_port and console_access_protocol == 'xvpvnc' -%}
|
||||
xvpvncproxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
|
||||
[spice]
|
||||
{% include "parts/spice" %}
|
||||
{% if console_access_port and console_access_protocol == 'spice' -%}
|
||||
html5proxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
|
||||
{% include "parts/section-serial-console" %}
|
||||
|
||||
|
@ -163,8 +163,19 @@ notification_format = unversioned
|
||||
[oslo_concurrency]
|
||||
lock_path=/var/lock/nova
|
||||
|
||||
[vnc]
|
||||
{% if console_access_port and console_access_protocol == 'novnc' -%}
|
||||
novncproxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
{% if console_access_port and console_access_protocol == 'xvpvnc' -%}
|
||||
xvpvncproxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
|
||||
[spice]
|
||||
{% include "parts/spice" %}
|
||||
{% if console_access_port and console_access_protocol == 'spice' -%}
|
||||
html5proxy_port = {{ console_access_port }}
|
||||
{% endif %}
|
||||
|
||||
{% include "parts/section-serial-console" %}
|
||||
|
||||
|
@ -372,6 +372,10 @@ class NovaComputeContextTests(CharmTestCase):
|
||||
self.assertEqual(ctxt['quota_server_group_members'], None)
|
||||
self.assertEqual(ctxt['enable_new_services'],
|
||||
self.config('enable-new-services'))
|
||||
self.assertEqual(ctxt['console_access_protocol'],
|
||||
self.config('console-access-protocol'))
|
||||
self.assertEqual(ctxt['console_access_port'],
|
||||
self.config('console-access-port'))
|
||||
|
||||
_pci_alias1 = {
|
||||
"name": "IntelNIC",
|
||||
|
@ -407,6 +407,17 @@ class NovaCCUtilsTests(CharmTestCase):
|
||||
self.assertEqual(sorted(_pkgs), sorted(vnc_pkgs))
|
||||
self.assertEqual(_proxy_page, None)
|
||||
|
||||
def test_console_attributes_console_access_port(self):
|
||||
self.test_config.set('console-access-port', '6080')
|
||||
_proxy_port = utils.common.console_attributes('proxy-port', 'novnc')
|
||||
self.assertEqual(_proxy_port, '6080')
|
||||
self.test_config.set('console-access-port', '6081')
|
||||
_proxy_port = utils.common.console_attributes('proxy-port', 'xvpvnc')
|
||||
self.assertEqual(_proxy_port, '6081')
|
||||
self.test_config.set('console-access-port', '6082')
|
||||
_proxy_port = utils.common.console_attributes('proxy-port', 'spice')
|
||||
self.assertEqual(_proxy_port, '6082')
|
||||
|
||||
def test_database_setup(self):
|
||||
self.relation_ids.return_value = ['shared-db:12']
|
||||
self.related_units.return_value = ['mysql/0']
|
||||
|
Loading…
x
Reference in New Issue
Block a user