public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH manager] fix #4364: pveceph: add confirmation dialogue for ceph installation
@ 2023-02-22 14:23 Max Carrara
  2023-07-03  9:39 ` Max Carrara
  2023-07-04  6:38 ` Thomas Lamprecht
  0 siblings, 2 replies; 3+ messages in thread
From: Max Carrara @ 2023-02-22 14:23 UTC (permalink / raw)
  To: pve-devel, m.carrara

Displays a confirmation dialogue if the user didn't explicitly
provide a valid ceph version via the `--version` flag and if
stdout is connected to a tty.

Signed-off-by: Max Carrara <m.carrara@proxmox.com>
---
 PVE/CLI/pveceph.pm | 13 +++++++++++++
 1 file changed, 13 insertions(+)

Note: This was tested in a VM, with and without --version flag.

diff --git a/PVE/CLI/pveceph.pm b/PVE/CLI/pveceph.pm
index afcc67e0..eaf7918e 100755
--- a/PVE/CLI/pveceph.pm
+++ b/PVE/CLI/pveceph.pm
@@ -157,6 +157,19 @@ __PACKAGE__->register_method ({
 	} else {
 	    die "unsupported ceph version: $cephver";
 	}
+
+	if (-t STDOUT && !$param->{version}) {
+	    my $title_case_cephver = $cephver =~ s/(.)(.*?)/\U$1\L$2/r ;
+
+	    print "This will install Ceph $title_case_cephver.\n" .
+		"Are you sure you want to proceed (yes/no)? ";
+
+	    my $answer = <STDIN>;
+	    my $valid = ($answer =~ m/^\s*yes\s*$/i) ? 1 : 0;
+
+	    die "Aborting installation.\n" if !$valid;
+	}
+
 	PVE::Tools::file_set_contents("/etc/apt/sources.list.d/ceph.list", $repolist);
 
 	my $supported_re = join('|', $supported_ceph_versions->@*);
-- 
2.30.2





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-07-04  6:38 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-22 14:23 [pve-devel] [PATCH manager] fix #4364: pveceph: add confirmation dialogue for ceph installation Max Carrara
2023-07-03  9:39 ` Max Carrara
2023-07-04  6:38 ` Thomas Lamprecht

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal