]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/tasks: qemu task now uses a relative path in suite repo for test
authorJason Dillaman <dillaman@redhat.com>
Thu, 11 Oct 2018 20:21:35 +0000 (16:21 -0400)
committerJason Dillaman <dillaman@redhat.com>
Tue, 16 Oct 2018 17:45:09 +0000 (13:45 -0400)
This makes it easier to re-run tests against a suite branch without
requiring a full ceph-ci build and repo.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit c1f950236b2f1ba3b588fc638ebf8cb785c36e08)

qa/suites/rbd/maintenance/qemu/xfstests.yaml
qa/suites/rbd/openstack/workloads/devstack-tempest-gate.yaml
qa/suites/rbd/qemu/workloads/qemu_bonnie.yaml
qa/suites/rbd/qemu/workloads/qemu_fsstress.yaml
qa/suites/rbd/qemu/workloads/qemu_iozone.yaml.disabled
qa/suites/rbd/qemu/workloads/qemu_xfstests.yaml
qa/tasks/qemu.py

index 38022f6b9158c8ab096067252d94fdba4b9407b3..135103b34979d00b2037fd4607a81108801c7880 100644 (file)
@@ -10,5 +10,5 @@ io_workload:
           type: block
           disks: 3
           time_wait: 120
-          test: http://git.ceph.com/?p={repo};a=blob_plain;hb={branch};f=qa/run_xfstests_qemu.sh
+          test: qa/run_xfstests_qemu.sh
 exclude_arch: armv7l
index 26ddda9edcc402f2344ad77ef59f0c42ddb84f66..5e168462a97105f5341c48bbbc3d36f19aa0e4cb 100644 (file)
@@ -7,7 +7,7 @@ tasks:
       disks:
       - image_size: 30720
       - image_size: 30720
-      test: http://git.ceph.com/?p={repo};a=blob_plain;hb={branch};f=qa/workunits/rbd/run_devstack_tempest.sh
+      test: qa/workunits/rbd/run_devstack_tempest.sh
       image_url: https://cloud-images.ubuntu.com/releases/16.04/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img
       cloud_config_archive:
       - type: text/cloud-config
index e06a5870e8e8b20220d1ac6e527ab0b9c280b8c2..0ef9ebb65f4429edb3ea3a20e0a9d0a50698d440 100644 (file)
@@ -2,5 +2,5 @@ tasks:
 - qemu:
     all:
       clone: true
-      test: http://git.ceph.com/?p={repo};a=blob_plain;hb={branch};f=qa/workunits/suites/bonnie.sh
+      test: qa/workunits/suites/bonnie.sh
 exclude_arch: armv7l
index a78801df25bc8eee92142ba679c872ec7997cb1c..95f51480552a7b2f5abe3b7f3d4e990d869ce85f 100644 (file)
@@ -2,5 +2,5 @@ tasks:
 - qemu:
     all:
       clone: true
-      test: http://git.ceph.com/?p={repo};a=blob_plain;hb={branch};f=qa/workunits/suites/fsstress.sh
+      test: qa/workunits/suites/fsstress.sh
 exclude_arch: armv7l
index c436ba1f6dc84ee7a0a9e1c87a6ef884a6334ca7..e159e208e8f28ff69ea42e170ad54fe890fbb09f 100644 (file)
@@ -1,6 +1,6 @@
 tasks:
 - qemu:
     all:
-      test: http://git.ceph.com/?p={repo};a=blob_plain;h={branch};f=qa/workunits/suites/iozone.sh
+      test: qa/workunits/suites/iozone.sh
       image_size: 20480
 exclude_arch: armv7l
index 2fc6fb695e5295de0a5e72a57ac599e182786ae9..198f798d470623a19c22b45d578801ba79077524 100644 (file)
@@ -4,5 +4,5 @@ tasks:
       clone: true
       type: block
       disks: 3
-      test: http://git.ceph.com/?p={repo};a=blob_plain;hb={branch};f=qa/run_xfstests_qemu.sh
+      test: qa/run_xfstests_qemu.sh
 exclude_arch: armv7l
index 7a1abe8f5e9a8189b115332c3fcccb6d52654f77..f597c08d65b0bb68e69e4b221346d3b921e84bd5 100644 (file)
@@ -15,6 +15,8 @@ from tasks import rbd
 from teuthology.orchestra import run
 from teuthology.config import config as teuth_config
 
+from util.workunit import get_refspec_after_overrides
+
 log = logging.getLogger(__name__)
 
 DEFAULT_NUM_DISKS = 2
@@ -102,24 +104,20 @@ def generate_iso(ctx, config):
 
     # use ctx.config instead of config, because config has been
     # through teuthology.replace_all_with_clients()
-    refspec = ctx.config.get('branch')
-    if refspec is None:
-        refspec = ctx.config.get('tag')
-    if refspec is None:
-        refspec = ctx.config.get('sha1')
-    if refspec is None:
-        refspec = 'HEAD'
-
-    # hack: the git_url is always ceph-ci or ceph
-    git_url = teuth_config.get_ceph_git_url()
-    repo_name = 'ceph.git'
-    if git_url.count('ceph-ci'):
-        repo_name = 'ceph-ci.git'
+    refspec = get_refspec_after_overrides(ctx.config, {})
+
+    git_url = teuth_config.get_ceph_qa_suite_git_url()
+    log.info('Pulling tests from %s ref %s', git_url, refspec)
 
     for client, client_config in config.iteritems():
         assert 'test' in client_config, 'You must specify a test to run'
-        test_url = client_config['test'].format(repo=repo_name, branch=refspec)
+        test = client_config['test']
+
         (remote,) = ctx.cluster.only(client).remotes.keys()
+
+        clone_dir = '{tdir}/clone.{role}'.format(tdir=testdir, role=client)
+        remote.run(args=refspec.clone(git_url, clone_dir))
+
         src_dir = os.path.dirname(__file__)
         userdata_path = os.path.join(testdir, 'qemu', 'userdata.' + client)
         metadata_path = os.path.join(testdir, 'qemu', 'metadata.' + client)
@@ -181,11 +179,10 @@ def generate_iso(ctx, config):
 
         test_file = '{tdir}/qemu/{client}.test.sh'.format(tdir=testdir, client=client)
 
-        log.info('fetching test %s for %s', test_url, client)
+        log.info('fetching test %s for %s', test, client)
         remote.run(
             args=[
-                'wget', '-nv', '-O', test_file,
-                test_url,
+                'cp', '--', os.path.join(clone_dir, test), test_file,
                 run.Raw('&&'),
                 'chmod', '755', test_file,
                 ],
@@ -210,11 +207,12 @@ def generate_iso(ctx, config):
             (remote,) = ctx.cluster.only(client).remotes.keys()
             remote.run(
                 args=[
-                    'rm', '-f',
+                    'rm', '-rf',
                     '{tdir}/qemu/{client}.iso'.format(tdir=testdir, client=client),
                     os.path.join(testdir, 'qemu', 'userdata.' + client),
                     os.path.join(testdir, 'qemu', 'metadata.' + client),
                     '{tdir}/qemu/{client}.test.sh'.format(tdir=testdir, client=client),
+                    '{tdir}/clone.{client}'.format(tdir=testdir, client=client),
                     ],
                 )