apache / apache/cloudstack

Allow multiple simultaneous console viewers for KVM user VMs

オープン
#13,869 コメント 4 件 リアクション 1 件 担当者 0 名 GitHub で見る
component:console-proxy component:kvm type:enhancement
主要言語
Java
スター
3.1k
フォーク
1.4k
平均マージ
6日 19時間
マージ済み PR(30日)
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.
~~~

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

まず、KVM のユーザー VM コンソールリクエストに対する既存の Console Proxy 処理と、sessionRequiresNewViewer の動作を追跡します。新しい設定 consoleproxy.kvm.multiple.viewers.enabled が viewer セッションにどのような影響を与えるべきかを確認し、無効な場合、および system VM やその他のハイパーバイザーでは現在の動作を維持します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
backend, cloud
issue の種類
機能追加
難易度
4/5
見積もり時間
3〜5日
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
52/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。