all lists on 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 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