From 83e4edcd80bd3607f917446e52495f537b6e9e86 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Wed, 2 Jun 2021 22:06:22 +0800 Subject: [PATCH] qa/tasks/admin_socket: support "foo || bar" as command so we can cater the needs of different implementation of osd, i.e., classic osd and crimson osd. they offer different set of asock commands. Signed-off-by: Kefu Chai --- qa/tasks/admin_socket.py | 46 ++++++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/qa/tasks/admin_socket.py b/qa/tasks/admin_socket.py index c454d3d0c03..0d960d1a51f 100644 --- a/qa/tasks/admin_socket.py +++ b/qa/tasks/admin_socket.py @@ -86,26 +86,36 @@ def _socket_command(ctx, remote, socket_path, command, args): """ testdir = teuthology.get_testdir(ctx) max_tries = 120 - while True: - try: - out = remote.sh([ - 'sudo', - 'adjust-ulimits', - 'ceph-coverage', - '{tdir}/archive/coverage'.format(tdir=testdir), - 'ceph', - '--admin-daemon', socket_path, - ] + command.split(' ') + args) - except CommandFailedError: - assert max_tries > 0 - max_tries -= 1 - log.info('ceph cli returned an error, command not registered yet?') + sub_commands = [c.strip() for c in command.split('||')] + ex = None + for _ in range(max_tries): + for sub_command in sub_commands: + try: + out = remote.sh([ + 'sudo', + 'adjust-ulimits', + 'ceph-coverage', + '{tdir}/archive/coverage'.format(tdir=testdir), + 'ceph', + '--admin-daemon', socket_path, + ] + sub_command.split(' ') + args) + except CommandFailedError as e: + ex = e + log.info('ceph cli "%s" returned an error %s, ' + 'command not registered yet?', sub_command, e) + else: + log.debug('admin socket command %s returned %s', + sub_command, out) + return json.loads(out) + else: + # exhausted all commands log.info('sleeping and retrying ...') time.sleep(1) - continue - break - log.debug('admin socket command %s returned %s', command, out) - return json.loads(out) + else: + # i tried max_tries times.. + assert ex is not None + raise ex + def _run_tests(ctx, client, tests): """ -- 2.39.5