The commit message doesn't explain the actual issue that it is trying to solve.
AFAICT we do not need the ceph.conf symlinked right away for normal PVE 
operations. If it is not present in /etc/ceph/ceph.conf, the RBD and CephFS 
connections will use the dedicated parameters to connect and authenticate 
against the Ceph cluster, which are all present in the /etc/pve/priv... 
directory.

And even in a newly set up HCI PVE + Ceph cluster, the symlink for the Ceph 
config will only be created once you set up a Ceph service (MON, MGR, MDS, OSD) 
on that node.

Even with a valid use case (see first line of my response), I am not sure if 
the UI is the right place, as a user can still run into the same situation if 
they use 'pveceph install' on the CLI without running 'pveceph init' afterwards.
Therefore, if there is a reason to always have the symlink, wouldn't it be 
better to add it to the install routine to create the symlink if the 
/etc/pve/ceph.conf file is detected?

On 12/18/23 15:25, Maximiliano Sandoval wrote:
Currently joining an already existing Ceph cluster won't create symlinks
from /etc/pve/ceph.conf to /etc/ceph/ceph.conf on the recently added
node. This can be remediated by running `pveceph init` but ideally
should be done by the web UI.

We remediate this by setting `configuration` to false if we reach the
branch where `operation.error.statusText` matches:

     binary not installed: /usr/bin/ceph-mon

This allow us to configure this node and run `init` in the API.

Suggested-by: Mira Limbeck <mira.limb...@gmail.com>
Signed-off-by: Maximiliano Sandoval <m.sando...@proxmox.com>
---
This was found on a ticker from the support portal.

  www/manager6/ceph/CephInstallWizard.js | 3 +++
  1 file changed, 3 insertions(+)

diff --git a/www/manager6/ceph/CephInstallWizard.js 
b/www/manager6/ceph/CephInstallWizard.js
index f33ae868..d3c46506 100644
--- a/www/manager6/ceph/CephInstallWizard.js
+++ b/www/manager6/ceph/CephInstallWizard.js
@@ -369,6 +369,9 @@ Ext.define('PVE.ceph.CephInstallWizard', {
                                    me.down('textfield').setValue('success');
                                } else if (!operation.error.statusText.match("not 
installed", "i")) {
                                    Proxmox.Utils.setErrorMask(me, 
operation.error.statusText);
+                               } else {
+                                   // For when we join an already existing 
Ceph cluster.
+                                   
me.up('pveCephInstallWizard').getViewModel().set('configuration', false);
                                }
                            },
                        },


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to