Commit Graph

4918 Commits

Author SHA1 Message Date
Pearl Dsilva 62363c1f4b remove duplicate definitions 2025-05-27 23:20:38 +05:30
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
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
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
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
Pearl Dsilva 0648d000b2
Support XenServer 8.4 / XCP 8.3 - make scripts python3 compatible (#10684) 2025-05-13 12:35:04 +02:00
Daan Hoogland dd84c74e82 Merge branch '4.19' into 4.20 2025-05-13 11:41:36 +02:00
Rene Peinthor 88ce639255
Linstor: implement volume and storage stats (#10850) 2025-05-13 10:06:35 +02:00
Suresh Kumar Anaparti 47a268202b
[VMware] Sync the disk path or datastore changes for IDE disks, and before any volume resize during start vm (for the volumes on datastore cluster) (#10748) 2025-05-12 13:21:04 +02:00
Pearl Dsilva 04731b0618 fix logger 2025-05-12 12:58:41 +05:30
Pearl Dsilva a21f912be3 Merge branch '4.19' of https://github.com/apache/cloudstack into 4.20 2025-05-12 12:41:34 +05:30
Abhishek Kumar e68abcd85d
xenserver: destroy halted vm on expunge (#10833)
* xenserver: destroy halted vm on expunge

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-05-12 10:46:37 +05:30
slavkap 17e062a381
StorPool notify libvirt when volume is resized (#10775) 2025-05-09 11:34:52 +02:00
Wei Zhou ea32a1a71a
server: fetch IP of VMs on L2 networks (#10431) 2025-05-09 10:19:30 +02:00
Abhisar Sinha 2674da2ee9
Nas BnR: Fix for restore not working correctly (#10785) 2025-05-08 09:20:06 +02:00
Abhisar Sinha dfd64b1a67
Ceph object store: Fix LocationConstraint error (#10772)
* Don't set signingRegion as auto for creating the s3 client in ceph object store provider.

* replace getBucketAcl with doesBucketExistV2 in CephObjectStoreDriverImplTest
2025-05-01 11:47:18 +05:30
Pearl Dsilva 0e0ae226bd
Xenserver smoke-test: Allow emojis to be accepted in volume name during volume creation (#10774)
* Allow emojis to be accepted in volume name during volume creation

* escape only non-ASCII characters
2025-04-29 11:43:07 +05:30
Pearl Dsilva 0785ba046e Merge branch '4.19' of https://github.com/apache/cloudstack into 4.20 2025-04-28 11:10:08 +05:30
Wei Zhou 5d28e66b52
vTPM: support KVM and VMware (#10543)
* KVM: add Virtual TPM model and version

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

* VMware: add vTPM

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

* vTPM: add unit test testTpmModel

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

* vTPM: extra methods as Daan's requests

* vTPM: add unit tests in VmwareResourceTest

* vTPM: update unit tests in VmwareResourceTest

* vTPM: add unit test in LibvirtComputingResourceTest

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

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

* vTPM: let uses to add UEFI on vmware

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

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

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

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

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

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

---------

Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2025-04-26 14:35:36 +05:30
Abhishek Kumar 12c077d704
api,ui: multi arch improvements (#10289) 2025-04-25 11:02:27 +02:00
dahn 5a5c865133
Revert "Add the option to filter by host when retrieving of unregistered VMs (#9925)" (#10647)
This reverts commit aa6c581e40.
2025-04-24 09:06:57 +02:00
slavkap f6f33c6add
Fix the size of a template downloaded from secondary storage (#10662)
Fixing the size of a template that is downloaded from secondary storage
to StorPool
2025-04-23 16:07:47 +05:30
Pearl Dsilva 0da243d660
Fix issue with allocator not considering subsequent clusters (#10603)
* Fix issue with allocator not considering subsequent clusters

* add missing return

* remove unused import

* update as per inputs
2025-04-22 03:06:12 -04:00
Daan Hoogland 2771586b87 Merge release branch 4.19 to 4.20
* 4.19:
  plugin/shutdown: use mgmt server uuid in the shutdown response (#10717)
2025-04-18 11:54:03 +02:00
Rohit Yadav 29e58e906f
plugin/shutdown: use mgmt server uuid in the shutdown response (#10717) 2025-04-18 11:08:53 +02:00
Daan Hoogland d7765343ef Merge branch '4.19' into 4.20 2025-04-17 15:40:10 +02:00
Harikrishna a09354ddf5
Fix volume migration failure response (#10707) 2025-04-16 10:58:06 +02:00
Rene Glover f13cf597a2
4.19 fix saml account selector (#10311) 2025-04-14 12:59:43 +02:00
Dahn Highland 6850147c9e Merge branch '4.19' into 4.20 2025-04-09 13:00:25 +02:00
Abhishek Kumar 5d5ac17c68
xenserver: do not destroy halted hypervisor vm (#9175)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-04-09 09:33:01 +02:00
Daan Hoogland 5f93ce71bb Merge branch '4.19' into 4.20 2025-03-27 16:44:42 +01:00
Phsm Qwerty 0b7aef7a0f
enhancement: iterate directly on HostJoinVO (#10613) 2025-03-27 10:17:28 +01:00
Rene Peinthor f4a7c8ab89
linstor: implement missing deleteDatastore (#10561)
Somehow deleteDatastore was never implemented, that meant:
templates haven't been cleaned up on datastore delete and
also agents have never been informed about storage pool removal.
2025-03-18 08:50:19 -04:00
Pearl Dsilva e091aad792 Merge branch '4.19' of https://github.com/apache/cloudstack into 4.20 2025-03-17 13:26:26 -04:00
Abhisar Sinha 35e809e7ce
Set external Id to null after backupProvider.removeVMFromBackup (#10562) 2025-03-17 12:46:05 -04:00
Daan Hoogland f8adedc280 Merge release branch 4.19 to 4.20
* 4.19:
  linstor: try to delete -rst resource before snapshot backup (#10443)
2025-03-12 11:31:16 +01:00
Rene Peinthor 95c24810ab
linstor: try to delete -rst resource before snapshot backup (#10443)
If a -rst resource wasn't deleted because of a failed copy,
a reoccurring snapshot attempt couldn't be done, because there
was still the "old" -rst resource. To prevent this always
try to remove the -rst resource before, if it doesn't exist it is a noop.
2025-03-10 16:23:01 +01:00
Pearl Dsilva 0427abf855 Merge branch '4.19' of https://github.com/apache/cloudstack into 4.20 2025-03-10 09:34:24 -04:00
Wei Zhou 8ce34ad791
kvm: find cluster-wide pools only in Up state when investigate a host (#10516) 2025-03-10 09:27:38 -04:00
Wei Zhou cd6d1a23a2
KVM: return null state instead of Disconnected when investigate a host without NFS (#10515) 2025-03-10 09:06:15 +01:00
Phsm Qwerty 8b092951cb
prometheus: don't poll the same tag multiple times (#10450) 2025-03-07 00:26:43 -05:00
Pearl Dsilva 7f4e6a9d51
NAS B&R Plugin enhancements (#9666)
* NAS B&R Plugin enhancements

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

* revert marvin change

* add sanity checks to validate minimum qemu and libvirt versions

* check is user running script is part of libvirt group

* revert changes of retore expunged VM

* add code coverage ignore file

* remove check

* issue with listing schedules and add defensive checks

* redirect logs to agent log file

* add some more debugging

* remove test file

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

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

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

* Fix updateTemplatePermission UI in non-english language

* Improve fix

---------

* Add nobrl in the mountopts for cifs file system

* Fix restoration of VM / volumes with cifs

* add cifs utils for el8

* add cifs-utils for ubuntu cloudstack-agent

* syntax error

* remove required constraint on both vmid and id params for the delete bkp schedule command
2025-03-04 11:32:09 -05:00
Pearl Dsilva 48ed5e2417 Merge branch '4.19' into 4.20 2025-03-04 09:17:16 -05:00
slavkap 9b8c862f9f
removing the usage of volumeFreeze StorPool API call (#8575) 2025-03-03 16:03:15 +01:00
Rene Glover f0179855f5
add use of virsh domifaddr to get VM external DHCP IP (#10376)
* add use of virsh domifaddr to get VM external DHCP IP

* updates to modularize LibvirtGetVmIpAddressCommandWrapper per comments; added test cases to cover 90%+ scenarios

* updates to modularize LibvirtGetVmIpAddressCommandWrapper per comments; added test cases to cover 90%+ scenarios

* updates to modularize LibvirtGetVmIpAddressCommandWrapper per comments; added test cases to cover 90%+ scenarios
2025-02-28 10:13:53 +05:30
Daan Hoogland 88916dcf2b Merge branch '4.19' into 4.20 2025-02-27 17:10:54 +01:00
Wei Zhou f992ebb52a
fix volume migration across cluster-scope pools (#10266) 2025-02-27 08:50:22 -05:00
Phsm Qwerty 37c4df9ada
fix: enforce the cpu shares within allowed range (#10221)
To be compatible with older libvirt versions

Co-authored-by: dahn <daan.hoogland@gmail.com>
2025-02-25 10:42:41 -05:00
Daan Hoogland 4a3686297d Updating pom.xml version numbers for release 4.19.3.0-SNAPSHOT
Signed-off-by: Daan Hoogland <daan@onecht.net>
2025-02-25 10:43:11 +01:00
Daan Hoogland 08ad1c70ba Merge branch '4.19' into 4.20 2025-02-24 14:21:14 +01:00
Daan Hoogland 4e321d4356 Updating pom.xml version numbers for release 4.19.2.0
Signed-off-by: Daan Hoogland <daan@onecht.net>
2025-02-20 09:32:07 +01:00
dahn e196275d5a
ipmi: extra log sanitation (#10428) 2025-02-20 09:01:28 +01:00
BartJM ee32f4cfe8
Add cpu speed detection methods (#9762)
Added additional match for lscpu
Added additional file to check
2025-02-19 08:33:49 -05:00
Wei Zhou 21b5e4dcae
Veeam: set backed_volumes for each backup (#9898) 2025-02-18 11:31:15 -05:00
Suresh Kumar Anaparti b9ebc7b721
VMware Import - Support external VMs in any folders/subfolders other than the root folder ('vm') of datacenter (#10411) 2025-02-18 09:23:25 +01:00
Wei Zhou 42a77c7646
LinstorStorageAdaptor: fix lint error (#10378)
This is found in some PRs

plugins/storage/volume/linstor/src/main/java/com/cloud/hypervisor/kvm/storage/LinstorStorageAdaptor.java:510: poperties ==> properties
2025-02-13 09:12:05 +01:00
Suresh Kumar Anaparti 8c4a085a16
Validate the direct downloaded template file format (QCOW2) if the template file exists (#10332)
* Validate the direct downloaded template file format (QCOW2) if the template file exists

* string format not required
2025-02-13 12:08:57 +05:30
Daan Hoogland 4f3e8e8c5a Merge branch '4.19' into 4.20 2025-02-12 15:00:51 +01:00
dahn aa6c581e40
Add the option to filter by host when retrieving of unregistered VMs (#9925)
Co-authored-by: Nicolas Vazquez <nicovazquez90@gmail.com>
2025-02-10 17:06:39 +01:00
Nicolas Vazquez 4f604c00b6
Support virtio-blk root disk controller (#10229) 2025-02-10 15:03:07 +01:00
Gabriel Pordeus Santos 58a63f64fd
Fix VMWare leftovers when deleting VM without root disk (#9735) 2025-02-09 09:31:39 +01:00
Rene Glover 3337f425ff
Primera pure patches & various small fixes (#10132)
Co-authored-by: GLOVER RENE <rg9975@cs419-mgmtserver.rg9975nprd.app.ecp.att.com>
Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2025-02-07 13:19:34 +01:00
Rene Peinthor df99a29483
linstor: Fix using multiple primary storage with same linstor-controller (#10280) 2025-02-06 10:18:04 +01:00
Rene Peinthor 55e8eaab89
Linstor: encryption support (#10126)
This introduces a new encryption mode, instead of a simple bool.
Now also storage driver can just provide encrypted volumes to CloudStack.
2025-02-04 15:18:49 +01:00
Abhishek Kumar 0b5a5e8043
api,agent,server,engine-schema: scalability improvements (#9840)
* api,agent,server,engine-schema: scalability improvements

Following changes and improvements have been added:

- Improvements in handling of PingRoutingCommand

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

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

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

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

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

- Added caching for some recurring DB retrievals

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

- Optimized MS list retrieval for agent connect

- Optimize finding ready systemvm template for zone

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

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

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

- Improvements in StatsCollection - minimize DB retrievals.

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

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

- Minor improvements in resource limit calculations wrt DB retrievals

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

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

* test1, domaindetails, capacitymanager fix

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

* test2 - agent tests

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

* capacitymanagertest fix

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

* change

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

* fix missing changes

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

* address comments

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

* revert marvin/setup.py

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

* fix indent

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

* use space in sql

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

* address duplicate

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

* update host logs

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

* revert e36c6a5d07

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

* fix npe in capacity calculation

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

* move schema changes to 4.20.1 upgrade

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

* build fix

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

* address comments

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

* fix build

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

* add some more tests

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

* checkstyle fix

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

* remove unnecessary mocks

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

* build fix

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

* replace statics

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

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

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

* refactor - remove unused

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

* unregister closed connections, monitor & cleanup

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

* add check for outdated vm filter in power sync

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

* agent: synchronize sendRequest wait

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

---------

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2025-02-01 12:28:41 +05:30
Abhishek Kumar ae2ffbe40b Merge remote-tracking branch 'apache/4.19' into 4.20 2025-01-31 16:54:22 +05:30
Abhishek Kumar b93589b5bd
server: reset 2fa user configuration on incomplete setup (#10247)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-01-30 15:51:04 +01:00
Wei Zhou b9890875cc
CKS: use --delete-emptydir-data instead of deprecated --delete-local-data (#10234) 2025-01-30 15:49:26 +01:00
Daan Hoogland 34d2a3bc86 Merge branch '4.19' into 4.20 2025-01-24 17:01:42 +01:00
Abhishek Kumar 4787885fc0
cks: prevent npe on cluster listing with removed offering (#10075)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-01-24 09:47:52 +01:00
Nicolas Vazquez 7e295ec4e1
[KVM] Add watchdog model none to disable use of watchdogs on KVM agent (#10203) 2025-01-23 13:15:02 +01:00
Harikrishna 20759187b3
Fix local storage deletion cases (#10231)
* Delete local storage properties in agent.properties during delete pool

* Fix stale entry when add local storage failed

* Smaller methods

* Comment added
2025-01-23 12:46:33 +05:30
Wei Zhou b186272f68
kvm: add SCSI controllers based on the number of virtio-SCSI disks (#9823)
According to libvirt code, the units per scsi controller is set to 7
therefore, we need to create scsi controller every 7 disks (including CDROM).

50cc7a0d9d/src/conf/domain_conf.h (L3007-L3008)

50cc7a0d9d/src/conf/domain_conf.c (L6701-L6704)
2025-01-22 14:00:02 +01:00
Daan Hoogland 5167c3b613 Merge branch '4.19' into 4.20 2025-01-21 11:59:43 +01:00
Rene Peinthor 1ff68cf9b1
linstor: Fix ZFS snapshot backup (#10219)
Linstor plugin used the wrong zfs dataset path to hide/unhide
the snapshot device.
Also don't use the full path to the zfs binary.
2025-01-21 15:40:17 +05:30
Abhishek Kumar 00c659b7a7
api: fix access for listSystemVmUsageHistory (#10032)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-01-20 14:29:27 +01:00
Abhishek Kumar bd488c4bba
server, plugin: enhance storage stats for IOPS (#10034)
Adds framework layer change to allow retrieving and storing IOPS stats for storage pools. Custom `PrimaryStoreDriver` can implement method - `getStorageIopsStats` for returning IOPS stats. Existing method `getUsedIops` can also be overridden by such plugins when only used IOPS is returned.
For testing purpose, implementation has been added for simulator hypervisor plugin to return capacity and used IOPS for a pool.
For local storage pool, implementation has been added using iostat to return currently used IOPS.
StoragePoolResponse class has been updated to return IOPS values which allows showing IOPS values in UI for different storage pool related views and APIs.

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-01-07 17:17:12 +05:30
Vishesh a4224e58cc
Improve logging to include more identifiable information (#9873)
* Improve logging to include more identifiable information for kvm plugin

* Update logging for scaleio plugin

* Improve logging to include more identifiable information for default volume storage plugin

* Improve logging to include more identifiable information for agent managers

* Improve logging to include more identifiable information for Listeners

* Replace ids with objects or uuids


* Improve logging to include more identifiable information for engine

* Improve logging to include more identifiable information for server

* Fixups in engine

* Improve logging to include more identifiable information for plugins

* Improve logging to include more identifiable information for Cmd classes

* Fix toString method for StorageFilterTO.java
2025-01-06 16:42:37 +05:30
Daan Hoogland b7f0aac519 Merge branch '4.19' into 4.20 2024-12-20 14:34:39 +01:00
Suresh Kumar Anaparti 188eacd9eb
Certificate and VM hostname validation improvements (#10051)
* Certificate and VM hostname validation improvements

* Improve certificate name validation and some code/log improvements
2024-12-20 10:18:11 +05:30
Rene Peinthor a9587bfd2e
kvm-storage: provide isVMMigrate information to storage plugins (#10093)
Particular Linstor needs can use this information to only allow
dual volume access for live migration and not enable it in general,
which can and will lead to data corruption if for some reason
2 VMs get started on 2 different hosts.
2024-12-18 09:13:41 +01:00
Suresh Kumar Anaparti b4ad04badf
Allow config drive deletion of migrated VM, on host maintenance (#10045) 2024-12-18 09:12:28 +01:00
Rene Peinthor a2f2e87c12
linstor: improve heartbeat check with also asking linstor (#10105)
If a node doesn't have a DRBD connection to another node,
additionally ask Linstor-Controller if the node is alive.
Otherwise we would have simply said no and the node might still be alive.
This is always the case in a non hyperconverged setup.
2024-12-16 09:59:57 +01:00
Wei Zhou 14460f49e1
Merge remote-tracking branch 'apache/4.19' into 4.20 2024-12-12 11:55:39 +01:00
Wei Zhou f9b176744e
SAML2: add cookie with HttpOnly too #10013 (#10047) 2024-12-09 16:45:21 +01:00
Daan Hoogland da54234585 Merge branch '4.19' into 4.20.merge 2024-12-03 16:32:15 +01:00
Abhisar Sinha d17de834a5
Disable API Key Access for users, accounts and domains (#9741)
* cli changes to update user/account, list by apikeyaccess, domain level setting

* UI changes for updating user/account and searchfilter in listview

* make the api parameters and setting accessible only to root admin

* revert changes to ui/package-lock.json

* minor changes to description strings

* UT for ApiServer and AccountManagerImpl classes

* fix pre-commit failure

* Added a constant for the string System

* UT for searchForUsers and searchForAccounts

* Fix marvin test error

* Update schema to use idempotent add column

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

* Fix updateTemplatePermission UI in non-english language

* Improve fix

---------

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

* Added user name uuid to logging

* Add events when api key access is changed via api or config setting

* fix the userid for api key access update event

* Fix ut failure after event logging

* Convert drop down to radio-button in edit user and account

* Add ApiKeyAccess status in User InfoCard for Users if Api key is generated

* Return apiKeyAccess in user and account response only for Root Admin

* fixed noredist build failure

* Show apikeyaccess on the left panel in the user view for root admins as well

* don't show divider if apiKeyAccess is not shown to user

* Fix events generated to set Username, Account and Domain of the caller correctly

* cli changes to update user/account, list by apikeyaccess, domain level setting

* UI changes for updating user/account and searchfilter in listview

* make the api parameters and setting accessible only to root admin

* revert changes to ui/package-lock.json

* minor changes to description strings

* UT for ApiServer and AccountManagerImpl classes

* fix pre-commit failure

* Added a constant for the string System

* UT for searchForUsers and searchForAccounts

* Fix marvin test error

* Update schema to use idempotent add column

* Added user name uuid to logging

* Add events when api key access is changed via api or config setting

* fix the userid for api key access update event

* Fix ut failure after event logging

* Convert drop down to radio-button in edit user and account

* Add ApiKeyAccess status in User InfoCard for Users if Api key is generated

* Return apiKeyAccess in user and account response only for Root Admin

* fixed noredist build failure

* Show apikeyaccess on the left panel in the user view for root admins as well

* don't show divider if apiKeyAccess is not shown to user

* Fix events generated to set Username, Account and Domain of the caller correctly

* Added DB upgrade path from 42000 to 42010

---------

Co-authored-by: Daan Hoogland <daan@onecht.net>
Co-authored-by: Lucas Martins <56271185+lucas-a-martins@users.noreply.github.com>
Co-authored-by: Lucas Martins <lucas.martins@scclouds.com.br>
2024-12-03 12:10:54 +05:30
Rodrigo D. Lopez 4189bac8e0
enable to create VPC portfowarding rules with source cidr (#7081)
Co-authored-by: Lopez <rodrigo@scclouds.com.br>
Co-authored-by: Fabricio Duarte <fabricio.duarte.jr@gmail.com>
2024-11-28 17:53:07 +01:00
Vishesh 37eec06166
Allow VMWare import via another host (#9787)
Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2024-11-28 17:50:08 +01:00
Rene Peinthor d54b105a03
Linstor: add support for ISO block devices and direct download (#9792) 2024-11-28 17:47:47 +01:00
João Jandre c63c7ee63e Updating pom.xml version numbers for release 4.20.1.0-SNAPSHOT
Signed-off-by: João Jandre <48719461+JoaoJandre@users.noreply.github.com>
2024-11-27 11:40:45 -03:00
João Jandre 2fe3fcef7c Updating pom.xml version numbers for release 4.20.0.0
Signed-off-by: João Jandre <48719461+JoaoJandre@users.noreply.github.com>
2024-11-19 08:54:07 -03:00
Daan Hoogland a82a2429f4 Merge branch '4.19' 2024-11-14 15:59:35 +01:00
Daan Hoogland a2690e9864 imports 2024-11-14 15:28:32 +01:00
Daan Hoogland 24c28ad460 Merge branch '4.18' into 4.19 2024-11-14 14:30:06 +01:00
Daan Hoogland 6ef2eaca14 Merge tag '4.18.2.5' into 4.18 2024-11-14 13:59:25 +01:00
dahn b75742da43
enum name changed for logger update reverted (#9922) 2024-11-14 08:38:42 -03:00
João Jandre b38ee63c48 Merge branch '4.19' 2024-11-13 10:47:24 -03:00
Rene Peinthor dfe4a67859
kvm: ref-count secondary storage pool usage (#9498)
If a secondary storage pool is used by e.g.
2 concurrent snapshot->template actions,
if the first action finished it removed the netfs mount
point for the other action.
Now the storage pools are usage ref-counted and will only
deleted if there are no more users.
2024-11-13 10:32:46 -03:00
Daan Hoogland f7b7339bcf Merge branch '4.19' 2024-11-07 11:33:50 +01:00
Rohit Yadav 5b7c86aa45 Merge remote-tracking branch 'origin/4.18' into 4.19
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2024-11-07 14:51:43 +05:30
Rene Peinthor 371e244375
linstor: fix live migrate on non-hyperconverged setups (#9832)
In non-hyperconverged setups, diskless nodes don't have a connection
to each other, so setting properties there had no effect.
Now it is checked if a connection exists,
between the live migration nodes and if not,
it will set the allow-two-primaries on resource-definition level.
2024-11-07 14:46:32 +05:30
Wei Zhou 006db90f75
kvm: fix ovs network creation issue (#9869)
This fixes the issue when create a ovs network
```
2024-10-29 16:02:45,089 WARN  [resource.wrapper.LibvirtOvsFetchInterfaceCommandWrapper] (agentRequest-Handler-2:null) (logid:e716722e) Network interface: ''cloudbr1'' not found
```

This is a regression of a previous security release
see "framework/cluster: improve cluster service, integration API server"

since we now use NetworkInterface.getByName to get network interface, we should NOT add single quotes before/after the label.
2024-11-07 14:36:53 +05:30
Daniel Augusto Veronezi Salvador 84538da27c Updating pom.xml version numbers for release 4.18.2.5
Signed-off-by: Daniel Augusto Veronezi Salvador <gutoveronezi@apache.org>
2024-11-05 00:54:55 -03:00
Daniel Augusto Veronezi Salvador 966b75d0b9 Verify QCOW2 features on direct download of template 2024-11-05 00:26:19 -03:00
João Jandre 8af08ddafb Merge branch '4.19' 2024-11-04 08:58:48 -03:00
slavkap be247334a7
StorPool: fix of delete snapshot (#9855)
* StorPool: fix of delete snapshot

Mark the DB record as destroyed when a snapshot is deleted

* Addressed reviews

* addressed review

* addressed review
2024-11-04 08:52:02 -03:00
Rene Peinthor a6cef7a78d
linstor/kvm: Workaround a qemu bug and IDE bus discard enabled. (#9859)
qemu has a bug versions prior 7.0 with discard enabled and using the IDE bus.
It would crash the qemu process and kill the virtual machine,
this is most noticeable on installing a windows guest from the
Windows ISO installer.
2024-11-04 08:46:40 -03:00
Rohit Yadav 20901c7443 Merge remote-tracking branch 'origin/4.19' 2024-10-17 14:53:26 +05:30
Rene Peinthor 7fbd0a9fb4
linstor: enable discard for Linstor storage pools (#9770)
* linstor: enable discard for Linstor storage pools

All Linstor storage backends support discard, so it can be safely enabled.

* linstor: enable discard for Linstor storage pools CHANGELOG.md
2024-10-17 14:51:47 +05:30
Rohit Yadav 46201ee043 Merge remote-tracking branch 'origin/4.19' 2024-10-16 10:50:23 +05:30
dahn 44597724f5
make saml auth request option `forceauthn` configurable (#9756) 2024-10-16 10:45:18 +05:30
João Jandre 554ea220f0 Fix merge errors 2024-10-11 14:12:18 -03:00
Daan Hoogland dbfc7f23a7 Merge branch '4.19' 2024-10-11 17:59:46 +02:00
Wei Zhou 5ab0a52d66 util: check JSESSIONID in cookies if user is passed 2024-10-11 17:24:34 +02:00
Daan Hoogland 7d70e32378 fix quota resource access validation 2024-10-11 17:24:05 +02:00
Daan Hoogland 54b3519df1 Updating pom.xml version numbers for release 4.18.2.4
Signed-off-by: Daan Hoogland <daan@onecht.net>
2024-10-03 17:36:32 +02:00
Wei Zhou 124d6b8b81 util: check JSESSIONID in cookies if user is passed 2024-10-03 17:35:54 +02:00
Daan Hoogland b97bd3bee1 fix quota resource access validation 2024-10-03 15:33:41 +02:00
João Jandre e666dca403
linked clone for file based storage (#8911) 2024-10-02 13:15:29 -03:00
Wei Zhou 04c428cb2f
CKS: add ConfigDrive to cloud-init datasource_list in systemvm template (#7650)
* CKS: add ConfigDrive to cloud-init datasource_list in systemvm template

* systemvm template: update debian 11.7.0 iso url

* CKS: get K8S iso by LABEL=CDROM if config drive ISO is attached

* Revert "CKS: add ConfigDrive to cloud-init datasource_list in systemvm template"

This reverts commit b6863a5ce1.

* CKS: patch cloud-init in opt/cloud/bin/setup/cksnode.sh

* PR7650: move ConfigDrive before CloudStack in datasource list

* Revert "CKS: patch cloud-init in opt/cloud/bin/setup/cksnode.sh"

This reverts commit 75be03c6aa.

* CKS: fix ConfigDrive
2024-09-27 09:09:27 -03:00
João Jandre bf2cedea79 Merge branch 4.19 to main 2024-09-26 09:01:22 -03:00
João Jandre cb4713fabe Merge release branch 4.18 to 4.19
* 4.18:
  CKS: fix creation on shared network if HA is enabled (#8588)
2024-09-26 08:50:02 -03:00
Wei Zhou bb820f799b
CKS: fix creation on shared network if HA is enabled (#8588) 2024-09-26 08:37:25 -03:00
mprokopchuk 4ce86711f9
PowerFlex on demand disable config key (#9664)
* Introduced configuration key "powerflex.connect.on.demand" to enable/disable PowerFlex on-demand connection from Host to Storage Pool feature.

* Update plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/manager/ScaleIOSDCManagerImpl.java

---------

Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2024-09-26 13:07:18 +05:30
Vishesh 21d107c349
Merge branch '4.19' 2024-09-24 14:04:51 +05:30
Wei Zhou 9ce7ef49cf
build/packaging: build tungsten plugin only if noredist is passed (#9006) 2024-09-20 10:17:12 +02:00
João Jandre 41e7a2a689 Merge release branch 4.19 to main 2024-09-19 15:02:29 -03:00
Fabricio Duarte 075f9811c4
[VMware] Make disk controller selection on volume attachment consistent with VM creation and start (#9636)
* Make volume attachment disk controller selection consistent with VM creation and start

* Update vmware-base/src/main/java/com/cloud/hypervisor/vmware/util/VmwareHelper.java

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

* Choose disk controllers after converting osdefault

* Rename function

---------

Co-authored-by: dahn <daan.hoogland@gmail.com>
2024-09-19 14:54:30 -03:00
mprokopchuk 1d4700a0bd
Provide encryption key for DATA volume type (in addition to ROOT) to copy volume. (#9663) 2024-09-12 13:03:23 -03:00
Vishesh 0655075f51
Feature: Forgot password (#9509)
* Feature: Forgot password

* Address comments

* fixups

* Make forgot password disabled by default

* Apply suggestions from code review

* Address comments
2024-09-10 12:55:28 -03:00
Thomas O'Dowd 638c1526d0
Fix the Cloudian Integration SSO Redirect link (#9656) 2024-09-10 14:52:59 +02:00
Bernardo De Marco Gonçalves 6ec3c486dd
Enhance the `listAffinityGroups` API by adding the dedicated resources related to an affinity group (#9188)
* add dedicated resource response

* populate dedicatedresources field

* change affinity group name and description when it contains dedicated resources

* display dedicatedresources on UI

* add end of line to DedicatedResourceResponse class

* remove unnecessary fully qualified names
2024-09-10 08:12:41 -03:00
Daan Hoogland b068c68bff merge conflict (in loggers) 2024-09-09 15:51:43 +02:00
Daan Hoogland abfa92928c merge conflicts 4.19 -> main 2024-09-09 14:48:20 +02:00