Commit Graph

5095 Commits

Author SHA1 Message Date
Alexandru Bagu 8e4dc0a66d
VMware: match nic mac for ip address fetch (#10641) 2025-10-04 11:49:26 +02:00
Wei Zhou e12813de49
CKS: fix CKS creation on an existing Shared and Routed network (#11735) 2025-10-03 14:35:43 +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
Wei Zhou 2a802a3143
Extensions: use home directory of cloud user instead of /var/lib/cloudstack/management/ (#11732) 2025-10-01 08:49:58 +02:00
Wei Zhou c631d6a480
CKS: generate a random UUID as password of CKS user in project (#11639) 2025-10-01 08:47:58 +02:00
Wei Zhou 9cc88b8dcc
CKS: fix control plane endpoint IP (#11720) 2025-09-29 09:10:56 +02:00
Abhishek Kumar 2c1aad4db8
Merge remote-tracking branch 'apache/4.20' 2025-09-27 09:00:45 +05:30
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
Wei Zhou 318a4f2b6e
server: set download volume format to qcow2 for KVM volumes (#11198) 2025-09-26 20:25:11 +02:00
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 36cfd76ce1
KVM: fix delete vm snapshot if it does not exist with a Stopped vm (#11687)
* KVM: fix delete vm snapshot if it does not exist with a Stopped vm

* update 11687
2025-09-24 13:53:27 +02:00
dahn c24d2b88f6
LDAP: honour nested groups for MSAD (#11696) 2025-09-24 11:30:04 +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
Harikrishna 3ef2556900
Fix scaleKubernetesCluster API (#11652)
* Fix scaleKubernetesCluster

* Added more state transitions
2025-09-20 17:57:45 +05:30
Pearl Dsilva 8eb6ddd920
Fix inactive VPCs deletion (#11618)
Co-authored-by: Nicolas Vazquez <nicovazquez90@gmail.com>
2025-09-18 08:25:48 -03:00
John Bampton 0108ffd1b0
java: fix one typo in many files (#11284) 2025-09-17 22:05:38 +05:30
vishesh92 ada750e391
Merge branch '4.20' 2025-09-17 14:26:06 +05:30
Pearl Dsilva 96ccd7e6c5
Filter netris vNets only by VPC ID as filter by site isn't working as expected on netris end (#11617) 2025-09-16 09:13:10 -03:00
Nicolas Vazquez 96cabf7e43
[KVM] Allow passing the OS type machine for KVM XML domains through VM setting (#11569)
* [KVM] Allow passing OS type machine to XML domains
2025-09-16 15:49:20 +05:30
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
Wei Zhou 70a4503ea1
Merge remote-tracking branch 'apache/4.20' 2025-09-11 14:04:52 +02:00
Bernardo De Marco Gonçalves 7c727a3440
CKS: Fix transition exception when scaling Stopped k8s clusters (#11598)
* add new k8s cluster transition

* apply suggestion

* apply suggestion
2025-09-11 10:42:41 +02:00
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
Pearl Dsilva 4f5f7d46d2
CKS: Validate network offering from network if provided rather than global setting (#11528)
* CKS: Validate network offering from network if provided rather than global setting

* update warning message
2025-09-09 12:53:09 +02:00
Abhishek Kumar 9349b69b7e
server,kvm: detect boot options for vm import (#11218)
* server,kvm: detect boot options for vm import

Fixes #11184

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

* tests and changes

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

---------

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-09-08 16:51:57 +02:00
Abhishek Kumar 6868f052de
2fa: log error on totp mismatch (#10734)
Addresses #9515

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-09-08 11:06:22 +02:00
Wei Zhou f99942cf9a
Merge remote-tracking branch 'apache/4.19' into 4.20 2025-09-08 10:00:01 +02:00
shrikantjoshi-hpe 90681df1b5
Primera: Delete session after key expiration (#11487) 2025-09-08 09:44:33 +02:00
Abhishek Kumar adec5f439d
kvm: add ssvm storage nic null uri check during plug (#11557)
* kvm: add ssvm storage nic null uri check during plug

Fixes #11552

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-06 13:34:23 +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
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
Wei Zhou 3c4f458819
Merge remote-tracking branch 'apache/4.20' 2025-08-30 18:42:10 +02:00
Abhishek Kumar 762f75c041
kvm: fix vm deployment with direct-download iso (#11532) 2025-08-29 15:12:59 +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
Pearl Dsilva 3109e0080e
Add response object required by go SDK for parsing response (#10152) 2025-08-29 15:17:09 +05:30
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 0f0155c653
Fix live migration of VM with config drive on KVM (#11516) 2025-08-28 10:27:30 +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
Suresh Kumar Anaparti 5a90da3276
Fix for PowerFlex MDM configuration on host while preparing the SDC connection (#11458) 2025-08-18 11:57:54 +05:30
Bernardo De Marco Gonçalves ba2d70ab21
[KVM] CPU Features for System VMs (#10964)
* CPU features for System VMs

* Apply guest.cpu.features for System VMs
2025-08-15 20:02:50 +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
Rene Peinthor 25f93b1d6b
linstor: fix getVolumeStats if multiple Linstor primary storages are used (#11397)
We didn't account for caching the volume stats for each used Linstor
cluster, so the first asked Linstor cluster would prevent caching
for all the others and so null was returned.

Now we have invalidate counters for each Linstor cluster and
also store the cache result with the Linstor cluster address prefixed.
2025-08-15 19:20:39 +05:30
Vishesh 2c493d1933
Add support for nvidia vGPU support with vendor specific framework (#11432) 2025-08-15 15:54:11 +05:30
Ruben Bosch e57e8cf418
Network rate must be multiplied by 125 not 128 (#10645)
* Network rate must be multiplied by 125 not 128

In a libvirt domain xml when nw_rate=5000 the kilobytes per second
configured in the interface is 640000 which is 5.12 Gbit/s. Which is
more than the configured network rate of 5Gbit/s. So instead multiply by
125.

* Apply suggestions from code review

Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2025-08-11 20:11:36 +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 d601c176f1
Merge branch '4.20' 2025-08-04 17:50:04 +05:30
Suresh Kumar Anaparti a2d35c8ac2
Fix imports 2025-08-04 17:49:38 +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
Abhishek Kumar cda3640be1
juniper-contrail: publish events only for the module (#11373)
* juniper-contrail: publish events only for the module

This plugin has an ActionEventInterceptor of its own and currently it
intercepts all action events which is incorrect as all action events are
already handled by com.cloud.event.ActionEventInterceptor.
This PR limits publishing events on event bus by plugin's interceptor
only in case the event is from the same module.

Existing behaviour was causing warnings in Webhook service as event
account was missing.

2025-07-31 19:18:59,391 WARN  [o.a.c.m.w.WebhookServiceImpl] ... to any webhook as account ID is missing

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-08-04 16:37:32 +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
Eduardo Vieira de5188e50c
fix storage pool capacity threshold flag (#11366) 2025-08-04 16:33:30 +05:30
Abhishek Kumar 3134efb971
plugin-swift: handle null cache store (#11380)
Fixes https://github.com/apache/cloudstack/pull/11315#pullrequestreview-3074036751

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-08-04 16:21:20 +05:30
shrikantjoshi-hpe 5cac4f6c44
added online/offline copy method for Primera storage adapter (#11298) 2025-08-03 12:31:37 +05:30
jeanvetorello ccd86d96d9
ceph: fix SignatureDoesNotMatch by using correct secret key (#11115)
Ensure bucket.getSecretKey() is used when building the S3 client.
Previously, only getAccessKey() was passed for both key and secret,
causing V4 signature validation failures during operations such as
bucket creation and policy updates.

Co-authored-by: Jean Vetorello <jean@paneas.com>
2025-08-03 12:27:09 +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
Abhishek Kumar 44f80648a9
agent: increase timeout for host arch retrieval (#11254)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-08-01 17:42:08 +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
Suresh Kumar Anaparti 8ac8a22163
Merge branch '4.20' 2025-07-31 18:04:17 +05:30
Nicolas Vazquez ed0d606e98
Find system VM templates for CKS clusters and SharedFS honouring the preferred architecture (#10946)
* Find system VM templates for CKS cluster honouring the preferred architecture

* Fix unit tests

* Fix checkstyle

* Sort instead of filtering by preferred arch

* Remove unnecesary stubs

* Restore java version

* Address review comments

* Fail and display error message in case the CKS ISO arch doesnt match the selected template arch

* Prefer CKS ISO arch instead of the system VM setting
2025-07-31 16:42:47 +05:30
João Jandre 5ea1ada59a
Allow full clone volumes with thin provisioning in KVM (#11177)
It adds a configuration called create.full.clone to the agent.properties file. When set to true, all QCOW2 volumes created will be full-clone. If false (default), the current behavior remains, where only FAT and SPARSE volumes are full-clone and THIN volumes are linked-clone.
2025-07-31 16:12:17 +05:30
levindecaro f62b85dffe
fix fsvm-init.yml to detect virtio-scsi in kvm (#11070)
* fix fsvm-init.yml to detect virtio-scsi in kvm

* Update fsvm-init.yml to handle universal block device case.
2025-07-31 16:06:54 +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 712492230a
Shutdown MS maintenance jobs when finished (#11330) 2025-07-31 10:00:29 +05:30
Suresh Kumar Anaparti 70468a6258
Merge branch '4.20' 2025-07-30 18:30:07 +05:30
Rohit Yadav 2d025bd074
kvm: fix regression 5a52ca78ae (#11342)
Somehow the commit 5a52ca78ae was reverted
so cloud-init templates don't work on arm64 anymore :(

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2025-07-30 17:03:10 +05:30
Suresh Kumar Anaparti 4d2beea777
logger fix 2025-07-30 14:50:41 +05:30
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 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
Daan Hoogland 0b3959221b Merge branch '4.20' 2025-07-29 16:50:55 +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
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
Suresh Kumar Anaparti ed6ee6b704
Mark LDAP user query timeout as incorrect login instead of disabling user immediately (#11220)
* Mark LDAP user query timeout as incorrect login instead of disabling user immediately

* code improvements
2025-07-25 19:31:43 +05:30
ghernadi a4263da8ae
linstor: Use template's uuid if pool's downloadPath is null as resource-name (#11053)
Also added an integration test for templates from snapshots
2025-07-25 07:51:11 -04: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
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
John Bampton 7da5f9002b
misc: fix typo `sercurity` -> `security` (#10966) 2025-07-24 09:46:16 +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
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
Abhisar Sinha 0ebf72df0f
Handle nas backup and restore on Shared mount point. (#11204) 2025-07-23 12:45:33 +02:00
dahn 666784f4e5
ovm deprecation (#11196)
Co-authored-by: Daan Hoogland <dahn@apache.org>
2025-07-23 14:18:27 +05:30
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
Suresh Kumar Anaparti d5f6b7cd1d
Fix to create instances with smaller templates (< 1 GB) on PowerFlex/ScaleIO storage (#11211)
* Fix to create instances with smaller templates (< 1 GB) on PowerFlex/ScaleIO storage

* code improvements
2025-07-22 21:36:26 +05:30
Wei Zhou 30deec89e6
kvm: consider Debian same as Ubuntu (#10917)
Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2025-07-17 09:56:48 +02:00
Daan Hoogland b57994eeb0 Merge branch '4.20' 2025-07-16 14:05:19 +02:00
Suresh Kumar Anaparti c94f75c7ea
PowerFlex/ScaleIO - Wait after SDC service start/restart/stop, and retry to fetch SDC id/guid (#11099)
* [PowerFlex/ScaleIO] Added wait time after SDC service start/restart/stop, and retries to fetch SDC id/guid

* Added agent property 'powerflex.sdc.service.wait' for the time (in secs) to wait after SDC service start/restart/stop

* code improvements
2025-07-16 12:32:09 +05:30
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
Suresh Kumar Anaparti 3220eb442a
PowerFlex/ScaleIO - MDM and host SDC connection enhancements (#11047)
* Cumulative enhancements fix for ScaleIO: MDM add/remove, Host prepare/unprepare, validate Storage Pool can be created in Agent.

- Implemented validation to fail Host disconnect from Storage Pool if there are Volumes attached and SDC client MDM removal requires scini service to be restarted
- Implemented Storage Pool validation by checking whether MDM addresses from configuration file and from memory (using CLI) matches, otherwise file ModifyStoragePool command.
- Introduced configuration key to apply timeout after making MDM changes for ScaleIO: powerflex.mdm.change.apply.timeout.ms (default 1000ms)
- Implemented logic to apply timeout after making MDM changes for ScaleIO in prepare and unprepare logic
- Added detection of MDM removal support via CLI
- If MDM removal support via CLI supported then use CLI, fall back to edit drv_cfg.txt and restart scini instead

Co-authored-by: Suresh Kumar Anaparti <suresh.anaparti@shapeblue.com>
Co-authored-by: mprokopchuk <mprokopchuk@apple.com>
2025-07-16 08:25:28 +02:00
Nicolas Vazquez 84b807eeee
[CKS] Simplify logic for scaling CKS cluster service offerings (#11063) 2025-07-16 08:23:33 +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
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
shrikantjoshi-hpe 4d46bece4a
fix priority for volume copy operation (#11109) 2025-07-14 07:50:58 +02:00
Wei Zhou e47b78b2bb
directdownload: fix keytool importcert (#11113)
* directdownload: fix keytool importcert

```
$ /usr/bin/keytool -importcert file /etc/cloudstack/agent/CSCERTIFICATE-full -keystore /etc/cloudstack/agent/cloud.jks -alias full -storepass DAWsfkJeeGrmhta6
Illegal option:  file
keytool -importcert [OPTION]...

Imports a certificate or a certificate chain

Options:

 -noprompt               do not prompt
 -trustcacerts           trust certificates from cacerts
 -protected              password through protected mechanism
 -alias <alias>          alias name of the entry to process
 -file <file>            input file name
 -keypass <arg>          key password
 -keystore <keystore>    keystore name
 -cacerts                access the cacerts keystore
 -storepass <arg>        keystore password
 -storetype <type>       keystore type
 -providername <name>    provider name
 -addprovider <name>     add security provider by name (e.g. SunPKCS11)
   [-providerarg <arg>]    configure argument for -addprovider
 -providerclass <class>  add security provider by fully-qualified class name
   [-providerarg <arg>]    configure argument for -providerclass
 -providerpath <list>    provider classpath
 -v                      verbose output

Use "keytool -?, -h, or --help" for this help message
```

* DirectDownload: drop HttpsMultiTrustManager
2025-07-07 13:36:16 +02:00
Bernardo De Marco Gonçalves 39c8c4dbae
Normalize naming of Kubernetes clusters (#10778) 2025-07-05 15:20:08 +02: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
Daan Hoogland 1a251c8b78 merge forward fix 2025-07-03 12:55:21 +02:00
Daan Hoogland 7cad65d310 Merge release branch 4.19 to 4.20
* 4.19:
  Add check for ldap truststore password (#11055)
2025-07-03 12:07:05 +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 16c60c7528
Support Direct Download on Ceph (#11069) 2025-06-24 14:19:01 +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
Pearl Dsilva cbd2b5a022
Add check for ldap truststore password (#11055) 2025-06-19 10:03:58 +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
julien-vaz e83a347ace
Improves StoragePoolAllocators' logs (#10475)
Co-authored-by: Julien Hervot de Mattos Vaz <julien.vaz@scclouds.com.br>
2025-06-14 11:23:41 +02:00
slavkap 28ff19b751
enabled discard option (#10077)
Enable the discard option for virtio-blk and virtio-scsi devices for
volumes on StorPool storage
2025-06-14 11:20:47 +02:00
slavkap 685ee9e78f
StorPool: support for direct download (#9833) 2025-06-14 11:19:37 +02:00
João Jandre 7f13beb36a
Check Qcow2 version before using --bitmaps (#10896)
* check version before using --bitmaps

* use cloudruntimeexception
2025-06-13 20:30:46 +02:00
slavkap 5c0346ea86
Adding device ID to a StorPool volume (#10587) 2025-06-11 19:39:51 +02:00
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
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
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
Fabricio Duarte c3c6d34589 Add access validation to Quota email APIs 2025-05-27 20:03:55 +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
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 7e565d2524
Routed: support vxlan networks (#10861) 2025-05-27 10:43:37 +02:00
Pearl Dsilva b760b0262f
Fix issue with configdrive on XenServer (#10912) 2025-05-27 10:14:04 +02:00
Pearl Dsilva f496ed6eaf Merge branch '4.20' of https://github.com/apache/cloudstack 2025-05-22 12:05:47 +05:30
Rohit Yadav f99fb3ecde Merge remote-tracking branch 'origin/4.19' into 4.20 2025-05-22 11:46:59 +05:30
Suresh Kumar Anaparti 6e19c07da1
Fixed typos (#10882) 2025-05-22 11:41:04 +05:30
Wei Zhou 96b8e23767
kvm: fix vm deployment from RAW template (#10880)
* kvm: fix vm deployment from RAW template

* Update plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java

Co-authored-by: João Jandre <48719461+JoaoJandre@users.noreply.github.com>

---------

Co-authored-by: João Jandre <48719461+JoaoJandre@users.noreply.github.com>
2025-05-19 21:44:01 +02:00
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
Suresh Kumar Anaparti 90316b2e90
VMware 80u2 and 80u3 updates/fixes (#10586)
* VMware - Ignore disk not found error on cleanup when the VM disk doesn't exists

* VMware - Retry powerOn on lock issues

* addressed comments

* Update CPVM reboot tests - wait for the agent to Disconnect and back Up

* Retry moveDatastoreFile when any file access issue while creating volume from snapshot

* Update full clone flag when restoring vm using root disk offering with more size than the template size

* refactored (mainly,for diskInfo - causing NPE in some cases)

* Retry moveDatastoreFile when there is any file access issue
2025-05-17 00:39:34 +05:30
Daan Hoogland 8f8c685d17 Merge branch '4.19' into 4.20 2025-05-16 15:51:37 +02:00
Rene Peinthor 4259e0b51b
linstor: fix host connect recursion regression (#10878) 2025-05-16 12:37:37 +02:00
Suresh Kumar Anaparti 112dfddd40
Reset the pool id when create volume fails on the allocated pool, and update the resize error when no endpoint exists (#10777)
* Reset the pool id when create volume fails on the allocated pool

- the pool id is persisted while creating the volume, when it fails the pool id is not reverted. On next create volume attempt, CloudStack couldn't find any suitable primary storage even there are pools available with enough capacity as the pool is already assigned to volume which is in Allocated state (and storage pool compatibility check fails). Ensure volume is not assigned to any pool if create volume fails (so the next creation job would pick the suitable pool).

* endpoint check for resize

* update the resize error through callback result instead of exception
2025-05-16 10:26:28 +02:00
Suresh Kumar Anaparti f199783c75
VMware import - logs sanitation (#10433) 2025-05-16 09:21:19 +02:00
Suresh Kumar Anaparti 572fc11a64
[PowerFlex] Add & Remove PowerFlex/ScaleIO MDMs for the storage SDC connections (#9903)
* Add & Remove PowerFlex/ScaleIO MDMs while preparing & unpreparing the storage SDC connections (instead of start & stop scini)

* Add/Remove MDM IP addresses during Host connection/disconnection to/from storage pool when powerflex.connect.on.demand is false

* unit test fixes

* Don't remove MDM IPs from SDC when any volumes mapped to SDC

* Don't remove MDM IPs when other pools of same ScaleIO/PowerFlex cluster are connected

* rebase fixes

* update changes, to not remove/disconnect MDMs on maintenance

* import fixes after rebase
2025-05-15 12:42:13 +05:30
Abhisar Sinha d55aa70f7e
Restore single backed-up volume on a live instance attaches the volume as a Raw image making it unreadable (#10844) 2025-05-14 15:23:07 +02:00
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
Suresh Kumar Anaparti 52d986081b
Updated Endpoint Selector to pick the Cluster in Enabled state (in addition to Host state) (#10757)
* Consider the clusters with allocation state 'Enabled' for EndPoint selection (in addition to Host state)

* Reset the pool id when create volume fails on the allocated pool

- the pool id is persisted while creating the volume, when it fails the pool id is not reverted. On next create volume attempt, CloudStack couldn't find any suitable primary storage even there are pools available with enough capacity as the pool is already assigned to volume which is in Allocated state (and storage pool compatibility check fails). Ensure volume is not assigned to any pool if create volume fails (so the next creation job would pick the suitable pool).

* endpoint check for resize

* update the resize error through callback result instead of exception

* logger fix
2025-05-13 17:48:49 +05:30