]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
doc, qa: bring qa/suites/upgrade/quincy-x
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Thu, 4 Aug 2022 11:13:57 +0000 (11:13 +0000)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Tue, 20 Sep 2022 14:29:57 +0000 (14:29 +0000)
Bases on pacific-x.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
41 files changed:
doc/dev/release-checklists.rst
qa/suites/upgrade/quincy-x/.qa [new symlink]
qa/suites/upgrade/quincy-x/parallel/% [new file with mode: 0644]
qa/suites/upgrade/quincy-x/parallel/.qa [new symlink]
qa/suites/upgrade/quincy-x/parallel/0-random-distro$ [new symlink]
qa/suites/upgrade/quincy-x/parallel/0-start.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/parallel/1-tasks.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/parallel/mon_election [new symlink]
qa/suites/upgrade/quincy-x/parallel/upgrade-sequence.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/parallel/workload/+ [new file with mode: 0644]
qa/suites/upgrade/quincy-x/parallel/workload/.qa [new symlink]
qa/suites/upgrade/quincy-x/parallel/workload/ec-rados-default.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/parallel/workload/rados_api.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/parallel/workload/rados_loadgenbig.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/parallel/workload/rbd_import_export.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/parallel/workload/test_rbd_api.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/parallel/workload/test_rbd_python.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/stress-split/% [new file with mode: 0644]
qa/suites/upgrade/quincy-x/stress-split/.qa [new symlink]
qa/suites/upgrade/quincy-x/stress-split/0-distro [new symlink]
qa/suites/upgrade/quincy-x/stress-split/0-roles.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/stress-split/1-start.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/.qa [new symlink]
qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/radosbench.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/rbd-cls.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/rbd-import-export.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/rbd_api.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/readwrite.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/snaps-few-objects.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/+ [new file with mode: 0644]
qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/.qa [new symlink]
qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/radosbench.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/rbd-cls.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/rbd-import-export.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/rbd_api.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/readwrite.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/snaps-few-objects.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/stress-split/4-second-half-tasks/.qa [new symlink]
qa/suites/upgrade/quincy-x/stress-split/4-second-half-tasks/radosbench.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/stress-split/4-second-half-tasks/rbd-import-export.yaml [new file with mode: 0644]
qa/suites/upgrade/quincy-x/stress-split/mon_election [new symlink]

index c0abd86a5802353a8d2518b7456569573663995a..b7f13fee3607621da173444ebfe1129420e4a539 100644 (file)
@@ -86,7 +86,7 @@ Code cleanup
 QA suite
 --------
 
-- [ ] create qa/suites/upgrade/(X-1)-x
+- [x] create qa/suites/upgrade/(X-1)-x
 - [x] remove qa/suites/upgrade/(X-3)-x-*
 - [x] create qa/releases/X.yaml
 - [x] create qa/suites/rados/thrash-old-clients/1-install/(X-1).yaml
diff --git a/qa/suites/upgrade/quincy-x/.qa b/qa/suites/upgrade/quincy-x/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/qa/suites/upgrade/quincy-x/parallel/% b/qa/suites/upgrade/quincy-x/parallel/%
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/quincy-x/parallel/.qa b/qa/suites/upgrade/quincy-x/parallel/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/qa/suites/upgrade/quincy-x/parallel/0-random-distro$ b/qa/suites/upgrade/quincy-x/parallel/0-random-distro$
new file mode 120000 (symlink)
index 0000000..4b34171
--- /dev/null
@@ -0,0 +1 @@
+.qa/distros/container-hosts
\ No newline at end of file
diff --git a/qa/suites/upgrade/quincy-x/parallel/0-start.yaml b/qa/suites/upgrade/quincy-x/parallel/0-start.yaml
new file mode 100644 (file)
index 0000000..3814ea3
--- /dev/null
@@ -0,0 +1,33 @@
+roles:
+- - mon.a
+  - mon.c
+  - mgr.y
+  - mds.a
+  - osd.0
+  - osd.1
+  - osd.2
+  - osd.3
+  - client.0
+  - node-exporter.a
+  - alertmanager.a
+- - mon.b
+  - mds.b
+  - mgr.x
+  - osd.4
+  - osd.5
+  - osd.6
+  - osd.7
+  - client.1
+  - prometheus.a
+  - grafana.a
+  - node-exporter.b
+openstack:
+- volumes: # attached to each instance
+    count: 4
+    size: 10 # GB
+overrides:
+  ceph:
+    create_rbd_pool: true
+    conf:
+      osd:
+        osd shutdown pgref assert: true
diff --git a/qa/suites/upgrade/quincy-x/parallel/1-tasks.yaml b/qa/suites/upgrade/quincy-x/parallel/1-tasks.yaml
new file mode 100644 (file)
index 0000000..bb5db8a
--- /dev/null
@@ -0,0 +1,29 @@
+tasks:
+- install:
+    branch: quincy
+    exclude_packages:
+      - ceph-volume
+- print: "**** done install task..."
+- print: "**** done start installing quincy cephadm ..."
+- cephadm:
+    image: quay.io/ceph/daemon-base:latest-quincy
+    cephadm_branch: quincy
+    cephadm_git_url: https://github.com/ceph/ceph
+    conf:
+      osd:
+        #set config option for which cls modules are allowed to be loaded / used
+        osd_class_load_list: "*"
+        osd_class_default_list: "*"
+- print: "**** done end installing quincy cephadm ..."
+
+- print: "**** done start cephadm.shell ceph config set mgr..."
+- cephadm.shell:
+    mon.a:
+      - ceph config set mgr mgr/cephadm/use_repo_digest true --force
+- print: "**** done cephadm.shell ceph config set mgr..."
+
+- print: "**** done start parallel"
+- parallel:
+    - workload
+    - upgrade-sequence
+- print: "**** done end parallel"
diff --git a/qa/suites/upgrade/quincy-x/parallel/mon_election b/qa/suites/upgrade/quincy-x/parallel/mon_election
new file mode 120000 (symlink)
index 0000000..3f331e6
--- /dev/null
@@ -0,0 +1 @@
+.qa/mon_election
\ No newline at end of file
diff --git a/qa/suites/upgrade/quincy-x/parallel/upgrade-sequence.yaml b/qa/suites/upgrade/quincy-x/parallel/upgrade-sequence.yaml
new file mode 100644 (file)
index 0000000..a3f0888
--- /dev/null
@@ -0,0 +1,16 @@
+# renamed tasks: to upgrade-sequence:
+upgrade-sequence:
+   sequential:
+   - print: "**** done start upgrade, wait"
+   - cephadm.shell:
+       env: [sha1]
+       mon.a:
+         - ceph config set global log_to_journald false --force
+         - ceph orch upgrade start --image quay.ceph.io/ceph-ci/ceph:$sha1
+         - while ceph orch upgrade status | jq '.in_progress' | grep true ; do ceph orch ps ; ceph versions ; sleep 30 ; done
+         - ceph orch ps
+         - ceph versions
+         - ceph versions | jq -e '.overall | length == 1'
+         - ceph versions | jq -e '.overall | keys' | grep $sha1
+   - print: "**** done end upgrade, wait..."
+
diff --git a/qa/suites/upgrade/quincy-x/parallel/workload/+ b/qa/suites/upgrade/quincy-x/parallel/workload/+
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/quincy-x/parallel/workload/.qa b/qa/suites/upgrade/quincy-x/parallel/workload/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/qa/suites/upgrade/quincy-x/parallel/workload/ec-rados-default.yaml b/qa/suites/upgrade/quincy-x/parallel/workload/ec-rados-default.yaml
new file mode 100644 (file)
index 0000000..67a0f39
--- /dev/null
@@ -0,0 +1,25 @@
+meta:
+- desc: |
+   run run randomized correctness test for rados operations
+   on an erasure-coded pool
+workload:
+  full_sequential:
+  - print: "**** done start ec-rados-default.yaml"
+  - rados:
+      clients: [client.0]
+      ops: 4000
+      objects: 50
+      ec_pool: true
+      write_append_excl: false
+      op_weights:
+        read: 100
+        write: 0
+        append: 100
+        delete: 50
+        snap_create: 50
+        snap_remove: 50
+        rollback: 50
+        copy_from: 50
+        setattr: 25
+        rmattr: 25
+  - print: "**** done end ec-rados-default.yaml"
diff --git a/qa/suites/upgrade/quincy-x/parallel/workload/rados_api.yaml b/qa/suites/upgrade/quincy-x/parallel/workload/rados_api.yaml
new file mode 100644 (file)
index 0000000..9c2ff9d
--- /dev/null
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+   object class functional tests
+workload:
+  full_sequential:
+    - print: "**** done start rados_api.yaml"
+    - workunit:
+        branch: quincy
+        clients:
+          client.0:
+            - cls
+    - print: "**** done end rados_api.yaml"
diff --git a/qa/suites/upgrade/quincy-x/parallel/workload/rados_loadgenbig.yaml b/qa/suites/upgrade/quincy-x/parallel/workload/rados_loadgenbig.yaml
new file mode 100644 (file)
index 0000000..25b1e1a
--- /dev/null
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+   generate read/write load with rados objects ranging from 1MB to 25MB
+workload:
+  full_sequential:
+    - print: "**** done start rados_loadgenbig.yaml"
+    - workunit:
+        branch: quincy
+        clients:
+          client.0:
+            - rados/load-gen-big.sh
+    - print: "**** done end rados_loadgenbig.yaml"
diff --git a/qa/suites/upgrade/quincy-x/parallel/workload/rbd_import_export.yaml b/qa/suites/upgrade/quincy-x/parallel/workload/rbd_import_export.yaml
new file mode 100644 (file)
index 0000000..82b6604
--- /dev/null
@@ -0,0 +1,14 @@
+meta:
+- desc: |
+   run basic import/export cli tests for rbd
+workload:
+  full_sequential:
+    - print: "**** done start rbd_import_export.yaml"
+    - workunit:
+        branch: quincy
+        clients:
+          client.1:
+              - rbd/import_export.sh
+        env:
+          RBD_CREATE_ARGS: --new-format
+    - print: "**** done end rbd_import_export.yaml"
diff --git a/qa/suites/upgrade/quincy-x/parallel/workload/test_rbd_api.yaml b/qa/suites/upgrade/quincy-x/parallel/workload/test_rbd_api.yaml
new file mode 100644 (file)
index 0000000..d809831
--- /dev/null
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+   librbd C and C++ api tests
+workload:
+  full_sequential:
+    - print: "**** done start test_rbd_api.yaml"
+    - workunit:
+        branch: quincy
+        clients:
+          client.0:
+              - rbd/test_librbd.sh
+    - print: "**** done end test_rbd_api.yaml"
diff --git a/qa/suites/upgrade/quincy-x/parallel/workload/test_rbd_python.yaml b/qa/suites/upgrade/quincy-x/parallel/workload/test_rbd_python.yaml
new file mode 100644 (file)
index 0000000..43ad3e6
--- /dev/null
@@ -0,0 +1,13 @@
+meta:
+- desc: |
+   librbd python api tests
+workload:
+  full_sequential:
+    - print: "**** done start test_rbd_python.yaml"
+    - workunit:
+        branch: quincy
+        clients:
+          client.0:
+            - rbd/test_librbd_python.sh
+    - print: "**** done end test_rbd_python.yaml"
+
diff --git a/qa/suites/upgrade/quincy-x/stress-split/% b/qa/suites/upgrade/quincy-x/stress-split/%
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/quincy-x/stress-split/.qa b/qa/suites/upgrade/quincy-x/stress-split/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/qa/suites/upgrade/quincy-x/stress-split/0-distro b/qa/suites/upgrade/quincy-x/stress-split/0-distro
new file mode 120000 (symlink)
index 0000000..4b34171
--- /dev/null
@@ -0,0 +1 @@
+.qa/distros/container-hosts
\ No newline at end of file
diff --git a/qa/suites/upgrade/quincy-x/stress-split/0-roles.yaml b/qa/suites/upgrade/quincy-x/stress-split/0-roles.yaml
new file mode 100644 (file)
index 0000000..ad3ee43
--- /dev/null
@@ -0,0 +1,31 @@
+roles:
+- - mon.a
+  - mon.c
+  - mgr.y
+  - osd.0
+  - osd.1
+  - osd.2
+  - osd.3
+  - client.0
+  - node-exporter.a
+  - alertmanager.a
+- - mon.b
+  - mgr.x
+  - osd.4
+  - osd.5
+  - osd.6
+  - osd.7
+  - client.1
+  - prometheus.a
+  - grafana.a
+  - node-exporter.b
+openstack:
+- volumes: # attached to each instance
+    count: 4
+    size: 10 # GB
+overrides:
+  ceph:
+    create_rbd_pool: true
+    conf:
+      osd:
+        osd shutdown pgref assert: true
diff --git a/qa/suites/upgrade/quincy-x/stress-split/1-start.yaml b/qa/suites/upgrade/quincy-x/stress-split/1-start.yaml
new file mode 100644 (file)
index 0000000..4b62094
--- /dev/null
@@ -0,0 +1,122 @@
+tasks:
+- install:
+    branch: quincy
+    exclude_packages:
+      - ceph-volume
+
+- cephadm:
+    image: quay.io/ceph/daemon-base:latest-quincy
+    cephadm_branch: quincy
+    cephadm_git_url: https://github.com/ceph/ceph
+    conf:
+      osd:
+        #set config option for which cls modules are allowed to be loaded / used
+        osd_class_load_list: "*"
+        osd_class_default_list: "*"
+
+- cephadm.shell:
+    mon.a:
+      - ceph fs volume create foo
+      - ceph config set mon mon_warn_on_insecure_global_id_reclaim false --force
+      - ceph config set mon mon_warn_on_insecure_global_id_reclaim_allowed false --force
+
+- ceph.healthy:
+
+- print: "**** upgrading first half of cluster, with stress ****"
+- parallel:
+    - first-half-tasks
+    - first-half-sequence
+- print: "**** done upgrading first half of cluster ****"
+
+- ceph.healthy:
+
+- print: "**** applying stress + thrashing to mixed-version cluster ****"
+
+- parallel:
+    - stress-tasks
+
+- ceph.healthy:
+
+- print: "**** finishing upgrade ****"
+- parallel:
+    - second-half-tasks
+    - second-half-sequence
+
+- ceph.healthy:
+
+
+#################
+
+first-half-sequence:
+- cephadm.shell:
+    env: [sha1]
+    mon.a:
+      - ceph config set mgr mgr/cephadm/daemon_cache_timeout 60
+      - ceph config set global log_to_journald false --force
+
+      - ceph orch upgrade start --image quay.ceph.io/ceph-ci/ceph:$sha1
+      - ceph orch ps
+
+      - echo wait for minority of mons to upgrade
+      - while ! ceph mon versions | grep $sha1 ; do sleep 2 ; done
+      - ceph orch ps
+      - ceph orch upgrade pause
+      - sleep 60
+      - ceph orch upgrade resume
+
+      - echo wait for majority of mons to upgrade
+      - "while ! ceph mon versions | grep $sha1 | egrep ': [23]' ; do sleep 2 ; done"
+      - ceph orch ps
+      - ceph orch upgrade pause
+      - sleep 60
+      - ceph orch upgrade resume
+
+      - echo wait for all mons to upgrade
+      - "while ! ceph mon versions | grep $sha1 | grep ': 3' ; do sleep 2 ; done"
+      - ceph orch ps
+      - ceph orch upgrade pause
+      - sleep 60
+      - ceph orch upgrade resume
+
+      - echo wait for half of osds to upgrade
+      - "while ! ceph osd versions | grep $sha1 | egrep ': [45678]'; do sleep 2 ; done"
+      - ceph orch upgrade pause
+      - ceph orch ps
+
+      - ceph orch ps
+      - ceph versions
+
+
+#################
+
+stress-tasks:
+- thrashosds:
+    timeout: 1200
+    chance_pgnum_grow: 1
+    chance_pgpnum_fix: 1
+    chance_thrash_cluster_full: 0
+    chance_thrash_pg_upmap: 0
+    chance_thrash_pg_upmap_items: 0
+    disable_objectstore_tool_tests: true
+    chance_force_recovery: 0
+    aggressive_pg_num_changes: false
+
+
+#################
+
+second-half-sequence:
+  sequential:
+    - cephadm.shell:
+        env: [sha1]
+        mon.a:
+          - ceph orch upgrade resume
+          - sleep 60
+
+          - echo wait for upgrade to complete
+          - while ceph orch upgrade status | jq '.in_progress' | grep true ; do ceph orch ps ; ceph versions ; sleep 30 ; done
+
+          - echo upgrade complete
+          - ceph orch ps
+          - ceph versions
+          - ceph versions | jq -e '.overall | length == 1'
+          - ceph versions | jq -e '.overall | keys' | grep $sha1
diff --git a/qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/.qa b/qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/radosbench.yaml b/qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/radosbench.yaml
new file mode 100644 (file)
index 0000000..3816ca3
--- /dev/null
@@ -0,0 +1,19 @@
+meta:
+- desc: |
+   run randomized correctness test for rados operations
+   generate write load with rados bench
+first-half-tasks:
+- full_sequential:
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+- print: "**** done end radosbench.yaml"
diff --git a/qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/rbd-cls.yaml b/qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/rbd-cls.yaml
new file mode 100644 (file)
index 0000000..ffe09dc
--- /dev/null
@@ -0,0 +1,10 @@
+meta:
+- desc: |
+   run basic cls tests for rbd
+first-half-tasks:
+- workunit:
+    branch: octopus
+    clients:
+      client.0:
+        - cls/test_cls_rbd.sh
+- print: "**** done cls/test_cls_rbd.sh 5-workload"
diff --git a/qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/rbd-import-export.yaml b/qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/rbd-import-export.yaml
new file mode 100644 (file)
index 0000000..992f31b
--- /dev/null
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+   run basic import/export cli tests for rbd
+first-half-tasks:
+- workunit:
+    branch: octopus
+    clients:
+      client.0:
+        - rbd/import_export.sh
+    env:
+      RBD_CREATE_ARGS: --new-format
+- print: "**** done rbd/import_export.sh 5-workload"
diff --git a/qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/rbd_api.yaml b/qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/rbd_api.yaml
new file mode 100644 (file)
index 0000000..e4c1d54
--- /dev/null
@@ -0,0 +1,10 @@
+meta:
+- desc: |
+   librbd C and C++ api tests
+first-half-tasks:
+- workunit:
+     branch: octopus
+     clients:
+        client.0:
+           - rbd/test_librbd.sh
+- print: "**** done rbd/test_librbd.sh 7-workload"
diff --git a/qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/readwrite.yaml b/qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/readwrite.yaml
new file mode 100644 (file)
index 0000000..21a9f37
--- /dev/null
@@ -0,0 +1,16 @@
+meta:
+- desc: |
+   randomized correctness test for rados operations on a replicated pool,
+   using only reads, writes, and deletes
+first-half-tasks:
+- full_sequential:
+  - rados:
+      clients: [client.0]
+      ops: 4000
+      objects: 500
+      write_append_excl: false
+      op_weights:
+        read: 45
+        write: 45
+        delete: 10
+- print: "**** done rados/readwrite 5-workload"
diff --git a/qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/snaps-few-objects.yaml b/qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/snaps-few-objects.yaml
new file mode 100644 (file)
index 0000000..6447c22
--- /dev/null
@@ -0,0 +1,18 @@
+meta:
+- desc: |
+   randomized correctness test for rados operations on a replicated pool with snapshot operations
+first-half-tasks:
+- full_sequential:
+  - rados:
+      clients: [client.0]
+      ops: 4000
+      objects: 50
+      write_append_excl: false
+      op_weights:
+        read: 100
+        write: 100
+        delete: 50
+        snap_create: 50
+        snap_remove: 50
+        rollback: 50
+- print: "**** done rados/snaps-few-objects 5-workload"
diff --git a/qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/+ b/qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/+
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/.qa b/qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/radosbench.yaml b/qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/radosbench.yaml
new file mode 100644 (file)
index 0000000..9058bd8
--- /dev/null
@@ -0,0 +1,25 @@
+meta:
+- desc: |
+   run randomized correctness test for rados operations
+   generate write load with rados bench
+stress-tasks:
+- full_sequential:
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+- print: "**** done end radosbench.yaml"
diff --git a/qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/rbd-cls.yaml b/qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/rbd-cls.yaml
new file mode 100644 (file)
index 0000000..07ab6e1
--- /dev/null
@@ -0,0 +1,10 @@
+meta:
+- desc: |
+   run basic cls tests for rbd
+stress-tasks:
+- workunit:
+    branch: octopus
+    clients:
+      client.0:
+        - cls/test_cls_rbd.sh
+- print: "**** done cls/test_cls_rbd.sh 5-workload"
diff --git a/qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/rbd-import-export.yaml b/qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/rbd-import-export.yaml
new file mode 100644 (file)
index 0000000..a3968fe
--- /dev/null
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+   run basic import/export cli tests for rbd
+stress-tasks:
+- workunit:
+    branch: octopus
+    clients:
+      client.0:
+        - rbd/import_export.sh
+    env:
+      RBD_CREATE_ARGS: --new-format
+- print: "**** done rbd/import_export.sh 5-workload"
diff --git a/qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/rbd_api.yaml b/qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/rbd_api.yaml
new file mode 100644 (file)
index 0000000..7212d3f
--- /dev/null
@@ -0,0 +1,10 @@
+meta:
+- desc: |
+   librbd C and C++ api tests
+stress-tasks:
+- workunit:
+     branch: octopus
+     clients:
+        client.0:
+           - rbd/test_librbd.sh
+- print: "**** done rbd/test_librbd.sh 7-workload"
diff --git a/qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/readwrite.yaml b/qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/readwrite.yaml
new file mode 100644 (file)
index 0000000..41e34d6
--- /dev/null
@@ -0,0 +1,16 @@
+meta:
+- desc: |
+   randomized correctness test for rados operations on a replicated pool,
+   using only reads, writes, and deletes
+stress-tasks:
+- full_sequential:
+  - rados:
+      clients: [client.0]
+      ops: 4000
+      objects: 500
+      write_append_excl: false
+      op_weights:
+        read: 45
+        write: 45
+        delete: 10
+- print: "**** done rados/readwrite 5-workload"
diff --git a/qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/snaps-few-objects.yaml b/qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/snaps-few-objects.yaml
new file mode 100644 (file)
index 0000000..f56d0de
--- /dev/null
@@ -0,0 +1,18 @@
+meta:
+- desc: |
+   randomized correctness test for rados operations on a replicated pool with snapshot operations
+stress-tasks:
+- full_sequential:
+  - rados:
+      clients: [client.0]
+      ops: 4000
+      objects: 50
+      write_append_excl: false
+      op_weights:
+        read: 100
+        write: 100
+        delete: 50
+        snap_create: 50
+        snap_remove: 50
+        rollback: 50
+- print: "**** done rados/snaps-few-objects 5-workload"
diff --git a/qa/suites/upgrade/quincy-x/stress-split/4-second-half-tasks/.qa b/qa/suites/upgrade/quincy-x/stress-split/4-second-half-tasks/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/qa/suites/upgrade/quincy-x/stress-split/4-second-half-tasks/radosbench.yaml b/qa/suites/upgrade/quincy-x/stress-split/4-second-half-tasks/radosbench.yaml
new file mode 100644 (file)
index 0000000..7268cb1
--- /dev/null
@@ -0,0 +1,16 @@
+meta:
+- desc: |
+   run randomized correctness test for rados operations
+   generate write load with rados bench
+second-half-tasks:
+- full_sequential:
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+- print: "**** done end radosbench.yaml"
diff --git a/qa/suites/upgrade/quincy-x/stress-split/4-second-half-tasks/rbd-import-export.yaml b/qa/suites/upgrade/quincy-x/stress-split/4-second-half-tasks/rbd-import-export.yaml
new file mode 100644 (file)
index 0000000..f223bda
--- /dev/null
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+   run basic import/export cli tests for rbd
+second-half-tasks:
+- workunit:
+    branch: octopus
+    clients:
+      client.0:
+        - rbd/import_export.sh
+    env:
+      RBD_CREATE_ARGS: --new-format
+- print: "**** done rbd/import_export.sh 5-workload"
diff --git a/qa/suites/upgrade/quincy-x/stress-split/mon_election b/qa/suites/upgrade/quincy-x/stress-split/mon_election
new file mode 120000 (symlink)
index 0000000..3f331e6
--- /dev/null
@@ -0,0 +1 @@
+.qa/mon_election
\ No newline at end of file