Commit Graph

12502 Commits

Author SHA1 Message Date
Abhisar Sinha 4d95f08a3a
Delete template from storage pool instantly if no volume is using it (#11782) 2025-10-09 09:41:18 +02:00
Abhishek Kumar a6ef24d167
server: consistent domainpath in api responses (#11589)
* server: consistent domainpath in api responses

Currently, some APIs return domainpath as 'ROOT/domain1/domain2' while
other return it as '/domain1/domain2'. This PR makes the response
consistent like "ROOT/domain1/domain2"

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

* more changes

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

---------

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-10-09 13:06:28 +05:30
Wei Zhou 6089c161a6
Merge remote-tracking branch 'apache/4.20' 2025-10-08 15:40:33 +02:00
Wei Zhou 89d2b17461
storage: change storage pool to Up state when cancel storage migration (#11773)
* storage: change storage pool to Up state when cancel storage migration

* Update 11773: connect host to shared pool after cancelling storage migration

* Update 11773: update db only

* Update 11773: skip capacity update for storpool
2025-10-08 15:34:59 +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
Suresh Kumar Anaparti 09b63bc2e8
Storage pool response improvements (#10740)
* Return details of the storage pool in the response including url, and update capacityBytes and capacityIops if applicable while creating storage pool

* Added capacitybytes parameter to the storage pool response in sync with the capacityiops response parameter and createStoragePool cmd request parameter (existing disksizetotal parameter in the storage pool response can be deprecated)

* Don't keep url in details

* Persist the capacityBytes and capacityIops in the storage_pool_details table while creating storage pool as well, for consistency - as these are updated with during update storage pool

* rebase with main fixes
2025-10-08 11:20:37 +05:30
Vishesh d2615bb142
Add support for providing userdata to system VMs (#11654)
This PR adds support for specifying user data (cloud-init) for system VMs via Zone Scoped global settings. This allows the operators to customize the System VMs and setup monitoring, logging or execute any custom commands.

We set the user data from the global setting in /var/cache/cloud/cmdline, and use the NoCloud datasource to process user data. cloud-init service is still disabled in the system VMs and it's executed as part of the cloud-postinit service which executes the postinit.sh script.

Added global settings:
systemvm.userdata.enabled - Disabled by default. Needs to be enabled to utilize the feature.
console.proxy.vm.userdata - UUID of the User data to be used for Console Proxy
secstorage.vm.userdata - UUID of the User data to be used for Secondary Storage VM
virtual.router.userdata - UUID of the User data to be used for Virtual Routers
2025-10-08 10:44:26 +05:30
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
Wei Zhou 963a67b816
server: add user.password.reset.smtp.useStartTLS and enabledSecurityProtocols for password reset (#11228) 2025-10-07 10:19:57 +05:30
Alexandru Bagu 8e4dc0a66d
VMware: match nic mac for ip address fetch (#10641) 2025-10-04 11:49:26 +02:00
Abhisar Sinha 1efa46cb4d
fix removeUsage for backups (#11522) 2025-10-02 17:15:54 +05:30
Wei Zhou c631d6a480
CKS: generate a random UUID as password of CKS user in project (#11639) 2025-10-01 08:47:58 +02:00
Abhisar Sinha 70af55e848
UI support for extraconfig in deploy and update instance (#11719) 2025-09-30 09:20:44 +02:00
Nicolas Vazquez 30cb8c7a82
Fix importing unmanaged instances due to incorrect internal name (#11753) 2025-09-30 09:01:07 +02:00
Vishesh 3159fa7d84
noVNC: make show dot configurable (#11741) 2025-09-29 16:18:42 +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
Wei Zhou e78b5cc3cc
Merge remote-tracking branch 'apache/4.20' 2025-09-24 09:27:08 +02:00
Abhishek Kumar 98b9af2904
server: set VirtualMachineTO arch from template if present (#11530)
* server: set VirtualMachineTO arch from template if present

Fixes #11529

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

* refactor

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

---------

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-09-24 09:21:40 +02:00
Manoj Kumar a18b5514e6
kvm: honor templateId passed in importVM API (#11640) 2025-09-24 08:34:18 +02:00
Nicolas Vazquez 1a223fd2ba
server: Fix VM import DB sequence issue on import failure (#11659)
* Fix VM import DB sequence issue on import failure

* Remove ununsed imports

* Refactor to avoid duplicating the next ID for VM sequence
2025-09-23 08:48:18 +02:00
Suresh Kumar Anaparti 40dec99659
server: Cleanup allocated snapshots / vm snapshots, and update pending ones to Error on MS start (#8452)
* Remove allocated snapshots / vm snapshots on start

* Check and Cleanup snapshots / vm snapshots on MS start

* rebase fixes

* Update volume state (from Snapshotting) on MS start when its snapshot job not finished and snapshot in Creating state
2025-09-23 08:37:10 +02:00
Wei Zhou 22bf8fd5d1
Merge remote-tracking branch 'apache/4.20' 2025-09-22 16:31:01 +02:00
Suresh Kumar Anaparti 12513e18fa
server: Update gson date format for serializing/deserializing Date in MS stats (#11506)
* Update gson date format for serializing/deserializing Date in MS stats (across multiple management servers)

* review

* review comments, and unit tests

* added unit test with different date format

* Use separate Gson for MS stats serialization/deserialization
2025-09-22 12:22:50 +02:00
Wei Zhou 69998f7c40
api,server: support templatetype when upload template from local (#11682) 2025-09-22 10:46:43 +02:00
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
Vishesh 9167cd3b72
server: use /prod/stat to get uptime instead of the uptime command (#11670) 2025-09-19 14:08:12 +02:00
John Bampton 0108ffd1b0
java: fix one typo in many files (#11284) 2025-09-17 22:05:38 +05:30
John Bampton 6eb27da5e4
Fix spelling in Java and Python files; update the ignored words list `codespell.txt` (#11285)
Co-authored-by: dahn <daan.hoogland@gmail.com>
2025-09-17 17:24:04 +02:00
Pearl Dsilva e7015cbc4c
Move console proxy related global settings to Zone level (#11415) 2025-09-17 14:06:00 +02:00
CodeBleu 273ae03274
Allow updating of Load Balancer source CIDR list (#11568) 2025-09-17 13:49:46 +02:00
vishesh92 ada750e391
Merge branch '4.20' 2025-09-17 14:26:06 +05:30
Suresh Kumar Anaparti cd69f2ce16
server: Fix NPE during VM IP fetch for shared networks (#11389)
* Fix NPE during VM IP fetch for shared networks

* PR 11389: add missing import org.apache.commons.lang3.ObjectUtils

---------

Co-authored-by: Wei Zhou <weizhou@apache.org>
2025-09-15 10:14:06 +02:00
Abhishek Kumar 2cd7d8a315
server: check limit on correct store during snapshot allocation (#11558)
Fixes #11551

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-09-15 09:11:26 +02:00
Suresh Kumar Anaparti 6d16ac2113
ScaleIO/PowerFlex smoke tests improvements, and some fixes (#11554)
* ScaleIO/PowerFlex smoke tests improvements, and some fixes

* Fix test_volumes.py, encrypted volume size check (for powerflex volumes)

* Fix test_over_provisioning.py (over provisioning supported for powerflex)

* Update vm snapshot tests

* Update volume size delta in primary storage resource count for user vm volumes only
The VR volumes resource count for PowerFlex volumes is updated here, resulting in resource count discrepancy
(which is re-calculated through ResourceCountCheckTask later, and skips the VR volumes)

* Fix test_import_unmanage_volumes.py (unsupported for powerflex)

* Fix test_sharedfs_lifecycle.py (volume size check for powerflex)

* Update powerflex.connect.on.demand config default to true
2025-09-12 16:17:20 +02:00
Vishesh 253ac03621
Management server: fix qemu-img path in cloudstack sudoers (#11614) 2025-09-12 11:28:50 +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
Abhishek Kumar e3681a04bb
server: allow migration of vm with snapshots for vmware (#9305)
Fixes #9061

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-09-10 12:25:16 +02:00
Wei Zhou 8089d32740
Merge remote-tracking branch 'apache/4.20' 2025-09-09 19:50:22 +02:00
Wei Zhou 7044564bab
Merge remote-tracking branch 'apache/4.19' into 4.20 2025-09-09 19:42:42 +02:00
Abhishek Kumar f26f8cce17
server: allow adding non-overlapping ipv6 ranges in same vlan (#11556)
Fixes #11527

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Co-authored-by: Wei Zhou <weizhou@apache.org>
2025-09-09 14:51:39 +02:00
Abhishek Kumar fe120b64e7
server: prevent vm schedule update failure for time when not changed (#11314)
Fixes #11175

Behaviour introduced in #7397 always validates start-end times during
update even when they are not changed which leads to failure to
enable/disable schedule if the start time has passed.

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-09-09 11:34:28 +02:00
Wei Zhou f99942cf9a
Merge remote-tracking branch 'apache/4.19' into 4.20 2025-09-08 10:00:01 +02:00
Abhishek Kumar a4cf47a9b8
server: remove extra chars when template status is error string (#11329)
Fixes #11324

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-09-03 13:00:26 +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
Wei Zhou 66a584624f
Update md5sum to sha512sum (#11134)
* Update md5sum to sha512sum

* Move SQL to schema-42100to42200.sql
2025-09-03 11:12:43 +02:00
Harikrishna fd46e61032
Added events for snapshots, vmsnapshots, internalLB operations (#11230)
* Added events for snapshots, vmsnapshots, internalLB operations

* Update server/src/main/java/com/cloud/resource/ResourceManagerImpl.java

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

* small fix

* Unit test - ArgumentMatchers change

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

* Unit test - ArgumentMatchers change

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

---------

Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
Co-authored-by: dahn <daan.hoogland@gmail.com>
2025-09-02 18:02:30 +05:30
Wei Zhou ca0c3530ad
utils: add UuidUtils.nameUUIDFromBytes (#11136)
* utils: add UuidUtils.nameUUIDFromBytes

* Fix PR 13922
2025-09-01 08:10:31 +02:00
Davi Torres 9184170b01
Remove Domain/IP from Password Reset Link to custom Global Setting (#11379)
Co-authored-by: Davi Torres <dtorres@simnet.ca>
Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2025-08-31 11:22:33 +02:00
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
Wei Zhou ba7ec88650
SG: Apply rules for both ipv4/ipv6 of VMs with associated account/SG (#11243) 2025-08-29 11:39:50 +02:00
Suresh Kumar Anaparti 1033be4b31
Updating pom.xml version numbers for release 4.22.0.0-SNAPSHOT
Signed-off-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2025-08-28 12:00:42 +05:30
Suresh Kumar Anaparti f9513b47bf
Updating pom.xml version numbers for release 4.21.0.0
Signed-off-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2025-08-22 11:42:37 +05:30
slavkap 1272b13087
Fix of create a template from a StorPool snapshot on another zone (#11490)
* Fix of create template from snapshot on another zone

When a snapshot has a copy on StorPool primary storage in another zone, but the original snapshot resides on secondary storage, creating a template from the copied snapshot results in the template being created in the first zone.
If the snapshot.backup.to.secondary setting is disabled, and a user creates a volume or template from a snapshot, the snapshot is temporarily backed up to secondary storage during the operation. After the operation, this backup should be deleted. However, the snapshot currently remains on both primary and secondary storage.

* update snapshot info depending on the data store role
2025-08-22 00:53:55 +05:30
João Jandre f2d635683b
Update error message when no snapshot strategy is found while creating snapshot (#11455) 2025-08-18 14:14:20 +05:30
Suresh Kumar Anaparti f671461d4c
Fix for create template from snapshot (for snapshots on primary storage and storage doesn't support create snapshot to template directly) (#11452)
* Fix for create template from snapshot

* code improvements, for create volume from snapshot
2025-08-15 22:17:03 +05:30
Wei Zhou 03da8cbd3e
server: fix conserve_mode of DefaultIsolatedNetworkOfferingForVpcNetworks (#11133)
* server: fix conserve_mode of DefaultIsolatedNetworkOfferingForVpcNetworks

* test: update test_network_acl.py to test conserve mode

* Update test/integration/smoke/test_network_acl.py

Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2025-08-15 17:58:28 +05:30
Harikrishna 0b381d4270
Exclude External hypervisor type during upgrade for System VM template checks (#11435)
* Exclude External hypervisor type during upgrade for System VM template checks
2025-08-15 16:28:56 +05:30
Vishesh 1994511f0c
noVNC: Show a dot cursor when the cursor is not visible (#11418) 2025-08-11 17:59:26 +05:30
slavkap dc5e475bd2
Fix of deployment VM from a copied snapshot in another zone (#11351)
* Fix of deploy VM with a snapshot that is copied to another zone
* Fix of creating StorPool volume from a snapshot if the size in the
offering is bigger than the snapshot size
2025-08-07 18:17:57 +05:30
Suresh Kumar Anaparti ae95be3702
Merge branch '4.20' 2025-08-07 18:16:19 +05:30
dahn fe8f3c8eeb
get forward header for proxies and apply it in Jetty (#11386)
* get forward header and apply it fro proxies

Co-authored-by: Daan Hoogland <dahn@apache.org>
2025-08-07 18:15:16 +05:30
Suresh Kumar Anaparti 56b97f8255
Merge branch '4.19' into 4.20 2025-08-07 18:02:55 +05:30
Abhishek Kumar f020b5b5df
cleanup: remove com.cloud.user.MockAccountManagerImpl (#11392)
Replaces com.cloud.user.MockAccountManagerImpl with Mockito.mock(AccountManager.class)

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-08-06 13:38:50 +02:00
Wei Zhou b9864cb1e1
server: fix vm deployment without networkid in a zone with shared networks (#11242) 2025-08-06 05:14:40 +02:00
Suresh Kumar Anaparti 4c3f29de1e
Agent manager connection handling improvements (#11376)
* Agent manager connection handling improvements

* Fix to send LB check interval in ready command
2025-08-05 15:07:02 +05:30
Erik Böck d7b7bd53ad
Fix infrastructure leak on exception while attaching/detaching volumes in VMware (#10860)
* Handled exception separately to prevent infrastructure data leak
2025-08-04 19:35:54 +05:30
Abhisar Sinha 80f837b5e7
remove volume size check in restoreBackupToVM (#11384) 2025-08-04 18:08:48 +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
João Jandre 4a4b5a5e5f
Improve volume backup restoration log (#11181) 2025-08-03 12:29:54 +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
Bernardo De Marco Gonçalves 9de77e1cc1
API to list console sessions (#11016)
* create API to list console sessions
2025-08-01 20:28:33 +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
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
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 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
Daan Hoogland 0b3959221b Merge branch '4.20' 2025-07-29 16:50:55 +02:00
Daan Hoogland be08fff32b Merge branch '4.19' into 4.20 2025-07-29 15:29:59 +02:00
Abhishek Kumar 4b1a605e59
server: fix IllegalMonitorStateException on cluster managedstate change (#11310)
* server: fix IllegalMonitorStateException on cluster managedstate change

Fixes #11293

* Update server/src/main/java/com/cloud/resource/ResourceManagerImpl.java

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2025-07-29 18:33:05 +05:30
Suresh Kumar Anaparti 1961aea770
Merge branch '4.19' into 4.20 2025-07-29 18:18:33 +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
Suresh Kumar Anaparti 86827f871d
Update CIDR/Gateway of the Shared Networks from Guest IP ranges (#11249) 2025-07-29 10:30:14 +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
Manoj Kumar a32738c52e
Prevent infinite autoscaling (#11244)
* Prevent infinite autoscaling

* Update server/src/main/java/com/cloud/network/as/AutoScaleManagerImpl.java

Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2025-07-29 11:41:30 +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
Harikrishna 9fee6dae34
Fix local storage pool disconnect issue (#11200) 2025-07-28 19:41:12 +05:30
Abhishek Kumar 524f0d80db
server: fix NaN values for external resource metrics (#11302)
CPU and RAM values for external resource metrics was showing NaN values. This fixes the behaviour.

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-07-28 17:56:25 +05:30
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 407072ffd4
schema,framework/db,server: fix user_vm_details usage (#11292)
* schema,framework/db,server: fix user_vm_details usage

Continuation of #10736

* python files

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-07-26 12:24:05 +05:30
Daan Hoogland 609efcc231 Merge branch '4.19' into 4.20 2025-07-25 22:01:17 +02:00
Pearl Dsilva 890386e949
Allow custom NTP servers for CPVM (#11210) 2025-07-25 15:21:06 +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
Suresh Kumar Anaparti 75a2b3cc54
Validate qcow2 file during import operation (#11264) 2025-07-25 11:17:14 +02:00
Suresh Kumar Anaparti ae50103704
Config 'vm.network.nic.max.secondary.ipaddresses' - Sync default value (and value if not set) to 10 as per the config description and default value in parseInt of the config (#11256) 2025-07-25 11:13:33 +02:00
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
Abhishek Kumar 83bccead3d
schema, refactor: rename cloud.user_vm_details to cloud.vm_instance_details (#10736)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
Co-authored-by: dahn <daan@onecht.net>
2025-07-24 12:08:29 +02:00
dahn 4111061d29
list only own zones for resource admin (#11087)
Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2025-07-24 09:26:57 +02:00
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
Abhisar Sinha 1b74c2dd3f
Fix restore from NAS backup when datadisk is older than the root disk. (#11258) 2025-07-23 12:45:47 +02:00
Bernardo De Marco Gonçalves 9d049707d5
Fix deletion of backup schedules (#11222) 2025-07-23 09:31:17 +02:00
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
Manoj Kumar 3fc02ddd45
Add format and physicalsize in listIsoOs api response (#11214) 2025-07-21 15:52:38 +05:30
Pearl Dsilva 23de6c7db4
Fix update resource count failure for domains (#11138) 2025-07-18 22:35:38 +02:00
Bernardo De Marco Gonçalves bf46458578
List templates and ISOs by domain (#11179) 2025-07-17 09:01:49 +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
Manoj Kumar e8ab0ae70a
CPU to Memory weight based algorithm to order cluster (#10997)
* CPU to Memory weight based algorithm to order cluster
host.capacityType.to.order.clusters config will support new algorithm: COMBINED
which will work with host.capacityType.to.order.clusters.cputomemoryweight and capacity will be
computed based on CPU and memory both and using weight factor

* minor changes

* add unit tests

* update desc and add validation

* handle copilot review comments

* add log indicating chosen capacityType for ordering

---------

Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2025-07-15 16:40:53 +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
Gabriel Pordeus Santos 6059724189
Hide CloudStack version from XML response when unauthenticated (#10575) 2025-07-14 12:55:09 +02:00
slavkap 54b44cc316
KVM: Option to deploy a VM with existing volume/snapshot (#10503)
* Option to deploy a VM with existing volume/snapshot

* smoke test changes

check if the hypervisor is KVM
check if the primary storage's scope is ZONE wide

* skip all tests if the storage isn't Zone-Wide and the hypervisor isn't KVM

* support StorPool tags

add StorPool tags to a volume created from snapshot or to a volume which
will be attached as a ROOT to a new VM

* Add StorPool tags on the new ROOT volume

* Add the StorPool's tags when volume is created from a snapshot or a
volume is attached as a ROOT to a VM

* Addressed review
2025-07-14 15:10:45 +05:30
Daan Hoogland 0dbd761fbb Merge branch '4.20' 2025-07-14 11:17:08 +02:00
Daan Hoogland 61e74e086b Merge branch '4.19' into 4.20 2025-07-14 10:37:06 +02:00
Abhisar Sinha 7715b3dc29
Improve the error throws when a template to owned by a non root-admin is registered for all zones. (#11170) 2025-07-10 09:39:13 +02:00
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
Nicole Schmidt d5fd3ec36e
Add API command remove management server (#10325)
* Add API command remove management server

* Apply suggestions from code review

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

* Apply sugestions from code review

* Update log message with current management server state

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

* Apply suggestions from code review

Co-authored-by: Fabricio Duarte <fabricio.duarte.jr@gmail.com>

* Update api/src/main/java/org/apache/cloudstack/api/command/admin/management/RemoveManagementServerCmd.java

Co-authored-by: Fabricio Duarte <fabricio.duarte.jr@gmail.com>

* Remove unused imports

---------

Co-authored-by: Bernardo De Marco Gonçalves <bernardomg2004@gmail.com>
Co-authored-by: Fabricio Duarte <fabricio.duarte.jr@gmail.com>
2025-07-04 14:49:28 -03:00
Suresh Kumar Anaparti 80f46ad55d
[VMware to KVM Migration] Fix for converted instance npe issue when source vmware instance ovf is exported from management server (#11003) 2025-07-04 13:54:54 +05:30
Daan Hoogland 3e3a0c0678 Merge branch '4.20' 2025-07-03 15:29:05 +02:00
Abhishek Kumar c24e4eea85
server: fix orphan db transaction issue (#11095)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-07-03 09:50:36 +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
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
Bernardo De Marco Gonçalves 8f2735ab46
Accept case insensitive values in boolean settings (#10663) 2025-06-11 19:39:26 +02:00
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
Pearl Dsilva 379ee07d88 Updating pom.xml version numbers for release 4.19.4.0-SNAPSHOT
Signed-off-by: Pearl Dsilva <pearl1594@gmail.com>
2025-06-06 18:00:09 +05:30
Pearl Dsilva b5e2c181f9 Updating pom.xml version numbers for release 4.20.2.0-SNAPSHOT
Signed-off-by: Pearl Dsilva <pearl1594@gmail.com>
2025-06-06 15:38:12 +05:30
Manoj Kumar fa85a75bc8
Log previous and new value of configuration when reset/update API is called (#10769) 2025-06-04 12:06:25 +02:00
Pearl Dsilva c61a5eb430 Updating pom.xml version numbers for release 4.20.1.0
Signed-off-by: Pearl Dsilva <pearl1594@gmail.com>
2025-05-30 12:43:00 +05:30
Daan Hoogland 0c7d47138d Updating pom.xml version numbers for release 4.19.3.0
Signed-off-by: Daan Hoogland <daan@onecht.net>
2025-05-30 09:08:58 +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
Harikrishna Patnala 5be6b7980d Skip verification of privileges on project accounts 2025-05-28 13:02:50 +02:00
Harikrishna Patnala bef86aff82 Skip verification of privileges on project accounts 2025-05-28 16:13:01 +05:30
Pearl Dsilva 62363c1f4b remove duplicate definitions 2025-05-27 23:20:38 +05:30
Daan Hoogland 650b5ec3da Merge branch '4.20' 2025-05-27 18:18:39 +02:00
Pearl Dsilva 6bb6fe7b41 Merge branch '4.19' into 4.20 2025-05-27 20:10:58 +05:30
Nicolas Vazquez d5fbd07b9f Adding privilege checks on user and account operations
Co-authored-by: Harikrishna <harikrishna.patnala@gmail.com>
2025-05-27 20:08:16 +05:30
Abhishek Kumar 19d6b979af cks: create separate service account in project
A separate service account will be created and added in the project, if
not exist already, when a Kubernetes cluster is deployed in a project.
This account will have a role with limited API access.

Cleanup clusters on owner account cleanup, delete service account
if needed

When the owner account of k8s clusters is deleted, while its node VMs
get expunged, the cluster entry in DB remain present. This fixes the
issue by cleaning up all clusters for the account deleted.

Project k8s service account will be deleted on account cleanup or when
there is no active k8s cluster remaining

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-05-27 20:08:12 +05:30
Suresh Kumar Anaparti 9cf9966dfe Keep same/consistent auth time for valid & invalid users 2025-05-27 20:06:56 +05:30
nvazquez 64d83ce9d1 Fix access to template/ISO list for domain/resource admins
In Apache CloudStack, while using the listTemplates and listIsos APIs, Domain Admins and Resource Admins can retrieve templates and ISOs outside their intended scope.

Co-authored-by: bernardodemarco <bernardomg2004@gmail.com>
Co-authored-by: nvazquez <nicovazquez90@gmail.com>
2025-05-27 20:03:13 +05:30
nvazquez a0080a04fe Adding privilege checks on user and account operations
Co-authored-by: Harikrishna <harikrishna.patnala@gmail.com>
2025-05-27 16:24:29 +02:00
Abhishek Kumar e2f187912c cks: create separate service account in project
A separate service account will be created and added in the project, if
not exist already, when a Kubernetes cluster is deployed in a project.
This account will have a role with limited API access.

Cleanup clusters on owner account cleanup, delete service account
if needed

When the owner account of k8s clusters is deleted, while its node VMs
get expunged, the cluster entry in DB remain present. This fixes the
issue by cleaning up all clusters for the account deleted.

Project k8s service account will be deleted on account cleanup or when
there is no active k8s cluster remaining

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-05-27 16:24:29 +02:00
Suresh Kumar Anaparti ad9d9cd3f6 Keep same/consistent auth time for valid & invalid users 2025-05-27 16:24:29 +02:00
nvazquez 38f3107211 Fix aaccess to template/ISO list for domain/resource admins
In Apache CloudStack, while using the listTemplates and listIsos APIs, Domain Admins and Resource Admins can retrieve templates and ISOs outside their intended scope.

Co-authored-by: bernardodemarco <bernardomg2004@gmail.com>
Co-authored-by: nvazquez <nicovazquez90@gmail.com>
2025-05-27 16:24:29 +02:00
Pearl Dsilva 16fc2cd1f0 Merge branch '4.19' of https://github.com/apache/cloudstack into 4.20 2025-05-27 19:27:33 +05:30
Wei Zhou 857ccb0a3b
server: fix list diskoffering by domainid returns Inactive offerings (#10916) 2025-05-27 10:56:35 +02:00