* [pve-devel] [PATCH installer 0/4] tui: small fixup round @ 2023-11-21 10:45 Christoph Heiss 2023-11-21 10:45 ` [pve-devel] [PATCH installer 1/4] tui: do not center EULA text Christoph Heiss ` (4 more replies) 0 siblings, 5 replies; 7+ messages in thread From: Christoph Heiss @ 2023-11-21 10:45 UTC (permalink / raw) To: pve-devel Christoph Heiss (4): tui: do not center EULA text tui: preserve autoreboot checkbox state when switching views tui: add missing argument for low-level installer test-session common: enforce even number of disks for ZFS RAID-10 proxmox-installer-common/src/disk_checks.rs | 8 ++++++ proxmox-installer-common/src/setup.rs | 2 +- proxmox-tui-installer/src/main.rs | 31 +++++++++++---------- 3 files changed, 25 insertions(+), 16 deletions(-) -- 2.42.0 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [pve-devel] [PATCH installer 1/4] tui: do not center EULA text 2023-11-21 10:45 [pve-devel] [PATCH installer 0/4] tui: small fixup round Christoph Heiss @ 2023-11-21 10:45 ` Christoph Heiss 2023-11-21 10:45 ` [pve-devel] [PATCH installer 2/4] tui: preserve autoreboot checkbox state when switching views Christoph Heiss ` (3 subsequent siblings) 4 siblings, 0 replies; 7+ messages in thread From: Christoph Heiss @ 2023-11-21 10:45 UTC (permalink / raw) To: pve-devel Brings it in line with the GUI installer. Reported-by: Fiona Ebner <f.ebner@proxmox.com> Signed-off-by: Christoph Heiss <c.heiss@proxmox.com> --- proxmox-tui-installer/src/main.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/proxmox-tui-installer/src/main.rs b/proxmox-tui-installer/src/main.rs index 4b6b5b2..15340e1 100644 --- a/proxmox-tui-installer/src/main.rs +++ b/proxmox-tui-installer/src/main.rs @@ -355,9 +355,9 @@ fn license_dialog(siv: &mut Cursive) -> InstallerView { 0, TextView::new("END USER LICENSE AGREEMENT (EULA)").center(), )) - .child(Panel::new(ScrollView::new( - TextView::new(get_eula(&state.setup_info)).center(), - ))) + .child(Panel::new(ScrollView::new(TextView::new(get_eula( + &state.setup_info, + ))))) .child(PaddedView::lrtb(1, 1, 1, 0, bbar)); let _ = inner.set_focus_index(2); // ignore errors -- 2.42.0 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [pve-devel] [PATCH installer 2/4] tui: preserve autoreboot checkbox state when switching views 2023-11-21 10:45 [pve-devel] [PATCH installer 0/4] tui: small fixup round Christoph Heiss 2023-11-21 10:45 ` [pve-devel] [PATCH installer 1/4] tui: do not center EULA text Christoph Heiss @ 2023-11-21 10:45 ` Christoph Heiss 2023-11-21 10:45 ` [pve-devel] [PATCH installer 3/4] tui: add missing argument for low-level installer test-session Christoph Heiss ` (2 subsequent siblings) 4 siblings, 0 replies; 7+ messages in thread From: Christoph Heiss @ 2023-11-21 10:45 UTC (permalink / raw) To: pve-devel Instead of reading the checkbox when continuing to the next screen, save its toggle status to the installer state instead on change. Reported-by: Fiona Ebner <f.ebner@proxmox.com> Signed-off-by: Christoph Heiss <c.heiss@proxmox.com> --- proxmox-tui-installer/src/main.rs | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/proxmox-tui-installer/src/main.rs b/proxmox-tui-installer/src/main.rs index 15340e1..2462a58 100644 --- a/proxmox-tui-installer/src/main.rs +++ b/proxmox-tui-installer/src/main.rs @@ -8,7 +8,7 @@ use cursive::{ view::{Nameable, Offset, Resizable, ViewWrapper}, views::{ Button, Checkbox, Dialog, DummyView, EditView, Layer, LinearLayout, PaddedView, Panel, - ResizedView, ScrollView, SelectView, StackView, TextView, ViewRef, + ResizedView, ScrollView, SelectView, StackView, TextView, }, Cursive, CursiveRunnable, ScreenId, View, XY, }; @@ -171,7 +171,7 @@ fn main() { timezone: TimezoneOptions::defaults_from(&runtime_info, &locales), password: Default::default(), network: NetworkOptions::defaults_from(&setup_info, &runtime_info.network), - autoreboot: false, + autoreboot: true, }, setup_info, runtime_info, @@ -612,6 +612,7 @@ impl TableViewItem for SummaryOption { fn summary_dialog(siv: &mut Cursive) -> InstallerView { let state = siv.user_data::<InstallerState>().unwrap(); + let autoreboot = state.options.autoreboot; let mut bbar = LinearLayout::horizontal() .child(abort_install_button()) @@ -619,20 +620,20 @@ fn summary_dialog(siv: &mut Cursive) -> InstallerView { .child(Button::new("Previous", switch_to_prev_screen)) .child(DummyView) .child(Button::new("Install", |siv| { - let autoreboot = siv - .find_name("reboot-after-install") - .map(|v: ViewRef<Checkbox>| v.is_checked()) - .unwrap_or_default(); - - siv.with_user_data(|state: &mut InstallerState| { - state.options.autoreboot = autoreboot; - }); - switch_to_next_screen(siv, InstallerStep::Install, &install_progress_dialog); })); let _ = bbar.set_focus_index(2); // ignore errors + let autoreboot_checkbox = + Checkbox::new() + .with_checked(autoreboot) + .on_change(|siv, autoreboot| { + siv.with_user_data(|state: &mut InstallerState| { + state.options.autoreboot = autoreboot; + }); + }); + let mut inner = LinearLayout::vertical() .child(PaddedView::lrtb( 0, @@ -649,7 +650,7 @@ fn summary_dialog(siv: &mut Cursive) -> InstallerView { .child( LinearLayout::horizontal() .child(DummyView.full_width()) - .child(Checkbox::new().checked().with_name("reboot-after-install")) + .child(autoreboot_checkbox) .child( TextView::new(" Automatically reboot after successful installation").no_wrap(), ) -- 2.42.0 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [pve-devel] [PATCH installer 3/4] tui: add missing argument for low-level installer test-session 2023-11-21 10:45 [pve-devel] [PATCH installer 0/4] tui: small fixup round Christoph Heiss 2023-11-21 10:45 ` [pve-devel] [PATCH installer 1/4] tui: do not center EULA text Christoph Heiss 2023-11-21 10:45 ` [pve-devel] [PATCH installer 2/4] tui: preserve autoreboot checkbox state when switching views Christoph Heiss @ 2023-11-21 10:45 ` Christoph Heiss 2023-11-21 10:45 ` [pve-devel] [PATCH installer 4/4] common: enforce even number of disks for ZFS RAID-10 Christoph Heiss 2023-11-21 12:20 ` [pve-devel] applied: [PATCH installer 0/4] tui: small fixup round Thomas Lamprecht 4 siblings, 0 replies; 7+ messages in thread From: Christoph Heiss @ 2023-11-21 10:45 UTC (permalink / raw) To: pve-devel This broke running the TUI installer in debug mode, does not effect release builds in any way. Fixes: 4b4dfa1 ("low level: testmode: take path to disk image instead of using /dev/null") Signed-off-by: Christoph Heiss <c.heiss@proxmox.com> --- proxmox-installer-common/src/setup.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proxmox-installer-common/src/setup.rs b/proxmox-installer-common/src/setup.rs index 70bdc3c..472e1f2 100644 --- a/proxmox-installer-common/src/setup.rs +++ b/proxmox-installer-common/src/setup.rs @@ -373,7 +373,7 @@ pub fn spawn_low_level_installer(test_mode: bool) -> io::Result<process::Child> let (path, args, envs): (&str, &[&str], Vec<(&str, &str)>) = if test_mode { ( "./proxmox-low-level-installer", - &["-t", "start-session-test"], + &["-t", "/dev/null", "start-session-test"], vec![("PERL5LIB", ".")], ) } else { -- 2.42.0 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [pve-devel] [PATCH installer 4/4] common: enforce even number of disks for ZFS RAID-10 2023-11-21 10:45 [pve-devel] [PATCH installer 0/4] tui: small fixup round Christoph Heiss ` (2 preceding siblings ...) 2023-11-21 10:45 ` [pve-devel] [PATCH installer 3/4] tui: add missing argument for low-level installer test-session Christoph Heiss @ 2023-11-21 10:45 ` Christoph Heiss 2023-11-21 10:54 ` Christoph Heiss 2023-11-21 12:20 ` [pve-devel] applied: [PATCH installer 0/4] tui: small fixup round Thomas Lamprecht 4 siblings, 1 reply; 7+ messages in thread From: Christoph Heiss @ 2023-11-21 10:45 UTC (permalink / raw) To: pve-devel An uneven number of disks otherwise causes a panic due to an out-of-bounds array access in the loop below. Reported-by: Fiona Ebner <f.ebner@proxmox.com> Signed-off-by: Christoph Heiss <c.heiss@proxmox.com> --- proxmox-installer-common/src/disk_checks.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/proxmox-installer-common/src/disk_checks.rs b/proxmox-installer-common/src/disk_checks.rs index bcf2e21..7cbdf19 100644 --- a/proxmox-installer-common/src/disk_checks.rs +++ b/proxmox-installer-common/src/disk_checks.rs @@ -81,6 +81,14 @@ pub fn check_zfs_raid_config(level: ZfsRaidLevel, disks: &[Disk]) -> Result<(), } ZfsRaidLevel::Raid10 => { check_raid_min_disks(disks, 4)?; + + if disks.len() % 2 != 0 { + return Err(format!( + "Needs an even number of disks, currently selected: {}", + disks.len(), + )); + } + // Pairs need to have the same size for i in (0..disks.len()).step_by(2) { check_mirror_size(&disks[i], &disks[i + 1])?; -- 2.42.0 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [pve-devel] [PATCH installer 4/4] common: enforce even number of disks for ZFS RAID-10 2023-11-21 10:45 ` [pve-devel] [PATCH installer 4/4] common: enforce even number of disks for ZFS RAID-10 Christoph Heiss @ 2023-11-21 10:54 ` Christoph Heiss 0 siblings, 0 replies; 7+ messages in thread From: Christoph Heiss @ 2023-11-21 10:54 UTC (permalink / raw) Cc: Proxmox VE development discussion Sent bit to quickly and missed the proper prefix; this fixes #5050 [0]. [0] https://bugzilla.proxmox.com/show_bug.cgi?id=5050 On Tue, Nov 21, 2023 at 11:45:51AM +0100, Christoph Heiss wrote: > > An uneven number of disks otherwise causes a panic due to an > out-of-bounds array access in the loop below. > > Reported-by: Fiona Ebner <f.ebner@proxmox.com> > Signed-off-by: Christoph Heiss <c.heiss@proxmox.com> > --- > proxmox-installer-common/src/disk_checks.rs | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/proxmox-installer-common/src/disk_checks.rs b/proxmox-installer-common/src/disk_checks.rs > index bcf2e21..7cbdf19 100644 > --- a/proxmox-installer-common/src/disk_checks.rs > +++ b/proxmox-installer-common/src/disk_checks.rs > @@ -81,6 +81,14 @@ pub fn check_zfs_raid_config(level: ZfsRaidLevel, disks: &[Disk]) -> Result<(), > } > ZfsRaidLevel::Raid10 => { > check_raid_min_disks(disks, 4)?; > + > + if disks.len() % 2 != 0 { > + return Err(format!( > + "Needs an even number of disks, currently selected: {}", > + disks.len(), > + )); > + } > + > // Pairs need to have the same size > for i in (0..disks.len()).step_by(2) { > check_mirror_size(&disks[i], &disks[i + 1])?; > -- > 2.42.0 > > > > _______________________________________________ > pve-devel mailing list > pve-devel@lists.proxmox.com > https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel > > ^ permalink raw reply [flat|nested] 7+ messages in thread
* [pve-devel] applied: [PATCH installer 0/4] tui: small fixup round 2023-11-21 10:45 [pve-devel] [PATCH installer 0/4] tui: small fixup round Christoph Heiss ` (3 preceding siblings ...) 2023-11-21 10:45 ` [pve-devel] [PATCH installer 4/4] common: enforce even number of disks for ZFS RAID-10 Christoph Heiss @ 2023-11-21 12:20 ` Thomas Lamprecht 4 siblings, 0 replies; 7+ messages in thread From: Thomas Lamprecht @ 2023-11-21 12:20 UTC (permalink / raw) To: Proxmox VE development discussion, Christoph Heiss Am 21/11/2023 um 11:45 schrieb Christoph Heiss: > Christoph Heiss (4): > tui: do not center EULA text > tui: preserve autoreboot checkbox state when switching views > tui: add missing argument for low-level installer test-session > common: enforce even number of disks for ZFS RAID-10 > > proxmox-installer-common/src/disk_checks.rs | 8 ++++++ > proxmox-installer-common/src/setup.rs | 2 +- > proxmox-tui-installer/src/main.rs | 31 +++++++++++---------- > 3 files changed, 25 insertions(+), 16 deletions(-) > > -- > 2.42.0 applied series, thanks! ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2023-11-21 12:21 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-11-21 10:45 [pve-devel] [PATCH installer 0/4] tui: small fixup round Christoph Heiss 2023-11-21 10:45 ` [pve-devel] [PATCH installer 1/4] tui: do not center EULA text Christoph Heiss 2023-11-21 10:45 ` [pve-devel] [PATCH installer 2/4] tui: preserve autoreboot checkbox state when switching views Christoph Heiss 2023-11-21 10:45 ` [pve-devel] [PATCH installer 3/4] tui: add missing argument for low-level installer test-session Christoph Heiss 2023-11-21 10:45 ` [pve-devel] [PATCH installer 4/4] common: enforce even number of disks for ZFS RAID-10 Christoph Heiss 2023-11-21 10:54 ` Christoph Heiss 2023-11-21 12:20 ` [pve-devel] applied: [PATCH installer 0/4] tui: small fixup round Thomas Lamprecht
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.Service provided by Proxmox Server Solutions GmbH | Privacy | Legal