diff options
Diffstat (limited to 'qa/suites/upgrade')
104 files changed, 1420 insertions, 0 deletions
diff --git a/qa/suites/upgrade/.qa b/qa/suites/upgrade/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/upgrade/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/upgrade/cephfs b/qa/suites/upgrade/cephfs new file mode 120000 index 000000000..1ff68fa8b --- /dev/null +++ b/qa/suites/upgrade/cephfs @@ -0,0 +1 @@ +.qa/suites/fs/upgrade/
\ No newline at end of file diff --git a/qa/suites/upgrade/pacific-x/.qa b/qa/suites/upgrade/pacific-x/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/upgrade/pacific-x/parallel/% b/qa/suites/upgrade/pacific-x/parallel/% new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/qa/suites/upgrade/pacific-x/parallel/% diff --git a/qa/suites/upgrade/pacific-x/parallel/.qa b/qa/suites/upgrade/pacific-x/parallel/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/parallel/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/upgrade/pacific-x/parallel/0-random-distro$ b/qa/suites/upgrade/pacific-x/parallel/0-random-distro$ new file mode 120000 index 000000000..4b341719d --- /dev/null +++ b/qa/suites/upgrade/pacific-x/parallel/0-random-distro$ @@ -0,0 +1 @@ +.qa/distros/container-hosts
\ No newline at end of file diff --git a/qa/suites/upgrade/pacific-x/parallel/0-start.yaml b/qa/suites/upgrade/pacific-x/parallel/0-start.yaml new file mode 100644 index 000000000..3814ea3ef --- /dev/null +++ b/qa/suites/upgrade/pacific-x/parallel/0-start.yaml @@ -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/pacific-x/parallel/1-tasks.yaml b/qa/suites/upgrade/pacific-x/parallel/1-tasks.yaml new file mode 100644 index 000000000..064d0758d --- /dev/null +++ b/qa/suites/upgrade/pacific-x/parallel/1-tasks.yaml @@ -0,0 +1,43 @@ +tasks: +- install: + branch: pacific + exclude_packages: + - ceph-volume +- print: "**** done install task..." +- print: "**** done start installing pacific cephadm ..." +- cephadm: + image: quay.ceph.io/ceph-ci/ceph:pacific + cephadm_branch: pacific + 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 pacific 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 telemetry pacific..." +- workunit: + clients: + client.0: + - test_telemetry_pacific.sh +- print: "**** done end telemetry pacific..." + +- print: "**** done start parallel" +- parallel: + - workload + - upgrade-sequence +- print: "**** done end parallel" + +- print: "**** done start telemetry x..." +- workunit: + clients: + client.0: + - test_telemetry_pacific_x.sh +- print: "**** done end telemetry x..." diff --git a/qa/suites/upgrade/pacific-x/parallel/mon_election b/qa/suites/upgrade/pacific-x/parallel/mon_election new file mode 120000 index 000000000..3f331e621 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/parallel/mon_election @@ -0,0 +1 @@ +.qa/mon_election
\ No newline at end of file diff --git a/qa/suites/upgrade/pacific-x/parallel/upgrade-sequence.yaml b/qa/suites/upgrade/pacific-x/parallel/upgrade-sequence.yaml new file mode 100644 index 000000000..a3f0888da --- /dev/null +++ b/qa/suites/upgrade/pacific-x/parallel/upgrade-sequence.yaml @@ -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/pacific-x/parallel/workload/+ b/qa/suites/upgrade/pacific-x/parallel/workload/+ new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/qa/suites/upgrade/pacific-x/parallel/workload/+ diff --git a/qa/suites/upgrade/pacific-x/parallel/workload/.qa b/qa/suites/upgrade/pacific-x/parallel/workload/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/parallel/workload/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/upgrade/pacific-x/parallel/workload/ec-rados-default.yaml b/qa/suites/upgrade/pacific-x/parallel/workload/ec-rados-default.yaml new file mode 100644 index 000000000..67a0f39c5 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/parallel/workload/ec-rados-default.yaml @@ -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/pacific-x/parallel/workload/rados_api.yaml b/qa/suites/upgrade/pacific-x/parallel/workload/rados_api.yaml new file mode 100644 index 000000000..1380a4016 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/parallel/workload/rados_api.yaml @@ -0,0 +1,12 @@ +meta: +- desc: | + object class functional tests +workload: + full_sequential: + - print: "**** done start rados_api.yaml" + - workunit: + branch: pacific + clients: + client.0: + - cls + - print: "**** done end rados_api.yaml" diff --git a/qa/suites/upgrade/pacific-x/parallel/workload/rados_loadgenbig.yaml b/qa/suites/upgrade/pacific-x/parallel/workload/rados_loadgenbig.yaml new file mode 100644 index 000000000..f315b1579 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/parallel/workload/rados_loadgenbig.yaml @@ -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: pacific + clients: + client.0: + - rados/load-gen-big.sh + - print: "**** done end rados_loadgenbig.yaml" diff --git a/qa/suites/upgrade/pacific-x/parallel/workload/rbd_import_export.yaml b/qa/suites/upgrade/pacific-x/parallel/workload/rbd_import_export.yaml new file mode 100644 index 000000000..20e74c176 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/parallel/workload/rbd_import_export.yaml @@ -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: pacific + 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/pacific-x/parallel/workload/test_rbd_api.yaml b/qa/suites/upgrade/pacific-x/parallel/workload/test_rbd_api.yaml new file mode 100644 index 000000000..6a0242b91 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/parallel/workload/test_rbd_api.yaml @@ -0,0 +1,14 @@ +meta: +- desc: | + librbd C and C++ api tests +workload: + full_sequential: + - print: "**** done start test_rbd_api.yaml" + - workunit: + branch: pacific + clients: + client.0: + - rbd/test_librbd.sh + env: + RBD_FEATURES: "61" + - print: "**** done end test_rbd_api.yaml" diff --git a/qa/suites/upgrade/pacific-x/parallel/workload/test_rbd_python.yaml b/qa/suites/upgrade/pacific-x/parallel/workload/test_rbd_python.yaml new file mode 100644 index 000000000..8d1f0fd0f --- /dev/null +++ b/qa/suites/upgrade/pacific-x/parallel/workload/test_rbd_python.yaml @@ -0,0 +1,20 @@ +meta: +- desc: | + librbd python api tests +overrides: + install: + ceph: + extra_system_packages: + - python3-pytest +workload: + full_sequential: + - print: "**** done start test_rbd_python.yaml" + - workunit: + branch: pacific + clients: + client.0: + - rbd/test_librbd_python.sh + env: + RBD_FEATURES: "61" + - print: "**** done end test_rbd_python.yaml" + diff --git a/qa/suites/upgrade/pacific-x/stress-split/% b/qa/suites/upgrade/pacific-x/stress-split/% new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/qa/suites/upgrade/pacific-x/stress-split/% diff --git a/qa/suites/upgrade/pacific-x/stress-split/.qa b/qa/suites/upgrade/pacific-x/stress-split/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/stress-split/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/upgrade/pacific-x/stress-split/0-distro b/qa/suites/upgrade/pacific-x/stress-split/0-distro new file mode 120000 index 000000000..4b341719d --- /dev/null +++ b/qa/suites/upgrade/pacific-x/stress-split/0-distro @@ -0,0 +1 @@ +.qa/distros/container-hosts
\ No newline at end of file diff --git a/qa/suites/upgrade/pacific-x/stress-split/0-roles.yaml b/qa/suites/upgrade/pacific-x/stress-split/0-roles.yaml new file mode 100644 index 000000000..ad3ee43d3 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/stress-split/0-roles.yaml @@ -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/pacific-x/stress-split/1-start.yaml b/qa/suites/upgrade/pacific-x/stress-split/1-start.yaml new file mode 100644 index 000000000..9a552df99 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/stress-split/1-start.yaml @@ -0,0 +1,122 @@ +tasks: +- install: + branch: pacific + exclude_packages: + - ceph-volume + +- cephadm: + image: quay.ceph.io/ceph-ci/ceph:pacific + cephadm_branch: pacific + 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/pacific-x/stress-split/2-first-half-tasks/.qa b/qa/suites/upgrade/pacific-x/stress-split/2-first-half-tasks/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/stress-split/2-first-half-tasks/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/upgrade/pacific-x/stress-split/2-first-half-tasks/radosbench.yaml b/qa/suites/upgrade/pacific-x/stress-split/2-first-half-tasks/radosbench.yaml new file mode 100644 index 000000000..3816ca38c --- /dev/null +++ b/qa/suites/upgrade/pacific-x/stress-split/2-first-half-tasks/radosbench.yaml @@ -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/pacific-x/stress-split/2-first-half-tasks/rbd-cls.yaml b/qa/suites/upgrade/pacific-x/stress-split/2-first-half-tasks/rbd-cls.yaml new file mode 100644 index 000000000..4ebc09310 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/stress-split/2-first-half-tasks/rbd-cls.yaml @@ -0,0 +1,10 @@ +meta: +- desc: | + run basic cls tests for rbd +first-half-tasks: +- workunit: + branch: pacific + clients: + client.0: + - cls/test_cls_rbd.sh +- print: "**** done cls/test_cls_rbd.sh 5-workload" diff --git a/qa/suites/upgrade/pacific-x/stress-split/2-first-half-tasks/rbd-import-export.yaml b/qa/suites/upgrade/pacific-x/stress-split/2-first-half-tasks/rbd-import-export.yaml new file mode 100644 index 000000000..6835c9125 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/stress-split/2-first-half-tasks/rbd-import-export.yaml @@ -0,0 +1,12 @@ +meta: +- desc: | + run basic import/export cli tests for rbd +first-half-tasks: +- workunit: + branch: pacific + 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/pacific-x/stress-split/2-first-half-tasks/rbd_api.yaml b/qa/suites/upgrade/pacific-x/stress-split/2-first-half-tasks/rbd_api.yaml new file mode 100644 index 000000000..a7060c0ac --- /dev/null +++ b/qa/suites/upgrade/pacific-x/stress-split/2-first-half-tasks/rbd_api.yaml @@ -0,0 +1,12 @@ +meta: +- desc: | + librbd C and C++ api tests +first-half-tasks: +- workunit: + branch: pacific + clients: + client.0: + - rbd/test_librbd.sh + env: + RBD_FEATURES: "61" +- print: "**** done rbd/test_librbd.sh 7-workload" diff --git a/qa/suites/upgrade/pacific-x/stress-split/2-first-half-tasks/readwrite.yaml b/qa/suites/upgrade/pacific-x/stress-split/2-first-half-tasks/readwrite.yaml new file mode 100644 index 000000000..21a9f379a --- /dev/null +++ b/qa/suites/upgrade/pacific-x/stress-split/2-first-half-tasks/readwrite.yaml @@ -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/pacific-x/stress-split/2-first-half-tasks/snaps-few-objects.yaml b/qa/suites/upgrade/pacific-x/stress-split/2-first-half-tasks/snaps-few-objects.yaml new file mode 100644 index 000000000..6447c2245 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/stress-split/2-first-half-tasks/snaps-few-objects.yaml @@ -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/pacific-x/stress-split/3-stress-tasks/+ b/qa/suites/upgrade/pacific-x/stress-split/3-stress-tasks/+ new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/qa/suites/upgrade/pacific-x/stress-split/3-stress-tasks/+ diff --git a/qa/suites/upgrade/pacific-x/stress-split/3-stress-tasks/.qa b/qa/suites/upgrade/pacific-x/stress-split/3-stress-tasks/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/stress-split/3-stress-tasks/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/upgrade/pacific-x/stress-split/3-stress-tasks/radosbench.yaml b/qa/suites/upgrade/pacific-x/stress-split/3-stress-tasks/radosbench.yaml new file mode 100644 index 000000000..9058bd804 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/stress-split/3-stress-tasks/radosbench.yaml @@ -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/pacific-x/stress-split/3-stress-tasks/rbd-cls.yaml b/qa/suites/upgrade/pacific-x/stress-split/3-stress-tasks/rbd-cls.yaml new file mode 100644 index 000000000..e72875c14 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/stress-split/3-stress-tasks/rbd-cls.yaml @@ -0,0 +1,10 @@ +meta: +- desc: | + run basic cls tests for rbd +stress-tasks: +- workunit: + branch: pacific + clients: + client.0: + - cls/test_cls_rbd.sh +- print: "**** done cls/test_cls_rbd.sh 5-workload" diff --git a/qa/suites/upgrade/pacific-x/stress-split/3-stress-tasks/rbd-import-export.yaml b/qa/suites/upgrade/pacific-x/stress-split/3-stress-tasks/rbd-import-export.yaml new file mode 100644 index 000000000..c3008f3b1 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/stress-split/3-stress-tasks/rbd-import-export.yaml @@ -0,0 +1,12 @@ +meta: +- desc: | + run basic import/export cli tests for rbd +stress-tasks: +- workunit: + branch: pacific + 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/pacific-x/stress-split/3-stress-tasks/rbd_api.yaml b/qa/suites/upgrade/pacific-x/stress-split/3-stress-tasks/rbd_api.yaml new file mode 100644 index 000000000..8b52658c4 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/stress-split/3-stress-tasks/rbd_api.yaml @@ -0,0 +1,12 @@ +meta: +- desc: | + librbd C and C++ api tests +stress-tasks: +- workunit: + branch: pacific + clients: + client.0: + - rbd/test_librbd.sh + env: + RBD_FEATURES: "61" +- print: "**** done rbd/test_librbd.sh 7-workload" diff --git a/qa/suites/upgrade/pacific-x/stress-split/3-stress-tasks/readwrite.yaml b/qa/suites/upgrade/pacific-x/stress-split/3-stress-tasks/readwrite.yaml new file mode 100644 index 000000000..41e34d6d7 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/stress-split/3-stress-tasks/readwrite.yaml @@ -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/pacific-x/stress-split/3-stress-tasks/snaps-few-objects.yaml b/qa/suites/upgrade/pacific-x/stress-split/3-stress-tasks/snaps-few-objects.yaml new file mode 100644 index 000000000..f56d0de0f --- /dev/null +++ b/qa/suites/upgrade/pacific-x/stress-split/3-stress-tasks/snaps-few-objects.yaml @@ -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/pacific-x/stress-split/4-second-half-tasks/.qa b/qa/suites/upgrade/pacific-x/stress-split/4-second-half-tasks/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/stress-split/4-second-half-tasks/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/upgrade/pacific-x/stress-split/4-second-half-tasks/radosbench.yaml b/qa/suites/upgrade/pacific-x/stress-split/4-second-half-tasks/radosbench.yaml new file mode 100644 index 000000000..7268cb170 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/stress-split/4-second-half-tasks/radosbench.yaml @@ -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/pacific-x/stress-split/4-second-half-tasks/rbd-import-export.yaml b/qa/suites/upgrade/pacific-x/stress-split/4-second-half-tasks/rbd-import-export.yaml new file mode 100644 index 000000000..00cf88d54 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/stress-split/4-second-half-tasks/rbd-import-export.yaml @@ -0,0 +1,12 @@ +meta: +- desc: | + run basic import/export cli tests for rbd +second-half-tasks: +- workunit: + branch: pacific + 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/pacific-x/stress-split/mon_election b/qa/suites/upgrade/pacific-x/stress-split/mon_election new file mode 120000 index 000000000..3f331e621 --- /dev/null +++ b/qa/suites/upgrade/pacific-x/stress-split/mon_election @@ -0,0 +1 @@ +.qa/mon_election
\ No newline at end of file diff --git a/qa/suites/upgrade/quincy-x/.qa b/qa/suites/upgrade/quincy-x/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/upgrade/quincy-x/filestore-remove-check/% b/qa/suites/upgrade/quincy-x/filestore-remove-check/% new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/qa/suites/upgrade/quincy-x/filestore-remove-check/% diff --git a/qa/suites/upgrade/quincy-x/filestore-remove-check/.qa b/qa/suites/upgrade/quincy-x/filestore-remove-check/.qa new file mode 120000 index 000000000..fea2489fd --- /dev/null +++ b/qa/suites/upgrade/quincy-x/filestore-remove-check/.qa @@ -0,0 +1 @@ +../.qa
\ No newline at end of file diff --git a/qa/suites/upgrade/quincy-x/filestore-remove-check/0-cluster/+ b/qa/suites/upgrade/quincy-x/filestore-remove-check/0-cluster/+ new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/qa/suites/upgrade/quincy-x/filestore-remove-check/0-cluster/+ diff --git a/qa/suites/upgrade/quincy-x/filestore-remove-check/0-cluster/.qa b/qa/suites/upgrade/quincy-x/filestore-remove-check/0-cluster/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/filestore-remove-check/0-cluster/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/upgrade/quincy-x/filestore-remove-check/0-cluster/openstack.yaml b/qa/suites/upgrade/quincy-x/filestore-remove-check/0-cluster/openstack.yaml new file mode 100644 index 000000000..5caffc353 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/filestore-remove-check/0-cluster/openstack.yaml @@ -0,0 +1,6 @@ +openstack: + - machine: + disk: 100 # GB + - volumes: # attached to each instance + count: 4 + size: 30 # GB diff --git a/qa/suites/upgrade/quincy-x/filestore-remove-check/0-cluster/start.yaml b/qa/suites/upgrade/quincy-x/filestore-remove-check/0-cluster/start.yaml new file mode 100644 index 000000000..b4b6f4d90 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/filestore-remove-check/0-cluster/start.yaml @@ -0,0 +1,34 @@ +meta: +- desc: | + Run ceph on one nodes, + Use xfs beneath the osds. upgrade to reef + should fail to start the osds with filestore +overrides: + ceph: + mon_bind_msgr2: false + mon_bind_addrvec: false + mon-health-to-clog: false + wait-for-healthy: false + wait-for-osds-up: false + wait-for-scrub: false + skip_stop_pg_num_changes: true + fs: xfs + log-ignorelist: + - overall HEALTH_ + - \(MON_DOWN\) + - \(MGR_DOWN\) + - slow request + - \(MON_MSGR2_NOT_ENABLED\) + - \(POOL_APP_NOT_ENABLED\) + conf: + global: + enable experimental unrecoverable data corrupting features: "*" + mon warn on msgr2 not enabled: false + mon: + mon warn on osd down out interval zero: false +roles: +- - mon.a + - mgr.x + - osd.0 + - osd.1 + - osd.2 diff --git a/qa/suites/upgrade/quincy-x/filestore-remove-check/1-ceph-install/.qa b/qa/suites/upgrade/quincy-x/filestore-remove-check/1-ceph-install/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/filestore-remove-check/1-ceph-install/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/upgrade/quincy-x/filestore-remove-check/1-ceph-install/quincy.yaml b/qa/suites/upgrade/quincy-x/filestore-remove-check/1-ceph-install/quincy.yaml new file mode 100644 index 000000000..471bd61df --- /dev/null +++ b/qa/suites/upgrade/quincy-x/filestore-remove-check/1-ceph-install/quincy.yaml @@ -0,0 +1,32 @@ +meta: +- desc: install ceph/quincy latest +tasks: +- install: + exclude_packages: + - ceph-mgr-cephadm + - cephadm + - libcephfs-dev + branch: quincy +- print: "**** done install quincy" +- ceph: + create_rbd_pool: false + conf: + global: + bluestore_warn_on_legacy_statfs: false + bluestore warn on no per pool omap: false + mon pg warn min per osd: 0 + mon: + mon_warn_on_insecure_global_id_reclaim: false + mon_warn_on_insecure_global_id_reclaim_allowed: false + log-ignorelist: + - Not found or unloadable + - evicting unresponsive client +- exec: + osd.0: + - ceph osd require-osd-release quincy +- print: "**** done ceph" +overrides: + ceph: + conf: + mon: + mon warn on osd down out interval zero: false diff --git a/qa/suites/upgrade/quincy-x/filestore-remove-check/2 - upgrade.yaml b/qa/suites/upgrade/quincy-x/filestore-remove-check/2 - upgrade.yaml new file mode 100644 index 000000000..6aa429f18 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/filestore-remove-check/2 - upgrade.yaml @@ -0,0 +1,20 @@ +meta: +- desc: | + install upgrade ceph/-x on cluster + restart : mons, osd.* +tasks: +- install.upgrade: + mon.a: +- exec: + osd.0: + - ceph osd require-osd-release quincy +- print: "**** done install.upgrade of nodes" +- ceph.restart: + daemons: [mon.a,mgr.x,osd.0,osd.1,osd.2] + mon-health-to-clog: false + wait-for-healthy: false + wait-for-osds-up: false + wait-for-scrub: false + skip_stop_pg_num_changes: true + expected-failure: "FileStore has been deprecated and is no longer supported" +- print: "**** done ceph.restart of all mons and osds" diff --git a/qa/suites/upgrade/quincy-x/filestore-remove-check/objectstore/.qa b/qa/suites/upgrade/quincy-x/filestore-remove-check/objectstore/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/filestore-remove-check/objectstore/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/upgrade/quincy-x/filestore-remove-check/objectstore/filestore-xfs.yaml b/qa/suites/upgrade/quincy-x/filestore-remove-check/objectstore/filestore-xfs.yaml new file mode 100644 index 000000000..b6ef47b06 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/filestore-remove-check/objectstore/filestore-xfs.yaml @@ -0,0 +1,14 @@ +overrides: + ceph: + fs: xfs + conf: + osd: + osd objectstore: filestore + osd sloppy crc: true + ceph-deploy: + fs: xfs + filestore: True + conf: + osd: + osd objectstore: filestore + osd sloppy crc: true
\ No newline at end of file diff --git a/qa/suites/upgrade/quincy-x/filestore-remove-check/ubuntu_20.04.yaml b/qa/suites/upgrade/quincy-x/filestore-remove-check/ubuntu_20.04.yaml new file mode 100644 index 000000000..e1374c410 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/filestore-remove-check/ubuntu_20.04.yaml @@ -0,0 +1,9 @@ +os_type: ubuntu +os_version: "20.04" +# the normal ubuntu 20.04 kernel (5.4.0-88-generic currently) have a bug that prevents the nvme_loop +# from behaving. I think it is this: +# https://lkml.org/lkml/2020/9/21/1456 +# (at least, that is the symptom: nvme nvme1: Connect command failed, error wo/DNR bit: 880) +overrides: + kernel: + hwe: true
\ 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 index 000000000..e69de29bb --- /dev/null +++ b/qa/suites/upgrade/quincy-x/parallel/% diff --git a/qa/suites/upgrade/quincy-x/parallel/.qa b/qa/suites/upgrade/quincy-x/parallel/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/parallel/.qa @@ -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 index 000000000..4b341719d --- /dev/null +++ b/qa/suites/upgrade/quincy-x/parallel/0-random-distro$ @@ -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 index 000000000..3814ea3ef --- /dev/null +++ b/qa/suites/upgrade/quincy-x/parallel/0-start.yaml @@ -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 index 000000000..e57e31f2f --- /dev/null +++ b/qa/suites/upgrade/quincy-x/parallel/1-tasks.yaml @@ -0,0 +1,43 @@ +tasks: +- install: + branch: quincy + exclude_packages: + - ceph-volume +- print: "**** done install task..." +- print: "**** done start installing quincy cephadm ..." +- cephadm: + image: quay.ceph.io/ceph-ci/ceph: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 telemetry quincy..." +- workunit: + clients: + client.0: + - test_telemetry_quincy.sh +- print: "**** done end telemetry quincy..." + +- print: "**** done start parallel" +- parallel: + - workload + - upgrade-sequence +- print: "**** done end parallel" + +- print: "**** done start telemetry x..." +- workunit: + clients: + client.0: + - test_telemetry_quincy_x.sh +- print: "**** done end telemetry x..." diff --git a/qa/suites/upgrade/quincy-x/parallel/mon_election b/qa/suites/upgrade/quincy-x/parallel/mon_election new file mode 120000 index 000000000..3f331e621 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/parallel/mon_election @@ -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 index 000000000..a3f0888da --- /dev/null +++ b/qa/suites/upgrade/quincy-x/parallel/upgrade-sequence.yaml @@ -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 index 000000000..e69de29bb --- /dev/null +++ b/qa/suites/upgrade/quincy-x/parallel/workload/+ diff --git a/qa/suites/upgrade/quincy-x/parallel/workload/.qa b/qa/suites/upgrade/quincy-x/parallel/workload/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/parallel/workload/.qa @@ -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 index 000000000..67a0f39c5 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/parallel/workload/ec-rados-default.yaml @@ -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 index 000000000..9c2ff9da1 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/parallel/workload/rados_api.yaml @@ -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 index 000000000..25b1e1aaf --- /dev/null +++ b/qa/suites/upgrade/quincy-x/parallel/workload/rados_loadgenbig.yaml @@ -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 index 000000000..82b66048c --- /dev/null +++ b/qa/suites/upgrade/quincy-x/parallel/workload/rbd_import_export.yaml @@ -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 index 000000000..c871d4c8c --- /dev/null +++ b/qa/suites/upgrade/quincy-x/parallel/workload/test_rbd_api.yaml @@ -0,0 +1,14 @@ +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 + env: + RBD_FEATURES: "61" + - 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 index 000000000..3ae98ed1e --- /dev/null +++ b/qa/suites/upgrade/quincy-x/parallel/workload/test_rbd_python.yaml @@ -0,0 +1,20 @@ +meta: +- desc: | + librbd python api tests +overrides: + install: + ceph: + extra_system_packages: + - python3-pytest +workload: + full_sequential: + - print: "**** done start test_rbd_python.yaml" + - workunit: + branch: quincy + clients: + client.0: + - rbd/test_librbd_python.sh + env: + RBD_FEATURES: "61" + - 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 index 000000000..e69de29bb --- /dev/null +++ b/qa/suites/upgrade/quincy-x/stress-split/% diff --git a/qa/suites/upgrade/quincy-x/stress-split/.qa b/qa/suites/upgrade/quincy-x/stress-split/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/stress-split/.qa @@ -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 index 000000000..4b341719d --- /dev/null +++ b/qa/suites/upgrade/quincy-x/stress-split/0-distro @@ -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 index 000000000..ad3ee43d3 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/stress-split/0-roles.yaml @@ -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 index 000000000..b9bca65fb --- /dev/null +++ b/qa/suites/upgrade/quincy-x/stress-split/1-start.yaml @@ -0,0 +1,122 @@ +tasks: +- install: + branch: quincy + exclude_packages: + - ceph-volume + +- cephadm: + image: quay.ceph.io/ceph-ci/ceph: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 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/.qa @@ -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 index 000000000..3816ca38c --- /dev/null +++ b/qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/radosbench.yaml @@ -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 index 000000000..b722f1873 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/rbd-cls.yaml @@ -0,0 +1,10 @@ +meta: +- desc: | + run basic cls tests for rbd +first-half-tasks: +- workunit: + branch: quincy + 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 index 000000000..206389055 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/rbd-import-export.yaml @@ -0,0 +1,12 @@ +meta: +- desc: | + run basic import/export cli tests for rbd +first-half-tasks: +- workunit: + branch: quincy + 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 index 000000000..0fa5d0944 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/rbd_api.yaml @@ -0,0 +1,12 @@ +meta: +- desc: | + librbd C and C++ api tests +first-half-tasks: +- workunit: + branch: quincy + clients: + client.0: + - rbd/test_librbd.sh + env: + RBD_FEATURES: "61" +- 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 index 000000000..21a9f379a --- /dev/null +++ b/qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/readwrite.yaml @@ -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 index 000000000..6447c2245 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/stress-split/2-first-half-tasks/snaps-few-objects.yaml @@ -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 index 000000000..e69de29bb --- /dev/null +++ b/qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/+ 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 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/.qa @@ -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 index 000000000..9058bd804 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/radosbench.yaml @@ -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 index 000000000..649b024a4 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/rbd-cls.yaml @@ -0,0 +1,10 @@ +meta: +- desc: | + run basic cls tests for rbd +stress-tasks: +- workunit: + branch: quincy + 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 index 000000000..2267e4462 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/rbd-import-export.yaml @@ -0,0 +1,12 @@ +meta: +- desc: | + run basic import/export cli tests for rbd +stress-tasks: +- workunit: + branch: quincy + 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 index 000000000..cc4f29a08 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/rbd_api.yaml @@ -0,0 +1,12 @@ +meta: +- desc: | + librbd C and C++ api tests +stress-tasks: +- workunit: + branch: quincy + clients: + client.0: + - rbd/test_librbd.sh + env: + RBD_FEATURES: "61" +- 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 index 000000000..41e34d6d7 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/readwrite.yaml @@ -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 index 000000000..f56d0de0f --- /dev/null +++ b/qa/suites/upgrade/quincy-x/stress-split/3-stress-tasks/snaps-few-objects.yaml @@ -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 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/stress-split/4-second-half-tasks/.qa @@ -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 index 000000000..7268cb170 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/stress-split/4-second-half-tasks/radosbench.yaml @@ -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 index 000000000..1c509f755 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/stress-split/4-second-half-tasks/rbd-import-export.yaml @@ -0,0 +1,12 @@ +meta: +- desc: | + run basic import/export cli tests for rbd +second-half-tasks: +- workunit: + branch: quincy + 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 index 000000000..3f331e621 --- /dev/null +++ b/qa/suites/upgrade/quincy-x/stress-split/mon_election @@ -0,0 +1 @@ +.qa/mon_election
\ No newline at end of file diff --git a/qa/suites/upgrade/telemetry-upgrade/pacific-x/% b/qa/suites/upgrade/telemetry-upgrade/pacific-x/% new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/qa/suites/upgrade/telemetry-upgrade/pacific-x/% diff --git a/qa/suites/upgrade/telemetry-upgrade/pacific-x/.qa b/qa/suites/upgrade/telemetry-upgrade/pacific-x/.qa new file mode 120000 index 000000000..a23f7e045 --- /dev/null +++ b/qa/suites/upgrade/telemetry-upgrade/pacific-x/.qa @@ -0,0 +1 @@ +../../.qa
\ No newline at end of file diff --git a/qa/suites/upgrade/telemetry-upgrade/pacific-x/0-random-distro$ b/qa/suites/upgrade/telemetry-upgrade/pacific-x/0-random-distro$ new file mode 120000 index 000000000..4b341719d --- /dev/null +++ b/qa/suites/upgrade/telemetry-upgrade/pacific-x/0-random-distro$ @@ -0,0 +1 @@ +.qa/distros/container-hosts
\ No newline at end of file diff --git a/qa/suites/upgrade/telemetry-upgrade/pacific-x/0-start.yaml b/qa/suites/upgrade/telemetry-upgrade/pacific-x/0-start.yaml new file mode 100644 index 000000000..3814ea3ef --- /dev/null +++ b/qa/suites/upgrade/telemetry-upgrade/pacific-x/0-start.yaml @@ -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/telemetry-upgrade/pacific-x/1-tasks.yaml b/qa/suites/upgrade/telemetry-upgrade/pacific-x/1-tasks.yaml new file mode 100644 index 000000000..28b9eb29f --- /dev/null +++ b/qa/suites/upgrade/telemetry-upgrade/pacific-x/1-tasks.yaml @@ -0,0 +1,54 @@ +tasks: +- install: + branch: pacific + exclude_packages: + - ceph-volume +- print: "**** done install task..." +- print: "**** done start installing pacific cephadm ..." +- cephadm: + image: quay.io/ceph/daemon-base:latest-pacific + cephadm_branch: pacific + 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 pacific 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 telemetry pacific..." +- workunit: + clients: + client.0: + - test_telemetry_pacific.sh +- print: "**** done end telemetry pacific..." + +- print: "**** done start upgrade sequence..." +- sequential: + - print: "**** done start upgrade..." + - 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..." + + - print: "**** done start telemetry x..." + - workunit: + clients: + client.0: + - test_telemetry_pacific_x.sh + - print: "**** done end telemetry x..." +- print: "**** done end upgrade sequence..." diff --git a/qa/suites/upgrade/telemetry-upgrade/quincy-x/% b/qa/suites/upgrade/telemetry-upgrade/quincy-x/% new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/qa/suites/upgrade/telemetry-upgrade/quincy-x/% diff --git a/qa/suites/upgrade/telemetry-upgrade/quincy-x/.qa b/qa/suites/upgrade/telemetry-upgrade/quincy-x/.qa new file mode 120000 index 000000000..a23f7e045 --- /dev/null +++ b/qa/suites/upgrade/telemetry-upgrade/quincy-x/.qa @@ -0,0 +1 @@ +../../.qa
\ No newline at end of file diff --git a/qa/suites/upgrade/telemetry-upgrade/quincy-x/0-random-distro$ b/qa/suites/upgrade/telemetry-upgrade/quincy-x/0-random-distro$ new file mode 120000 index 000000000..4b341719d --- /dev/null +++ b/qa/suites/upgrade/telemetry-upgrade/quincy-x/0-random-distro$ @@ -0,0 +1 @@ +.qa/distros/container-hosts
\ No newline at end of file diff --git a/qa/suites/upgrade/telemetry-upgrade/quincy-x/0-start.yaml b/qa/suites/upgrade/telemetry-upgrade/quincy-x/0-start.yaml new file mode 100644 index 000000000..3814ea3ef --- /dev/null +++ b/qa/suites/upgrade/telemetry-upgrade/quincy-x/0-start.yaml @@ -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/telemetry-upgrade/quincy-x/1-tasks.yaml b/qa/suites/upgrade/telemetry-upgrade/quincy-x/1-tasks.yaml new file mode 100644 index 000000000..cd6609a6d --- /dev/null +++ b/qa/suites/upgrade/telemetry-upgrade/quincy-x/1-tasks.yaml @@ -0,0 +1,53 @@ +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 telemetry quincy..." +- workunit: + clients: + client.0: + - test_telemetry_quincy.sh +- print: "**** done end telemetry quincy..." + +- print: "**** done start upgrade sequence..." +- sequential: + - print: "**** done start upgrade..." + - 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..." + + - print: "**** done start telemetry x..." + - workunit: + clients: + client.0: + - test_telemetry_quincy_x.sh + - print: "**** done end telemetry x..." +- print: "**** done end upgrade sequence..." |