Commit Graph

111 Commits

Author SHA1 Message Date
João Jandre
4f117071c9
KBOSS - Remove backup chain separation (#13680)
Some checks failed
CodeQL Analysis / CodeQL (actions) (push) Has been cancelled
Docker Image Build / build (push) Has been cancelled
Sonar Quality Check (Main) / Sonar JaCoCo Coverage (push) Has been cancelled
2026-07-24 23:30:19 -03:00
Abhisar Sinha
3b53e8c4cb
Don't set compressionstatus and validationstatus in backupVO and backupsResponse for non-kboss providers (#13661) 2026-07-22 12:12:50 -03:00
João Jandre
fc832413d2
Use correct ID to get value of backup.validation.script.default.timeout (#13652)
Some checks are pending
CodeQL Analysis / CodeQL (actions) (push) Waiting to run
Docker Image Build / build (push) Waiting to run
Sonar Quality Check (Main) / Sonar JaCoCo Coverage (push) Waiting to run
2026-07-20 13:35:58 -03:00
João Jandre
66132f83ea
Introduce new backup provider (KBOSS) (#12758)
Co-authored-by: João Jandre <joao@scclouds.com.br>
Co-authored-by: Bernardo De Marco Gonçalves <bernardomg2004@gmail.com>
Co-authored-by: Fabricio Duarte <fabricio.duarte.jr@gmail.com>
Co-authored-by: GaOrtiga <49285692+GaOrtiga@users.noreply.github.com>
2026-07-14 11:19:31 -03:00
Abhisar Sinha
ba837fb8a8
Incremental nas backup fixes (#13571)
* Avoid concurrent deletes modifying the same backup chain in parallel - Backup deletes are serialized by using a per-VM GlobalLock
Backup delete checks if it has a live dependent backup not just a live immediate child.
2026-07-10 08:20:19 +02:00
James Peru Mmbono
42322a59c7
feat(backup): incremental NAS backup support for KVM (#13074)
Implements incremental backup support for the NAS backup provider on KVM, using QEMU dirty bitmaps and libvirt's backup-begin API. RFC: apache/cloudstack#12899.

For large VMs this reduces daily backup storage 80–95% and shortens backup windows from hours to minutes (e.g. a 500 GB VM with moderate writes goes from ~500 GB/day to ~5–15 GB/day after the initial full backup).

Signed-off-by: James Peru <jmsperu@gmail.com>
Co-authored-by: jmsperu <jmsperu@users.noreply.github.com>
Co-authored-by: Abhisar Sinha <63767682+abh1sar@users.noreply.github.com>
2026-07-08 14:06:41 +02:00
Abhisar Sinha
ea771a7013
Fix Instance Backup related events (#13180) 2026-05-26 10:12:03 +02:00
Suresh Kumar Anaparti
c3614098da
Merge branch '4.22' 2026-04-08 18:09:43 +05:30
Abhisar Sinha
03de62bf38
Support Linstor Primary Storage for NAS BnR (#12796) 2026-04-08 15:14:20 +05:30
Suresh Kumar Anaparti
e2d18c0748
Merge branch '4.22' 2026-04-02 10:30:18 +05:30
James Peru Mmbono
6ca6aa1c3f
Fix NPE in NASBackupProvider when no running KVM host is available (#12805)
* Fix NPE in NASBackupProvider when no running KVM host is available

ResourceManager.findOneRandomRunningHostByHypervisor() can return null
when no KVM host in the zone has status=Up (e.g. during management
server startup, brief agent disconnections, or host state transitions).

NASBackupProvider.syncBackupStorageStats() and deleteBackup() call
host.getId() without a null check, causing a NullPointerException that
crashes the entire BackupSyncTask background job every sync interval.

This adds null checks in both methods:
- syncBackupStorageStats: log a warning and return early
- deleteBackup: throw CloudRuntimeException with a descriptive message
2026-03-27 21:32:13 +05:30
Suresh Kumar Anaparti
30e6c224bd
Merge branch '4.22' 2026-02-19 13:20:04 +05:30
Suresh Kumar Anaparti
5caf6cd043
Merge branch '4.20' into 4.22 2026-02-19 13:19:14 +05:30
Suresh Kumar Anaparti
9dd93cef76
Support for custom SSH port for KVM hosts from the host url on add host and the configuration (#12571) 2026-02-18 20:05:51 +01:00
Daan Hoogland
a7dc5efad5 Merge release branch 4.22 to main
* 4.22:
  Fix issue when restoring backup after migration of volume (#12549)
  Usage: Heartbeat should not schedule usage job when a job is already running (#12616)
  Allow limit queries without random ordering (#12598)
  engine/schema: fix cluster/zone settings with encrypted values (#12626)
  Fix injection of preset variables into the JS interpreter (#12515)
  Fix issue with multiple KVM Host entries in host table (#12589)
  Add a Prometheus metric to track host certificate expiry (#12613)
  ssvm: delete temp directory while deleting entity download url (#12562)
2026-02-17 11:55:04 +01:00
Daan Hoogland
11df71e55c Merge branch '4.20' into '4.22' 2026-02-17 11:53:08 +01:00
Pearl Dsilva
ae5308bdd2
Fix issue when restoring backup after migration of volume (#12549) 2026-02-13 15:14:58 +01:00
Suresh Kumar Anaparti
a55f85af50
Merge branch '4.22' 2026-01-29 15:55:03 +05:30
Pearl Dsilva
7786cf93c2
Veeam: Use restore timeout as an interval as opposed to a counter (#11772)
* Veeam: Use restore timeout as a time interval as opposed to a counter

* fix log

* fix unit test

* remove unused imports

* fix comment

* unused import

* change to while - issure refactoring
2026-01-28 16:13:56 +02:00
Daan Hoogland
22da57f922 Merge branch '4.22' 2025-12-22 14:13:50 +01:00
Daan Hoogland
55ab7c5589 Merge branch '4.20' into 4.22 2025-12-22 13:23:37 +01:00
vladimirpetrov
b394b5ba74
Fix terms, typos and grammar mistakes in the API, error messages, events, etc. (#7857)
This PR aligns the use of terminology, renaming VM / virtual machine references to 'Instance' and also capitalising the terms Templates, Network, Snapshot, User, Account in CloudStack APIs, error and log messages, events, tooltips, etc. Many typos, grammar and spelling mistakes were fixed, also terms like IPv4, VPN, VPC, etc. were properly capitalised. Some error messages were cleaned for better readability. The test cases, expecting some exception strings were adjusted accordingly.

Here is the wiki page, describing the changes in details:
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Object+Naming+and+Title+Case+Convention

---------

Co-authored-by: Manoj Kumar <manojkr.itbhu@gmail.com>
Co-authored-by: Harikrishna <harikrishna.patnala@gmail.com>
2025-12-22 15:18:58 +05:30
Daan Hoogland
9032fe3fb5 merge LTS branch 4.22 into main 2025-11-26 11:55:50 +01:00
João Jandre
8171d9568c
Block use of internal and external snapshots on KVM (#11039) 2025-11-24 11:39:19 +01:00
Wei Zhou
50fe265017
Merge remote-tracking branch 'apache/4.20' into 4.22 2025-11-07 17:19:53 +01:00
Wei Zhou
d26122bf22
Veeam: use pre-defined object mapper (#10715) 2025-11-07 16:13:10 +01:00
Harikrishna Patnala
dbda673e1f Updating pom.xml version numbers for release 4.23.0.0-SNAPSHOT
Signed-off-by: Harikrishna Patnala <harikrishna.patnala@gmail.com>
2025-11-05 16:54:39 +05:30
Harikrishna Patnala
d160731b9f Updating pom.xml version numbers for release 4.22.1.0-SNAPSHOT
Signed-off-by: Harikrishna Patnala <harikrishna.patnala@gmail.com>
2025-11-05 16:07:07 +05:30
Harikrishna Patnala
71f47d6130 Updating pom.xml version numbers for release 4.22.0.0
Signed-off-by: Harikrishna Patnala <harikrishna.patnala@gmail.com>
2025-10-30 19:23:56 +05:30
Abhisar Sinha
3d6cafe193
Handle null mountTimeout in RestoreBackupCommand (#11944) 2025-10-30 19:21:39 +05:30
Wei Zhou
e333ce9782
Updating pom.xml version numbers for release 4.20.3.0-SNAPSHOT 2025-10-24 09:13:19 +02:00
Wei Zhou
4dc3931233
Updating pom.xml version numbers for release 4.20.2.0
Signed-off-by: Wei Zhou <weizhou@apache.org>
2025-10-16 11:42:56 +02:00
Suresh Kumar Anaparti
b7a11cb203
NAS backup provider: Support restore from backup to volumes on Ceph storage pool(s), and take backup for stopped instances with volumes on Ceph storage pool(s) (#11684)
Co-authored-by: Abhisar Sinha <63767682+abh1sar@users.noreply.github.com>
2025-10-06 09:13:28 +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
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
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
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
Daan Hoogland
0b3959221b Merge branch '4.20' 2025-07-29 16:50:55 +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
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
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
Wei Zhou
842b2f8c24
Merge remote-tracking branch 'apache/4.20' 2025-05-19 21:25:37 +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
Pearl Dsilva
1732f676db Merge branch '4.20' of https://github.com/apache/cloudstack 2025-03-17 13:26:50 -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
Abhishek Kumar
1c1dad977e Merge remote-tracking branch 'apache/4.20' 2025-03-06 09:55:27 +05:30