[pve-devel] [PATCH manager 1/2] ui: CephInstallWizard: make first mon node static

Aaron Lauterer a.lauterer at proxmox.com
Wed Aug 10 17:10:19 CEST 2022


Removes the possibility to select the node on which to create the first
monitor in the configuration / initialization step and always sets it to
the current node.

This prevents that a user might select another node on which the Ceph
packages have not yet been installed. If a user did that, they would get
an error, but the Ceph config file would have been written. If the user
then does not select a valid node to create the first mon, but aborts
the wizard, they are greeted with a rados_connect error because the
config file exists, but it does not contain any mon infos that are
needed to connect to the Ceph cluster.

Creating a mon manually will remedy such a situation, but especially for
new users, this behavior is not ideal and confusing.

Signed-off-by: Aaron Lauterer <a.lauterer at proxmox.com>
---
 www/manager6/ceph/CephInstallWizard.js | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/www/manager6/ceph/CephInstallWizard.js b/www/manager6/ceph/CephInstallWizard.js
index 79b0f4e4..b19d1a5e 100644
--- a/www/manager6/ceph/CephInstallWizard.js
+++ b/www/manager6/ceph/CephInstallWizard.js
@@ -401,11 +401,11 @@ Ext.define('PVE.ceph.CephInstallWizard', {
 		    value: gettext('First Ceph monitor') + ':',
 		},
 		{
-		    xtype: 'pveNodeSelector',
+		    xtype: 'displayfield',
 		    fieldLabel: gettext('Monitor node'),
-		    name: 'mon-node',
-		    selectCurNode: true,
-		    allowBlank: false,
+		    cbind: {
+			value: '{nodename}',
+		    },
 		},
 		{
 		    xtype: 'displayfield',
@@ -461,8 +461,6 @@ Ext.define('PVE.ceph.CephInstallWizard', {
 		    var wizard = me.up('window');
 		    var kv = wizard.getValues();
 		    delete kv.delete;
-		    var monNode = kv['mon-node'];
-		    delete kv['mon-node'];
 		    var nodename = me.nodename;
 		    delete kv.nodename;
 		    Proxmox.Utils.API2Request({
@@ -472,7 +470,7 @@ Ext.define('PVE.ceph.CephInstallWizard', {
 			params: kv,
 			success: function() {
 			    Proxmox.Utils.API2Request({
-				url: `/nodes/${monNode}/ceph/mon/${monNode}`,
+				url: `/nodes/${nodename}/ceph/mon/${nodename}`,
 				waitMsgTarget: wizard,
 				method: 'POST',
 				success: function() {
-- 
2.30.2





More information about the pve-devel mailing list