]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rados/singleton-nomsgr: add lfn upgrade tests
authorSamuel Just <sjust@redhat.com>
Mon, 4 Apr 2016 21:27:20 +0000 (14:27 -0700)
committerSamuel Just <sjust@redhat.com>
Thu, 7 Apr 2016 22:35:30 +0000 (15:35 -0700)
Upgrade from hammer/infernalis to x and verify lfn objects are valid
across upgrade.

Signed-off-by: Samuel Just <sjust@redhat.com>
suites/rados/singleton-nomsgr/all/lfn-upgrade-hammer.yaml [new file with mode: 0644]
suites/rados/singleton-nomsgr/all/lfn-upgrade-infernalis.yaml [new file with mode: 0644]
tasks/ceph_manager.py
tasks/create_verify_lfn_objects.py

diff --git a/suites/rados/singleton-nomsgr/all/lfn-upgrade-hammer.yaml b/suites/rados/singleton-nomsgr/all/lfn-upgrade-hammer.yaml
new file mode 100644 (file)
index 0000000..481a227
--- /dev/null
@@ -0,0 +1,89 @@
+os_type: ubuntu
+overrides:
+  ceph:
+    conf:
+      mon:
+        debug mon: 20
+        debug ms: 1
+        debug paxos: 20
+        mon warn on legacy crush tunables: false
+        mon min osdmap epochs: 3
+      osd:
+        osd map cache size: 2
+        osd map max advance: 1
+        debug filestore: 20
+        debug journal: 20
+        debug ms: 1
+        debug osd: 20
+    log-whitelist:
+    - osd_map_cache_size
+    - slow request
+    - scrub mismatch
+    - ScrubResult
+    - failed to encode
+roles:
+- - mon.a
+  - osd.0
+  - osd.1
+  - mon.b
+  - mon.c
+  - osd.2
+  - client.0
+openstack:
+  - volumes: # attached to each instance
+      count: 3
+      size: 10 # GB
+tasks:
+- install:
+    branch: hammer
+- print: '**** done installing hammer'
+- ceph:
+    fs: xfs
+- print: '**** done ceph'
+- ceph_manager.create_pool:
+    args: ['test']
+    kwargs:
+      pg_num: 1
+- sleep:
+    duration: 10
+- ceph_manager.wait_for_clean: null
+- create_verify_lfn_objects:
+    pool: 'test'
+    prefix: 'hammer-x'
+    namespace:
+    - 'long_namespace__________________________________________________'
+    - ''
+    - 'namespace'
+    num_objects: 5
+    name_length: [400, 800, 1600]
+- sequential:
+  - create_verify_lfn_objects:
+      pool: 'test'
+      prefix: 'hammer-mixed'
+      namespace:
+      - 'long_namespace__________________________________________________'
+      - ''
+      - 'namespace'
+      num_objects: 5
+      name_length: [400, 800, 1600]
+  - install.upgrade:
+      mon.a: null
+  - ceph.restart: [mon.a, mon.b, mon.c, osd.0, osd.1]
+  - ceph_manager.wait_for_clean: null
+  - ceph_manager.do_pg_scrub:
+      args: ['test', 0, 'scrub']
+- ceph_manager.do_pg_scrub:
+    args: ['test', 0, 'scrub']
+- create_verify_lfn_objects:
+    pool: 'test'
+    prefix: 'mixed-x'
+    namespace:
+    - 'long_namespace__________________________________________________'
+    - ''
+    - 'namespace'
+    num_objects: 5
+    name_length: [400, 800, 1600]
+- ceph.restart: [osd.2]
+- ceph_manager.wait_for_clean: null
+- ceph_manager.do_pg_scrub:
+    args: ['test', 0, 'scrub']
diff --git a/suites/rados/singleton-nomsgr/all/lfn-upgrade-infernalis.yaml b/suites/rados/singleton-nomsgr/all/lfn-upgrade-infernalis.yaml
new file mode 100644 (file)
index 0000000..55f04c3
--- /dev/null
@@ -0,0 +1,89 @@
+os_type: ubuntu
+overrides:
+  ceph:
+    conf:
+      mon:
+        debug mon: 20
+        debug ms: 1
+        debug paxos: 20
+        mon warn on legacy crush tunables: false
+        mon min osdmap epochs: 3
+      osd:
+        osd map cache size: 2
+        osd map max advance: 1
+        debug filestore: 20
+        debug journal: 20
+        debug ms: 1
+        debug osd: 20
+    log-whitelist:
+    - osd_map_cache_size
+    - slow request
+    - scrub mismatch
+    - ScrubResult
+    - failed to encode
+roles:
+- - mon.a
+  - osd.0
+  - osd.1
+  - mon.b
+  - mon.c
+  - osd.2
+  - client.0
+openstack:
+  - volumes: # attached to each instance
+      count: 3
+      size: 10 # GB
+tasks:
+- install:
+    branch: infernalis
+- print: '**** done installing infernalis'
+- ceph:
+    fs: xfs
+- print: '**** done ceph'
+- ceph_manager.create_pool:
+    args: ['test']
+    kwargs:
+      pg_num: 1
+- sleep:
+    duration: 10
+- ceph_manager.wait_for_clean: null
+- create_verify_lfn_objects:
+    pool: 'test'
+    prefix: 'infernalis-x'
+    namespace:
+    - 'long_namespace__________________________________________________'
+    - ''
+    - 'namespace'
+    num_objects: 5
+    name_length: [400, 800, 1600]
+- sequential:
+  - create_verify_lfn_objects:
+      pool: 'test'
+      prefix: 'infernalis-mixed'
+      namespace:
+      - 'long_namespace__________________________________________________'
+      - ''
+      - 'namespace'
+      num_objects: 5
+      name_length: [400, 800, 1600]
+  - install.upgrade:
+      mon.a: null
+  - ceph.restart: [mon.a, mon.b, mon.c, osd.0, osd.1]
+  - ceph_manager.wait_for_clean: null
+  - ceph_manager.do_pg_scrub:
+      args: ['test', 0, 'scrub']
+- ceph_manager.do_pg_scrub:
+    args: ['test', 0, 'scrub']
+- create_verify_lfn_objects:
+    pool: 'test'
+    prefix: 'mixed-x'
+    namespace:
+    - 'long_namespace__________________________________________________'
+    - ''
+    - 'namespace'
+    num_objects: 5
+    name_length: [400, 800, 1600]
+- ceph.restart: [osd.2]
+- ceph_manager.wait_for_clean: null
+- ceph_manager.do_pg_scrub:
+    args: ['test', 0, 'scrub']
index 18ff3b9de5bd7b1a3e4004098ae7af25b8a0d12d..7321903eab064c9ab50a2bc163dcba153342219f 100644 (file)
@@ -1966,3 +1966,4 @@ create_pool = utility_task("create_pool")
 remove_pool = utility_task("remove_pool")
 wait_for_clean = utility_task("wait_for_clean")
 set_pool_property = utility_task("set_pool_property")
+do_pg_scrub = utility_task("do_pg_scrub")
index 447fa880899e105c13513bd884016ed1d6be5109..a73b23f789bfc5ed85c111118ae7ab08e0ad3697 100644 (file)
@@ -48,7 +48,8 @@ def task(ctx, config):
             name,
             '/etc/resolv.conf',
             namespace=ns)
-        assert not err
+        log.info("err is " + str(err))
+        assert err == 0
 
     try:
         yield
@@ -59,7 +60,8 @@ def task(ctx, config):
                 pool,
                 name,
                 namespace=ns)
-            assert not err
+            log.info("err is " + str(err))
+            assert err == 0
 
         log.info('ceph_verify_lfn_objects deleting...')
         for ns, name in objects:
@@ -67,7 +69,8 @@ def task(ctx, config):
                 pool,
                 name,
                 namespace=ns)
-            assert not err
+            log.info("err is " + str(err))
+            assert err == 0
 
         log.info('ceph_verify_lfn_objects verifying absent...')
         for ns, name in objects:
@@ -75,4 +78,5 @@ def task(ctx, config):
                 pool,
                 name,
                 namespace=ns)
-            assert err
+            log.info("err is " + str(err))
+            assert err != 0