diff options
Diffstat (limited to 'qa/suites/fs/workload/tasks')
37 files changed, 272 insertions, 0 deletions
diff --git a/qa/suites/fs/workload/tasks/% b/qa/suites/fs/workload/tasks/% new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/qa/suites/fs/workload/tasks/% diff --git a/qa/suites/fs/workload/tasks/.qa b/qa/suites/fs/workload/tasks/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/fs/workload/tasks/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/fs/workload/tasks/0-subvolume/$ b/qa/suites/fs/workload/tasks/0-subvolume/$ new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/qa/suites/fs/workload/tasks/0-subvolume/$ diff --git a/qa/suites/fs/workload/tasks/0-subvolume/.qa b/qa/suites/fs/workload/tasks/0-subvolume/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/fs/workload/tasks/0-subvolume/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/fs/workload/tasks/0-subvolume/no-subvolume.yaml b/qa/suites/fs/workload/tasks/0-subvolume/no-subvolume.yaml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/qa/suites/fs/workload/tasks/0-subvolume/no-subvolume.yaml diff --git a/qa/suites/fs/workload/tasks/0-subvolume/with-namespace-isolated-and-quota.yaml b/qa/suites/fs/workload/tasks/0-subvolume/with-namespace-isolated-and-quota.yaml new file mode 100644 index 000000000..7129e54b5 --- /dev/null +++ b/qa/suites/fs/workload/tasks/0-subvolume/with-namespace-isolated-and-quota.yaml @@ -0,0 +1,11 @@ +overrides: + ceph: + subvols: + create: 2 + subvol_options: "--namespace-isolated --size 25000000000" + ceph-fuse: + client.0: + mount_subvol_num: 0 + kclient: + client.0: + mount_subvol_num: 1 diff --git a/qa/suites/fs/workload/tasks/0-subvolume/with-namespace-isolated.yaml b/qa/suites/fs/workload/tasks/0-subvolume/with-namespace-isolated.yaml new file mode 100644 index 000000000..2ac901fef --- /dev/null +++ b/qa/suites/fs/workload/tasks/0-subvolume/with-namespace-isolated.yaml @@ -0,0 +1,11 @@ +overrides: + ceph: + subvols: + create: 2 + subvol_options: "--namespace-isolated" + ceph-fuse: + client.0: + mount_subvol_num: 0 + kclient: + client.0: + mount_subvol_num: 1 diff --git a/qa/suites/fs/workload/tasks/0-subvolume/with-no-extra-options.yaml b/qa/suites/fs/workload/tasks/0-subvolume/with-no-extra-options.yaml new file mode 100644 index 000000000..40f98c2bc --- /dev/null +++ b/qa/suites/fs/workload/tasks/0-subvolume/with-no-extra-options.yaml @@ -0,0 +1,10 @@ +overrides: + ceph: + subvols: + create: 2 + ceph-fuse: + client.0: + mount_subvol_num: 0 + kclient: + client.0: + mount_subvol_num: 1 diff --git a/qa/suites/fs/workload/tasks/0-subvolume/with-quota.yaml b/qa/suites/fs/workload/tasks/0-subvolume/with-quota.yaml new file mode 100644 index 000000000..6cda00d4a --- /dev/null +++ b/qa/suites/fs/workload/tasks/0-subvolume/with-quota.yaml @@ -0,0 +1,11 @@ +overrides: + ceph: + subvols: + create: 2 + subvol_options: "--size 25000000000" + ceph-fuse: + client.0: + mount_subvol_num: 0 + kclient: + client.0: + mount_subvol_num: 1 diff --git a/qa/suites/fs/workload/tasks/1-check-counter.yaml b/qa/suites/fs/workload/tasks/1-check-counter.yaml new file mode 100644 index 000000000..6339ddb7c --- /dev/null +++ b/qa/suites/fs/workload/tasks/1-check-counter.yaml @@ -0,0 +1,2 @@ +tasks: +- check-counter: {} diff --git a/qa/suites/fs/workload/tasks/2-scrub/.qa b/qa/suites/fs/workload/tasks/2-scrub/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/fs/workload/tasks/2-scrub/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/fs/workload/tasks/2-scrub/no.yaml b/qa/suites/fs/workload/tasks/2-scrub/no.yaml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/qa/suites/fs/workload/tasks/2-scrub/no.yaml diff --git a/qa/suites/fs/workload/tasks/2-scrub/yes.yaml b/qa/suites/fs/workload/tasks/2-scrub/yes.yaml new file mode 100644 index 000000000..52978a2bb --- /dev/null +++ b/qa/suites/fs/workload/tasks/2-scrub/yes.yaml @@ -0,0 +1,10 @@ +overrides: + ceph: + log-ignorelist: + - slow metadata IO + - SLOW_OPS + - slow request +tasks: +- fwd_scrub: + scrub_timeout: 900 + sleep_between_iterations: 1 diff --git a/qa/suites/fs/workload/tasks/3-snaps/.qa b/qa/suites/fs/workload/tasks/3-snaps/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/fs/workload/tasks/3-snaps/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/fs/workload/tasks/3-snaps/no.yaml b/qa/suites/fs/workload/tasks/3-snaps/no.yaml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/qa/suites/fs/workload/tasks/3-snaps/no.yaml diff --git a/qa/suites/fs/workload/tasks/3-snaps/yes.yaml b/qa/suites/fs/workload/tasks/3-snaps/yes.yaml new file mode 100644 index 000000000..598f7e215 --- /dev/null +++ b/qa/suites/fs/workload/tasks/3-snaps/yes.yaml @@ -0,0 +1,30 @@ +overrides: + ceph: + conf: + mgr: + debug cephsqlite: 20 + check-counter: + counters: + mds: + - mds.root_rsnaps + - mds_server.req_mksnap_latency.avgcount + - mds_server.req_rmsnap_latency.avgcount +tasks: +- exec: + mon.a: + - ceph mgr module enable snap_schedule + - ceph config set mgr mgr/snap_schedule/allow_m_granularity true + - ceph config set mgr mgr/snap_schedule/dump_on_update true + - ceph fs snap-schedule add --fs=cephfs --path=/ --snap_schedule=1M + - ceph fs snap-schedule retention add --fs=cephfs --path=/ --retention-spec-or-period=6M3h + - ceph fs snap-schedule status --fs=cephfs --path=/ + - ceph fs snap-schedule list --fs=cephfs --path=/ --recursive=true + - date +%s > START_TIME +- full_sequential_finally: + - exec: + mon.a: + # Ensure that we have some snaps which get deleted (so check-counters does not fail) + - date +%s > END_TIME + - START_TIME=$(cat START_TIME); END_TIME=$(cat END_TIME); DIFF_TIME=$((600-(END_TIME-START_TIME))); if [ "$DIFF_TIME" -gt 0 ]; then sleep "$DIFF_TIME"; fi + - ceph fs snap-schedule status --fs=cephfs --path=/ + - ceph fs snap-schedule list --fs=cephfs --path=/ --recursive=true diff --git a/qa/suites/fs/workload/tasks/4-flush/.qa b/qa/suites/fs/workload/tasks/4-flush/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/fs/workload/tasks/4-flush/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/fs/workload/tasks/4-flush/no.yaml b/qa/suites/fs/workload/tasks/4-flush/no.yaml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/qa/suites/fs/workload/tasks/4-flush/no.yaml diff --git a/qa/suites/fs/workload/tasks/4-flush/yes.yaml b/qa/suites/fs/workload/tasks/4-flush/yes.yaml new file mode 100644 index 000000000..4a3f7a11c --- /dev/null +++ b/qa/suites/fs/workload/tasks/4-flush/yes.yaml @@ -0,0 +1,4 @@ +tasks: +- background_exec: + mon.a: + - while sleep 13; do ceph tell mds.cephfs:0 flush journal; done diff --git a/qa/suites/fs/workload/tasks/5-workunit/.qa b/qa/suites/fs/workload/tasks/5-workunit/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/fs/workload/tasks/5-workunit/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/fs/workload/tasks/5-workunit/direct_io.yaml b/qa/suites/fs/workload/tasks/5-workunit/direct_io.yaml new file mode 100644 index 000000000..6c6ea1422 --- /dev/null +++ b/qa/suites/fs/workload/tasks/5-workunit/direct_io.yaml @@ -0,0 +1,9 @@ +overrides: + check-counter: + dry_run: true +tasks: +- workunit: + clients: + all: + - direct_io + diff --git a/qa/suites/fs/workload/tasks/5-workunit/fs/.qa b/qa/suites/fs/workload/tasks/5-workunit/fs/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/fs/workload/tasks/5-workunit/fs/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/fs/workload/tasks/5-workunit/fs/misc.yaml b/qa/suites/fs/workload/tasks/5-workunit/fs/misc.yaml new file mode 100644 index 000000000..4a9d0b4c5 --- /dev/null +++ b/qa/suites/fs/workload/tasks/5-workunit/fs/misc.yaml @@ -0,0 +1,10 @@ +overrides: + check-counter: + counters: + mds: + - "mds.dir_split" +tasks: +- workunit: + clients: + all: + - fs/misc diff --git a/qa/suites/fs/workload/tasks/5-workunit/fs/norstats.yaml b/qa/suites/fs/workload/tasks/5-workunit/fs/norstats.yaml new file mode 100644 index 000000000..d48df5471 --- /dev/null +++ b/qa/suites/fs/workload/tasks/5-workunit/fs/norstats.yaml @@ -0,0 +1,17 @@ +overrides: + check-counter: + counters: + mds: + - "mds.dir_split" +tasks: +- workunit: + clients: + all: + - fs/norstats +overrides: + kclient: + rbytes: false + ceph: + conf: + client: + client dirsize rbytes: false diff --git a/qa/suites/fs/workload/tasks/5-workunit/fs/test_o_trunc.yaml b/qa/suites/fs/workload/tasks/5-workunit/fs/test_o_trunc.yaml new file mode 100644 index 000000000..7b2b7c536 --- /dev/null +++ b/qa/suites/fs/workload/tasks/5-workunit/fs/test_o_trunc.yaml @@ -0,0 +1,8 @@ +overrides: + check-counter: + dry_run: true +tasks: +- workunit: + clients: + all: + - fs/test_o_trunc.sh diff --git a/qa/suites/fs/workload/tasks/5-workunit/kernel_untar_build.yaml b/qa/suites/fs/workload/tasks/5-workunit/kernel_untar_build.yaml new file mode 100644 index 000000000..602d34162 --- /dev/null +++ b/qa/suites/fs/workload/tasks/5-workunit/kernel_untar_build.yaml @@ -0,0 +1,10 @@ +overrides: + check-counter: + counters: + mds: + - "mds.dir_split" +tasks: +- workunit: + clients: + all: + - kernel_untar_build.sh diff --git a/qa/suites/fs/workload/tasks/5-workunit/postgres.yaml b/qa/suites/fs/workload/tasks/5-workunit/postgres.yaml new file mode 100644 index 000000000..7e71dbc88 --- /dev/null +++ b/qa/suites/fs/workload/tasks/5-workunit/postgres.yaml @@ -0,0 +1,36 @@ +# I would expect setting the context on the postgresql database directories +# would correctly trickle down to the files created by the postgresql daemon, +# but this does not appear to work. I would still see denials like: + +# type=AVC msg=audit(1655861665.521:21354): avc: denied { create } for pid=131994 comm="postmaster" name="replorigin_checkpoint.tmp" scontext=system_u:system_r:postgresql_t:s0 tcontext=system_u:object_r:cephfs_t:s0 tclass=file permissive=1' + +# Instead, we'll just set the context for the mount and be done with it. I've +# left in the context setting for the directories below. + +overrides: + ceph-fuse: + client.0: + mountpoint: /tmp/cephfs + mntopts: ["context=system_u:object_r:postgresql_db_t:s0"] + kclient: + client.0: + mountpoint: /tmp/cephfs + mntopts: ["context=system_u:object_r:postgresql_db_t:s0"] +tasks: +- exec: + client.0: + - sudo ls -l /tmp/cephfs/ && sudo df -h /tmp/cephfs/ + - sudo mkdir -m 755 --context=system_u:system_r:postgresql_t:s0 /tmp/cephfs/postgres && sudo chown postgres:postgres /tmp/cephfs/postgres + - sudo -u postgres -- mkdir -m 700 --context=system_u:system_r:postgresql_t:s0 /tmp/cephfs/postgres/data + - sudo semanage fcontext -a -t postgresql_db_t "/tmp/cephfs/postgres(/.*)?" + - sudo grep -i postgresql /etc/selinux/targeted/contexts/files/file_contexts.local + - sudo restorecon -R -v /tmp/cephfs/postgres + - sudo ls -lZaR /tmp/cephfs/postgres/ + - sudo mkdir -p /etc/systemd/system/postgresql.service.d/ && printf '[Service]\nEnvironment=PGDATA=/tmp/cephfs/postgres/data\nEnvironment=PGLOG=/tmp/cephfs/postgres/pgstartup.log\n' | sudo tee /etc/systemd/system/postgresql.service.d/env.conf + - sudo -u postgres -- postgresql-setup --initdb + - sudo ls -lZaR /tmp/cephfs/postgres/ + - sudo systemctl start postgresql + - sudo -u postgres -- pgbench -s 32 -i + - sudo -u postgres -- pgbench -c 100 -j 4 --progress=5 --time=900 + - sudo systemctl stop postgresql + - sudo ls -lZaR /tmp/cephfs/postgres/ diff --git a/qa/suites/fs/workload/tasks/5-workunit/suites/.qa b/qa/suites/fs/workload/tasks/5-workunit/suites/.qa new file mode 120000 index 000000000..a602a0353 --- /dev/null +++ b/qa/suites/fs/workload/tasks/5-workunit/suites/.qa @@ -0,0 +1 @@ +../.qa/
\ No newline at end of file diff --git a/qa/suites/fs/workload/tasks/5-workunit/suites/blogbench.yaml b/qa/suites/fs/workload/tasks/5-workunit/suites/blogbench.yaml new file mode 100644 index 000000000..4c4bf2f9e --- /dev/null +++ b/qa/suites/fs/workload/tasks/5-workunit/suites/blogbench.yaml @@ -0,0 +1,10 @@ +overrides: + check-counter: + counters: + mds: + - "mds.dir_split" +tasks: +- workunit: + clients: + all: + - suites/blogbench.sh diff --git a/qa/suites/fs/workload/tasks/5-workunit/suites/dbench.yaml b/qa/suites/fs/workload/tasks/5-workunit/suites/dbench.yaml new file mode 100644 index 000000000..41b2bc8ed --- /dev/null +++ b/qa/suites/fs/workload/tasks/5-workunit/suites/dbench.yaml @@ -0,0 +1,5 @@ +tasks: +- workunit: + clients: + all: + - suites/dbench.sh diff --git a/qa/suites/fs/workload/tasks/5-workunit/suites/ffsb.yaml b/qa/suites/fs/workload/tasks/5-workunit/suites/ffsb.yaml new file mode 100644 index 000000000..9bc925ab0 --- /dev/null +++ b/qa/suites/fs/workload/tasks/5-workunit/suites/ffsb.yaml @@ -0,0 +1,18 @@ +overrides: + ceph: + log-ignorelist: + - SLOW_OPS + - slow request + conf: + osd: + filestore flush min: 0 + osd heartbeat grace: 60 + check-counter: + counters: + mds: + - "mds.dir_split" +tasks: +- workunit: + clients: + all: + - suites/ffsb.sh diff --git a/qa/suites/fs/workload/tasks/5-workunit/suites/fsstress.yaml b/qa/suites/fs/workload/tasks/5-workunit/suites/fsstress.yaml new file mode 100644 index 000000000..bae220292 --- /dev/null +++ b/qa/suites/fs/workload/tasks/5-workunit/suites/fsstress.yaml @@ -0,0 +1,6 @@ +tasks: +- workunit: + timeout: 6h + clients: + all: + - suites/fsstress.sh diff --git a/qa/suites/fs/workload/tasks/5-workunit/suites/fsx.yaml b/qa/suites/fs/workload/tasks/5-workunit/suites/fsx.yaml new file mode 100644 index 000000000..12d456cf4 --- /dev/null +++ b/qa/suites/fs/workload/tasks/5-workunit/suites/fsx.yaml @@ -0,0 +1,10 @@ +overrides: + check-counter: + counters: + mds: + - "mds.dir_split" +tasks: +- workunit: + clients: + all: + - suites/fsx.sh diff --git a/qa/suites/fs/workload/tasks/5-workunit/suites/fsync-tester.yaml b/qa/suites/fs/workload/tasks/5-workunit/suites/fsync-tester.yaml new file mode 100644 index 000000000..9aaf6d0c4 --- /dev/null +++ b/qa/suites/fs/workload/tasks/5-workunit/suites/fsync-tester.yaml @@ -0,0 +1,8 @@ +overrides: + check-counter: + dry_run: true +tasks: +- workunit: + clients: + all: + - suites/fsync-tester.sh diff --git a/qa/suites/fs/workload/tasks/5-workunit/suites/iogen.yaml b/qa/suites/fs/workload/tasks/5-workunit/suites/iogen.yaml new file mode 100644 index 000000000..b8beb9e97 --- /dev/null +++ b/qa/suites/fs/workload/tasks/5-workunit/suites/iogen.yaml @@ -0,0 +1,8 @@ +overrides: + check-counter: + dry_run: true +tasks: +- workunit: + clients: + all: + - suites/iogen.sh diff --git a/qa/suites/fs/workload/tasks/5-workunit/suites/iozone.yaml b/qa/suites/fs/workload/tasks/5-workunit/suites/iozone.yaml new file mode 100644 index 000000000..bf5fd25b3 --- /dev/null +++ b/qa/suites/fs/workload/tasks/5-workunit/suites/iozone.yaml @@ -0,0 +1,8 @@ +overrides: + check-counter: + dry_run: true +tasks: +- workunit: + clients: + all: + - suites/iozone.sh diff --git a/qa/suites/fs/workload/tasks/5-workunit/suites/pjd.yaml b/qa/suites/fs/workload/tasks/5-workunit/suites/pjd.yaml new file mode 100644 index 000000000..37e315f7e --- /dev/null +++ b/qa/suites/fs/workload/tasks/5-workunit/suites/pjd.yaml @@ -0,0 +1,12 @@ +overrides: + ceph: + conf: + client: + fuse set user groups: true + fuse default permissions: false +tasks: +- workunit: + timeout: 6h + clients: + all: + - suites/pjd.sh |