From c281a018c41bf1819d6b92343ef4871337702e6f Mon Sep 17 00:00:00 2001 From: Michal Arbet Date: Fri, 30 Jul 2021 14:44:39 +0200 Subject: [PATCH] Fix freezed spice console in horizon This trivial patch is setting "timeout tunnel" in haproxy's configuration for spicehtml5proxy. This option extends time when spice's websocket connection is closed, so spice will not be freezed. Default value is set to 1h as it is in novnc. Closes-Bug: #1938549 Change-Id: I3a5cd98ecf4916ebd0748e7c08111ad0e4dca0b2 --- ansible/roles/nova-cell/defaults/main.yml | 1 + ansible/roles/nova-cell/tasks/loadbalancer.yml | 4 ++++ releasenotes/notes/bug-1938549-e73042a61f0a5935.yaml | 10 ++++++++++ 3 files changed, 15 insertions(+) create mode 100644 releasenotes/notes/bug-1938549-e73042a61f0a5935.yaml diff --git a/ansible/roles/nova-cell/defaults/main.yml b/ansible/roles/nova-cell/defaults/main.yml index afbd995fdb..4a8bd38dc9 100644 --- a/ansible/roles/nova-cell/defaults/main.yml +++ b/ansible/roles/nova-cell/defaults/main.yml @@ -410,6 +410,7 @@ nova_cell_bootstrap_extra_volumes: "{{ nova_extra_volumes }}" # HAProxy #################### haproxy_nova_serialconsole_proxy_tunnel_timeout: "10m" +haproxy_nova_spicehtml5_proxy_tunnel_timeout: "1h" #################### # OpenStack diff --git a/ansible/roles/nova-cell/tasks/loadbalancer.yml b/ansible/roles/nova-cell/tasks/loadbalancer.yml index 13d685fa1f..61c6d16d00 100644 --- a/ansible/roles/nova-cell/tasks/loadbalancer.yml +++ b/ansible/roles/nova-cell/tasks/loadbalancer.yml @@ -78,12 +78,16 @@ external: false port: "{{ hostvars[groups[cell_proxy_group][0]]['nova_spicehtml5proxy_port'] }}" listen_port: "{{ hostvars[groups[cell_proxy_group][0]]['nova_spicehtml5proxy_listen_port'] }}" + backend_http_extra: + - "timeout tunnel {{ haproxy_nova_spicehtml5_proxy_tunnel_timeout }}" nova_spicehtml5proxy_external: enabled: "{{ hostvars[groups[cell_proxy_group][0]]['nova_console'] == 'spice' }}" mode: "http" external: true port: "{{ hostvars[groups[cell_proxy_group][0]]['nova_spicehtml5proxy_port'] }}" listen_port: "{{ hostvars[groups[cell_proxy_group][0]]['nova_spicehtml5proxy_listen_port'] }}" + backend_http_extra: + - "timeout tunnel {{ haproxy_nova_spicehtml5_proxy_tunnel_timeout }}" tags: always - import_tasks: proxy_loadbalancer.yml diff --git a/releasenotes/notes/bug-1938549-e73042a61f0a5935.yaml b/releasenotes/notes/bug-1938549-e73042a61f0a5935.yaml new file mode 100644 index 0000000000..6a88b4d9ca --- /dev/null +++ b/releasenotes/notes/bug-1938549-e73042a61f0a5935.yaml @@ -0,0 +1,10 @@ +--- +features: + - | + Adds config parameter ``haproxy_nova_spicehtml5_proxy_tunnel_timeout`` + to configure the ``Tunnel TimeOut`` directive for spicehtml5proxy + haproxy service. +fixes: + - | + Fixes an issue where spice console is freezed after while, + see `LP#1938549 `__.