From 75ad525516ce570c3eb175cd19797ab021bf9bad Mon Sep 17 00:00:00 2001 From: xin liang Date: Wed, 6 Mar 2024 23:16:41 +0800 Subject: [PATCH] Dev: bootstrap: Refactor qdevice user parsing and founding Try to reuse the existing functions --- crmsh/bootstrap.py | 30 ++---------------------------- 1 file changed, 2 insertions(+), 28 deletions(-) diff --git a/crmsh/bootstrap.py b/crmsh/bootstrap.py index 7f1d7c459f..51b4779db4 100644 --- a/crmsh/bootstrap.py +++ b/crmsh/bootstrap.py @@ -159,13 +159,7 @@ def initialize_qdevice(self): """ if not self.qnetd_addr: return - parts = self.qnetd_addr.split('@', 2) - if len(parts) == 2: - ssh_user = parts[0] - qnetd_host = parts[1] - else: - ssh_user = None - qnetd_host = self.qnetd_addr + ssh_user, qnetd_host = utils.parse_user_at_host(self.qnetd_addr) self.qdevice_inst = qdevice.QDevice( qnetd_host, port=self.qdevice_port, @@ -1568,27 +1562,7 @@ def init_qdevice(): utils.fatal("corosync-qdevice.service is not available on {}".format(node)) qdevice_inst = _context.qdevice_inst qnetd_addr = qdevice_inst.qnetd_addr - local_user = None - ssh_user = None - if qdevice_inst.ssh_user is not None: - # if the remote user is specified explicitly, use it - ssh_user = qdevice_inst.ssh_user - try: - local_user = UserOfHost.instance().user_of(utils.this_node()) - except UserNotFoundError: - local_user = ssh_user - else: - try: - # if ssh session has ready been available, use that - local_user, ssh_user = UserOfHost.instance().user_pair_for_ssh(qnetd_addr) - except UserNotFoundError: - pass - if ssh_user is None: - try: - local_user = UserOfHost.instance().user_of(utils.this_node()) - except UserNotFoundError: - local_user = userdir.getuser() - ssh_user = local_user + local_user, ssh_user, _ = _select_user_pair_for_ssh_for_secondary_components(qnetd_addr) # Configure ssh passwordless to qnetd if detect password is needed if UserOfHost.instance().use_ssh_agent(): logger.info("Adding public keys to authorized_keys for user root...")