From c9a6fedbfa9c2a783ebf81bc2de6896baa8deeab Mon Sep 17 00:00:00 2001 From: Vallari Agrawal Date: Mon, 26 Aug 2024 09:53:07 +0530 Subject: [PATCH] qa/tasks/nvmeof.py: add nvmeof gw-group to deployment Groups was made a required parameter to be `ceph orch apply nvmeof ` in https://github.com/ceph/ceph/pull/58860. That broke the `nvmeof` suite so this PR fixes that. Right now, all gateway are deployed in a single group. Later, this would be changed to have multi groups for a better test. Signed-off-by: Vallari Agrawal --- .../basic/workloads/nvmeof_initiator.yaml | 2 +- .../3-subsys-60-namespace.yaml | 2 +- qa/tasks/nvmeof.py | 18 +++++++++++++----- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/qa/suites/nvmeof/basic/workloads/nvmeof_initiator.yaml b/qa/suites/nvmeof/basic/workloads/nvmeof_initiator.yaml index 1532c944452..7774ba78922 100644 --- a/qa/suites/nvmeof/basic/workloads/nvmeof_initiator.yaml +++ b/qa/suites/nvmeof/basic/workloads/nvmeof_initiator.yaml @@ -11,7 +11,7 @@ tasks: cli_image: quay.io/ceph/nvmeof-cli:1.2 - cephadm.wait_for_service: - service: nvmeof.mypool + service: nvmeof.mypool.mygroup0 - workunit: no_coverage_and_limits: true diff --git a/qa/suites/nvmeof/thrash/gateway-initiator-setup/3-subsys-60-namespace.yaml b/qa/suites/nvmeof/thrash/gateway-initiator-setup/3-subsys-60-namespace.yaml index 3e5262f95df..184858565a7 100644 --- a/qa/suites/nvmeof/thrash/gateway-initiator-setup/3-subsys-60-namespace.yaml +++ b/qa/suites/nvmeof/thrash/gateway-initiator-setup/3-subsys-60-namespace.yaml @@ -11,7 +11,7 @@ tasks: cli_image: quay.io/ceph/nvmeof-cli:1.2 - cephadm.wait_for_service: - service: nvmeof.mypool + service: nvmeof.mypool.mygroup0 - workunit: no_coverage_and_limits: true diff --git a/qa/tasks/nvmeof.py b/qa/tasks/nvmeof.py index b56bcae0d0b..092585955a3 100644 --- a/qa/tasks/nvmeof.py +++ b/qa/tasks/nvmeof.py @@ -64,6 +64,8 @@ class Nvmeof(Task): gateway_config = self.config.get('gateway_config', {}) self.cli_image = gateway_config.get('cli_image', 'quay.io/ceph/nvmeof-cli:latest') + self.groups_count = gateway_config.get('groups_count', 1) + self.groups_prefix = gateway_config.get('groups_prefix', 'mygroup') self.nqn_prefix = gateway_config.get('subsystem_nqn_prefix', 'nqn.2016-06.io.spdk:cnode') self.subsystems_count = gateway_config.get('subsystems_count', 1) self.namespaces_count = gateway_config.get('namespaces_count', 1) # namepsaces per subsystem @@ -114,11 +116,17 @@ class Nvmeof(Task): 'rbd', 'pool', 'init', poolname ]) - log.info(f'[nvmeof]: ceph orch apply nvmeof {poolname}') - _shell(self.ctx, self.cluster_name, self.remote, [ - 'ceph', 'orch', 'apply', 'nvmeof', poolname, - '--placement', str(len(nodes)) + ';' + ';'.join(nodes) - ]) + group_to_nodes = defaultdict(list) + for index, node in enumerate(nodes): + group_name = self.groups_prefix + str(index % int(self.groups_count)) + group_to_nodes[group_name] += [node] + for group_name in group_to_nodes: + gp_nodes = group_to_nodes[group_name] + log.info(f'[nvmeof]: ceph orch apply nvmeof {poolname} {group_name}') + _shell(self.ctx, self.cluster_name, self.remote, [ + 'ceph', 'orch', 'apply', 'nvmeof', poolname, group_name, + '--placement', ';'.join(gp_nodes) + ]) total_images = int(self.namespaces_count) * int(self.subsystems_count) log.info(f'[nvmeof]: creating {total_images} images') -- 2.39.5