diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:45:59 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:45:59 +0000 |
commit | 19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch) | |
tree | 42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /qa/suites/rbd/migration | |
parent | Initial commit. (diff) | |
download | ceph-upstream.tar.xz ceph-upstream.zip |
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'qa/suites/rbd/migration')
19 files changed, 110 insertions, 0 deletions
diff --git a/qa/suites/rbd/migration/% b/qa/suites/rbd/migration/% new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/qa/suites/rbd/migration/% diff --git a/qa/suites/rbd/migration/.qa b/qa/suites/rbd/migration/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/rbd/migration/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/rbd/migration/1-base b/qa/suites/rbd/migration/1-base new file mode 120000 index 000000000..fd10a859d --- /dev/null +++ b/qa/suites/rbd/migration/1-base @@ -0,0 +1 @@ +../thrash/base
\ No newline at end of file diff --git a/qa/suites/rbd/migration/2-clusters/+ b/qa/suites/rbd/migration/2-clusters/+ new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/qa/suites/rbd/migration/2-clusters/+ diff --git a/qa/suites/rbd/migration/2-clusters/.qa b/qa/suites/rbd/migration/2-clusters/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/rbd/migration/2-clusters/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/rbd/migration/2-clusters/fixed-3.yaml b/qa/suites/rbd/migration/2-clusters/fixed-3.yaml new file mode 120000 index 000000000..f75a848b8 --- /dev/null +++ b/qa/suites/rbd/migration/2-clusters/fixed-3.yaml @@ -0,0 +1 @@ +.qa/clusters/fixed-3.yaml
\ No newline at end of file diff --git a/qa/suites/rbd/migration/2-clusters/openstack.yaml b/qa/suites/rbd/migration/2-clusters/openstack.yaml new file mode 100644 index 000000000..9c39c7e5f --- /dev/null +++ b/qa/suites/rbd/migration/2-clusters/openstack.yaml @@ -0,0 +1,8 @@ +openstack: + - machine: + disk: 40 # GB + ram: 30000 # MB + cpus: 1 + volumes: # attached to each instance + count: 4 + size: 30 # GB diff --git a/qa/suites/rbd/migration/3-objectstore b/qa/suites/rbd/migration/3-objectstore new file mode 120000 index 000000000..c40bd3261 --- /dev/null +++ b/qa/suites/rbd/migration/3-objectstore @@ -0,0 +1 @@ +.qa/objectstore
\ No newline at end of file diff --git a/qa/suites/rbd/migration/4-supported-random-distro$ b/qa/suites/rbd/migration/4-supported-random-distro$ new file mode 120000 index 000000000..0862b4457 --- /dev/null +++ b/qa/suites/rbd/migration/4-supported-random-distro$ @@ -0,0 +1 @@ +.qa/distros/supported-random-distro$
\ No newline at end of file diff --git a/qa/suites/rbd/migration/5-pool/.qa b/qa/suites/rbd/migration/5-pool/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/rbd/migration/5-pool/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/rbd/migration/5-pool/ec-data-pool.yaml b/qa/suites/rbd/migration/5-pool/ec-data-pool.yaml new file mode 100644 index 000000000..f39a5bb4c --- /dev/null +++ b/qa/suites/rbd/migration/5-pool/ec-data-pool.yaml @@ -0,0 +1,24 @@ +tasks: +- exec: + client.0: + - sudo ceph osd erasure-code-profile set teuthologyprofile crush-failure-domain=osd m=1 k=2 + - sudo ceph osd pool create datapool 4 4 erasure teuthologyprofile + - sudo ceph osd pool set datapool allow_ec_overwrites true + - rbd pool init datapool + +overrides: + thrashosds: + bdev_inject_crash: 2 + bdev_inject_crash_probability: .5 + ceph: + fs: xfs + conf: + client: + rbd default data pool: datapool + osd: # force bluestore since it's required for ec overwrites + osd objectstore: bluestore + bluestore block size: 96636764160 + enable experimental unrecoverable data corrupting features: "*" + osd debug randomize hobject sort order: false +# this doesn't work with failures bc the log writes are not atomic across the two backends +# bluestore bluefs env mirror: true diff --git a/qa/suites/rbd/migration/5-pool/none.yaml b/qa/suites/rbd/migration/5-pool/none.yaml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/qa/suites/rbd/migration/5-pool/none.yaml diff --git a/qa/suites/rbd/migration/5-pool/replicated-data-pool.yaml b/qa/suites/rbd/migration/5-pool/replicated-data-pool.yaml new file mode 100644 index 000000000..c5647dba1 --- /dev/null +++ b/qa/suites/rbd/migration/5-pool/replicated-data-pool.yaml @@ -0,0 +1,11 @@ +tasks: +- exec: + client.0: + - sudo ceph osd pool create datapool 4 + - rbd pool init datapool + +overrides: + ceph: + conf: + client: + rbd default data pool: datapool diff --git a/qa/suites/rbd/migration/6-prepare/qcow2-file.yaml b/qa/suites/rbd/migration/6-prepare/qcow2-file.yaml new file mode 100644 index 000000000..8e3b9f958 --- /dev/null +++ b/qa/suites/rbd/migration/6-prepare/qcow2-file.yaml @@ -0,0 +1,9 @@ +tasks: + - exec: + client.0: + - mkdir /home/ubuntu/cephtest/migration + - wget -nv -O /home/ubuntu/cephtest/migration/base.client.0.qcow2 http://download.ceph.com/qa/ubuntu-12.04.qcow2 + - qemu-img create -f qcow2 /home/ubuntu/cephtest/migration/empty.qcow2 1G + - echo '{"type":"qcow","stream":{"type":"file","file_path":"/home/ubuntu/cephtest/migration/base.client.0.qcow2"}}' | rbd migration prepare --import-only --source-spec-path - client.0.0 + - rbd migration prepare --import-only --source-spec '{"type":"qcow","stream":{"type":"file","file_path":"/home/ubuntu/cephtest/migration/empty.qcow2"}}' client.0.1 + - rbd migration prepare --import-only --source-spec '{"type":"qcow","stream":{"type":"file","file_path":"/home/ubuntu/cephtest/migration/empty.qcow2"}}' client.0.2 diff --git a/qa/suites/rbd/migration/6-prepare/qcow2-http.yaml b/qa/suites/rbd/migration/6-prepare/qcow2-http.yaml new file mode 100644 index 000000000..890d14417 --- /dev/null +++ b/qa/suites/rbd/migration/6-prepare/qcow2-http.yaml @@ -0,0 +1,8 @@ +tasks: + - exec: + client.0: + - mkdir /home/ubuntu/cephtest/migration + - qemu-img create -f qcow2 /home/ubuntu/cephtest/migration/empty.qcow2 1G + - echo '{"type":"qcow","stream":{"type":"http","url":"http://download.ceph.com/qa/ubuntu-12.04.qcow2"}}' | rbd migration prepare --import-only --source-spec-path - client.0.0 + - rbd migration prepare --import-only --source-spec '{"type":"qcow","stream":{"type":"file","file_path":"/home/ubuntu/cephtest/migration/empty.qcow2"}}' client.0.1 + - rbd migration prepare --import-only --source-spec '{"type":"qcow","stream":{"type":"file","file_path":"/home/ubuntu/cephtest/migration/empty.qcow2"}}' client.0.2 diff --git a/qa/suites/rbd/migration/6-prepare/raw-file.yaml b/qa/suites/rbd/migration/6-prepare/raw-file.yaml new file mode 100644 index 000000000..0035534ef --- /dev/null +++ b/qa/suites/rbd/migration/6-prepare/raw-file.yaml @@ -0,0 +1,10 @@ +tasks: + - exec: + client.0: + - mkdir /home/ubuntu/cephtest/migration + - wget -nv -O /home/ubuntu/cephtest/migration/base.client.0.qcow2 http://download.ceph.com/qa/ubuntu-12.04.qcow2 + - qemu-img convert -f qcow2 -O raw /home/ubuntu/cephtest/migration/base.client.0.qcow2 /home/ubuntu/cephtest/migration/base.client.0.raw + - dd if=/dev/zero of=/home/ubuntu/cephtest/migration/empty.raw count=1 bs=1G + - echo '{"type":"raw","stream":{"type":"file","file_path":"/home/ubuntu/cephtest/migration/base.client.0.raw"}}' | rbd migration prepare --import-only --source-spec-path - client.0.0 + - rbd migration prepare --import-only --source-spec '{"type":"raw","stream":{"type":"file","file_path":"/home/ubuntu/cephtest/migration/empty.raw"}}' client.0.1 + - rbd migration prepare --import-only --source-spec '{"type":"raw","stream":{"type":"file","file_path":"/home/ubuntu/cephtest/migration/empty.raw"}}' client.0.2 diff --git a/qa/suites/rbd/migration/7-io-workloads/qemu_xfstests.yaml b/qa/suites/rbd/migration/7-io-workloads/qemu_xfstests.yaml new file mode 100644 index 000000000..2617a4192 --- /dev/null +++ b/qa/suites/rbd/migration/7-io-workloads/qemu_xfstests.yaml @@ -0,0 +1,15 @@ +io_workload: + sequential: + - qemu: + client.0: + clone: true + type: block + disks: + - action: none + image_name: client.0.0 + - action: none + image_name: client.0.1 + - action: none + image_name: client.0.2 + test: qa/run_xfstests_qemu.sh +exclude_arch: armv7l diff --git a/qa/suites/rbd/migration/8-migrate-workloads/execute.yaml b/qa/suites/rbd/migration/8-migrate-workloads/execute.yaml new file mode 100644 index 000000000..d7735c426 --- /dev/null +++ b/qa/suites/rbd/migration/8-migrate-workloads/execute.yaml @@ -0,0 +1,14 @@ +tasks: + - parallel: + - io_workload + - migrate_workload +migrate_workload: + sequential: + - exec: + client.0: + - sleep 60 + - rbd migration execute client.0.0 + - sleep 60 + - rbd migration commit client.0.0 + - sleep 60 + - rbd migration execute client.0.1 diff --git a/qa/suites/rbd/migration/9-cleanup/cleanup.yaml b/qa/suites/rbd/migration/9-cleanup/cleanup.yaml new file mode 100644 index 000000000..18c2bb5f4 --- /dev/null +++ b/qa/suites/rbd/migration/9-cleanup/cleanup.yaml @@ -0,0 +1,4 @@ +tasks: + - exec: + client.0: + - rm -rf /home/ubuntu/cephtest/migration |