Allow multiple simultaneous console viewers for KVM user VMs
- 主要語言
- Java
- 星號
- 3.1k
- 分支
- 1.4k
- 平均合併
- 6 天 19 小時
- 30 天內合併 PR
- 32
描述
### The required feature described as a wish
##### ISSUE TYPE
* Feature Idea
##### COMPONENT NAME
~~~text
KVM / Console Proxy
~~~
##### CLOUDSTACK VERSION
~~~text
Behavior reproduced on 4.22.1.0.
Feature implementation targets current main (4.23.0.0-SNAPSHOT).
~~~
##### CONFIGURATION
KVM user VMs using the standard CloudStack Console Proxy / noVNC console.
##### OS / ENVIRONMENT
KVM-based CloudStack environment.
##### SUMMARY
Currently, when two users attempt to access the console of the same KVM user VM,
opening the second console disconnects the first viewer.
The Console Proxy already supports using a unique console session UUID as the
viewer key when `sessionRequiresNewViewer` is enabled. This capability can be
used to allow multiple simultaneous console viewers for KVM user VMs.
The proposed change adds a global setting:
`consoleproxy.kvm.multiple.viewers.enabled`
The setting defaults to `false` to preserve the existing single-viewer behavior.
When enabled, each console request for a KVM user VM receives a unique viewer
session so multiple users can remain connected to the same VM console
simultaneously.
The change is restricted to KVM user VMs and does not alter console behavior for
system VMs or other hypervisors.
##### STEPS TO REPRODUCE
~~~text
1. Start a KVM user VM.
2. Log in to CloudStack as User A and open the VM console.
3. Log in separately as User B and open the console of the same VM.
4. Observe User A's console session.
~~~
##### EXPECTED RESULTS
~~~text
Both users should be able to remain connected to the same VM console when
multiple console viewers are enabled.
~~~
##### ACTUAL RESULTS
~~~text
Opening the console as User B disconnects the existing console session for
User A.
~~~
貢獻指南
研究方向
首先,追蹤現有的 Console Proxy 對 KVM 使用者 VM 主控台要求的處理,以及 sessionRequiresNewViewer 的行為。確認新的設定 consoleproxy.kvm.multiple.viewers.enabled 應如何影響 viewer 工作階段,同時在停用該設定時,以及對於系統 VM 或其他 hypervisor 保持目前的行為。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- java
- 領域
- backend, cloud
- Issue 類型
- 功能
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 活躍
- 描述清晰度
- 基本清楚
- 新手友好度
- 52/100