Commit Graph

9550 Commits

Author SHA1 Message Date
Suresh Kumar Anaparti
2b1f0bbbdb
UI: Fix for cluster addition in VMware (#11812) 2025-10-10 12:35:41 +05:30
Pearl Dsilva
973819dad6
API: Add support to list all snapshot policies & backup schedules (#11587)
* API: Add support to list all snapshot policies & backup schedules

* Add support for backup policy listing without tying it to the vmid

* add tests for snapshot policy listing

* update tests for listbackupschedules

* remove trailing spaces and fix lint failure

* Add upgrade test

* remove unused import

* add create policy - snap/backup in the list view with resource (volume/vm) selection

* add translations

* refresh parent list

* remove unnecessary alert info

* fix checks for UI backup schedule list view

* fix checks for UI backup schedule list view

* add back access checks

* add since param

* fix failing test

* update snapshot policy and backup schedule ownership when VM is moved

* fix issue with showing vm selection

* fix unit test failure

* Update list snappolicy & backup schedule logic to list only those that belong to a proj or for root admin those that belong to it, unless listall & projid is passed

* fix test

* support snap / backup policy search using keyword

* fix tests
2025-10-09 17:22:17 +05:30
Wei Zhou
6089c161a6
Merge remote-tracking branch 'apache/4.20' 2025-10-08 15:40:33 +02:00
Henrique Sato
cc3170577c
Add Hypervisor default as cache mode for disk offerings (#10282)
Co-authored-by: Henrique Sato <henrique.sato@scclouds.com.br>
2025-10-08 13:39:28 +02:00
Manoj Kumar
9f20979bce
UI: Fix primary storage for datastore cluster and retain traffic labels during zone deployment (#11760) 2025-10-08 13:38:03 +02:00
Abhishek Kumar
a15fbd9bcc
refactor: remove use of term entry-point from extensions code base (#11488)
Addresses #11483

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-10-08 15:42:43 +05:30
dahn
270d3f9a2d
UI: Deal with crosssite api call after login (#10533) 2025-10-08 10:42:00 +02:00
Wei Zhou
858663fcf7
UI: fix missing comma at end of line 2025-10-07 16:55:04 +02:00
Daan Hoogland
5f63e8493c Merge branch '4.20' 2025-10-07 15:12:53 +02:00
Manoj Kumar
9bcd98876d
Make kvm domain persistent when unmanaged from CS (#11541)
CS creates transient KVM domain.xml. When instance is unmanaged from CS, explicit dump of domain has to be taken to manage is outside of CS.

With this PR

    domainXML gets backed up and becomes persistent for further management of Instance.
    Stopped instance also can be unmanaged, last host for instance is considered for defining domain
    hostid param is supported in unmanageVirtualMachine API for KVM hypervisor and for stopped Instances
    hostid field in response of unmanageVirtualMachine, representing host used for unmanage operation
    Disable unmanaging instance with config drive, can unmanage from API using forced=true param for KVM
2025-10-07 10:32:33 +05:30
Erik Böck
5a8a1e27e1
Fixed and enhanced vlan field validation in the UI (#10983) 2025-10-03 16:12:36 +05:30
Abhishek Kumar
b09f3e8ff7
ui: fix overflow for value in DetailInput (#11771)
In DetailInput component when a long value is used, it overflows on some
browsers.

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-10-03 11:20:22 +05:30
Pearl Dsilva
cd12fa5848
Add UUID field for LDAP configuration (#11462)
* Add UUID field for LDAP configuration

* move db changes to the lastest schema file

* Add ID param to list ldapConf API & delete ldapConf API

* fix ui test

* fix 1 ui test

* fix test

* fix api description

---------

Co-authored-by: dahn <daan@onecht.net>
2025-10-01 14:43:22 +02:00
Abhisar Sinha
70af55e848
UI support for extraconfig in deploy and update instance (#11719) 2025-09-30 09:20:44 +02:00
Abhishek Kumar
928972f767
extension/proxmox: add console access for instances (#11601)
This PR introduces console access support for instances deployed using Orchestrator Extensions, available via either VNC or a direct URL.

- CloudStack queries the extension using the getconsole action.
- For VNC-based access, the extension must return host/port/ticket details. CloudStack then forwards these to the Console Proxy VM (CPVM) in the instance’s zone. It is assumed that the CPVM can reach the specified host and port.
- For direct URL access, the extension returns a console URL with the protocol set to `direct`. The URL is then provided directly to the user.
- The built-in Proxmox Orchestrator Extension now supports console access via VNC. The extension calls the Proxmox API to fetch console details and returns them in the required format.

Also, adds changes to send caller details to the extension payload.
```
# cat /var/lib/cloudstack/management/extensions/Proxmox/02b650f6-bb98-49cb-8cac-82b7a78f43a2.json | jq
{
  "caller": {
    "roleid": "6b86674b-7e61-11f0-ba77-1e00c8000158",
    "rolename": "Root Admin",
    "name": "admin",
    "roletype": "Admin",
    "id": "93567ed9-7e61-11f0-ba77-1e00c8000158",
    "type": "ADMIN"
  },
  "virtualmachineid": "126f4562-1f0f-4313-875e-6150cabeb72f",
  ...
```

Documentation PR: https://github.com/apache/cloudstack-documentation/pull/560

---------

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-09-27 08:54:27 +05:30
Abhisar Sinha
23c9e83047
Create Instance from backup on another Zone (DRaaS use case) (#11560)
* draas initial changes

* Added option to enable disaster recovery on a backup respository. Added UpdateBackupRepositoryCmd api.

* Added timeout for mount operation in backup restore configurable via global setting

* Addressed review comments

* fix for simulator test failures

* Added UT for coverage

* Fix create instance from backup ui for other providers

* Added events to add/update backup repository

* Fix race in fetchZones

* One more fix in fetchZones in DeployVMFromBackup.vue

* Fix zone selection in createNetwork via Create Instance from backup form.

* Allow template/iso selection in create instance from backup ui

* rename draasenabled to crosszoneinstancecreation

* Added Cross-zone instance creation in test_backup_recovery_nas.py

* Added UT in BackupManagerTest and UserVmManagerImplTest

* Integration test added for Cross-zone instance creation in test_backup_recovery_nas.py
2025-09-25 13:28:29 +05:30
Abhishek Kumar
b0c7719006
ui: do not show admin only options to users while registering template (#11702) 2025-09-24 17:42:28 +02:00
Abhishek Kumar
4884f52c90
ui: allow provisioning backups during instance deploy (#11612)
* ui: allow assigning backup offring during instance deploy

Add backup offering selection to Deploy VM wizard and assign selected backup offering to the VM after successful deployment. This enables users to choose a backup offering during VM creation, and the VM is automatically associated with the selected offering post-deployment.

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* changes for schedules

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* fix

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* fix

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* Update ui/public/locales/pt_BR.json

* Update ui/src/views/compute/wizard/DeployInstanceBackupSelection.vue

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* address review

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* fix

* allow only one schdeule per interval type

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* show message same internaltype schedule

* show backup step only when zone has offering

---------

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-23 14:51:42 +05:30
Rohit Yadav
d9abc078cf
ui: fix build on latest Ubuntu and macOS (#11259)
* ui: fix build on latest Ubuntu and macOS

This fixes UI build, so it can build against nodejs 20.x/LTS.

Signed-off-by: Rohit Yadav <rohit@yadav.cloud>

* Update ui/package.json

---------

Signed-off-by: Rohit Yadav <rohit@yadav.cloud>
2025-09-23 09:37:43 +05:30
dahn
aca8732102
[router] make a distinction between fatal errors, warnings and unknown as healthcheck result (#10710)
* [routers] distiction between fatal failure and warning or unknown on healthchecks

* UI status for router health checks

* status from scripts varied

* automation signalled errors

* revert removal of update sql

* upgradeversion

* move config item and further cleanup

* handling services better

* backwards compatible response

---------

Co-authored-by: Daan Hoogland <dahn@apache.org>
2025-09-22 11:39:05 +05:30
julien-vaz
a466750d3b
Add cleanup for tiers dropdown on assignVIrtualMachine API form (#11464)
Co-authored-by: Julien Hervot de Mattos Vaz <julien.vaz@scclouds.com.br>
2025-09-19 15:46:20 +02:00
John Bampton
a452dc6543
chore(markdown): use https on links (#11676) 2025-09-19 15:20:40 +02:00
vishesh92
ada750e391
Merge branch '4.20' 2025-09-17 14:26:06 +05:30
Manoj Kumar
1948f90c2c
[UI] Fix group disable action for compute and disk offering (#11602) 2025-09-15 11:57:59 +02:00
Abhishek Kumar
6a145358a9
ui: fix tab name in query params (#11590) 2025-09-15 11:32:10 +02:00
Abhishek Kumar
7c76a3c12a
ui: searchview change should only remove related query params (#11576) 2025-09-15 10:01:02 +02:00
Wei Zhou
70a4503ea1
Merge remote-tracking branch 'apache/4.20' 2025-09-11 14:04:52 +02:00
Wei Zhou
b46e29dc67
Improvement: SSL offloading with Virtual Router (#11468)
* SSL offloading with Virtual Router

* PR11468: fix pre-commit errors

* PR11468: api->getAPI/postAPI in UI

* SSL: add smoke tests for VPC in user project

* PR11468: address Daan's comments

* Fix test/integration/smoke/test_ssl_offloading.py

* SSL: remove ssl certificates when clean up account

* SSL offloading: add unit tests

* SSL offloading: UI fixes part 1

* SSL offloading: UI changes part 2

* SSL offloading: add more unit tests

* SSL offloading: more unit tests 3

* SSL offloading: wrong check

* SSL offloading: more and more unit tests

* SSL offloading: add testUpdateLoadBalancerRule5
2025-09-11 16:37:18 +05:30
Abhisar Sinha
e64e94ad3f
Import KVM VM: Autodetect vlan id from bridge name (#11507)
* Get vlan from bridge name while importing kvm instances

* Fix LibvirtReplugNicCommandWrapperTest

* Cleanup MultiNetworkSelection.vue

* getting the vlanid from the /proc/net/vlan/<pif> file instead of the bridge name

* Update plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtGetUnmanagedInstancesCommandWrapper.java

Co-authored-by: dahn <daan.hoogland@gmail.com>

* Don't call sendValuesTimed from getDefaultNetwork as it's causing an infinte loop

* set default network values in setDefaultValues instead of getDefaultNetwork

---------

Co-authored-by: Wei Zhou <weizhou@apache.org>
Co-authored-by: dahn <daan.hoogland@gmail.com>
2025-09-11 10:39:09 +02:00
Wei Zhou
8089d32740
Merge remote-tracking branch 'apache/4.20' 2025-09-09 19:50:22 +02:00
Abhishek Kumar
3ffd444294
ui: donot remove account, domain from query on public ip filter change (#11575)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-09-09 12:42:29 +02:00
Wei Zhou
f99942cf9a
Merge remote-tracking branch 'apache/4.19' into 4.20 2025-09-08 10:00:01 +02:00
AndrewHaZG
af2a911f1b
UI: Make logout function more robust to prevent session issues (#11361)
Improve cookie cleanup during logout by removing cookies across
multiple paths and domains to ensure complete session termination.

Fixes #11078
2025-09-08 09:24:33 +02:00
Bernardo De Marco Gonçalves
f4802f30ed
UI: fix display of disk size and IOPS fields in the scale VM form (#11553) 2025-09-08 09:23:19 +02:00
Abhishek Kumar
25f1d20340
ui: show multiple domains as links in list view (#11536)
* ui: show multiple domains as links in list view

Currently, when resources are linked to multiple domains and they are
shown in the list view, they are not clickable. This PR fixes it.

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* fix

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

---------

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-09-03 15:05:06 +02:00
Abhisar Sinha
3d6ec29c9b
Don't show backup in list_capacity for dummy plugin or if backup_framework is disabled (#11485)
* Don't show backup storage in list_capacity for dummy plugin or if backup_framework is disabled

* Fix the tile to full size

---------

Co-authored-by: Harikrishna Patnala <harikrishna.patnala@gmail.com>
2025-09-03 15:50:46 +05:30
Abhishek Kumar
f24b1757a0
ui: donot filter edge zones while registering directdownload iso (#10865)
Fixes #10766

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-09-03 11:46:10 +02:00
Abhishek Kumar
3ddd8023d0
ui: fix extension path with name having special characters (#11489)
Fixes #11481

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-09-02 18:19:01 +05:30
Wei Zhou
abe41add86
Merge remote-tracking branch 'apache/4.20' 2025-09-02 08:24:37 +02:00
Harikrishna
92e7593296
Use update offering APIs to disable compute and disk offerings (#11550) 2025-09-02 11:25:32 +05:30
Suresh Kumar Anaparti
2eb80e0361
Merge branch '4.20' 2025-08-29 15:36:16 +05:30
Suresh Kumar Anaparti
ca62a7dd50
Merge branch '4.19' into 4.20 2025-08-29 15:31:00 +05:30
Oleg Chuev 👋
2105794f61
UI: Hide User Card from config.userCard.enabled option (#10545)
Co-authored-by: OlegChuev <o.chuev@mobidev.biz>
2025-08-29 11:30:25 +02:00
Pearl Dsilva
f80a9ca482
UI: Prevent restriction of changeOfferingForVolume API to Admin role (#11466) 2025-08-29 09:06:03 +02:00
Suresh Kumar Anaparti
e0bc8c3b1a
Merge branch '4.20' 2025-08-21 18:35:34 +05:30
Pearl Dsilva
df5efa5d0d
Remove non-existant network service provider from UI (#11463) 2025-08-21 17:55:10 +05:30
Suresh Kumar Anaparti
2c34f5e495
Merge branch '4.20' 2025-08-15 19:54:41 +05:30
Suresh Kumar Anaparti
9111bbd8da
Merge branch '4.19' into 4.20 2025-08-15 19:49:59 +05:30
Wei Zhou
d4bd587231
UI: fix addHost in zone wizard (#11401) 2025-08-15 16:25:15 +05:30
Suresh Kumar Anaparti
96728c5a17
Merge branch '4.20' 2025-08-11 20:44:26 +05:30
Abhishek Kumar
f5b4858012
ui: make vpc cidr required when not showing cidrsize (#11393)
Fixes #11391

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-08-11 20:41:57 +05:30
Nicolas Vazquez
53b026487f
UI: Fix duplicate edit zone button on Basic zones (#11427) 2025-08-11 16:40:44 +05:30
Vishesh
26218b093e
Fix edit of compute offering in UI (#11417) 2025-08-11 16:23:59 +05:30
Nicolas Vazquez
7d59bfe2b5
[UI] Fix zone creation wizard stuck on configuring public traffic (#11404)
* [UI] Fix zone wizard creation stuck on configuring public traffic
2025-08-07 18:18:39 +05:30
Suresh Kumar Anaparti
ca8ce8c885
Merge branch '4.20' 2025-08-04 16:44:40 +05:30
Suresh Kumar Anaparti
7acd5a3875
Merge branch '4.19' into 4.20 2025-08-04 16:42:49 +05:30
slavkap
e5f61164b3
Support of snapshot copy to primary storage in different zones. (#9478)
* Support of snapshot copy to different StorPool primary storage between zones
2025-08-04 16:35:16 +05:30
Abhisar Sinha
626f3de69a
Handle project delete in detailsview. (#11197) 2025-08-04 16:26:37 +05:30
Abhishek Kumar
a0fd37f495
ui: pass validated storagepolicy for swift store (#11315)
Fixes #9789

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-08-04 16:21:58 +05:30
Pearl Dsilva
db63d2428b
Netris: Fix Netris provider parameter name and response (#11377)
* Fix Netris url param name and allow cidr size for routed mode vpcs

* rename response parameter name
2025-08-02 22:33:43 +05:30
Suresh Kumar Anaparti
5c1bf4a4ce
Merge branch '4.20' 2025-08-01 18:00:45 +05:30
Suresh Kumar Anaparti
14feb259f6
Merge branch '4.19' into 4.20 2025-08-01 17:59:58 +05:30
Abhishek Kumar
b2ce1fb9c3
ui: fix initial pagination for images in deploy forms (#11349)
Regression from #10773

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-08-01 17:44:01 +05:30
Abhishek Kumar
1bfebd550c
ui: update project menu on projects change (#11369)
Fixes #11357

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-08-01 17:41:02 +05:30
Abhishek Kumar
b479d37b87
ui: fix api type in InfiniteScrollSelect (#11370)
Earlier it was always using HTTP POST. Ideally it will always be some
list API.

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-08-01 17:39:50 +05:30
Abhishek Kumar
a60c8cab14
api,server,ui: allow listing events by state (#11355)
* api,server,ui: allow listing events by state

This change allows listing events by a particular state - Created, Scheduled, Started, Completed.
A new parameter - state has been added to the listEvents API and corresponding changes have been added in the UI.

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* Update api/src/main/java/org/apache/cloudstack/api/command/user/event/ListEventsCmd.java

---------

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2025-07-31 19:22:15 +05:30
slavkap
adccdf2c7b
UI support for deploy a VM from volume/snapshot (#11164)
* UI support for deploy  a virtual machine with existing volume or a disk snapshot
2025-07-31 19:00:11 +05:30
Vishesh
bcd738caa6
Fix GPU discovery script to make it run with mdev for SR-IOV enabled devices (#11340) 2025-07-31 18:29:35 +05:30
Abhisar Sinha
e805e45342
Show chain size in snapshot response for incremental snapshots (#11313) 2025-07-31 14:52:48 +02:00
Pearl Dsilva
9f5828a027
UI: Fix cpu & memory details on list view for unmanaged k8s clusters (CAPC) (#11353) 2025-07-31 18:14:55 +05:30
Abhisar Sinha
a87c5c2b3a
Create new Instance from VM backup (#10140)
This feature adds the ability to create a new instance from a VM backup for dummy, NAS and Veeam backup providers. It works even if the original instance used to create the backup was expunged or unmanaged. There are two parts to this functionality:
Saving all configuration details that the VM had at the time of taking the backup. And using them to create an instance from backup.
Enabling a user to expunge/unmanage an instance that has backups.
2025-07-31 15:47:22 +05:30
Suresh Kumar Anaparti
6589235b71
Merge branch '4.19' into 4.20 2025-07-31 15:23:02 +05:30
Nico
6b9615b2f9
Selected type on update traffic type is based on chosen type in traffic types tab (#10902)
Co-authored-by: Nicole Schmidt <nicole.schmidt@scclouds.com.br>
2025-07-31 15:21:19 +05:30
Abhishek Kumar
3850445b50
ui: fix delete traffic type (#11337)
Currently wrong parameter - 'itemd' is passed to the `deleteTrafficType` method.

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-07-31 15:17:01 +05:30
Suresh Kumar Anaparti
f58372e97b
[UI] Use GET request method for list API calls (#11354)
* [UI] Use GET request method for list API calls

* Updated UI unit tests
2025-07-31 15:09:12 +05:30
Suresh Kumar Anaparti
1f1e38f3a8
Support to list templates in ready state (new API parameter 'isready', similar to list ISOs) (#11343)
* Support to list templates in ready state (new API parameter 'isready', similar to list ISOs), and UI to display Templates/ISOs in ready state wherever applicable
2025-07-31 10:08:35 +05:30
Suresh Kumar Anaparti
70468a6258
Merge branch '4.20' 2025-07-30 18:30:07 +05:30
Bernardo De Marco Gonçalves
f73cb5621d
Refactoring retention of backup schedules (#11223)
* refactor backup schedule retention workflows

Co-authored-by: Fabricio Duarte <fabricio.duarte.jr@gmail.com>
2025-07-30 18:12:04 +05:30
Pearl Dsilva
1dc134a3ec
UI: Display NSX Provider only when NSX is the selected Isolation method (#11142) 2025-07-30 14:11:13 +02:00
Suresh Kumar Anaparti
76cfcb48fb
Merge branch '4.20' 2025-07-30 11:21:12 +05:30
Suresh Kumar Anaparti
96ed9d47bc
Merge branch '4.19' into 4.20 2025-07-30 11:10:17 +05:30
Abhishek Kumar
8497f70b46
ui: make events tab selected columns persistent using cache (#11317)
Fixes #10308

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-07-30 11:07:38 +05:30
Abhishek Kumar
7506a547af
kvm, ui: fix interface when using vlan subnet for storage traffic type (#11245)
* kvm, ui: fix interface when using vlan subnet for storage traffic type

Fixes #7816

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-07-30 11:04:58 +05:30
Abhishek Kumar
fd4223295a
ui: fix advance setting behaviour in autoscale form (#11306)
Fixes #11269

The current dysfunctional behaviour was introduced in #6571. In advanced
settings interface for ssh keypairs, userdata, affinity group, etc are
show but the toggle to show/hide them was not working correctly.

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-07-30 10:56:33 +05:30
Abhisar Sinha
da3ba17884
Fix build and ui build errors in main (#11332)
* fix build error in registeruserdatacmd

* remove unused imports

* fix ui build errors
2025-07-29 17:02:16 -03:00
Daan Hoogland
0b3959221b Merge branch '4.20' 2025-07-29 16:50:55 +02:00
Suresh Kumar Anaparti
1961aea770
Merge branch '4.19' into 4.20 2025-07-29 18:18:33 +05:30
Abhishek Kumar
e9918ba15d
ui: fix volume size not showing (#11328)
Fixes #11321

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-07-29 17:12:31 +05:30
Nicolas Vazquez
8756be5c18
[Multi-Arch] Select Template Arch when creating template from volume (#11068)
Co-authored-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
Co-authored-by: Vishesh <vishesh92@gmail.com>
2025-07-29 11:41:43 +02:00
Vishesh
f6ad184ea2
Feature: Add support for GPU with KVM hosts (#11143)
This PR allows attaching of GPU devices via PCI, mdev or VF to an Instance for KVM.

It allows the operator to discover the GPU devices on the KVM host and create a Compute Offering with GPU support based on the available GPU devices on the host. Once the operator has created the Compute offering, it can be used by users to launch Instances with GPU devices.
2025-07-29 13:46:24 +05:30
Abhishek Kumar
4aed972e78
api,server,extensions: allow updating extension resource map details (#11303)
* api,server,extensions: allow updating extension resource map details

This PR makes changes for allowing updating details for an extension resource mapping.
Currently, extensions only support Cluster to be registered therefore changes has been added to updateCluster functionality.

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-07-29 10:25:52 +05:30
Abhishek Kumar
d693736ee8
ui: fix NAN% used memory for vm (#11307) 2025-07-28 14:59:17 +02:00
Suresh Kumar Anaparti
45edf82efa
[UI] Fix for local storage enable/disable toggle in edit zone (#11309) 2025-07-28 17:54:00 +05:30
Pearl Dsilva
ca6d2dc57e
Prevent multi-select dropdown menu from floating on scrolling through the form (#11237) 2025-07-28 11:20:42 +02:00
Harikrishna
cca8b2fef9
Extensions Framework & Orchestrate Anything (#9752)
The Extensions Framework in Apache CloudStack is designed to provide a flexible and standardised mechanism for integrating external systems and custom workflows into CloudStack’s orchestration process. By defining structured hook points during key operations—such as virtual machine deployment, resource preparation, and lifecycle events—the framework allows administrators and developers to extend CloudStack’s behaviour without modifying its core codebase.
2025-07-28 10:41:17 +05:30
Abhishek Kumar
217ff27650
ui: fix compute offering edit (#11232)
Fixes #11216

There is no parameter named 'storageaccessgroups' in updateServiceOffering API.

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-07-26 13:17:31 +05:30
Nicolas Vazquez
40035f54d0
[UI] Add dedicated account field dropdown on zone creation (#11195) 2025-07-26 12:36:47 +05:30
Daan Hoogland
609efcc231 Merge branch '4.19' into 4.20 2025-07-25 22:01:17 +02:00
Pearl Dsilva
0d4147f3f6
Netris Network Plugin Integration with CloudStack (#10458)
The Netris Plugin introduces Netris as a network service provider in CloudStack to be able to create and manage Virtual Private Clouds (VPCs) in CloudStack, being able to orchestrate the following network functionalities:

- Network segmentation with Netris-VXLAN isolation method
- Routing between "public" IP and network segments with an ACS ROUTED mode offering
- SourceNAT, DNAT, 1:1 NAT between "public" IP and network segments with an ACS NATTED mode offering
- Routing between VPC network segments (tiers in ACS nomenclature)
- Access Lists (ACLs) between VPC tiers and "public" network (TCP, UDP, ICMP) both as global egress rules and "public" IP specific ingress rules.
- ACLs between VPC network tiers (TCP, UDP, ICMP)
- External load balancing – between VPC network tiers and "public" IP
- Internal load balancing – between VPC network tiers
- CloudStack Virtual Router services (DHCP, DNS, UserData, Password Injection, etc…)
2025-07-25 15:26:42 +05:30
Nicolas Vazquez
a51a04efc2
[Vmware to KVM Migration] Preserve boot type and boot mode of instances to be migrated (#10975)
* [Vmware to KVM Migration] Preserve boot type and boot mode of instances to be migrated

* Restore end of line

* Extract lines to new method

* Address review comments
2025-07-25 12:30:42 +05:30
Abhisar Sinha
eeb4d55e89
polish: Fix some inconsistencies in object names and messages (#10856)
* Replace ACL list with ACL and related changes to the json files in public/locales

* Replace ACL list with ACL and related changes to network.js, VpcTab.vue and AclRulesTab.vue

* Replace Export ACLs with Export ACL rules

* standardize the term user data everywhere. fix the placeholder in register user data form.

* Convert resource names in main menu and action buttons to Title case

* Use special icon for sharedfs instance and prefix for sharedfs volumes

* Give custom icon precedence over shared fs icon

* Fixed some issues with public/locale files

* Revert sharedfsvm changes

* Added label.add.acl.name to en.json which was incorrectly removed

* replace all *userdata* labels to *user.data* in public json files.

* remove redundant labels label.user.data.l2 and label.replace.acl.list

* Update ui/src/views/offering/AddNetworkOffering.vue

Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>

* user data -> User Data in cmd and response

* fix more Title case on action buttons and labels.

---------

Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2025-07-24 22:18:35 +05:30
nvazquez
935c568082
Merge fix for UI 2025-07-24 13:33:30 -03:00
Nicolas Vazquez
11455f6d49
UI: Add option to Login to a specific Project view via setting on config.json (#10935)
* UI: Login to a specific Project view

* Fix project icon

* Add the option to display project on login on the config.json file

---------

Co-authored-by: Pearl Dsilva <pearl1594@gmail.com>
2025-07-24 11:42:25 -03:00
Nicolas Vazquez
22b753e930
[UI] Deploy VM: Preselect first available template (#11207) 2025-07-24 12:18:07 +02:00
Pearl Dsilva
948ecda785
UI: Fix missing labels (#11102)
Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2025-07-24 13:17:18 +05:30
Pearl Dsilva
071e612f40
UI: Fix OS Type displayed for a VM (#11075)
* UI: Fix OS Type displayed

* remove unnecessary method for os name change

---------

Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2025-07-24 12:59:36 +05:30
Manoj Kumar
264e404108
Fix for dynamic scaling toggle for instance (#11086)
* Fix for dynamic scaling toggle for instance

* Update api/src/main/java/org/apache/cloudstack/api/response/CapabilitiesResponse.java

---------

Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2025-07-24 09:30:20 +05:30
John Bampton
165ab0aabe
Fix HTML license; standardize HTML code (#11067)
Co-authored-by: Vishesh <vishesh92@gmail.com>
2025-07-23 17:25:15 +02:00
Abhisar Sinha
d63899fc8a
Set Content-Type from the file type (#11093) 2025-07-23 16:12:53 +05:30
Vishesh
a710ff8c6d
UI: Fix ISO Hypervisor selection (#11261) 2025-07-23 13:07:02 +05:30
Bernardo De Marco Gonçalves
9d049707d5
Fix deletion of backup schedules (#11222) 2025-07-23 09:31:17 +02:00
Abhisar Sinha
d72a05aa5a
Add special Icon to Shared FileSystem Instances (#10857)
* Use special icon for sharedfs instance and prefix for sharedfs volumes

* Give custom icon precedence over shared fs icon

* Fix sharedfsvm icon size

* Fix UT failure in StorageVmSharedFSLifeCycleTest
2025-07-23 11:21:59 +05:30
Abhisar Sinha
e7172161dd
Guard OS type update for iso/template with existing vms (#11215)
* Guard OS type update for iso/template with existing vms

* fix identation

* rename vm -> instance

* force update iso/template as true by default via api

* add missing message.success.update.iso label
2025-07-22 18:42:24 +05:30
Pearl Dsilva
15c09af5cc
UI: Fix traffic Label on Zone creation wizard for VMware (#11101) 2025-07-17 09:31:28 +02:00
Bernardo De Marco Gonçalves
bf46458578
List templates and ISOs by domain (#11179) 2025-07-17 09:01:49 +02:00
Manoj Kumar
65d359228d
Allow populating generic templates during Zone Deployment (#10947) 2025-07-16 12:24:06 +02:00
João Jandre
53eb2c5b9b
File-based disk-only VM snapshot with KVM as hypervisor (#10632)
Co-authored-by: João Jandre <joao@scclouds.com.br>
Co-authored-by: Fabricio Duarte <fabricio.duarte.jr@gmail.com>
2025-07-16 08:54:07 +02:00
Vishesh
f52e05863e
UI fix api in project view (#11191)
* Add project id for post requests as well in the params

* Replace leftover api calls to getAPI calls

* ui: don't remove values from request if the value is null or empty string

* Address comments

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>

* fixup

* Return null if guiTheme requests fails

---------

Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2025-07-15 18:19:46 +05:30
Bryan Lima
fb6adacc51
GUI whitelabel runtime system (#8942)
* Add first version

* Add guithemedetails join

* Update since and remove extra line

* Limit information on API response for non admin users

* Add base files for preset themes

* Add miising license

* Revert cookie check

* Fix imports

* Fix pre-commit

* Address log4j2 string to format review and add license to css files

* Fix infinite loading

* Move event details to service implementation

* Move view to a specific view file

* Refactoring gui theme classes

* Normalize package name

* Address Henrique review

* Fix create table SQL

* Add interface for Dao classes

* Remove extra tabs

* Address unauthorized call when 2FA is enabled

* Remove trailing whitespaces

* Apply suggestions from code review

Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>

---------

Co-authored-by: Henrique Sato <henriquesato2003@gmail.com>
Co-authored-by: Bernardo De Marco Gonçalves <bernardomg2004@gmail.com>
Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2025-07-15 13:29:09 +05:30
Daan Hoogland
0dbd761fbb Merge branch '4.20' 2025-07-14 11:17:08 +02:00
Bernardo De Marco Gonçalves
1cbf1cd2cd
fix volumes search filter (#11168) 2025-07-09 14:31:18 +02:00
Manoj Kumar
8e4fe1c370
Allow configuring Announcement banner by admin (#10951)
* Allow configuring Announcement banner by admin

* add license

* revert un-necessary changes from package-lock.json

* banner should use 100% width and push down content down

* fix grey area issue

* show error page if config.json is not valid
2025-07-07 13:56:58 +05:30
Suresh Kumar Anaparti
749ddb975f
Support ApiServer to enforce POST requests for state changing APIs and requests with timestamps (#10899)
Co-authored-by: Kevin Li <kli74@apple.com>
2025-07-05 15:25:48 +02:00
Abhishek Kumar
ed7bd5e580
ui: fix handler for deploy button menu (#11116)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-07-03 15:30:42 +02:00
Daan Hoogland
3e3a0c0678 Merge branch '4.20' 2025-07-03 15:29:05 +02:00
Harikrishna
3b54194aef
Correct quota type indexes (#11085) 2025-07-03 09:45:35 +02:00
Suresh Kumar Anaparti
be22bfe2c9
Management Server - Prepare for Maintenance and Cancel Maintenance improvements (#10995)
* Management Server - Prepare for Maintenance and Cancel Maintenance improvements:
- Added new setting 'management.server.maintenance.ignore.maintenance.hosts' to ignore hosts in maintenance states  while preparing management server for maintenance. This skips agent transfer and agents count check for hosts in maintenance.
- Rebalance indirect agents after cancel maintenance, using rebalance parameter in cancelMaintenance API
- Force maintenance after maintenance window timeout, using forced parameter in prepareForMaintenance API.
- Propagate 'indirect.agent.lb.check.interval' setting change to the host agents.

* rebases fixes

* code improvements, cleanup

* [UI] Set rebalance true by default in cancel maintenance dialog

* Update MS state after executing cluster cmd in the target MS, and some code improvements

* code improvements

* Ensure the host lb algorithm 'shuffle' is applied once before disabling the indirect agent lb check background task
2025-07-03 12:17:04 +05:30
João Jandre
ba0204f8ed
Block volume shrink on Xen (#11004)
Co-authored-by: João Jandre <joao@scclouds.com.br>
2025-06-24 09:23:57 -03:00
Abhishek Kumar
0bd35a5403
ui: fix missing changes from #10814 (#11060)
Some changes from PR #10814 are missing in DeployVM and DeployVnf
wizards causing warnings in teh browser console.

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-06-23 17:48:46 +02:00
Nicolas Vazquez
75147b7811
[Vmware to KVM Migration] Display virt-v2v and ovftool versions for supported hosts for migration (#11019)
* [Vmware to KVM Migration] Display virt-v2v and ovftool versions for supported hosts for migration

* Fix UI display

* Address review comments

* Fix ovftool and version display - also display versions on host details view
2025-06-23 12:49:51 +02:00
Nicolas Vazquez
5790091b25
[Vmware to KVM Migration] Improve the Force MS option text (#11035) 2025-06-19 11:34:35 +02:00
Nicolas Vazquez
6adfda2818
CKS Enhancements (#9102)
CKS Enhancements:

* Ability to specify different compute or service offerings for different types of CKS cluster nodes – worker, master or etcd

* Ability to use CKS ready custom templates for CKS cluster nodes

* Add and Remove external nodes to and from a kubernetes cluster

Co-authored-by: nvazquez <nicovazquez90@gmail.com>

* Update remove node timeout global setting

* CKS/NSX : Missing variables in worker nodes

* CKS: Fix ISO attach logic

* CKS: Fix ISO attach logic

* address comment

* Fix Port - Node mapping when cluster is scaled in the presence of external node(s)

* CKS: Externalize control and worker node setup wait time and installation attempts

* Fix logger

* Add missing headers and fix end of line on files

* CKS Mark Nodes for Manual Upgrade and Filter Nodes to add to CKS cluster from the same network

* Add support to deploy CKS cluster nodes on hosts dedicated to a domain

---------

Co-authored-by: Pearl Dsilva <pearl1594@gmail.com>

* Support unstacked ETCD

---------

Co-authored-by: nvazquez <nicovazquez90@gmail.com>

* Fix CKS cluster scaling and minor UI improvement

* Reuse k8s cluster public IP for etcd nodes and rename etcd nodes

* Fix DNS resolver issue

* Update UDP active monitor to ICMP

* Add hypervisor type to CKS cluster creation to fix CKS cluster creation when External hosts added

* Fix build

* Fix logger

* Modify hypervisor param description in the create CKS cluster API

* CKS delete fails when external nodes are present

* CKS delete fails when external nodes are present

* address comment

* Improve network rules cleanup on failure adding external nodes to CKS cluster

* UI: Fix etcd template was not honoured

* UI: Fix etcd template was not honoured

* Refactor

* CKS: Exclude etcd nodes when calculating port numbers

* Fix network cleanup in case of CKS cluster failure

* Externalize retries and inverval for NSX segment deletion

* Fix CKS scaling when external node(s) present in the cluster

* CKS: Fix port numbers displayed against ETCD nodes

* Add node version details to every node of k8s cluster - as we now support manual upgrade

* Add node version details to every node of k8s cluster - as we now support manual upgrade

* update column name

* CKS: Exclude etcd nodes when calculating port numbers

* update param name

* update param

* UI: Fix CKS cluster creation templates listing for non admins

* CKS: Prevent etcd node start port number to coincide with k8s cluster start port numbers

* CKS: Set default kubernetes cluster node version to the kubernetes cluster version on upgrade

* CKS: Set default kubernetes cluster node version to the kubernetes cluster version on upgrade

* consolidate query

* Fix upgrade logic

---------

Co-authored-by: nvazquez <nicovazquez90@gmail.com>

* Fix CKS cluster version upgrade

* CKS: Fix etcd port numbers being skipped

* Fix CKS cluster with etcd nodes on VPC

* Move schema and upgrade for 4.20

* Fix logger

* Fix after rebasing

* Add support for using different CNI plugins with CKS

* Add support for using different CNI plugins with CKS

* remove unused import

* Add UI support and list cni config API

* necessary UI changes

* add license

* changes to support external cni

* UI changes

* Fix NPE on restarting VPC with additional public IPs

* fix merge conflict

* add asnumber to create k8s svc layer

* support cni framework to use as-numbers

* update code

* condition to ignore undefined jinja template variables

* CKS: Do not pass AS number when network ID is passed

* Fix deletion of Userdata / CNI Configuration in projects

* CKS: Add CNI configuration details to the response and UI

* Explicit events for registering cni configuration

* Add Delete cni configuration API

* Fix CKS deployment when using VPC tiers with custom ACLs

* Fix DNS list on VR

* CKS: Use Network offering of the network passed during CKS cluster creation to get the AS number

* CKS cluster with guest IP

* Fix: Use control node guest IP as join IP for external nodes addition

* Fix DNS resolver issue

* Improve etcd indexing - start from 1

* CKS: Add external node to a CKS cluster deployed with etcd node(s) successfully

* CKS: Add external node to a CKS cluster deployed with etcd node(s) successfully

* simplify logic

* Tweak setup-kube-system script for baremetal external nodes

* Consider cordoned nodes while getting ready nodes

* Fix CKS cluster scale calculations

* Set token TTL to 0 (no expire) for external etcd

* Fix missing quotes

* Fix build

* Revert PR 9133

* Add calico commands for ens35 interface

* Address review comments: plan CKS cluster deployment based on the node type

* Add qemu-guest-agent dependency for kvm based templates

* Add marvin test for CKS clusters with different offerings per node type

* Remove test tag

* Add marvin test and fix update template for cks and since annotations

* Fix marvin test for adding and removing external nodes

* Fix since version on API params

* Address review comments

* Fix unit test

* Address review comments

* UI: Make CKS public templates visible to non-admins on CKS cluster creation

* Fix linter

* Fix merge error

* Fix positional parameters on the create kubernetes ISO script and make the ETCD version optional

* fix etcd port displayed

* Further improvements to CKS  (#118)

* Multiple nics support on Ubuntu template

* Multiple nics support on Ubuntu template

* supports allocating IP to the nic when VM is added to another network - no delay

* Add option to select DNS or VR IP as resolver on VPC creation

* Add API param and UI to select option

* Add column on vpc and pass the value on the databags for CsDhcp.py to fix accordingly

* Externalize the CKS Configuration, so that end users can tweak the configuration before deploying the cluster

* Add new directory to c8 packaging for CKS config

* Remove k8s configuration from resources and make it configurable

* Revert "Remove k8s configuration from resources and make it configurable"

This reverts commit d5997033ebe4ba559e6478a64578b894f8e7d3db.

* copy conf to mgmt server and consume them from there

* Remove node from cluster

* Add missing /opt/bin directory requrired by external nodes

* Login to a specific Project view

* add indents

* Fix CKS HA clusters

* Fix build

---------

Co-authored-by: Nicolas Vazquez <nicovazquez90@gmail.com>

* Add missing headers

* Fix linter

* Address more review comments

* Fix unit test

* Fix scaling case for the same offering

* Revert "Login to a specific Project view"

This reverts commit 95e37563f4.

* Revert "Fix CKS HA clusters" (#120)

This reverts commit 8dac16aa35.

* Apply suggestions from code review about user data

Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>

* Update api/src/main/java/org/apache/cloudstack/api/command/user/userdata/BaseRegisterUserDataCmd.java

Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>

* Refactor column names and schema path

* Fix scaling for non existing previous offering per node type

* Update node offering entry if there was an existing offering but a global service offering has been provided on scale

---------

Co-authored-by: Pearl Dsilva <pearl1594@gmail.com>
Co-authored-by: Daan Hoogland <daan@onecht.net>
Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2025-06-19 11:00:42 +05:30
Davi Torres
4662ffc424
Changes baseurl for downloading kubectl (#11040) 2025-06-17 16:40:28 +02:00
Abhishek Kumar
40b0e7cd63
ui: fix build after forward merge (#11010)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-06-12 11:33:59 +05:30
Pearl Dsilva
a13728360b Fix issue with forward merge 2025-06-11 18:12:18 +05:30
Pearl Dsilva
875223c5b4 Merge branch '4.20' of https://github.com/apache/cloudstack 2025-06-11 17:11:41 +05:30
Abhishek Kumar
bce17b627d
ui,api,server: template categorization based on os (#10773)
Adds new interface for image selection (template/iso) for an instance in UI.
Old interface can still be used and it can be configured using UI configuration (config.json)

OS categories/Guest OS categories have been improved with ability to create new categories, delete an existing category, and marking a category as featured to allow it to show up in the UI in the image selection interface.

New APIs added:
- addOsCategory
- deleteOsCategory
- updateOsCategory

APIs updated:
- updateOsType
- listTemplates
- listOsCategories

Several improvements in UI especially related to forms - DeloyVM, ReinstallVM, CreateVnfAppliance, AddAutoscaleGroup.

DeployVM form can now be opened from template/ISO details view with query params.

Reorganized (removed and added some) OS categories to the following (in the same order):
```
1. Ubuntu
2. Debian
3. Fedora
4. CentOS
5. Rocky Linux
6. Alma Linux
7. Oracle
8. RedHat
9. SUSE
10. Windows
11. Other
```

Documentation PR: https://github.com/apache/cloudstack-documentation/pull/500

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-06-10 15:25:51 +05:30
Abhishek Kumar
0b841fefcb
ui: show deploy/create button on right info pane (#10814)
* add deploy button on info card

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* info height

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* fix

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* hide cancel button

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

---------

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-06-10 15:22:16 +05:30
Abhishek Kumar
41b4f0afd5
ui: missing changes from #10115 (#10949)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-06-04 20:13:43 +02:00
Manoj Kumar
7632814cd2
Instance lease: Allow deployment of instances with lease duration and leaseexpiry action (#10560)
* FR-248: Instance lease, WIP commit

* insert lease expiry into db and use that to filter exiring vms, add asyncjobmanager

* Add leaseDuration and leaseExpiryAction in Service offering create flow

* Update listVM cmd to allow listing only leased instances

* Add methods to fetch instances for which lease is expiring in next days

* Changes included:
config key setup and configured for alert email
lease options in create and update vm screen
handle delete protection, edit vm, create vm
validated stop and detroy, delete protection

* Update UI screens for leased properties coming from config and service offering

* use global lock before running scheduler

* Unit tests

* Flow changes done in UI based on discussion

* Include view changes in schema upgrade files and use feature in various UI elements

* Added integration test for vm deployment, UI enhancements for user persona, bug fixes

* validate integration tests, minor ui changes and log messages

* fix build: moving configkey from setup to test itself

* Disable testAlert to unblock build and trim whitespaces in integration tests

* Address review comments

* Minor changes in EditVM screen

* Use ExecutorService instead of Timer and TimerTask

* Additional review comments

* Incorporate following changes:
1. Execute lease action once on the instance
2. Cancel lease on instance when feature is disabled
3. Relevant events when lease gets disabled, cancelled, executed
4. Disable associating lease after deployment
5. UI elements and flow changes
6. Changes based on feedback from demo

* Handle pr review comments

* address review comments

* move instance.lease.enabled config to VMLeaseManager interface

* bug fix in edit instance flow and reject api request for invalid values

* max allowed lease is for 100 years

* log instance ids for expired instance

* Fix config validation for value range and code coverage improvement

* fix lease expiry request failures in async

* dont use forced: true for StopVmCmd

* Update server/src/main/java/org/apache/cloudstack/vm/lease/VMLeaseManager.java

Co-authored-by: Vishesh <vishesh92@gmail.com>

* handle review comments

---------

Co-authored-by: Rohit Yadav <rohityadav89@gmail.com>
Co-authored-by: Vishesh <vishesh92@gmail.com>
2025-05-28 17:40:09 +05:30
Wei Zhou
842b2f8c24
Merge remote-tracking branch 'apache/4.20' 2025-05-19 21:25:37 +02:00
Harikrishna
b17808bfba
Introducing Storage Access Groups for better management for host and storage connections (#10381)
* Introducing Storage Access Groups to define the host and storage pool connections

In CloudStack, when a primary storage is added at the Zone or Cluster scope, it is by default connected to all hosts within that scope. This default behavior can be refined using storage access groups, which allow operators to control and limit which hosts can access specific storage pools.

Storage access groups can be assigned to hosts, clusters, pods, zones, and primary storage pools. When a storage access group is set on a cluster/pod/zone, all hosts within that scope inherit the group. Connectivity between a host and a storage pool is then governed by whether they share the same storage access group.

A storage pool with a storage access group will connect only to hosts that have the same storage access group. A storage pool without a storage access group will connect to all hosts, including those with or without a storage access group.
2025-05-19 11:33:29 +05:30
Daan Hoogland
8f8c685d17 Merge branch '4.19' into 4.20 2025-05-16 15:51:37 +02:00
Pearl Dsilva
39a0ba9670
Fix issue with security group selection box display (#10849)
Co-authored-by: toolmanwyj <wyjtoolmancc@gmail.com>
2025-05-16 12:35:04 +02:00
Abhishek Kumar
951863c3fe
ui: add an infinite scroll select component (#10840)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-05-16 12:27:19 +02:00
Erik Böck
7bab40db6f
disabled create and add volume button for VMs in Error state (#10859)
Co-authored-by: erik.silva.scclouds <erik.silva@scclouds.com.br>
2025-05-15 09:36:42 +02:00
Abhisar Sinha
3df83da86c
Get backup offering details from listVirtualMachinesMetrics in UI (#10867) 2025-05-14 20:42:38 +05:30
Nicolas Vazquez
8d3ae3e057
[Vmware] Improve listing of Vmware Datacenter VMs for migration to KVM (#10770)
Co-authored-by: dahn <daan.hoogland@gmail.com>
Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2025-05-14 08:12:27 +02:00
Pearl Dsilva
1e5d133033 Merge branch '4.20' of https://github.com/apache/cloudstack 2025-05-12 13:12:09 +05:30
Pearl Dsilva
a21f912be3 Merge branch '4.19' of https://github.com/apache/cloudstack into 4.20 2025-05-12 12:41:34 +05:30
Abhishek Kumar
c453aaea2c
ui: improve metrics api use in list views (#9825)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-05-09 11:33:57 +02:00
Fabricio Duarte
751a0ad559
UI workaround for the inconsistent formatting of listVirtualMachinesUsageHistory (#10824) 2025-05-09 10:01:53 +02:00
Vitor Hugo Homem Marzarotto
f4ca7064b7
Add search bar on rules of roles (#10822)
Co-authored-by: Vitor Hugo Homem Marzarotto <vitor.marzarotto@scclouds.com.br>
2025-05-08 11:39:20 +02:00
Pearl Dsilva
39c5641cbe Merge branch '4.20' of https://github.com/apache/cloudstack 2025-05-05 10:15:05 +05:30
Pearl Dsilva
f6d0590424 Merge branch '4.19' of https://github.com/apache/cloudstack into 4.20 2025-05-05 10:14:46 +05:30
Imvedansh
1f8442eb69
Extra checks in UI when deleting accounts (#10760)
Co-authored-by: Bernardo De Marco Gonçalves <bernardomg2004@gmail.com>
2025-05-02 17:36:46 +02:00
dahn
74e9146cfb
check for custom offering and trim size (#10629) 2025-05-02 13:52:00 +02:00
Pearl Dsilva
91c1168861 Merge branch '4.19' of https://github.com/apache/cloudstack into 4.20 2025-05-02 14:59:05 +05:30
Suresh Kumar Anaparti
32cc45e840
[UI] Allow quiescevm and asyncbackup flags while taking volume snapshot from UI when these are supported for the volume (#10265) 2025-05-02 10:45:50 +02:00
Daan Hoogland
d7d9d131b2 Merge branch '4.20' 2025-05-01 15:44:09 +02:00
Daan Hoogland
01d87b7747 Merge branch '4.19' into 4.20 2025-05-01 09:36:14 +02:00
Wei Zhou
4c072b5bf9
UI: show checksum field when register or upload template/isos (#10725) 2025-05-01 09:17:37 +02:00
Pearl Dsilva
0c4ed1e5b7
UI: Allow editing VM name of a Running VM in an Advanced zone with security groups (#10714) 2025-05-01 09:02:30 +02:00
Bernardo De Marco Gonçalves
02d1c61cf7
add amount of system VMs that are allocated to each host in the hosts ListView (#10791) 2025-05-01 11:46:26 +05:30
Pearl Dsilva
2df1ac5106 Merge branch '4.20' of https://github.com/apache/cloudstack 2025-04-28 12:15:48 +05:30
Pearl Dsilva
0785ba046e Merge branch '4.19' of https://github.com/apache/cloudstack into 4.20 2025-04-28 11:10:08 +05:30
Wei Zhou
5d28e66b52
vTPM: support KVM and VMware (#10543)
* KVM: add Virtual TPM model and version

* KVM: add admin-only VM setting GUEST.CPU.MODE and GUEST.CPU.MODEL

* VMware: add vTPM

* vTPM: do not set Key due to 'Cannot add multiple devices using the same device key..'

* vTPM: add unit test testTpmModel

* engine/schema: remove user vm details for guest CPU mode/model

* vTPM: extra methods as Daan's requests

* vTPM: add unit tests in VmwareResourceTest

* vTPM: update unit tests in VmwareResourceTest

* vTPM: add unit test in LibvirtComputingResourceTest

* vTPM: use the default TPM version if an invalid version is passed

* vTPM: requires UEFI on vmware and do nothing if it is not enabled/disabled

* vTPM: let uses to add UEFI on vmware

* Update plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource/VmwareResource.java

Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>

* Update plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource/VmwareResource.java

Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>

* vTPM: remove template details for guest CPU mode/model

* UI: boot vm from ISO into UEFI/SECURE mode

---------

Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2025-04-26 14:35:36 +05:30
Abhishek Kumar
12c077d704
api,ui: multi arch improvements (#10289) 2025-04-25 11:02:27 +02:00
dahn
5a5c865133
Revert "Add the option to filter by host when retrieving of unregistered VMs (#9925)" (#10647)
This reverts commit aa6c581e40.
2025-04-24 09:06:57 +02:00
Pearl Dsilva
576b97ba22 Merge branch '4.20' of https://github.com/apache/cloudstack 2025-04-24 09:22:40 +05:30
Pearl Dsilva
992c4b3d4a Merge branch '4.19' of https://github.com/apache/cloudstack into 4.20 2025-04-24 09:16:33 +05:30
Abhishek Kumar
431e4f9e1d
ui: confirm on reset configurations (#10745) 2025-04-23 12:29:08 +02:00
Pearl Dsilva
ffc0d51616 Merge branch '4.20' of https://github.com/apache/cloudstack 2025-04-22 03:31:44 -04:00
Vishesh
45bac89b83
Fix NPE on updating security groups for an instance (#10493)
* Fix NPE on updating security groups for an instance

* addressed review comments

* Method refactoring

---------

Co-authored-by: Harikrishna Patnala <harikrishna.patnala@gmail.com>
2025-04-22 03:12:30 -04:00
Wei Zhou
0af887bce1
UI: Update message of load balancer for autoscaling group (#10750) 2025-04-20 23:42:16 -04:00
Daan Hoogland
3c75d9363b Merge branch '4.20' 2025-04-17 15:59:41 +02:00
Daan Hoogland
d7765343ef Merge branch '4.19' into 4.20 2025-04-17 15:40:10 +02:00
Nicolas Vazquez
8db248e4b4
UI: Move templates creation date to the Zones tab (#10709)
* UI: Move templates creation date to the Zones tab

* Extend changes to ISOs
2025-04-17 09:54:11 +02:00
Vishesh
207a2c1da3
Support ConfigDrive with VPC (#10495) 2025-04-16 14:58:17 +02:00
Pearl Dsilva
53001417a0
UI: Fix column name in Usage view (#10700) 2025-04-14 15:32:24 +02:00
Rene Glover
f13cf597a2
4.19 fix saml account selector (#10311) 2025-04-14 12:59:43 +02:00
Pearl Dsilva
4d572fa6d3 Merge branch '4.20' of https://github.com/apache/cloudstack 2025-04-13 23:23:50 -04:00
Nicolas Vazquez
d1df418c3c
UI: Restore AS Numbers and IPv4 Subnets menus (#10580)
* UI: Restore AS Numbers menu

* Restore IPv4 Subnets menu

* Add missing details for network and VPC details and tabs for Isolated networks

* Address latest review comments
2025-04-11 14:27:32 +02:00
Dahn Highland
4c31f9d533 Merge release branch 4.20 to main
* 4.20:
  xenserver: do not destroy halted hypervisor vm (#9175)
  define the limit of projects through the UI (#10652)
  fix projects metrics on dashboard (#10651)
  systemvm: Bump systemvm template version to debian 12.10 (#10628)
  Enhance VPC Network Tier form to auto-populate  Gateway, and Netmask (#10617)
2025-04-09 13:02:31 +02:00
Dahn Highland
6850147c9e Merge branch '4.19' into 4.20 2025-04-09 13:00:25 +02:00
Bernardo De Marco Gonçalves
e08f88f0ae
define the limit of projects through the UI (#10652) 2025-04-08 13:14:29 +02:00
John Bampton
f206137f83
docs: fixes grammar and spelling in Markdown files only (#10656) 2025-04-08 12:44:14 +02:00
Bernardo De Marco Gonçalves
d5ba39387b
fix projects metrics on dashboard (#10651) 2025-04-08 12:16:18 +02:00
Bryan Lima
cb4848bc1a
Add support to RBD erasure code pools (#9808)
* Readd filename string on qemuimg create

* Remove empty object on the data pool details of storage pools with no data pool

* Only use the method createPhysicalDiskByLibVirt with RBD when the pool is of erasure code type. Also added javadoc for createPhysicalDisk method

* Change literal '/' string to File.separator

* Add support for erasure code pools

* Fix null on putAll
2025-04-02 08:19:00 -03:00
Imvedansh
ee94ae575b
Enhance VPC Network Tier form to auto-populate Gateway, and Netmask (#10617) 2025-03-28 18:59:43 +01:00
Lucas Martins
8d18c1e788
Change resource settings tab to be type based (#10596)
Co-authored-by: Lucas Martins <lucas.martins@scclouds.com.br>
2025-03-28 10:30:58 +01:00
Daan Hoogland
8af021c6f6 Merge branch '4.20' 2025-03-27 17:03:13 +01:00
Daan Hoogland
5f93ce71bb Merge branch '4.19' into 4.20 2025-03-27 16:44:42 +01:00
Imvedansh
fc1f260d52
Host status auto refresh (#10606)
Co-authored-by: Rene Peinthor <rene.peinthor@linbit.com>
2025-03-25 12:50:25 +01:00
Bernardo De Marco Gonçalves
7f3f104295
add UI support for filtering ISOs by account (#10488) 2025-03-25 11:27:13 +01:00
Wei Zhou
c9c02d030e
UI: fix list of vpc network offerings (#10595) 2025-03-24 12:40:00 +01:00
Abhishek Kumar
c1ff799df2
ui: fix considerlasthost for start vm (#10602)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-03-24 12:32:25 +01:00
Pearl Dsilva
ea36568e47 Merge branch '4.20' of https://github.com/apache/cloudstack 2025-03-17 17:17:43 -04:00
Pearl Dsilva
704d7a9787 Merge branch '4.19' of https://github.com/apache/cloudstack into 4.20 2025-03-17 17:17:21 -04:00
Pearl Dsilva
02d0dca24b
List only VMs associated to a userdata (#10569)
* List only VMs associated to a userdata

* add since param
2025-03-17 17:14:57 -04:00
Pearl Dsilva
b387bc1664 Merge branch '4.20' of https://github.com/apache/cloudstack 2025-03-10 09:34:52 -04:00
Thomas O'Dowd
d94aaa8b59
Add Cloudian HyperStore Object Storage (#9748) 2025-03-10 07:38:40 +01:00
Vishesh
b8359e8f62
UI: Allow custom footer in password reset page (#10461)
* Allow custom footer in password reset page

* fixup
2025-03-07 00:48:24 -05:00
Abhishek Kumar
1c1dad977e Merge remote-tracking branch 'apache/4.20' 2025-03-06 09:55:27 +05:30
Rohit Yadav
80b5d5c029
ui: do not cache config.json and locale files (#10497)
This will add a randomised timestamp when fetching config.json and
locale i18n files, to avoid using cached resources.

Fixes #9985

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2025-03-05 07:09:13 +05:30
Pearl Dsilva
7f4e6a9d51
NAS B&R Plugin enhancements (#9666)
* NAS B&R Plugin enhancements

* Prevent printing mount opts which may include password by removing from response

* revert marvin change

* add sanity checks to validate minimum qemu and libvirt versions

* check is user running script is part of libvirt group

* revert changes of retore expunged VM

* add code coverage ignore file

* remove check

* issue with listing schedules and add defensive checks

* redirect logs to agent log file

* add some more debugging

* remove test file

* prevent deletion of cks cluster when vms associated to a backup offering

* delete all snapshot policies when bkp offering is disassociated from a VM

* Fix `updateTemplatePermission` when the UI is set to a language other than English (#9766)

* Fix updateTemplatePermission UI in non-english language

* Improve fix

---------

* Add nobrl in the mountopts for cifs file system

* Fix restoration of VM / volumes with cifs

* add cifs utils for el8

* add cifs-utils for ubuntu cloudstack-agent

* syntax error

* remove required constraint on both vmid and id params for the delete bkp schedule command
2025-03-04 11:32:09 -05:00
Pearl Dsilva
a6b1403ca6 Merge branch '4.20' of https://github.com/apache/cloudstack into 4.20 2025-03-04 09:53:04 -05:00
julien-vaz
5cbe3da703
Remove isMirrored hardcoded parameter value from execution of createDiskOffering API through UI (#10474)
Co-authored-by: Julien Hervot de Mattos Vaz <julien.vaz@scclouds.com.br>
2025-03-04 15:20:19 +01:00
Pearl Dsilva
48ed5e2417 Merge branch '4.19' into 4.20 2025-03-04 09:17:16 -05:00
Pearl Dsilva
3aabedd447
UI: Proper explanation for the global setting to avoid ambiguity (#10042) 2025-03-04 15:07:43 +01:00
Pearl Dsilva
b41acf28d4
UI: Show Host OOBM parameter in form if configured (#10484)
* UI: Show Host OOBM parameter in form if configured

* remove password display

* address comments
2025-03-04 06:43:45 -05:00
Pearl Dsilva
a89607da65
UI: List host OOBM details when enabled and configured (#10472)
* UI: List host OOBM details when enabled and configured

* Add username details

* address comment
2025-03-03 13:36:27 -05:00
Pearl Dsilva
a9fbc6b056
UI: Filter accounts by domain while creating templates - from Volume / Snapshot (#10455)
* UI: Filter accounts by domain while creating templates - from Volume / Snapshot

* use optional chaining
2025-03-03 12:19:44 -05:00
Lucas Martins
b92fd17ef1
UI: Add change host password (#10337)
* Add updateHostPassword API to UI

* remove unnecessary check

Co-authored-by: Bernardo De Marco Gonçalves <bernardomg2004@gmail.com>

---------

Co-authored-by: Lucas Martins <lucas.martins@scclouds.com.br>
Co-authored-by: Bernardo De Marco Gonçalves <bernardomg2004@gmail.com>
2025-03-03 11:27:42 -05:00
Lucas Martins
eab37eca43
Change L2 network offering form to not require a compute offering (#10389)
* Change L2 offering form to not require a compute offering

* apply bernado's suggestion

Co-authored-by: Bernardo De Marco Gonçalves <bernardomg2004@gmail.com>

---------

Co-authored-by: Lucas Martins <lucas.martins@scclouds.com.br>
Co-authored-by: Bernardo De Marco Gonçalves <bernardomg2004@gmail.com>
2025-03-03 11:26:21 -05:00
Pearl Dsilva
3a28a87483 Merge branch '4.20' of https://github.com/apache/cloudstack 2025-02-27 11:20:25 -05:00
Daan Hoogland
88916dcf2b Merge branch '4.19' into 4.20 2025-02-27 17:10:54 +01:00
Bernardo De Marco Gonçalves
a09c579b5b
UI: Fixes and minor enhacements to the Public IP Addresses section (#10351) 2025-02-26 09:44:29 +01:00
Bernardo De Marco Gonçalves
1f09266764
UI: Fix filtering of templates by account (#10425)
* fix filtering of templates by account

* set filter to Mine when View Templates button is selected
2025-02-25 07:43:27 -05:00
Daan Hoogland
24b7c66251 Merge branch '4.20' 2025-02-24 14:33:12 +01:00
Daan Hoogland
08ad1c70ba Merge branch '4.19' into 4.20 2025-02-24 14:21:14 +01:00
dahn
66f8a351dd
migrate Vmware to KVM ui issues (#10413) 2025-02-19 12:53:10 +01:00
Bernardo De Marco Gonçalves
212f2a3898
UI: Fix docHelp links for Add Hosts, Add Clusters, Disable Clusters and Enable Clusters forms (#10394) 2025-02-17 09:19:21 +01:00
Bernardo De Marco Gonçalves
7bef25666f
UI: Fix Apache CloudStack description on the onboarding page (#10373)
* remove sentence from en.json

* remove sentence from ar.json

* remove sentence from ca.json

* remove sentence from de_DE.json

* remove sentence from el_GR.json

* remove sentence from es.json

* remove sentence from fr_FR.json

* remove sentence from hu.json

* remove sentence from it_IT.json

* remove sentence from ko_KR.json

* remove sentence from nb_NO.json

* remove sentence from ja_JP.json

* remove sentence from nl_NL.json

* remove sentence from pl.json

* remove sentence from pt_BR.json

* remove sentence from ru_RU.json

* remove sentence from zh_CN.json
2025-02-17 09:17:57 +01:00
Bernardo De Marco Gonçalves
69285a62c9
UI: Fix selection of domain filters in the SearchView component (#10386) 2025-02-14 09:13:42 +01:00
Vishesh
8e1f5b1e49
Fill fields in login, forgotPassword and resetPassword from url (#10291) 2025-02-13 19:07:08 +05:30
Pearl Dsilva
59e054396a
UI: Fix all list items appearing twice in search view (#10365)
* UI: Fix all list items appearing twice in search view

* Revert "UI: Fix all list items appearing twice in search view"

This reverts commit 2739c0112c.

* fix duplicate option names on list filters

---------

Co-authored-by: Bernardo De Marco Gonçalves <bernardomg2004@gmail.com>
2025-02-12 17:18:14 +01:00
Daan Hoogland
0dcb8da03a Merge branch '4.20' 2025-02-12 16:54:05 +01:00
Lucas Martins
0a92cc0349
UI: Add VM state to Volume list view (#10341)
* Add vm state to volume list view

* Change size column order

---------

Co-authored-by: Lucas Martins <lucas.martins@scclouds.com.br>
2025-02-12 11:50:58 -03:00
Daan Hoogland
4f3e8e8c5a Merge branch '4.19' into 4.20 2025-02-12 15:00:51 +01:00
dahn
aa6c581e40
Add the option to filter by host when retrieving of unregistered VMs (#9925)
Co-authored-by: Nicolas Vazquez <nicovazquez90@gmail.com>
2025-02-10 17:06:39 +01:00
Vishesh
d3170bfa16
UI: Fixup missing buttons (#10357) 2025-02-10 12:15:39 +01:00
erik-bock-silva
5aa79a6e05
UI: Add offer ha column to system offerings table (#10297)
* add offer ha column to system offerings table

* fix identation
2025-02-07 11:31:14 -03:00
Manoj Kumar
50a54dde5c
Make Description as optional in network acl list (#10343) 2025-02-07 14:40:06 +01:00
Pearl Dsilva
a1117acbdf
List only untagged offerings for Shared networks when tag isn't passed (#10320) 2025-02-07 14:18:11 +01:00
Abhisar Sinha
a7beaaf73b
Add Resource Limits to Backups and Object Storage (#10017)
Doc PR : https://github.com/apache/cloudstack-documentation/pull/461
This PR fixes https://github.com/apache/cloudstack/issues/8638

== Description

Four new Resource Types have been added. Admin can configure corresponding resource limits for the tenants at different levels (domain, account, project) 
User dashboard's Storage section will show the new resources, their limits and current usage.

1. backup - No. of backups used by the account
2. backup_storage - Backup storage allocated for the account
3. bucket - No. of buckets used by the accounts
4. object_storage - Object storage allocated for the account.

Some other related changes done to BnR framework:

1. Maximum number of Backups to retain can be specified while creating Backup schedules, similar to Scheduled snapshots.
2. Oldest Scheduled backup of the same interval type will be deleted once the number reaches the configured max Backups value.
3. Code refactor: Moved syncBackups method from BackupProvider to the framework BackupManagerImpl, as it is a common functionality and all providers were using duplicated code.

Changes done to the Object Storage Framework

1. Quota parameter is made mandatory while creating a bucket. Bucket quota is considered to be the allocated space and will be used to enforce Resource limits.

== Schema Changes:

1. New Column `max_backups` added to `backup_schedule` table
4. New Column `backup_interval_type` added to `backups` table

== Api Changes:

1. createBackup: new Parameter `scheduleid`. It should be specified whenever a scheduled backup is created. This will translate to the `backup_interval_type` in the `backups` table.
3. createBackupScheduke: new Parameter `max_backups`. To specify maximum number of backups to retain for the given schedule.

== Configurations:

|Setting |Scope |Default Value |Description|
|-------|--------|--------------|-----------|
|backup.max.hourly |Global |8 |Maximum recurring hourly backups to be retained for an instance|
|backup.max.daily |Global |8 |Maximum recurring daily backups to be retained for an instance|
|backup.max.weekly |Global |8 |Maximum recurring weekly backups to be retained for an instance|
|backup.max.monthly |Global |8 |Maximum recurring monthly backups to be retained for an instance|
|max.account.backups| Global| 20 | The default maximum number of backups that can be created for an account|
|max.account.backup.storage| Global| 400 | The default maximum backup storage space (in GiB) that can be used for an account|
|max.domain.backups| Global| 40 | The default maximum number of backups that can be created for an domain|
|max.domain.backup.storage| Global| 800 | The default maximum backup storage space (in GiB) that can be used for an domain|
|max.project.backups| Global| 20 | The default maximum number of backups that can be created for an project|
|max.project.backup.storage| Global| 400 | The default maximum backup storage space (in GiB) that can be used for an project|

|Setting |Scope |Default Value |Description|
|-------|--------|--------------|-----------|
|max.account.buckets| Global| 20 | The default maximum number of buckets that can be created for an account|
|max.account.object.storage| Global| 400 | The default maximum object storage space (in GiB) that can be used for an account|
|max.domain.buckets| Global| 40 | The default maximum number of buckets that can be created for an domain|
|max.domain.object.storage| Global| 800 | The default maximum object storage space (in GiB) that can be used for an domain|
|max.project.buckets| Global| 20 | The default maximum number of buckets that can be created for an project|
|max.project.object.storage| Global| 400 | The default maximum object storage space (in GiB) that can be used for an project|


Co-authored-by: Daan Hoogland <daan@onecht.net>
Co-authored-by: Lucas Martins <56271185+lucas-a-martins@users.noreply.github.com>
Co-authored-by: Lucas Martins <lucas.martins@scclouds.com.br>
Co-authored-by: Pearl Dsilva <pearl1594@gmail.com>
Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2025-02-07 16:56:20 +05:30
Abhisar Sinha
c5afee2101
UI improvements (#9773)
* Show Usage Server configuration in a separate pane

* UI: Option to attach volume to an instance during create volume

* Show service ip in management server details tab

* change Schedule Snapshots to Recurring Snapshots

* Change the hypervisor order so that kvm, vmware, xenserver show up first

* Remove extra space in hypervisor names in config.java

* Fix `updateTemplatePermission` when the UI is set to a language other than English (#9766)

* Fix updateTemplatePermission UI in non-english language

* Improve fix

---------

Co-authored-by: Lucas Martins <lucas.martins@scclouds.com.br>

* Autofill vcenter details in add cluster form

* UI: condition to display create vm-vol-snapshots to same as create vol-snapshots

* Fix alignment on wrapping in global settings tabs

* rename Autofill vCenter credentials to Autofill vCenter credentials from Zone

* Rename Service Ip to Ip Address in management server response

* Change description of kvm.snapshot.enabled to say that it applies to volume snapshots

* Return error when kvm vm snapshot is taken withoutsnapshot memory

* Minor naming changes and grammar

* Fix tooltip for attach volume to instance button

* Show Usage Server configuration in a separate pane

* UI: Option to attach volume to an instance during create volume

* Show service ip in management server details tab

* change Schedule Snapshots to Recurring Snapshots

* Change the hypervisor order so that kvm, vmware, xenserver show up first

* Remove extra space in hypervisor names in config.java

* Autofill vcenter details in add cluster form

* UI: condition to display create vm-vol-snapshots to same as create vol-snapshots

* Fix alignment on wrapping in global settings tabs

* rename Autofill vCenter credentials to Autofill vCenter credentials from Zone

* Rename Service Ip to Ip Address in management server response

* Change description of kvm.snapshot.enabled to say that it applies to volume snapshots

* Return error when kvm vm snapshot is taken withoutsnapshot memory

* Minor naming changes and grammar

* Fix tooltip for attach volume to instance button

* Show Usage Server configuration in a separate pane

* UI: Option to attach volume to an instance during create volume

* Show service ip in management server details tab

* change Schedule Snapshots to Recurring Snapshots

* Change the hypervisor order so that kvm, vmware, xenserver show up first

* Remove extra space in hypervisor names in config.java

* Autofill vcenter details in add cluster form

* UI: condition to display create vm-vol-snapshots to same as create vol-snapshots

* Fix alignment on wrapping in global settings tabs

* rename Autofill vCenter credentials to Autofill vCenter credentials from Zone

* Rename Service Ip to Ip Address in management server response

* Change description of kvm.snapshot.enabled to say that it applies to volume snapshots

* Return error when kvm vm snapshot is taken withoutsnapshot memory

* Minor naming changes and grammar

* Fix tooltip for attach volume to instance button

* UI: Option to attach volume to an instance during create volume

* UI: condition to display create vm-vol-snapshots to same as create vol-snapshots

* moved db changes from 41900to42000 to 42000to42010

* Update group_id in already present usage configuration settings

* remove "schedule" from message in create Recurring Snapshots form

* Update server/src/main/java/com/cloud/vm/snapshot/VMSnapshotManagerImpl.java

---------

Co-authored-by: Daan Hoogland <daan@onecht.net>
Co-authored-by: Lucas Martins <56271185+lucas-a-martins@users.noreply.github.com>
Co-authored-by: Lucas Martins <lucas.martins@scclouds.com.br>
Co-authored-by: Boris Stoyanov - a.k.a Bobby <bss.stoyanov@gmail.com>
Co-authored-by: Andrija Panic <45762285+andrijapanicsb@users.noreply.github.com>
2025-02-06 11:18:40 +05:30
Rohit Yadav
2ef16132ee Merge remote-tracking branch 'origin/4.20' 2025-02-05 13:29:23 +05:30
Lucas Martins
986ec81b66
Add direct download option to Users GUI (#10193)
Co-authored-by: Lucas Martins <lucas.martins@scclouds.com.br>
2025-02-04 14:36:29 -03:00
Abhisar Sinha
1b2f6c9998
Hide register template, create/upload volume and create vpc buttons when zone is not created. (#10243) 2025-02-04 12:33:07 +01:00
Wei Zhou
fa5c11e6b2
UI: list backup offerings by zoneid when assign vm to backup offering (#10217) 2025-02-03 13:31:38 +01:00
Daan Hoogland
2654890e86 Merge branch '4.20' 2025-02-01 21:20:08 +01:00
Daan Hoogland
085bd3bda5 Merge branch '4.19' into 4.20 2025-02-01 17:51:50 +01:00
Abhishek Kumar
0b5a5e8043
api,agent,server,engine-schema: scalability improvements (#9840)
* api,agent,server,engine-schema: scalability improvements

Following changes and improvements have been added:

- Improvements in handling of PingRoutingCommand

    1. Added global config - `vm.sync.power.state.transitioning`, default value: true, to control syncing of power states for transitioning VMs. This can be set to false to prevent computation of transitioning state VMs.
    2. Improved VirtualMachinePowerStateSync to allow power state sync for host VMs in a batch
    3. Optimized scanning stalled VMs

- Added option to set worker threads for capacity calculation using config - `capacity.calculate.workers`

- Added caching framework based on Caffeine in-memory caching library, https://github.com/ben-manes/caffeine

- Added caching for account/use role API access with expiration after write can be configured using config - `dynamic.apichecker.cache.period`. If set to zero then there will be no caching. Default is 0.

- Added caching for account/use role API access with expiration after write set to 60 seconds.

- Added caching for some recurring DB retrievals

    1. CapacityManager - listing service offerings - beneficial in host capacity calculation
    2. LibvirtServerDiscoverer existing host for the cluster - beneficial for host joins
    3. DownloadListener - hypervisors for zone - beneficial for host joins
    5. VirtualMachineManagerImpl - VMs in progress- beneficial for processing stalled VMs during PingRoutingCommands

- Optimized MS list retrieval for agent connect

- Optimize finding ready systemvm template for zone

- Database retrieval optimisations - fix and refactor for cases where only IDs or counts are used mainly for hosts and other infra entities. Also similar cases for VMs and other entities related to host concerning background tasks

- Changes in agent-agentmanager connection with NIO client-server classes

    1. Optimized the use of the executor service
    2. Refactore Agent class to better handle connections.
    3. Do SSL handshakes within worker threads
    5. Added global configs to control the behaviour depending on the infra. SSL handshake could be a bottleneck during agent connections. Configs - `agent.ssl.handshake.min.workers` and `agent.ssl.handshake.max.workers` can be used to control number of new connections management server handles at a time. `agent.ssl.handshake.timeout` can be used to set number of seconds after which SSL handshake times out at MS end.
    6. On agent side backoff and sslhandshake timeout can be controlled by agent properties. `backoff.seconds` and `ssl.handshake.timeout` properties can be used.

- Improvements in StatsCollection - minimize DB retrievals.

- Improvements in DeploymentPlanner allow for the retrieval of only desired host fields and fewer retrievals.

- Improvements in hosts connection for a storage pool. Added config - `storage.pool.host.connect.workers` to control the number of worker threads that can be used to connect hosts to a storage pool. Worker thread approach is followed currently only for NFS and ScaleIO pools.

- Minor improvements in resource limit calculations wrt DB retrievals

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

Co-authored-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>

* test1, domaindetails, capacitymanager fix

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* test2 - agent tests

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* capacitymanagertest fix

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* change

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* fix missing changes

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* address comments

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* revert marvin/setup.py

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* fix indent

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* use space in sql

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* address duplicate

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* update host logs

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* revert e36c6a5d07

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* fix npe in capacity calculation

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* move schema changes to 4.20.1 upgrade

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* build fix

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* address comments

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* fix build

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* add some more tests

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* checkstyle fix

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* remove unnecessary mocks

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* build fix

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* replace statics

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* engine/orchestration,utils: limit number of concurrent new agent
connections

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* refactor - remove unused

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* unregister closed connections, monitor & cleanup

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* add check for outdated vm filter in power sync

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* agent: synchronize sendRequest wait

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

---------

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2025-02-01 12:28:41 +05:30
Abhishek Kumar
27efc779ea
api,ui: fix empty source cidr value for firewall rule (#10208)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-01-31 13:30:16 +01:00
Abhishek Kumar
7abda3b963 Merge remote-tracking branch 'apache/4.20' 2025-01-31 16:55:38 +05:30
Abhishek Kumar
ae2ffbe40b Merge remote-tracking branch 'apache/4.19' into 4.20 2025-01-31 16:54:22 +05:30
Abhishek Kumar
97be6f2e5d
ui: fix column filter for templates, isos (#10288)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-01-31 10:23:26 +01:00
Vishesh
0fbf6379f9
UI: Fix domain view when opening details for a specific domainid (#10245) 2025-01-30 15:55:17 +01:00
Wei Zhou
0f544c9a3b
api/ui: add specifyvlan to network response (#10236) 2025-01-30 15:35:33 +01:00