-
Notifications
You must be signed in to change notification settings - Fork 1.2k
extension/proxmox: add console access for instances #11601
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Add console access support for the instances deployed using inbuilt Proxmox Orchestrator extension. Underlying CloudStack queries Proxmox API for console and then passes the ticket and host to the CPVM for the zone. During the flow it is assumed CPVM will be able to access the instance (Proxmox) host. Signed-off-by: Abhishek Kumar <[email protected]>
@blueorangutan package |
@shwstppr a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #11601 +/- ##
============================================
+ Coverage 17.39% 17.46% +0.07%
- Complexity 15285 15366 +81
============================================
Files 5889 5893 +4
Lines 526183 526581 +398
Branches 64242 64289 +47
============================================
+ Hits 91542 91980 +438
+ Misses 424297 424236 -61
- Partials 10344 10365 +21
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 14921 |
Signed-off-by: Abhishek Kumar <[email protected]>
Signed-off-by: Abhishek Kumar <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Add console access support for instances deployed using the inbuilt Proxmox Orchestrator extension. CloudStack queries the Proxmox API for console credentials and passes them to the CPVM for the zone.
- Enables console access for External hypervisor instances by removing restriction
- Implements console command handling for External/Proxmox instances
- Adds proper authentication bypass for External hypervisors
Reviewed Changes
Copilot reviewed 20 out of 20 changed files in this pull request and generated 7 comments.
Show a summary per file
File | Description |
---|---|
ui/src/components/view/ActionButton.vue | Removes External hypervisor restriction from console buttons |
server/src/main/java/org/apache/cloudstack/consoleproxy/ConsoleAccessManagerImpl.java | Adds console connection details handling for External hypervisors with proper fallback logic |
server/src/main/java/com/cloud/servlet/ConsoleProxyServlet.java | Adds authentication bypass for External hypervisor instances |
server/src/main/java/com/cloud/consoleproxy/AgentHookBase.java | Adds authentication bypass for External hypervisor instances |
server/src/main/java/com/cloud/server/ManagementServerImpl.java | Implements getExternalVmConsole method |
extensions/Proxmox/proxmox.sh | Adds getconsole action for Proxmox VNC proxy support |
Multiple test files | Comprehensive test coverage for new console functionality |
Multiple API/framework files | New command classes and framework integration |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
server/src/test/java/org/apache/cloudstack/consoleproxy/ConsoleAccessManagerImplTest.java
Outdated
Show resolved
Hide resolved
server/src/test/java/org/apache/cloudstack/consoleproxy/ConsoleAccessManagerImplTest.java
Outdated
Show resolved
Hide resolved
server/src/test/java/org/apache/cloudstack/consoleproxy/ConsoleAccessManagerImplTest.java
Outdated
Show resolved
Hide resolved
server/src/test/java/org/apache/cloudstack/consoleproxy/ConsoleAccessManagerImplTest.java
Outdated
Show resolved
Hide resolved
server/src/test/java/org/apache/cloudstack/consoleproxy/ConsoleAccessManagerImplTest.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/apache/cloudstack/consoleproxy/ConsoleAccessManagerImpl.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/apache/cloudstack/consoleproxy/ConsoleAccessManagerImpl.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Abhishek Kumar <[email protected]>
@blueorangutan package |
@shwstppr a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 14936 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @shwstppr LGTM - left only some minor comments.
It would worth documenting what CloudStack expects from external extensions in order to display the console correctly.
.../src/main/java/org/apache/cloudstack/framework/extensions/manager/ExtensionsManagerImpl.java
Outdated
Show resolved
Hide resolved
...va/org/apache/cloudstack/hypervisor/external/provisioner/ExternalPathPayloadProvisioner.java
Outdated
Show resolved
Hide resolved
Related: apache/cloudstack#11601 Signed-off-by: Abhishek Kumar <[email protected]>
Signed-off-by: Abhishek Kumar <[email protected]>
Signed-off-by: Abhishek Kumar <[email protected]>
@blueorangutan package |
@shwstppr a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 14968 |
@blueorangutan test |
@nvazquez a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests |
[SF] Trillian Build Failed (tid-14299) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@blueorangutan test |
@shwstppr a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests |
[SF] Trillian test result (tid-14317)
|
Signed-off-by: Abhishek Kumar <[email protected]>
Signed-off-by: Abhishek Kumar <[email protected]>
Signed-off-by: Abhishek Kumar <[email protected]>
@blueorangutan package |
@shwstppr a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 15080 |
@blueorangutan test |
@shwstppr a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests |
[SF] Trillian test result (tid-14403)
|
Signed-off-by: Abhishek Kumar <[email protected]>
@blueorangutan package |
@shwstppr a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 15147 |
Description
This PR introduces console access support for instances deployed using Orchestrator Extensions, available via either VNC or a direct URL.
direct
,url
, orlink
. The URL is then provided directly to the user.Documentation PR: apache/cloudstack-documentation#560
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Bug Severity
Screenshots (if appropriate):
proxmox-console.mp4
How Has This Been Tested?
How did you try to break this feature and the system with this change?