From 96704903f273ca0ee597dd819d9aadd1616625ed Mon Sep 17 00:00:00 2001 From: John Mulligan Date: Tue, 27 Feb 2024 09:48:25 -0500 Subject: [PATCH] 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 --- qa/tasks/cephadm.py | 4 ++++ 1 file changed, 4 insertions(+) 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 -- 2.39.5