Can select disk bus type when adding new disk to VM
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
2025-05-31 08:52:07 +02:00
parent 22416badcf
commit c7cc15d8d0
5 changed files with 59 additions and 4 deletions

View File

@ -6,7 +6,7 @@ use crate::libvirt_rest_structures::LibVirtStructError;
use crate::libvirt_rest_structures::LibVirtStructError::StructureExtraction;
use crate::utils::file_size_utils::FileSize;
use crate::utils::files_utils;
use crate::utils::vm_file_disks_utils::{VMDiskFormat, VMFileDisk};
use crate::utils::vm_file_disks_utils::{VMDiskBus, VMDiskFormat, VMFileDisk};
use lazy_regex::regex;
use num::Integer;
@ -313,7 +313,11 @@ impl VMInfo {
"vd{}",
["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l"][disks.len()]
),
bus: "virtio".to_string(),
bus: match disk.bus {
VMDiskBus::Virtio => "virtio",
VMDiskBus::Sata => "sata",
}
.to_string(),
},
readonly: None,
boot: DiskBootXML {
@ -479,7 +483,7 @@ impl VMInfo {
.iter()
.filter(|d| d.device == "disk")
.map(|d| {
VMFileDisk::load_from_file(&d.source.file)
VMFileDisk::load_from_file(&d.source.file, &d.target.bus)
.expect("Failed to load file disk information!")
})
.collect(),