Signed-off-by: Christoph Heiss <c.he...@proxmox.com> --- Changes v1 -> v2: * squashed in separate tests patch
proxmox-auto-installer/src/answer.rs | 6 ++++- proxmox-auto-installer/src/utils.rs | 6 ++++- .../tests/resources/parse_answer/btrfs.json | 24 +++++++++++++++++++ .../tests/resources/parse_answer/btrfs.toml | 17 +++++++++++++ 4 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 proxmox-auto-installer/tests/resources/parse_answer/btrfs.json create mode 100644 proxmox-auto-installer/tests/resources/parse_answer/btrfs.toml diff --git a/proxmox-auto-installer/src/answer.rs b/proxmox-auto-installer/src/answer.rs index d691da1..fd0ed0d 100644 --- a/proxmox-auto-installer/src/answer.rs +++ b/proxmox-auto-installer/src/answer.rs @@ -1,6 +1,9 @@ use clap::ValueEnum; use proxmox_installer_common::{ - options::{BtrfsRaidLevel, FsType, ZfsChecksumOption, ZfsCompressOption, ZfsRaidLevel}, + options::{ + BtrfsCompressOption, BtrfsRaidLevel, FsType, ZfsChecksumOption, ZfsCompressOption, + ZfsRaidLevel, + }, utils::{CidrAddress, Fqdn}, }; use serde::{Deserialize, Serialize}; @@ -270,6 +273,7 @@ pub struct LvmOptions { pub struct BtrfsOptions { pub hdsize: Option<f64>, pub raid: Option<BtrfsRaidLevel>, + pub compress: Option<BtrfsCompressOption>, } #[derive(Clone, Deserialize, Serialize, Debug, PartialEq)] diff --git a/proxmox-auto-installer/src/utils.rs b/proxmox-auto-installer/src/utils.rs index ae7dbbd..9e86053 100644 --- a/proxmox-auto-installer/src/utils.rs +++ b/proxmox-auto-installer/src/utils.rs @@ -11,7 +11,8 @@ use crate::{ use proxmox_installer_common::{ options::{FsType, NetworkOptions, ZfsChecksumOption, ZfsCompressOption}, setup::{ - InstallConfig, InstallRootPassword, InstallZfsOption, LocaleInfo, RuntimeInfo, SetupInfo, + InstallBtrfsOption, InstallConfig, InstallRootPassword, InstallZfsOption, LocaleInfo, + RuntimeInfo, SetupInfo, }, }; use serde::{Deserialize, Serialize}; @@ -394,6 +395,9 @@ pub fn parse_answer( config.hdsize = btrfs .hdsize .unwrap_or(runtime_info.disks[first_selected_disk].size); + config.btrfs_opts = Some(InstallBtrfsOption { + compress: btrfs.compress.unwrap_or_default(), + }) } } Ok(config) diff --git a/proxmox-auto-installer/tests/resources/parse_answer/btrfs.json b/proxmox-auto-installer/tests/resources/parse_answer/btrfs.json new file mode 100644 index 0000000..0330a38 --- /dev/null +++ b/proxmox-auto-installer/tests/resources/parse_answer/btrfs.json @@ -0,0 +1,24 @@ +{ + "autoreboot": 1, + "cidr": "192.168.1.114/24", + "country": "at", + "dns": "192.168.1.254", + "domain": "testinstall", + "disk_selection": { + "6": "6", + "7": "7" + }, + "filesys": "btrfs (RAID1)", + "gateway": "192.168.1.1", + "hdsize": 80.0, + "existing_storage_auto_rename": 1, + "hostname": "pveauto", + "keymap": "de", + "mailto": "mail@no.invalid", + "mngmt_nic": "eno1", + "root_password": { "plain": "123456" }, + "timezone": "Europe/Vienna", + "btrfs_opts": { + "compress": "zlib" + } +} diff --git a/proxmox-auto-installer/tests/resources/parse_answer/btrfs.toml b/proxmox-auto-installer/tests/resources/parse_answer/btrfs.toml new file mode 100644 index 0000000..8fcd27d --- /dev/null +++ b/proxmox-auto-installer/tests/resources/parse_answer/btrfs.toml @@ -0,0 +1,17 @@ +[global] +keyboard = "de" +country = "at" +fqdn = "pveauto.testinstall" +mailto = "mail@no.invalid" +timezone = "Europe/Vienna" +root_password = "123456" + +[network] +source = "from-dhcp" + +[disk-setup] +filesystem = "btrfs" +btrfs.raid = "raid1" +btrfs.compress = "zlib" +btrfs.hdsize = 80 +disk_list = ["sda", "sdb"] -- 2.45.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel