From: John Mulligan Date: Tue, 27 Feb 2024 14:48:25 +0000 (-0500) Subject: qa/tasks: add error condition to exec functions X-Git-Tag: testing/wip-yuriw-testing-20240419.202307-squid~18^2~3 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=5f2501fa1a568bfdbd1162eaf55269b68b688926;p=ceph-ci.git qa/tasks: add error condition to exec functions Looking at the code that expands `all-roles` and `all-hosts` there's no proper error checking for when these values appear but there are >1 top-level roles in the task config. If a user does this it'll fail but in a somewhat unclear manner. Add a new condition that raises a clear exception in this case hopefully saving someone future debugging time. Signed-off-by: John Mulligan (cherry picked from commit 96704903f273ca0ee597dd819d9aadd1616625ed) --- diff --git a/qa/tasks/cephadm.py b/qa/tasks/cephadm.py index fdc9fdcd739..66d51aff2f5 100644 --- a/qa/tasks/cephadm.py +++ b/qa/tasks/cephadm.py @@ -1429,6 +1429,10 @@ def _expand_roles(ctx, config): a = config['all-hosts'] roles = teuthology.all_roles(ctx.cluster) config = dict((id_, a) for id_ in roles if id_.startswith('host.')) + elif 'all-roles' in config or 'all-hosts' in config: + raise ValueError( + 'all-roles/all-hosts may not be combined with any other roles' + ) return config