From 13d0d5ab9637b2f6fbfa822369964acfa8c0d3a9 Mon Sep 17 00:00:00 2001 From: Sam Lang Date: Wed, 13 Mar 2013 11:05:45 -0500 Subject: [PATCH] task/ceph_manager: Only reconnect if powercycled We don't need to reconnect for remotes that haven't been powercycled. Signed-off-by: Sam Lang --- teuthology/misc.py | 10 +++++++--- teuthology/task/ceph_manager.py | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/teuthology/misc.py b/teuthology/misc.py index bbd2b5e34e2be..1fdeadf4aa5aa 100644 --- a/teuthology/misc.py +++ b/teuthology/misc.py @@ -508,7 +508,7 @@ def wait_until_fuse_mounted(remote, fuse, mountpoint): time.sleep(5) log.info('ceph-fuse is mounted on %s', mountpoint) -def reconnect(ctx, timeout): +def reconnect(ctx, timeout, remotes=None): """ Connect to all the machines in ctx.cluster. @@ -525,10 +525,14 @@ def reconnect(ctx, timeout): log.info('Re-opening connections...') starttime = time.time() - for r in ctx.cluster.remotes.iterkeys(): + if remotes: + need_reconnect = remotes + else: + need_reconnect = ctx.cluster.remotes.keys() + + for r in need_reconnect: r.ssh.close() - need_reconnect = ctx.cluster.remotes.keys() while need_reconnect: for remote in need_reconnect: try: diff --git a/teuthology/task/ceph_manager.py b/teuthology/task/ceph_manager.py index 07de26ca5fdba..a2d421995a82d 100644 --- a/teuthology/task/ceph_manager.py +++ b/teuthology/task/ceph_manager.py @@ -684,7 +684,7 @@ class CephManager: remote.console.power_on() if not remote.console.check_status(300): raise Exception('Failed to revive osd.{o} via ipmi'.format(o=osd)) - teuthology.reconnect(self.ctx, 60) + teuthology.reconnect(self.ctx, 60, [remote]) ceph_task.mount_osd_data(self.ctx, remote, osd) ceph_task.make_admin_daemon_dir(self.ctx, remote) self.ctx.daemons.get_daemon('osd', osd).reset() -- 2.39.5