* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox