From: Vallari Agrawal Date: Mon, 26 Aug 2024 04:23:07 +0000 (+0530) Subject: qa/tasks/nvmeof.py: add nvmeof gw-group to deployment X-Git-Tag: v20.0.0~1181^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=c9a6fedbfa9c2a783ebf81bc2de6896baa8deeab;p=ceph.git 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 --- diff --git a/qa/suites/nvmeof/basic/workloads/nvmeof_initiator.yaml b/qa/suites/nvmeof/basic/workloads/nvmeof_initiator.yaml index 1532c944452cf..7774ba789222c 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 3e5262f95df4d..184858565a764 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 b56bcae0d0b70..092585955a3b6 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')