backup: veeam kvm integration#12991
Conversation
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
todo: patch (needed?)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
…unning.
State Transition
Initial: Ready
Create Image Transfer -> Restoring
Finalize Image transfer -> Ready
Adds a zone-level config to use offerings with encryption while restore --------- Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
A new UUID for the restored VM changes the serial for VM h/w info. This may prevent cloud-init from re-running on restore.
Fixes Windows instance file-level restore --------- Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
|
@blueorangutan package |
|
@shwstppr a [SL] Jenkins job has been kicked to build packages. It will be bundled with no SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 18134 |
|
@blueorangutan test |
|
@shwstppr a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests |
|
[SF] Trillian test result (tid-16252)
|
There was a problem hiding this comment.
LGTM, Tested the veeam-kvm intergarion and its working fine.
Please find the list of test cases
| Test Case Execution | Result |
|---|---|
| Discover VMs from CloudStack via API | Pass |
| Deploy Worker VM | Pass |
| Add CloudStack Platform in Veeam | Pass |
| Full Backup of Stopped VM | Pass |
| Full Backup of Running VM | Pass |
| Incremental Backup | Pass |
| Restore VM to Original Location | Pass |
| Restore VM to New Location | Pass |
| Restore vCenter backedup VM to CloudStack | Pass |
| Verify Supported Disk Formats | Pass |
| Backup & Restore on NFS Storage | Pass |
| Restore CloudStack backedup VM to vCenter | Pass |
| Restore CloudStack backedup VM to oVirt | Pass |
| Restore oVirt backedup VM to CloudStack | Pass |
| Restore Account Owned VM | Pass |
| Restore Project Owned VM | Pass |
| Restore Without Owner Assignment | Pass |
| Backup & Restore on Local Storage | Pass |
| Backup & Restore on SharedMountPoint | Pass |
| Backup & Restore VM with BIOS Boot | Pass |
| Backup & Restore VM with UEFI Boot | Pass |
| Restore a vm to the correct network | Pass |
| Restore VM with Correct Template | Pass |
| Restore VM to the correct service offering | Pass |
| Incremental Backup After VM Stop | Pass |
| Incremental Backup After VM Start | Pass |
| Incremental Backup After VM Migration | Pass |
| Linux File-Level Restore Support | Pass |
| Windows File-Level Restore Support | Pass |
| Create backup job using VM tag | Pass |
| Active full backup using VM tags | Pass |
| Incremental backup using VM tags | Pass |
| Worker VM Self test | Pass |
|
This PR has been validated by @kiranchavala thanks @shwstppr @abh1sar @kiranchavala @nvazquez @RosiKyu @yadvr for your great work ! Based on approvals, smoke test results and QA validation, merging |
Description
Design spec: https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=421954133
This PR introduces the initial implementation of Veeam integration support for KVM in CloudStack by adding a UHAPI-compatible server and image server components.
Veeam Backup & Replication interacts with virtualization platforms using its Universal Hypervisor API (UHAPI). To enable backup and restore workflows for CloudStack-managed KVM environments, this change introduces a UHAPI server that exposes CloudStack resources through a UHAPI-compatible interface.
In addition to the control plane APIs, an image server component is introduced to handle the data transfer operations required during backup and restore workflows.
Architecture
The integration consists of two main components:
A lightweight UHAPI server runs inside the CloudStack management server and exposes endpoints under:
This server provides inventory discovery APIs required by Veeam and translates CloudStack resources into the structures expected by UHAPI.
The server:
A separate image server component is introduced to handle backup and restore data transfer operations.
This component:
The separation between both these components server ensures that:
Documentation PR: apache/cloudstack-documentation#642
Co-authored by @abh1sar @weizhouapache
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Bug Severity
Screenshots (if appropriate):
How Has This Been Tested?
How did you try to break this feature and the system with this change?