]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/tasks/rbd: support non-default ceph clusters
authorOr Ozeri <oro@il.ibm.com>
Wed, 15 Nov 2023 09:47:54 +0000 (11:47 +0200)
committerIlya Dryomov <idryomov@gmail.com>
Wed, 21 May 2025 15:27:16 +0000 (17:27 +0200)
This commit allows running the rbd task on an arbitrary cluster name.

Signed-off-by: Or Ozeri <oro@il.ibm.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 4f8dc834cc6cfb006a10fe4b3e715df5e720f6fe)

qa/tasks/rbd.py

index b0ffaba83861dcdf99fbf1212be311f4ecc73dac..026b695fb00d9ff7f4393d20cb39bdaf0c992a7d 100644 (file)
@@ -65,6 +65,7 @@ def create_image(ctx, config):
         size = properties.get('image_size', 10240)
         fmt = properties.get('image_format', 1)
         encryption_format = properties.get('encryption_format', 'none')
+        cluster, _, _ = teuthology.split_role(role)
         (remote,) = ctx.cluster.only(role).remotes.keys()
         log.info('Creating image {name} with size {size}'.format(name=name,
                                                                  size=size))
@@ -73,6 +74,7 @@ def create_image(ctx, config):
                 'ceph-coverage',
                 '{tdir}/archive/coverage'.format(tdir=testdir),
                 'rbd',
+                '--cluster', cluster,
                 '-p', 'rbd',
                 'create',
                 '--size', str(size),
@@ -99,6 +101,7 @@ def create_image(ctx, config):
                     'ceph-coverage',
                     '{tdir}/archive/coverage'.format(tdir=testdir),
                     'rbd',
+                    '--cluster', cluster,
                     'encryption',
                     'format',
                     name,
@@ -117,6 +120,7 @@ def create_image(ctx, config):
             if properties is None:
                 properties = {}
             name = properties.get('image_name', default_image_name(role))
+            cluster, _, _ = teuthology.split_role(role)
             (remote,) = ctx.cluster.only(role).remotes.keys()
             remote.run(
                 args=[
@@ -124,6 +128,7 @@ def create_image(ctx, config):
                     'ceph-coverage',
                     '{tdir}/archive/coverage'.format(tdir=testdir),
                     'rbd',
+                    '--cluster', cluster,
                     '-p', 'rbd',
                     'rm',
                     name,
@@ -160,6 +165,7 @@ def clone_image(ctx, config):
             properties = {}
 
         name = properties.get('image_name', default_image_name(role))
+        cluster, _, _ = teuthology.split_role(role)
         parent_name = properties.get('parent_name')
         assert parent_name is not None, \
             "parent_name is required"
@@ -195,7 +201,7 @@ def clone_image(ctx, config):
                     'adjust-ulimits',
                     'ceph-coverage',
                     '{tdir}/archive/coverage'.format(tdir=testdir),
-                    'rbd', '-p', 'rbd'
+                    'rbd', '--cluster', cluster, '-p', 'rbd'
                     ]
             args.extend(cmd)
             remote.run(args=args)
@@ -209,6 +215,7 @@ def clone_image(ctx, config):
             if properties is None:
                 properties = {}
             name = properties.get('image_name', default_image_name(role))
+            cluster, _, _ = teuthology.split_role(role)
             parent_name = properties.get('parent_name')
             parent_spec = '{name}@{snap}'.format(name=parent_name, snap=name)
 
@@ -221,7 +228,7 @@ def clone_image(ctx, config):
                         'adjust-ulimits',
                         'ceph-coverage',
                         '{tdir}/archive/coverage'.format(tdir=testdir),
-                        'rbd', '-p', 'rbd'
+                        'rbd', '--cluster', cluster, '-p', 'rbd'
                         ]
                 args.extend(cmd)
                 remote.run(args=args)
@@ -305,6 +312,7 @@ def dev_create(ctx, config):
         if properties is None:
             properties = {}
         name = properties.get('image_name', default_image_name(role))
+        cluster, _, _ = teuthology.split_role(role)
         parent_encryption_format = properties.get('parent_encryption_format',
                                                   'none')
         encryption_format = properties.get('encryption_format',
@@ -365,6 +373,7 @@ def dev_create(ctx, config):
                 'ceph-coverage',
                 '{tdir}/archive/coverage'.format(tdir=testdir),
                 'rbd',
+                '--cluster', cluster,
                 '--id', role.rsplit('.')[-1],
                 '-p', 'rbd',
                 'map',
@@ -609,7 +618,8 @@ def xfstests(ctx, config):
 
     running_xfstests = {}
     for role, properties in runs:
-        assert role.startswith('client.'), \
+        cluster, typ, _ = teuthology.split_role(role)
+        assert typ == "client", \
             "task xfstests can only run on client nodes"
         for host, roles_for_host in ctx.cluster.remotes.items():
             if role in roles_for_host: