diff options
Diffstat (limited to 'qa/suites/rbd/mirror-thrash')
25 files changed, 239 insertions, 0 deletions
diff --git a/qa/suites/rbd/mirror-thrash/% b/qa/suites/rbd/mirror-thrash/% new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/% diff --git a/qa/suites/rbd/mirror-thrash/.qa b/qa/suites/rbd/mirror-thrash/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/rbd/mirror-thrash/base/.qa b/qa/suites/rbd/mirror-thrash/base/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/base/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/rbd/mirror-thrash/base/install.yaml b/qa/suites/rbd/mirror-thrash/base/install.yaml new file mode 100644 index 000000000..365c3a8cb --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/base/install.yaml @@ -0,0 +1,9 @@ +meta: +- desc: run two ceph clusters and install rbd-mirror +tasks: +- install: + extra_packages: [rbd-mirror] +- ceph: + cluster: cluster1 +- ceph: + cluster: cluster2 diff --git a/qa/suites/rbd/mirror-thrash/clients/.qa b/qa/suites/rbd/mirror-thrash/clients/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/clients/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/rbd/mirror-thrash/clients/mirror.yaml b/qa/suites/rbd/mirror-thrash/clients/mirror.yaml new file mode 100644 index 000000000..1b6808d85 --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/clients/mirror.yaml @@ -0,0 +1,36 @@ +meta: +- desc: configure the permissions for client.mirror +overrides: + ceph: + conf: + client: + rbd default features: 125 + debug rbd: 20 + debug rbd_mirror: 15 + log to stderr: false + # override to make these names predictable + client.mirror.0: + admin socket: /var/run/ceph/rbd-mirror.$cluster-$name.asok + pid file: /var/run/ceph/rbd-mirror.$cluster-$name.pid + client.mirror.1: + admin socket: /var/run/ceph/rbd-mirror.$cluster-$name.asok + pid file: /var/run/ceph/rbd-mirror.$cluster-$name.pid + client.mirror.2: + admin socket: /var/run/ceph/rbd-mirror.$cluster-$name.asok + pid file: /var/run/ceph/rbd-mirror.$cluster-$name.pid + client.mirror.3: + admin socket: /var/run/ceph/rbd-mirror.$cluster-$name.asok + pid file: /var/run/ceph/rbd-mirror.$cluster-$name.pid +tasks: +- exec: + cluster1.client.mirror.0: + - "sudo ceph --cluster cluster1 auth caps client.mirror mon 'profile rbd-mirror-peer' osd 'profile rbd'" + - "sudo ceph --cluster cluster1 auth caps client.mirror.0 mon 'profile rbd-mirror' osd 'profile rbd'" + - "sudo ceph --cluster cluster1 auth caps client.mirror.1 mon 'profile rbd-mirror' osd 'profile rbd'" + - "sudo ceph --cluster cluster1 auth caps client.mirror.2 mon 'profile rbd-mirror' osd 'profile rbd'" + - "sudo ceph --cluster cluster1 auth caps client.mirror.3 mon 'profile rbd-mirror' osd 'profile rbd'" + - "sudo ceph --cluster cluster2 auth caps client.mirror mon 'profile rbd-mirror-peer' osd 'profile rbd'" + - "sudo ceph --cluster cluster2 auth caps client.mirror.0 mon 'profile rbd-mirror' osd 'profile rbd'" + - "sudo ceph --cluster cluster2 auth caps client.mirror.1 mon 'profile rbd-mirror' osd 'profile rbd'" + - "sudo ceph --cluster cluster2 auth caps client.mirror.2 mon 'profile rbd-mirror' osd 'profile rbd'" + - "sudo ceph --cluster cluster2 auth caps client.mirror.3 mon 'profile rbd-mirror' osd 'profile rbd'" diff --git a/qa/suites/rbd/mirror-thrash/cluster/+ b/qa/suites/rbd/mirror-thrash/cluster/+ new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/cluster/+ diff --git a/qa/suites/rbd/mirror-thrash/cluster/.qa b/qa/suites/rbd/mirror-thrash/cluster/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/cluster/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/rbd/mirror-thrash/cluster/2-node.yaml b/qa/suites/rbd/mirror-thrash/cluster/2-node.yaml new file mode 100644 index 000000000..74f9fb3c4 --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/cluster/2-node.yaml @@ -0,0 +1,31 @@ +meta: +- desc: 2 ceph clusters with 1 mon and 3 osds each +roles: +- - cluster1.mon.a + - cluster1.mgr.x + - cluster2.mgr.x + - cluster1.osd.0 + - cluster1.osd.1 + - cluster1.osd.2 + - cluster1.client.0 + - cluster2.client.0 +- - cluster2.mon.a + - cluster2.osd.0 + - cluster2.osd.1 + - cluster2.osd.2 + - cluster1.client.mirror + - cluster1.client.mirror.0 + - cluster1.client.mirror.1 + - cluster1.client.mirror.2 + - cluster1.client.mirror.3 + - cluster1.client.mirror.4 + - cluster1.client.mirror.5 + - cluster1.client.mirror.6 + - cluster2.client.mirror + - cluster2.client.mirror.0 + - cluster2.client.mirror.1 + - cluster2.client.mirror.2 + - cluster2.client.mirror.3 + - cluster2.client.mirror.4 + - cluster2.client.mirror.5 + - cluster2.client.mirror.6 diff --git a/qa/suites/rbd/mirror-thrash/cluster/openstack.yaml b/qa/suites/rbd/mirror-thrash/cluster/openstack.yaml new file mode 100644 index 000000000..f4d1349b4 --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/cluster/openstack.yaml @@ -0,0 +1,4 @@ +openstack: + - volumes: # attached to each instance + count: 3 + size: 30 # GB diff --git a/qa/suites/rbd/mirror-thrash/msgr-failures b/qa/suites/rbd/mirror-thrash/msgr-failures new file mode 120000 index 000000000..db59eb46c --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/msgr-failures @@ -0,0 +1 @@ +../basic/msgr-failures
\ No newline at end of file diff --git a/qa/suites/rbd/mirror-thrash/objectstore b/qa/suites/rbd/mirror-thrash/objectstore new file mode 120000 index 000000000..c40bd3261 --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/objectstore @@ -0,0 +1 @@ +.qa/objectstore
\ No newline at end of file diff --git a/qa/suites/rbd/mirror-thrash/policy/.qa b/qa/suites/rbd/mirror-thrash/policy/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/policy/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/rbd/mirror-thrash/policy/none.yaml b/qa/suites/rbd/mirror-thrash/policy/none.yaml new file mode 100644 index 000000000..e0a7c1185 --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/policy/none.yaml @@ -0,0 +1,5 @@ +overrides: + ceph: + conf: + client: + rbd mirror image policy type: none diff --git a/qa/suites/rbd/mirror-thrash/policy/simple.yaml b/qa/suites/rbd/mirror-thrash/policy/simple.yaml new file mode 100644 index 000000000..ee3082d3c --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/policy/simple.yaml @@ -0,0 +1,5 @@ +overrides: + ceph: + conf: + client: + rbd mirror image policy type: simple diff --git a/qa/suites/rbd/mirror-thrash/rbd-mirror/.qa b/qa/suites/rbd/mirror-thrash/rbd-mirror/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/rbd-mirror/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/rbd/mirror-thrash/rbd-mirror/four-per-cluster.yaml b/qa/suites/rbd/mirror-thrash/rbd-mirror/four-per-cluster.yaml new file mode 100644 index 000000000..70df34e40 --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/rbd-mirror/four-per-cluster.yaml @@ -0,0 +1,31 @@ +meta: +- desc: run four rbd-mirror daemons per cluster +tasks: +- rbd-mirror: + client: cluster1.client.mirror.0 + thrash: True +- rbd-mirror: + client: cluster1.client.mirror.1 + thrash: True +- rbd-mirror: + client: cluster1.client.mirror.2 + thrash: True +- rbd-mirror: + client: cluster1.client.mirror.3 + thrash: True +- rbd-mirror: + client: cluster2.client.mirror.0 + thrash: True +- rbd-mirror: + client: cluster2.client.mirror.1 + thrash: True +- rbd-mirror: + client: cluster2.client.mirror.2 + thrash: True +- rbd-mirror: + client: cluster2.client.mirror.3 + thrash: True +- rbd-mirror-thrash: + cluster: cluster1 +- rbd-mirror-thrash: + cluster: cluster2 diff --git a/qa/suites/rbd/mirror-thrash/supported-random-distro$ b/qa/suites/rbd/mirror-thrash/supported-random-distro$ new file mode 120000 index 000000000..0862b4457 --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/supported-random-distro$ @@ -0,0 +1 @@ +.qa/distros/supported-random-distro$
\ No newline at end of file diff --git a/qa/suites/rbd/mirror-thrash/workloads/.qa b/qa/suites/rbd/mirror-thrash/workloads/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/workloads/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/rbd/mirror-thrash/workloads/rbd-mirror-fsx-workunit.yaml b/qa/suites/rbd/mirror-thrash/workloads/rbd-mirror-fsx-workunit.yaml new file mode 100644 index 000000000..d2db0f520 --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/workloads/rbd-mirror-fsx-workunit.yaml @@ -0,0 +1,33 @@ +meta: +- desc: run multiple FSX workloads to simulate cluster load and then verify + that the images were replicated +tasks: +- workunit: + clients: + cluster1.client.mirror: [rbd/rbd_mirror_fsx_prepare.sh] + env: + # override workunit setting of CEPH_ARGS='--cluster' + CEPH_ARGS: '' + RBD_MIRROR_NOCLEANUP: '1' + RBD_MIRROR_USE_EXISTING_CLUSTER: '1' + RBD_MIRROR_USE_RBD_MIRROR: '1' +- rbd_fsx: + clients: + - cluster1.client.mirror.0 + - cluster1.client.mirror.1 + - cluster1.client.mirror.2 + - cluster1.client.mirror.3 + - cluster1.client.mirror.4 + - cluster1.client.mirror.5 + ops: 6000 + keep_images: true + pool_name: mirror +- workunit: + clients: + cluster1.client.mirror: [rbd/rbd_mirror_fsx_compare.sh] + env: + # override workunit setting of CEPH_ARGS='--cluster' + CEPH_ARGS: '' + RBD_MIRROR_USE_EXISTING_CLUSTER: '1' + RBD_MIRROR_USE_RBD_MIRROR: '1' + timeout: 6h diff --git a/qa/suites/rbd/mirror-thrash/workloads/rbd-mirror-journal-stress-workunit.yaml b/qa/suites/rbd/mirror-thrash/workloads/rbd-mirror-journal-stress-workunit.yaml new file mode 100644 index 000000000..9579b70d6 --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/workloads/rbd-mirror-journal-stress-workunit.yaml @@ -0,0 +1,15 @@ +meta: +- desc: run the rbd_mirror_stress.sh workunit to test the rbd-mirror daemon +tasks: +- workunit: + clients: + cluster1.client.mirror: [rbd/rbd_mirror_stress.sh] + env: + # override workunit setting of CEPH_ARGS='--cluster' + CEPH_ARGS: '' + RBD_MIRROR_INSTANCES: '4' + RBD_MIRROR_USE_EXISTING_CLUSTER: '1' + RBD_MIRROR_USE_RBD_MIRROR: '1' + MIRROR_POOL_MODE: 'pool' + MIRROR_IMAGE_MODE: 'journal' + timeout: 6h diff --git a/qa/suites/rbd/mirror-thrash/workloads/rbd-mirror-journal-workunit.yaml b/qa/suites/rbd/mirror-thrash/workloads/rbd-mirror-journal-workunit.yaml new file mode 100644 index 000000000..5f12b2239 --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/workloads/rbd-mirror-journal-workunit.yaml @@ -0,0 +1,12 @@ +meta: +- desc: run the rbd_mirror_journal.sh workunit to test the rbd-mirror daemon +tasks: +- workunit: + clients: + cluster1.client.mirror: [rbd/rbd_mirror_journal.sh] + env: + # override workunit setting of CEPH_ARGS='--cluster' + CEPH_ARGS: '' + RBD_MIRROR_INSTANCES: '4' + RBD_MIRROR_USE_EXISTING_CLUSTER: '1' + RBD_MIRROR_USE_RBD_MIRROR: '1' diff --git a/qa/suites/rbd/mirror-thrash/workloads/rbd-mirror-snapshot-stress-workunit-exclusive-lock.yaml b/qa/suites/rbd/mirror-thrash/workloads/rbd-mirror-snapshot-stress-workunit-exclusive-lock.yaml new file mode 100644 index 000000000..87632483d --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/workloads/rbd-mirror-snapshot-stress-workunit-exclusive-lock.yaml @@ -0,0 +1,16 @@ +meta: +- desc: run the rbd_mirror_stress.sh workunit to test the rbd-mirror daemon +tasks: +- workunit: + clients: + cluster1.client.mirror: [rbd/rbd_mirror_stress.sh] + env: + # override workunit setting of CEPH_ARGS='--cluster' + CEPH_ARGS: '' + MIRROR_POOL_MODE: 'image' + MIRROR_IMAGE_MODE: 'snapshot' + RBD_IMAGE_FEATURES: 'layering,exclusive-lock' + RBD_MIRROR_INSTANCES: '4' + RBD_MIRROR_USE_EXISTING_CLUSTER: '1' + RBD_MIRROR_USE_RBD_MIRROR: '1' + timeout: 6h diff --git a/qa/suites/rbd/mirror-thrash/workloads/rbd-mirror-snapshot-stress-workunit-fast-diff.yaml b/qa/suites/rbd/mirror-thrash/workloads/rbd-mirror-snapshot-stress-workunit-fast-diff.yaml new file mode 100644 index 000000000..fc43b0ec2 --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/workloads/rbd-mirror-snapshot-stress-workunit-fast-diff.yaml @@ -0,0 +1,16 @@ +meta: +- desc: run the rbd_mirror_stress.sh workunit to test the rbd-mirror daemon +tasks: +- workunit: + clients: + cluster1.client.mirror: [rbd/rbd_mirror_stress.sh] + env: + # override workunit setting of CEPH_ARGS='--cluster' + CEPH_ARGS: '' + MIRROR_POOL_MODE: 'image' + MIRROR_IMAGE_MODE: 'snapshot' + RBD_IMAGE_FEATURES: 'layering,exclusive-lock,object-map,fast-diff' + RBD_MIRROR_INSTANCES: '4' + RBD_MIRROR_USE_EXISTING_CLUSTER: '1' + RBD_MIRROR_USE_RBD_MIRROR: '1' + timeout: 6h diff --git a/qa/suites/rbd/mirror-thrash/workloads/rbd-mirror-snapshot-stress-workunit-minimum.yaml b/qa/suites/rbd/mirror-thrash/workloads/rbd-mirror-snapshot-stress-workunit-minimum.yaml new file mode 100644 index 000000000..af0ea1240 --- /dev/null +++ b/qa/suites/rbd/mirror-thrash/workloads/rbd-mirror-snapshot-stress-workunit-minimum.yaml @@ -0,0 +1,16 @@ +meta: +- desc: run the rbd_mirror_stress.sh workunit to test the rbd-mirror daemon +tasks: +- workunit: + clients: + cluster1.client.mirror: [rbd/rbd_mirror_stress.sh] + env: + # override workunit setting of CEPH_ARGS='--cluster' + CEPH_ARGS: '' + MIRROR_POOL_MODE: 'image' + MIRROR_IMAGE_MODE: 'snapshot' + RBD_IMAGE_FEATURES: 'layering' + RBD_MIRROR_INSTANCES: '4' + RBD_MIRROR_USE_EXISTING_CLUSTER: '1' + RBD_MIRROR_USE_RBD_MIRROR: '1' + timeout: 6h |